我试图通过powershell命令创建一个LinkedService
。New-AzureRmDataFactoryV2LinkedService -ResourceGroupName rg -DataFactoryName df -Name n -DefinitionFile n.json
结果是创建了链接服务,但是删除了对 AzureKeyVaultSecret 的密码类型的引用,使其无法运行
配置文件 n.json 是从数据工厂代码选项卡中提取的,语法如下...
{
"name": "<name>",
"type": "Microsoft.DataFactory/factories/linkedservices",
"properties": {
"type": "Oracle",
"typeProperties": {
"connectionString": "host=<host>;port=<port>;serviceName=<serviceName>;user id=<user_id>",
"password": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "Prod_KeyVault",
"type": "LinkedServiceReference"
},
"secretName": "<secretname>"
}
},
"connectVia": {
"referenceName": "<runtimename>",
"type": "IntegrationRuntimeReference"
}
}
}
创建新的 LinkedService 时,代码看起来完全相同,除了属性->typeProperties->密码被删除并且需要手动配置 - 如果可能的话,我试图避免这种情况。
有什么想法吗?
如果已尝试使用"Update-Module -Name AzureRm.DataFactoryV2"将Powershell更新到最新版本,并且它仍然是相同的行为,则可能的根本原因是密码在Powershell中尚不支持作为Azure密钥值。据我所知,这是最近添加的一项新功能。因此,将其推广到Powershell可能需要一些时间。
在这种情况下,解决方法是现在使用 UI 创建链接服务。