Как использовать значение возвращенного securestring
или secureObject
, которое возвращается из связанного шаблона ARM?
Например, один дочерний связанный шаблон с именем CreateStorage
- создает учетную запись хранения Azure
- создает контейнеры BLOB-объектов для этой учетной записи
- создает ключ SAS для контейнера
- возвращает ключ SAS в шаблонах
outputs
section.
например, возвращая SAS в выходных данных шаблонов:
"outputs": {
"createdContainerSas": {
"type": "string",
"value": "[concat('https://', variables('storageAccountName'), '.blob.core.windows.net/', variables('containerName'), '?', listServiceSas(variables('storageAccountName'), '2018-07-01', variables('importSasInputs')).serviceSasToken)]"
}
}
Затем основной шаблон добавит ключ SAS в KeyVault, чтобы его могли использовать остальныеприложение.Основной шаблон получает значение следующим образом:
"value": "[reference('CreateStorage').outputs.createdContainerSas.value]"
Проблема заключается в том, что в настоящее время ключ SAS возвращается как string
, что означает, что он отображается в виде простого текста в пользовательском интерфейсе развертываний Azure.
Однако когда я изменяю тип возвращаемого объекта на securestring
или secureObject
, то при вызове createdContainerSas.value
возникает следующая ошибка:
{\r\n \"code\": \"InvalidTemplate\",\r\n \"message\": \"Unable to process template language expressions for resource '/subscriptions/<my-subscription-id>/resourceGroups/<my-resource-group>/providers/Microsoft.Resources/deployments/CreateKeyVault' at line '310' and column '9'. 'The language expression property 'value' doesn't exist, available properties are 'type'.'\"\r\n }
Итак, свойство .value
кажется, не существует при возврате securestring
или secureObject
из дочерних связанных шаблонов ARM.
Документы Microsoft по https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-templates-outputs скажем
Поддержка выходных значенийте же типы, что и входные параметры шаблона.
и оба securestring
и secureObject
работают нормально как входные параметры шаблона, поэтому я должен что-то делать не так.
Как мнеиспользовать значение возвращенного securestring
или secureObject
, которое возвращается из связанного шаблона ARM?