【问题标题】:Azure Data Factory - Batch Accounts - BlobAccessDeniedAzure 数据工厂 - 批处理帐户 - BlobAccessDenied
【发布时间】:2021-09-10 21:14:03
【问题描述】:

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

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

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

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

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

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

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

提前感谢您的帮助。

【问题讨论】:

  • 嗨@Yohann,您是否将存储帐户连接字符串粘贴到 main.py 文件的第 6 行?此外,您需要在 ADF 中为您的 Storage 和 Batch 帐户创建链接服务。配置管道时需要这些链接服务。

标签: azure-data-factory azure-blob-storage custom-activity azure-batch-account


【解决方案1】:

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

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

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

搜索“Azure Blob Storage”,然后点击继续

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

同样,搜索 Azure Batch Linked Service(在计算选项卡下)。

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

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

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

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

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

【讨论】:

  • 您好,感谢您的回复,我已经完成了您描述的所有步骤。我认为我的问题不是批处理本身,而是存储帐户和批处理帐户之间的通信,因为错误表明它无法在作业开始时访问资源文件。我必须使用的存储帐户处于私有访问级别。这是否意味着我必须在 Azure AD 中为批处理帐户创建一个身份才能在存储帐户的访问控制中添加此身份?
  • 是的,Azure Active Directory (Azure AD) 通过 Azure 基于角色的访问控制 (Azure RBAC) 授权对受保护资源的访问权限。您可以参考docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad了解更多。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-15
  • 2019-10-28
  • 1970-01-01
  • 2019-01-08
  • 2020-06-02
  • 2022-01-01
相关资源
最近更新 更多