首页 > 解决方案 > 数据工厂中的 OData

问题描述

我的任务是从外部供应商那里获取一些数据。他们有一个 Rest OData API。我必须使用订阅密钥(APIKey)进行连接。创建 OData LService 时,我添加了一个 Auth Header:“subscription-key”,并在 Value 字段中输入我的密钥。保存后,我创建了一个新数据集,OData LinkedService 为我提供了远程表。我可以选择我想要的表,然后创建一个管道以将数据从该表复制到我的 Azure SQL 服务器。

这太棒了:-) 但是,在关闭我的浏览器并重新打开它之后,我之前在链接服务上输入的订阅密钥现在被替换为星号,因为它是一个安全字符串。当我现在运行我的管道时,它会认为我的密钥是替换了我的真实密钥的十颗星。

我在这里做错了什么?

此外,我更愿意从 KeyVault 获得我的价值,但似乎这在 ODat 连接上是不可能的......

希望有人能够在这里提供一些见解:-)

汤姆

标签: odataazure-data-factoryazure-adf

解决方案


根据我的测试,我在重新运行时没有收到任何错误。但是谈到动态键 - 我无法使用 ODATA 链接服务来实现它。

或者,如果您可以使用 REST / HTTP 连接器访问 ODATA 端点

您可以 - 有一个 Web 活动来从 Key Vault 获取密钥并在变量中设置。

在此处输入图像描述

网络活动网址https://<your-keyvalut-name>.vault.azure.net/secrets/<your-secret-name>;

您可以使用以下方式访问网络活动的输出:@activity('Web1').output.value & Store in a variable.

您可以将此变量引用为 REST/HTTP 数据集中后续步骤的 SUBSCRIPTION KEY。

您可以将其传递给其他标题


推荐阅读