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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions