Azure Batch 对数据湖存储链接服务的支持

Azure Batch support for Data Lake Store Linked Service

我正在使用带有自定义 activity(在 Azure Batch 上配置为 运行)的数据工厂管道,该管道具有数据湖存储输入数据集和输出数据集。数据湖存储链接服务正在使用服务到服务身份验证(服务主体),并且在通过复制向导在复制 activity 中使用时工作正常。但是,当与尝试检查文件是否存在于数据湖中的自定义 activity 一起使用时,activity 会失败并出现错误 "Authorization is required"。使用 Azure Blob Store 作为输入和输出数据集时,相同的自定义 activity 工作正常。

似乎是 Azure Batch(计算节点)无法授权 Data Lake Store 的问题。如果您已经解决了上述问题,请帮忙。

大约 3 周前我遇到了完全相同的问题。我感受到你的痛苦!

这是 Microsoft 的一个错误!

经过反复试验和重新部署后,我向 Microsoft 提出了支持请求,Microsoft 确认数据湖存储的服务主体身份验证目前仅适用于复制活动。 没有自定义活动。

这是我在 4 月 10 日星期一收到的官方回复。

The issue happen because of a bug that custom activity’s connector schema doesn’t match the latest published connector schema. Actually, we notice the issue on custom activity and have plan to fix & deploy to prod in next 2 weeks.

请注意,如果您将链接服务更改回使用会话令牌等,您还需要重新部署包含自定义活动的管道。否则你会得到类似下面的另一个错误...

Access is forbidden, please check credentials and try again. Code: 'AuthenticationFailed' Message: 'Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.

希望对您有所帮助。