【发布时间】:2021-12-26 22:07:21
【问题描述】:
我有一个 Azure Functions 应用程序 (Python),我必须读取存储在 Azure 存储帐户 (StorageV2) 中的多个 CSV 文件来验证它们。
但是,此文件夹中的 CSV 文件的文件名和数量会随时间而变化。该应用程序是使用 HTTP 绑定触发的,最好动态检查文件夹的内容,然后按顺序处理文件夹中的所有 CSV 文件。
从文档看来,Azure Functions 使用绑定进行输入和输出,但是,示例仅显示(多个)指向单个文件的输入绑定,而不是任何类型的文件夹/容器。因为事先不知道文件的数量和文件名,所以很难实现。
例如:function.json
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"methods": [
"get",
"post"
]
},
{
"name": "inputcsv",
"type": "blob",
"dataType": "binary",
"path": "samplesCSVs/{singleCSVfile}",
"connection": "MyStorageConnectionAppSetting",
"direction": "in"
},
{
"type": "http",
"direction": "out",
"name": "$return"
}
]
"scriptFile": "__init__.py"
}
这里可以指向一个文件夹吗?或者以其他方式动态读取存储帐户中的文件?
我能想到的唯一另一种选择是提前简单地压缩所有 CSV 文件,这样我可以使用一个输入绑定到这个压缩文件,然后将它们解压缩到一个临时文件夹中来处理它们,但它会是效率较低。
来源:
【问题讨论】:
-
您可以使用 blob storage sdk 而不是绑定
-
您有相关文档的链接吗?你的意思是:docs.microsoft.com/en-us/python/api/overview/azure/…?这似乎是一个不错的选择。
标签: python azure azure-functions azure-blob-storage