首页 > 解决方案 > Azure 数据工厂 - 批处理帐户 - BlobAccessDenied

问题描述

我正在尝试使用数据工厂中的自定义活动来在批处理帐户池中执行存储在 blob 存储中的 python 批处理。

我按照微软教程https://docs.microsoft.com/en-us/azure/batch/tutorial-run-python-batch-azure-data-factory

我的问题是当我执行 ADF 管道时活动失败: 活动

当我签入批处理资源管理器工具时,我收到了这条 BlobAccessDenied 消息: BlobAccessDenied

根据执行情况,它发生在所有 ADF 参考文件上,但也发生在我的批处理文件上。

我已将存储帐户链接到批处理帐户 存储帐户

我是新手,我不确定我必须做什么来解决这个问题。

预先感谢您的帮助。

标签: azure-data-factoryazure-blob-storagecustom-activityazure-batch-account

解决方案


我试图重现这个问题,它对我来说工作正常。请在创建管道时检查以下几点。

  1. 检查您是否在 main.py 文件的第 6 行粘贴了存储帐户连接字符串
  2. 您需要在 Azure 数据工厂 (ADF) 中创建 Blob 存储和批处理链接服务。配置 ADF 管道时,“Azure Batch”和“设置”选项卡中将需要这些链接服务。请按照以下快照创建链接服务。

在 ADF 门户中,单击左侧的“管理”符号,然后单击 +新建以创建 Blob 存储链接服务。

在此处输入图像描述

搜索“Azure Blob 存储”,然后单击“继续”

在此处输入图像描述

根据您的存储帐户填写所​​需的详细信息,测试连接,然后单击应用。

在此处输入图像描述

同样,搜索 Azure Batch 链接服务(在计算选项卡下)。

在此处输入图像描述

填写您的批处理帐户的详细信息,使用之前在“存储链接服务名称”下创建的存储链接服务,然后测试连接。点击保存。

在此处输入图像描述

稍后,当您将创建自定义 ADF 管道时,在“Azure Batch”选项卡下,提供 Batch Linked Service Name。

在此处输入图像描述

在“设置”选项卡下,提供存储链接服务名称和其他所需信息。在“文件夹路径”中,提供具有 main.py 和 iris.csv 文件的 Blob 名称。

在此处输入图像描述

完成此操作后,您可以验证、调试、发布和触发管道。管道应该成功运行。

在此处输入图像描述

管道成功运行后,您将在输出 Blob 中看到 iris_setosa.csv 文件。

在此处输入图像描述


推荐阅读