跳转到主要内容

Azure Functions的FastApi Python工作扩展。

项目描述

Azure Functions Extensions Http FastApi Python库

此库包含用于在您的函数应用代码中使用的HttpV2扩展,适用于FastApi请求/响应类型。

源代码 | 包(PyPi) | API参考文档 | 产品文档 | 示例

入门

先决条件

说明

  1. 按照指南创建应用程序
  2. 确保您的应用使用编程模型v2,并包含一个http触发函数。
  3. azurefunctions-extensions-http-fastapi添加到您的requirements.txt文件中。
  4. 在您的HttpTrigger函数中从azurefunctions.extensions.http.fastapi导入Request和不同类型的响应。
  5. 将请求和响应类型更改为从azurefunctions.extensions.http.fastapi导入的类型。
  6. 运行您的函数应用并尝试使用它!

绑定到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时常见场景的示例代码。

贡献

此项目欢迎贡献和建议。大多数贡献都需要您同意一份贡献者许可协议(CLA),声明您有权,并且实际上确实授予我们使用您贡献的权利。有关详细信息,请访问https://cla.microsoft.com

提交拉取请求时,CLA机器人将自动确定您是否需要提供CLA,并相应地标记PR(例如,标签、注释)。只需按照机器人提供的说明操作即可。您只需要在整个使用我们的CLA的仓库中这样做一次。

此项目已采用Microsoft开源行为准则。有关更多信息,请参阅行为准则FAQ或通过opencode@microsoft.com与任何额外问题或评论联系。

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

构建分布

由以下支持