├── .devcontainer ├── Dockerfile └── devcontainer.json ├── .funcignore ├── .github ├── dependabot-bot.yaml ├── dependabot.yaml └── workflows │ ├── azure-dev-validate.yaml │ ├── azure-dev.yaml │ └── python-check.yaml ├── .gitignore ├── .pre-commit-config.yaml ├── .vscode ├── extensions.json ├── launch.json └── settings.json ├── LICENSE.md ├── README.md ├── api ├── __init__.py ├── fastapi_app.py └── fastapi_routes.py ├── azure.yaml ├── function_app.py ├── host.json ├── infra ├── apimanagement.bicep ├── app-diagnostics.bicep ├── appinsightsdashboard.bicep ├── core │ ├── database │ │ ├── cosmos │ │ │ ├── cosmos-account.bicep │ │ │ ├── mongo │ │ │ │ ├── cosmos-mongo-account.bicep │ │ │ │ └── cosmos-mongo-db.bicep │ │ │ └── sql │ │ │ │ ├── cosmos-sql-account.bicep │ │ │ │ ├── cosmos-sql-db.bicep │ │ │ │ ├── cosmos-sql-role-assign.bicep │ │ │ │ └── cosmos-sql-role-def.bicep │ │ └── sqlserver │ │ │ └── sqlserver.bicep │ ├── gateway │ │ ├── apim-api-policy.xml │ │ └── apim.bicep │ ├── host │ │ ├── appservice-appsettings.bicep │ │ ├── appservice.bicep │ │ ├── appserviceplan.bicep │ │ └── functions.bicep │ ├── monitor │ │ ├── applicationinsights-dashboard.bicep │ │ ├── applicationinsights.bicep │ │ ├── loganalytics.bicep │ │ └── monitoring.bicep │ ├── security │ │ ├── keyvault-access.bicep │ │ ├── keyvault-secret.bicep │ │ └── keyvault.bicep │ └── storage │ │ └── storage-account.bicep ├── main.bicep └── main.parameters.json ├── local.settings.json ├── pyproject.toml ├── readme_diagram_apim.png ├── requirements-dev.txt ├── requirements.txt └── tests ├── test_env.py └── test_fastapi.py /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/.devcontainer/Dockerfile -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/.devcontainer/devcontainer.json -------------------------------------------------------------------------------- /.funcignore: -------------------------------------------------------------------------------- 1 | .git* 2 | .vscode 3 | local.settings.json 4 | test 5 | .venv 6 | -------------------------------------------------------------------------------- /.github/dependabot-bot.yaml: -------------------------------------------------------------------------------- 1 | safe: 2 | - azure-functions 3 | - fastapi 4 | -------------------------------------------------------------------------------- /.github/dependabot.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/.github/dependabot.yaml -------------------------------------------------------------------------------- /.github/workflows/azure-dev-validate.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/.github/workflows/azure-dev-validate.yaml -------------------------------------------------------------------------------- /.github/workflows/azure-dev.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/.github/workflows/azure-dev.yaml -------------------------------------------------------------------------------- /.github/workflows/python-check.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/.github/workflows/python-check.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | ] 4 | } 5 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/README.md -------------------------------------------------------------------------------- /api/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api/fastapi_app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/api/fastapi_app.py -------------------------------------------------------------------------------- /api/fastapi_routes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/api/fastapi_routes.py -------------------------------------------------------------------------------- /azure.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/azure.yaml -------------------------------------------------------------------------------- /function_app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/function_app.py -------------------------------------------------------------------------------- /host.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/host.json -------------------------------------------------------------------------------- /infra/apimanagement.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/apimanagement.bicep -------------------------------------------------------------------------------- /infra/app-diagnostics.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/app-diagnostics.bicep -------------------------------------------------------------------------------- /infra/appinsightsdashboard.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/appinsightsdashboard.bicep -------------------------------------------------------------------------------- /infra/core/database/cosmos/cosmos-account.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/database/cosmos/cosmos-account.bicep -------------------------------------------------------------------------------- /infra/core/database/cosmos/mongo/cosmos-mongo-account.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/database/cosmos/mongo/cosmos-mongo-account.bicep -------------------------------------------------------------------------------- /infra/core/database/cosmos/mongo/cosmos-mongo-db.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/database/cosmos/mongo/cosmos-mongo-db.bicep -------------------------------------------------------------------------------- /infra/core/database/cosmos/sql/cosmos-sql-account.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/database/cosmos/sql/cosmos-sql-account.bicep -------------------------------------------------------------------------------- /infra/core/database/cosmos/sql/cosmos-sql-db.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/database/cosmos/sql/cosmos-sql-db.bicep -------------------------------------------------------------------------------- /infra/core/database/cosmos/sql/cosmos-sql-role-assign.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/database/cosmos/sql/cosmos-sql-role-assign.bicep -------------------------------------------------------------------------------- /infra/core/database/cosmos/sql/cosmos-sql-role-def.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/database/cosmos/sql/cosmos-sql-role-def.bicep -------------------------------------------------------------------------------- /infra/core/database/sqlserver/sqlserver.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/database/sqlserver/sqlserver.bicep -------------------------------------------------------------------------------- /infra/core/gateway/apim-api-policy.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/gateway/apim-api-policy.xml -------------------------------------------------------------------------------- /infra/core/gateway/apim.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/gateway/apim.bicep -------------------------------------------------------------------------------- /infra/core/host/appservice-appsettings.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/host/appservice-appsettings.bicep -------------------------------------------------------------------------------- /infra/core/host/appservice.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/host/appservice.bicep -------------------------------------------------------------------------------- /infra/core/host/appserviceplan.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/host/appserviceplan.bicep -------------------------------------------------------------------------------- /infra/core/host/functions.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/host/functions.bicep -------------------------------------------------------------------------------- /infra/core/monitor/applicationinsights-dashboard.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/monitor/applicationinsights-dashboard.bicep -------------------------------------------------------------------------------- /infra/core/monitor/applicationinsights.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/monitor/applicationinsights.bicep -------------------------------------------------------------------------------- /infra/core/monitor/loganalytics.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/monitor/loganalytics.bicep -------------------------------------------------------------------------------- /infra/core/monitor/monitoring.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/monitor/monitoring.bicep -------------------------------------------------------------------------------- /infra/core/security/keyvault-access.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/security/keyvault-access.bicep -------------------------------------------------------------------------------- /infra/core/security/keyvault-secret.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/security/keyvault-secret.bicep -------------------------------------------------------------------------------- /infra/core/security/keyvault.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/security/keyvault.bicep -------------------------------------------------------------------------------- /infra/core/storage/storage-account.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/core/storage/storage-account.bicep -------------------------------------------------------------------------------- /infra/main.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/main.bicep -------------------------------------------------------------------------------- /infra/main.parameters.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/infra/main.parameters.json -------------------------------------------------------------------------------- /local.settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/local.settings.json -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/pyproject.toml -------------------------------------------------------------------------------- /readme_diagram_apim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/readme_diagram_apim.png -------------------------------------------------------------------------------- /requirements-dev.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/requirements-dev.txt -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | azure-functions==1.23.0 2 | fastapi==0.118.0 3 | -------------------------------------------------------------------------------- /tests/test_env.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/tests/test_env.py -------------------------------------------------------------------------------- /tests/test_fastapi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamelafox/fastapi-azure-function-apim/HEAD/tests/test_fastapi.py --------------------------------------------------------------------------------