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

Azure Blob容器间文件传输函数云端部署后报“Not Found”故障

问题分析与解决方案

可能原因1:CSV文件未随函数部署

本地运行时,csv_reader()能读取到项目目录中的CSV文件,但部署到Azure Functions时,若未将CSV文件包含在部署包中,会导致云端无法读取路径配置,进而引发后续路径处理失败,最终返回"Not Found"。

解决步骤:

  • 检查函数项目的.funcignore文件,确保未排除CSV文件;
  • 部署时使用func azure functionapp publish <app-name>命令,确保所有依赖文件(包括CSV)被打包上传;
  • 登录Azure门户,进入函数应用的「高级工具(Kudu)」,查看site/wwwroot目录下是否存在目标CSV文件。

可能原因2:Blob路径权限或URL有效性问题

代码中通过BlobClient.from_blob_url()创建客户端,若云端环境下出现以下情况,会导致操作失败并返回"Not Found":

  • 源Blob的URL包含的SAS令牌已过期或权限不足;
  • 目标容器的访问策略不允许写入操作;
  • 源Blob实际不存在(本地测试用的Blob与云端Blob名称/路径不一致);

解决步骤:

  • 验证源Blob的URL(含SAS)在云端环境下可访问,可通过浏览器直接访问测试;
  • 确保AzureWebJobsStorage对应的存储账户对源容器和目标容器拥有Storage Blob Data Contributor权限;
  • 检查updated_src_paths生成的路径是否正确,可通过云端日志查看logging.info输出的源路径和目标路径。

可能原因3:连接字符串配置问题

虽然本地配置了AzureWebJobsStorage,但云端函数应用的环境变量可能未正确配置,或连接字符串对应的存储账户与测试用的Blob容器不属于同一账户。

解决步骤:

  • 登录Azure门户,进入函数应用的「配置」→「应用程序设置」,确认AzureWebJobsStorage的值正确;
  • 验证该连接字符串对应的存储账户包含代码中操作的源容器(source)和目标容器。

排查建议:启用云端日志

通过Azure门户开启函数应用的Application Insights,查看具体的错误日志:

  • 进入函数应用的「监测」→「日志」,搜索logging.error输出的异常信息,定位具体出错步骤;
  • 查看logging.info输出的Blob Name、Source Path、Destination Path,确认路径是否符合预期。

代码优化建议

为了更精准定位问题,可在关键步骤增加日志输出,比如在csv_reader()调用后添加日志:

paths_list = csv_reader()
logging.info(f"Loaded {len(paths_list)} path configurations from CSV")

若输出为0,则说明CSV读取失败,优先排查部署问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 00:42:33