Я пытаюсь обновить связанную службу фабрики данных V2 через PowerShell, но не могу получить рабочий файл определения.
Мой сценарий заключается в том, что после ротации ключа учетной записи 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' имеет значение NULL.
Из-за ошибки typeProperties
в полезной нагрузке не равно нулю. Тем не менее, я не уверен, правильнее ли было бы просто вернуть свойства обратно.
Документация не содержит никаких примеров файла определения, и я не могу найти никаких рабочих примеров (возможно, я ищу не то).
Как правильно обновить ключ для службы, связанной с фабрикой данных, для Cosmos DB?