来自 Python 函数的 Azure Blob 访问问题

Issue With Azure Blob Access From Python Function

我在 Python 中创建了一个 Azure Functions 来玩访问 Azure Blob。我创建了一个 Azure 存储帐户,然后在 blob 容器中保存了一个小文本文件,如下所示。

我的 Azure 函数是:

import logging

import azure.functions as func


def main(req: func.HttpRequest, myblob: func.InputStream) -> func.HttpResponse:
    
    blobname = myblob.name
    bloblength = myblob.length
    bloburi = myblob.uri
    strFileContents = myblob.read()


    return func.HttpResponse(f"Name {blobname}, Blob size {bloblength}")

当我在本地调试并从浏览器中调用该函数时,它正在获取 None 的 blob 长度、名称和 uri 值。但是,我可以成功读取文件的内容。这显示在下面的调试器屏幕截图中。

谁能帮我理解为什么我可以读取文件的内容但无法获取长度、名称和uri?谢谢

VS Code Azure Function Debugger screenshot

blob input binding 的元数据(例如名称、长度)目前未由功能主机提供。

参考:https://github.com/Azure/azure-functions-python-worker/issues/576

建议是让我们使用 Azure 存储 SDK。