繁体   English   中英

Azure 数据工厂 ARM 模板

[英]Azure Data Factory ARM template

我正在创建一个 ARM 模板来部署数据工厂。 除了自托管的集成运行时,一切正常。 我有一个本地 SQL Server 和另一个本地 Oracle DB。 两者都使用自托管的集成运行时连接。 部署 ARM 模板时出现以下错误。

2018-08-13T14:11:34.9569812Z ##[error]At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details.
2018-08-13T14:11:34.9582896Z ##[error]Details:
2018-08-13T14:11:34.9587327Z ##[error]BadRequest: {
  "code": "BadRequest",
  "message": "Failed to encrypt sub-resource payload {\r\n  \"Id\": \"/subscriptions/bf2c5c07-2536-497d-9b87-7f0a0fa5a2b3/resourceGroups/ResourceGroup_Name/providers/Microsoft.DataFactory/factories/DataFactoryName/linkedservices/Oracle_Linked_ServiceName\",\r\n  \"Name\": \"Oracle_Linked_ServiceName\",\r\n  \"Properties\": {\r\n    \"type\": \"Oracle\",\r\n    \"typeProperties\": {\r\n      \"type\": \"********************\",\r\n      \"connectionString\": \"********************\"\r\n    },\r\n    \"connectVia\": {\r\n      \"referenceName\": \"IntegrationRuntime-Name\",\r\n      \"type\": \"IntegrationRuntimeReference\"\r\n    }\r\n  }\r\n} and error is: Failed to encrypted linked service credentials on self-hosted IR 'IntegrationRuntime-Name', reason is: NotFound, error message is: No online instance..",
  "target": "/subscriptions/bf2c5c07-2536-497d-9b87-7f0a0fa5a2b3/resourceGroups/ResourceGroup_Name/providers/Microsoft.DataFactory/factories/DataFactoryName/linkedservices/Oracle_Linked_ServiceName",
  "details": null,
  "error": null
} undefined
2018-08-13T14:11:34.9599952Z ##[error]BadRequest: {
  "code": "BadRequest",
  "message": "Failed to encrypt sub-resource payload {\r\n  \"Id\": \"/subscriptions/bf2c5c07-2536-497d-9b87-7f0a0fa5a2b3/resourceGroups/ResourceGroup_Name/providers/Microsoft.DataFactory/factories/DataFactoryName/linkedservices/Source_OnPremSQL\",\r\n  \"Name\": \"Source_OnPremSQL\",\r\n  \"Properties\": {\r\n    \"type\": \"SqlServer\",\r\n    \"typeProperties\": {\r\n      \"connectionString\": \"********************\",\r\n      \"username\": \"********************\",\r\n      \"password\": \"********************\"\r\n    },\r\n    \"connectVia\": {\r\n      \"referenceName\": \"IntegrationRuntime-Name\",\r\n      \"type\": \"IntegrationRuntimeReference\"\r\n    }\r\n  }\r\n} and error is: Failed to encrypted linked service credentials on self-hosted IR 'IntegrationRuntime-Name', reason is: NotFound, error message is: No online instance..",
  "target": "/subscriptions/bf2c5c07-2536-497d-9b87-7f0a0fa5a2b3/resourceGroups/ResourceGroup_Name/providers/Microsoft.DataFactory/factories/DataFactoryName/linkedservices/Source_OnPremSQL",
  "details": null,
  "error": null
} undefined
2018-08-13T14:11:34.9602482Z ##[error]Task failed while creating or updating the template deployment.
2018-08-13T14:11:34.9611870Z ##[section]Finishing: DataFactoryDeployment

如果您使用连接字符串和密码进行连接,则 ARM 模板将包含它们,因此您需要根据每个连接器的预期再次填充连接字符串。

我有同样的问题,并通过填充Oracle连接字符串以固定和SQL Azure的连接器, 这种(使用JSON值键为模板)

为了永久摆脱这个问题,我建议你使用Azure Key Vault来存储你的凭据,所以当需要新的导入时,ARM 模板将携带密钥,而不是它的值。

PS:您需要授权数据工厂才能访问存储的凭据。

确保您的自托管 IR 在线。 需要加密您的凭据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM