Azure / Azure/static-web-apps-cli

swa deploy not working for streaming functions with python

Aperta
#959 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
TypeScript
Stelle
668
Fork
156
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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
- [x] Yes, I am accessing the CLI from port `:4280`

**Describe the bug**
The [official and GA way](https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook-trigger?tabs=python-v2%2Cisolated-process%2Cnodejs-v4%2Cfunctionsv2&pivots=programming-language-python#example) to use streaming in python functions is to use the [azurefunctions-extensions-http-fastapi](https://pypi.org/project/azurefunctions-extensions-http-fastapi/) package.

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

```python
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.

```yaml
- 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](https://github.com/fabge/swa-deploy-issue)
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](https://github.com/user-attachments/files/20575074/broken-swa-deploy.txt)
[working-swa-deploy.txt](https://github.com/user-attachments/files/20575073/working-swa-deploy.txt)

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia dal repository di riproduzione di swa-deploy-issue collegato e confronta verbose broken-swa-deploy.txt con working-swa-deploy.txt. Riproduci `swa deploy` con e senza l’import `azurefunctions.extensions.http.fastapi` in `function_app.py`, quindi confronta questo percorso con l’attività AzureStaticWebApp@0 funzionante. Il lavoro è completato quando l’API gestita viene distribuita se è presente l’import ufficiale di streaming Python.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
azure, python
Ambito
backend, cli
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.