Azure Functions的FastApi Python工作扩展。
项目描述
Azure Functions Extensions Http FastApi Python库
此库包含用于在您的函数应用代码中使用的HttpV2扩展,适用于FastApi请求/响应类型。
源代码 | 包(PyPi) | API参考文档 | 产品文档 | 示例
入门
先决条件
- 使用此包需要Python 3.8或更高版本。有关更多详细信息,请参阅我们关于Python函数版本支持策略的页面。
说明
- 按照指南创建应用程序。
- 确保您的应用使用编程模型v2,并包含一个http触发函数。
- 将
azurefunctions-extensions-http-fastapi
添加到您的requirements.txt文件中。 - 在您的HttpTrigger函数中从
azurefunctions.extensions.http.fastapi
导入Request和不同类型的响应。 - 将请求和响应类型更改为从
azurefunctions.extensions.http.fastapi
导入的类型。 - 运行您的函数应用并尝试使用它!
绑定到FastApi类型
Azure Functions Extensions Http FastApi库允许您使用FastApi请求或响应类型创建函数应用。当您的函数运行时,您将接收到FastApi请求类型的请求,并可以返回FastApi响应类型实例。FastApi是Python最受欢迎的Web框架之一,它为用户提供优雅且强大的请求/响应类型和功能。通过此集成,您可以像在原生FastApi中使用它们一样使用请求/响应。一个很好的例子是您现在可以进行HTTP流式上传和流式下载!请随时查看Fastapi文档以获取更多信息。
# This Azure Function receives streaming data from a client and processes it in real-time.
# It demonstrates streaming upload capabilities for scenarios such as uploading large files,
# processing continuous data streams, or handling IoT device data.
import azure.functions as func
from azurefunctions.extensions.http.fastapi import Request, JSONResponse
app = func.FunctionApp(http_auth_level=func.AuthLevel.ANONYMOUS)
@app.route(route="streaming_upload", methods=[func.HttpMethod.POST])
async def streaming_upload(req: Request) -> JSONResponse:
"""Handle streaming upload requests."""
# Process each chunk of data as it arrives
async for chunk in req.stream():
process_data_chunk(chunk)
# Once all data is received, return a JSON response indicating successful processing
return JSONResponse({"status": "Data uploaded and processed successfully"})
def process_data_chunk(chunk: bytes):
"""Process each data chunk."""
# Add custom processing logic here
pass
下一步
更多示例代码
从我们的FastApi示例开始。
本GitHub仓库中有几个示例。这些示例提供了在处理FastApi时常见场景的示例代码。
-
fastapi_samples_streaming_upload - 在您的函数中发送和接收流请求的示例。
-
fastapi_samples_streaming_download - 如何通过流将HTTP响应发送给调用者的示例。
贡献
此项目欢迎贡献和建议。大多数贡献都需要您同意一份贡献者许可协议(CLA),声明您有权,并且实际上确实授予我们使用您贡献的权利。有关详细信息,请访问https://cla.microsoft.com。
提交拉取请求时,CLA机器人将自动确定您是否需要提供CLA,并相应地标记PR(例如,标签、注释)。只需按照机器人提供的说明操作即可。您只需要在整个使用我们的CLA的仓库中这样做一次。
此项目已采用Microsoft开源行为准则。有关更多信息,请参阅行为准则FAQ或通过opencode@microsoft.com与任何额外问题或评论联系。
项目详情
哈希 对 azurefunctions_extensions_http_fastapi-1.0.0b1.tar.gz
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e87ca05aa6f71701a129cffbb35f4c7f8445a3667e096aa38f464d7846b6d766 |
|
MD5 | bbc0b289ec0e375659006fbe47af25cd |
|
BLAKE2b-256 | ad73f19a0767ecb9bc3af9b1d4771f153beb8b4efb7565e89b900453a84728ef |
哈希 对 azurefunctions_extensions_http_fastapi-1.0.0b1-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 71324bd3f6ca4e9f2417e798286fd3a90b56546757c32e41e52e45fd46ff764c |
|
MD5 | 196225b022d63c3c04e5d4a90f66f163 |
|
BLAKE2b-256 | c2bcd0a745a32e126c6df4f5294ee0eb05d9acf032bf0a69d851491b873501a8 |