Skip to content

swa deploy not working for streaming functions with python #959

@fabge

Description

@fabge

swa version: 2.0.6

Are you accessing the CLI from the default port :4280 ?

  • No, I am using a different port number (--port) and accessing the CLI from that port
  • Yes, I am accessing the CLI from port :4280

Describe the bug
The official and GA way to use streaming in python functions is to use the azurefunctions-extensions-http-fastapi package.

Unfortunately when putting the following line into a function_app.py file

from azurefunctions.extensions.http.fastapi import Request, StreamingResponse

and then running swa deploy results in the managed function not being deployed anymore. It works flawlessly when i remove the above line from the python file.

This issue does not exist when using the AzureStaticWebApp@0 task in Azure DevOps. With this deployment task, both variants work.

  - task: AzureStaticWebApp@0
    inputs:
      app_location: 'site'
      output_location: '.'
      api_location: 'api'
      azure_static_web_apps_api_token: $(apiKey)
      config_file_location: '.'

To Reproduce
Steps to reproduce the behavior:

  1. Clone this swa-deploy-issue repository
  2. Type in command swa deploy and watch it deploy the site + managed api correctly
  3. Insert from azurefunctions.extensions.http.fastapi import Request, StreamingResponse into src/functionapp
  4. Type in command swa deploy and watch it deploy the site but without any managed api

Expected behavior
I expect swa deploy to work with the official python streaming manual.

Additional context
I have attached both verbose logs of the deployments.

broken-swa-deploy.txt
working-swa-deploy.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions