【发布时间】:2021-05-13 17:08:19
【问题描述】:
我正在为 Azure 函数使用 python。我正在尝试读取两个 blob,一个是触发的,一个是静态 blob。
当我读入它们时,两个 blob 都指向触发的 blob(URI 相同)。如何正确输入和使用两个 blob?
我的绑定看起来像:
{
"name": "techdatablob",
"type": "blobTrigger",
"direction": "in",
"path": "path1/{name}",
"connection": "example"
},
{
"name": "crmdatablob",
"type": "blob",
"direction": "in",
"path": "path2/data.xlsx",
"connection": "example"
},
{
"name": "outputblob",
"type": "blob",
"direction": "out",
"path": "path3/out.xlsx",
"connection": "example"
}
init.py 文件以:
开头def main(techdatablob: func.InputStream, crmdatablob: func.InputStream, outputblob: func.Out[func.InputStream]):
logging.info(f"Python blob trigger function processed blob \n"
f"Name: {techdatablob.name}\n"
f"Blob Size: {techdatablob.length} bytes")
print(techdatablob.uri)
print(crmdatablob.uri)
【问题讨论】:
-
这应该可以正常工作,你有什么错误吗?
-
我没有收到任何错误,除了后来遇到的错误,因为文件相同。请注意,我只在本地进行了测试,当被要求提供正文时,我得到了一个已知文件的路径,例如。 “path1/data.xlsx”,它只拉入那个文件
-
你能展示一下代码结构吗?
-
我在上面的 init.py 文件示例中添加了更多代码。那里有一些定义和一些导入,但除此之外,就是这样。
-
我觉得对于元数据,python的azure binding暂时还是有一些问题的。其实你输入的确实是两个不同的blob对象,只是输入的部分无法获取uri等元数据值。
标签: python azure azure-functions blob