首页 > 解决方案 > 访问 csv 文件表单 blob 容器的 Azure python 函数 inputblob.name 为 None

问题描述

我尝试按照https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob-output?tabs=python从我的 azure unfction 访问 csv 文件。

输入文件:

  1. 存储帐户:stpartnerdata001
  2. Blob 容器:data01
  3. 文件夹:imdb-extensive-dataset
  4. 文件:IMDb 电影.csv

我在函数应用应用程序设置中创建了一个 DataConnectionSettings01,其值为来自 stpartnerdata001 存储帐户的 key1 的连接字符串。

"name": "inputblob",
"type": "blob",
"path": "data01/imdb-extensive-dataset/IMDb movies.csv",
"connection": "DataConnectionSettings01",
"direction": "in"

我尝试运行该函数以打印出文件名:

import logging
import azure.functions as func


def main(req: func.HttpRequest, inputblob: func.InputStream) -> func.HttpResponse:
    logging.info('Function called')
    logging.info('input name: %s', inputblob.name)
    return func.HttpResponse("This HTTP triggered function executed successfully.")

执行功能时,我总是收到输入名称:无。如何访问 csv 文件?

标签: pythonazurefunction

解决方案


抱歉,目前看来此功能不可用。这是一个已知问题:Blob 输入绑定不接收 blob

描述是函数宿主不提供输入blob绑定的元数据(名称,长度等),最好的方法是使用python存储SDK来实现。

blob 输入绑定只能获取 blob 内容。


推荐阅读