You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Durable Functions Python v2活动函数读取Azure Blob CSV数据问题

解决Durable Functions Python v2读取Blob Storage CSV的问题

你的代码存在两个核心问题,导致无法读取Blob中的CSV数据:

  • 没有使用Blob绑定注入的inputblob参数,而是直接尝试读取本地不存在的housing.csv文件
  • 缺少pandas库的导入语句

以下是修正后的完整代码:

import azure.functions as func
import azure.durable_functions as df
# 新增pandas导入
import pandas as pd

app = df.DFApp(http_auth_level=func.AuthLevel.ANONYMOUS)
@app.route(route="orchestrators/client_function")
@app.durable_client_input(client_name="client")
async def client_function(req: func.HttpRequest, client: df.DurableOrchestrationClient) -> func.HttpResponse:
    instance_id = await client.start_new("orchestrator", None, {})
    await client.wait_for_completion_or_create_check_status_response(req, instance_id)
    return client.create_check_status_response(req, instance_id)

@app.orchestration_trigger(context_name="context")
def orchestrator(context: df.DurableOrchestrationContext) -> str:
    result = yield context.call_activity("origin_analysis", '')
    return "finished"

@app.blob_input(arg_name="inputblob", path="dataset/housing.csv", connection="BlobStorageConnection")
@app.activity_trigger(input_name="blank")
# 将绑定的inputblob参数加入函数参数列表
def origin_analysis(blank: str, inputblob: func.InputStream):
    # 通过inputblob直接读取CSV,它是一个流式文件对象
    housing = pd.read_csv(inputblob)
    # 可以添加打印或返回逻辑验证数据
    print(housing.sample(5))
    return "Data loaded successfully"

关键修改说明:

  1. 添加import pandas as pd语句,确保能使用pandas的CSV读取功能
  2. 在活动函数origin_analysis的参数中加入inputblob: func.InputStream,这是Blob绑定注入的对象,对应你配置的arg_name="inputblob"
  3. 调用pd.read_csv(inputblob)直接读取流式对象,不需要本地文件路径

另外需要确保:

  • 你的函数应用配置中已经正确设置了BlobStorageConnection连接字符串,指向目标存储账户
  • Blob容器dataset中确实存在housing.csv文件

内容的提问来源于stack exchange,提问作者TY00

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 12:55:01