在 ARM 模板部署输出中获取 Azure 数据工厂的 ObjectId
Get ObjectId of Azure Data Factory, within ARM template deployment output
我正在使用 ARM 模板部署 Azure Data Factory
。我需要部署输出中数据工厂的 ObjectId/PricipalId/Managed Identity Object ID
。这可以在数据工厂
的 Properties
选项卡下的 Azure 门户中找到
我尝试了这些变体但无济于事:
"value": "[reference(concat('Microsoft.DataFactory/factories/', variables('name')), '2018-06-01').identity.principalId]"
"value": "[reference(concat('Microsoft.DataFactory/factories/', variables('name')), '2018-06-01').principalId]"
我在使用这些时看到的错误是 属性 (identity/principalId) 不存在
我也试过这里文档中提到的东西:https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-template-functions-resource#reference,它给出了同样的错误
尝试使用 reference(concat('Microsoft.DataFactory/factories/', variables('name')), '2018-06-01', 'Full')
作为输出值并检查它,您应该看看是否存在您需要的值。如果是 - 像往常一样引用它,如果不是 - 你运气不好。
工作输出片段是:
"dataFactoryPrincipalId": {
"type": "string",
"value": "[reference(concat('Microsoft.DataFactory/factories/', parameters('name')), '2018-06-01', 'Full').identity.principalId]"
}
注意这与 "Managed Identity Application ID" 属性
不同
为了以防万一,我在部署预配数据工厂的 ARM 模板时遇到了这个问题,然后为其创建了 Key Vault 访问策略。访问策略的 objectId 属性 的语法是正确的,即:
"[reference(concat('Microsoft.DataFactory/factories/', parameters('dataFactoryName')), '2018-06-01', 'Full').identity.principalId]"
但是它仍然返回一个错误,指出身份 属性 对资源不可用。问题是我在部署数据工厂时没有提供身份。需要将以下 属性 添加到数据工厂部署中:
"identity": {
"type": "SystemAssigned"
}
然后 属性 可用于引用函数。
我正在使用 ARM 模板部署 Azure Data Factory
。我需要部署输出中数据工厂的 ObjectId/PricipalId/Managed Identity Object ID
。这可以在数据工厂
Properties
选项卡下的 Azure 门户中找到
我尝试了这些变体但无济于事:
"value": "[reference(concat('Microsoft.DataFactory/factories/', variables('name')), '2018-06-01').identity.principalId]"
"value": "[reference(concat('Microsoft.DataFactory/factories/', variables('name')), '2018-06-01').principalId]"
我在使用这些时看到的错误是 属性 (identity/principalId) 不存在
我也试过这里文档中提到的东西:https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-template-functions-resource#reference,它给出了同样的错误
尝试使用 reference(concat('Microsoft.DataFactory/factories/', variables('name')), '2018-06-01', 'Full')
作为输出值并检查它,您应该看看是否存在您需要的值。如果是 - 像往常一样引用它,如果不是 - 你运气不好。
工作输出片段是:
"dataFactoryPrincipalId": {
"type": "string",
"value": "[reference(concat('Microsoft.DataFactory/factories/', parameters('name')), '2018-06-01', 'Full').identity.principalId]"
}
注意这与 "Managed Identity Application ID" 属性
不同为了以防万一,我在部署预配数据工厂的 ARM 模板时遇到了这个问题,然后为其创建了 Key Vault 访问策略。访问策略的 objectId 属性 的语法是正确的,即:
"[reference(concat('Microsoft.DataFactory/factories/', parameters('dataFactoryName')), '2018-06-01', 'Full').identity.principalId]"
但是它仍然返回一个错误,指出身份 属性 对资源不可用。问题是我在部署数据工厂时没有提供身份。需要将以下 属性 添加到数据工厂部署中:
"identity": {
"type": "SystemAssigned"
}
然后 属性 可用于引用函数。