Я пытаюсь назначить теги для ресурса Azure, передав их по конвейеру Azure DevOps, но не могу определить правильное выражение в шаблоне ARM.
Задача развертывания группы ресурсов Azure используется в конвейере выпуска DevOps для развертывания ресурса в Azure. Несколько переменных конвейера определены для тегов, применяемых к этому ресурсу. Эти переменные передаются в шаблон ARM путем переопределения параметров шаблона в задаче. Шаблон ARM определяет параметр «tagsObject» с форматом «tagName» и «tagValue», заключенным в объект. Вопрос в том, как назначить все теги, предоставленные tagsObject в разделе «теги» в шаблоне ARM? Стандартные теги: «[parameters ('resourceTags')]» терпит неудачу. То, что я ищу, - для каждого объекта, извлеките пару ключ-значение и назначьте их соответствующему элементу. Можно ли это сделать?
Как выполнить задание? "tags": "[union(parameters('tagsObject'),json('{\"tagName\":\"tagValue\"}'))]",
Ниже показан объект переменной, используемый в параметрах шаблона переопределения задачи развертывания группы ресурсов Azure:
-tagsObject {"tags":[
{"tagName":"Application","tagValue":"$(tagApplication)"},
{"tagName":"Description","tagValue":"$(tagDescription)"},
{"tagName":"Environment","tagValue":"$(environmentLongName)"},
{"tagName":"Department","tagValue":"$(departmentLongCode)"},
{"tagName":"Business Owner","tagValue":"$(tagOwnerBusiness)"},
{"tagName":"Technical Owner","tagValue":"$(tagOwnerTechnical)"},
{"tagName":"Platform","tagValue":"$(tagPlatform)"},
{"tagName":"Project","tagValue":"$(tagProject)"},
{"tagName":"Solution Type","tagValue":"$(tagSolutionType)"}
]}
Это параметр в шаблоне ARM:
"tagsObject": {
"type": "Object",
"defaultValue": "{}",
"metadata": {
"description": "Specifies all tags {\"tagName\":\"\",\"tagValue\":\"\"} wrapped in an object."
}
}