【问题标题】:Azure Data Factory ARM templateAzure 数据工厂 ARM 模板
【发布时间】:2018-08-14 17:56:59
【问题描述】:

我正在创建一个 ARM 模板来部署数据工厂。除了自托管的集成运行时,一切都运行良好。我有一个本地 SQL Server 和另一个本地 Oracle 数据库。两者都使用自托管的集成运行时连接。部署 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

【问题讨论】:

  • 提供完整的模板会很有帮助。

标签: azure azure-resource-manager arm-template azure-data-factory-2


【解决方案1】:

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

我遇到了同样的问题,并通过使用 this 填充 oracle 连接字符串和使用 this 填充 Azure SQL 连接器来解决(使用 JSON 值键作为模板)

要永久解决此问题,我建议您使用Azure Key Vault 来存储您的凭据,因此当需要新的导入时,ARM 模板将携带密钥,而不是其值。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 他正在和自托管IR一起创建数据工厂,自托管IR在创建时如何在线?
    • 那就不支持了。
    猜你喜欢
    • 1970-01-01
    • 2019-07-12
    • 1970-01-01
    • 2019-11-06
    • 2022-01-24
    • 2019-11-08
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    相关资源
    最近更新 更多