Mik*_*ron 6 azure azure-storage azure-storage-blobs azure-data-factory azure-blob-storage
我正在尝试在 Azure 数据工厂中构建一个非常基本的数据流,从 blob 存储中提取 JSON 文件,对某些列执行转换,然后存储在 SQL 数据库中。我最初使用托管标识对存储帐户进行身份验证,但在尝试测试与源的连接时出现以下错误:
com.microsoft.dataflow.broker.MissingRequiredPropertyException: account 是 [myStorageAccountName] 的必需属性。com.microsoft.dataflow.broker.PropertyNotFoundException: 无法从 [myStorageAccountName] 中提取值 - RunId: xxx
我还在工厂验证输出中看到以下消息:
[MyDataSetName] AzureBlobStorage 不支持数据流中的 SAS、MSI 或服务主体身份验证。
有了这个,我假设我需要做的就是将我的 Blob 存储链接服务切换到帐户密钥身份验证方法。在我切换到帐户密钥身份验证并选择我的订阅和存储帐户后,在测试连接时出现以下错误:
连接失败无法连接到 https://[myBlob].blob.core.windows.net/:错误消息:远程服务器返回错误:(403) 禁止。(ErrorCode: 403, Detail: This request is not Authorized to perform this operation., RequestId: xxxx),请确保提供的凭据有效。远程服务器返回错误:(403) Forbidden.StorageExtendedMessage=,远程服务器返回错误:(403) Forbidden。活动 ID:xxx。
我试过直接从 Azure 中选择并手动输入密钥,无论哪种方式都得到相同的错误。需要注意的一件事是存储帐户只允许访问指定的网络。我尝试连接到不同的公共存储帐户,并且能够正常访问。ADF 帐户具有存储帐户参与者角色,并且我添加了我当前工作位置的 IP 地址以及我在此处找到的 Azure 数据工厂的 IP 范围:https : //docs.microsoft.com/en-我们/azure/data-factory/azure-integration-runtime-ip-addresses
另请注意,目前我有大约 5 个复制数据任务与 Managed Identity 完美配合,但我需要开始执行更复杂的操作。
这似乎与无法在 Azure 数据工厂中创建链接服务类似,但我分配的存储帐户参与者和所有者角色应该取代回复中建议的读者角色。我也不确定海报使用的是公共存储帐户还是私人帐户。
先感谢您。
在上面列出的有关将集成运行时的 IP 范围列入白名单的文章的最底部,Microsoft 说了以下内容:
连接到 Azure 存储帐户时,IP 网络规则对源自与存储帐户位于同一区域的 Azure 集成运行时的请求没有影响。欲了解更多详情,请参阅 这篇文章。
我与 Microsoft 支持人员讨论了这一问题,问题是白名单公共 IP 地址不适用于同一区域内的资源,因为由于资源位于同一网络上,它们使用私有 IP 而不是公共 IP 相互连接。
有四个选项可以解决原始问题:
| 归档时间: |
|
| 查看次数: |
4255 次 |
| 最近记录: |