【发布时间】:2021-01-08 21:28:51
【问题描述】:
我正在尝试通过 PowerShell 更新数据工厂 V2 链接服务,但我无法获得有效的定义文件。
我的情况是,在轮换 Cosmos DB 帐户密钥后,连接到帐户数据库的数据工厂链接服务应使用新密钥进行更新。为此,我从链接服务中提取现有属性,更新 EncryptedCredential 和 AdditionalProperties.typeProperties.encryptedCredential 属性,然后将其重新触发。
$definitionFile = "{0}/cosmosDbDefinition.json" -f $PSScriptRoot
$definition = (Get-AzDataFactoryV2LinkedService -Name $LinkedServiceName -DataFactoryName $Name -ResourceGroupName $ResourceGroupName).Properties
$definition.EncryptedCredential = ConvertTo-SecureString -String $key -AsPlainText
Set-Content -Path $definitionFile -Value ($definition | ConvertTo-Json)
Set-AzDataFactoryV2LinkedService -Name $Name -DataFactoryName $DataFactoryName -ResourceGroupName $ResourceGroupName -DefinitionFile $definitionFile -Force
但是,我显然做错了,因为 Set-AzDataFactoryV2LinkedService 失败了 -
无效的链接服务负载,嵌套在负载中的“typeProperties”为空。
考虑到错误,typeProperties 在有效负载中不为空。但是,我不确定简单地返回属性是否是正确的做法。
documentation 不包含任何类型的示例定义文件,并且我找不到任何工作示例(也许我正在寻找错误的东西)。
如何正确更新 Cosmos DB 的数据工厂链接服务的密钥?
【问题讨论】:
标签: powershell azure-powershell azure-data-factory-2