跳转到主要内容

Azure Functions的Blob Python工作扩展。

项目描述

Azure Functions Extensions Bindings Blob库

此库允许Python Function Apps中的Blob触发器和Blob输入绑定识别并绑定到Azure Storage Blob sdk中的客户端类型。

Blob客户端类型可以由以下生成:

  • Blob触发器
  • Blob输入

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

入门

先决条件

安装包

使用pip安装Azure Functions Extensions Bindings Blob库

pip install azurefunctions-extensions-bindings-blob

创建存储帐户

如果您想创建一个新的存储帐户,可以使用Azure门户Azure PowerShellAzure CLI

# Create a new resource group to hold the storage account -
# if using an existing resource group, skip this step
az group create --name my-resource-group --location westus2

# Create the storage account
az storage account create -n my-storage-account-name -g my-resource-group

绑定到SDK类型

Azure Functions Extensions Bindings Blob库允许您创建一个具有Blob触发器或Blob输入的功能应用程序,并将类型定义为BlobClient、ContainerClient或StorageStreamDownloader。当函数执行时,返回的类型将是定义的SDK类型,并具有Python Azure Storage Blob库中所有可见的属性和方法。

import logging
import azure.functions as func
import azurefunctions.extensions.bindings.blob as blob

@app.blob_trigger(arg_name="client",
                  path="PATH/TO/BLOB",
                  connection="AzureWebJobsStorage")
def blob_trigger(client: blob.BlobClient):
    logging.info(f"Python blob trigger function processed blob \n"
                 f"Properties: {client.get_blob_properties()}\n"
                 f"Blob content head: {client.download_blob(encoding="utf-8").read(size=1)}")


@app.route(route="file")
@app.blob_input(arg_name="client",
                path="PATH/TO/BLOB",
                connection="AzureWebJobsStorage")
def blob_input(req: func.HttpRequest, client: blob.BlobClient):
    logging.info(f"Python blob input function processed blob \n"
                 f"Properties: {client.get_blob_properties()}\n"
                 f"Blob content head: {client.download_blob(encoding="utf-8").read(size=1)}")

故障排除

通用

SDK类型抛出由Azure Core定义的异常。

此列表可用于参考以捕获抛出的异常。要获取异常的特定错误代码,请使用error_code属性,例如,exception.error_code

下一步

更多示例代码

开始使用我们的Blob示例

此GitHub仓库中提供了几个示例。这些示例提供了处理存储Blob时遇到的常见场景的示例代码。

其他文档

有关Azure Storage Blob SDK的更多信息,请参阅docs.microsoft.com上的Azure Blob存储文档Azure Storage Blobs README

贡献

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

提交拉取请求时,CLA机器人将自动确定您是否需要提供CLA并相应地装饰PR(例如,标签,注释)。只需遵循机器人的说明即可。您只需要在所有使用我们的CLA的仓库中做一次。

本项目采用了Microsoft Open Source Code of Conduct。有关更多信息,请参阅行为准则FAQ或联系opencode@microsoft.com获取任何额外的问题或评论。

项目详情


下载文件

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

源分布

构建分发版

支持