Заменить / обновить значения файла json во время развертывания в слотах Dev, Stage и Production с использованием конвейеров Azure Release
Я новичок в Azure, и у меня есть задача обновить значения файла json во время развертывания. У меня есть 3 слота развертывания в конвейере выпуска Azure Dev, Stage и Prod.
У меня есть следующий файл Json, который необходимо обновить.
"tables": [{
"name": "CustomerContract",
"columns": [{
"name": "Year",
"dataType": "int64",
"sourceColumn": "Year",
"summarizeBy": "none"
},
{
"name": "<devname>",
"dataType": "int64",
"sourceColumn": "CustomerNumber",
"summarizeBy": "none",
"isHidden": <trueifdev>
}
],
"partitions": [{
"name": "Partition",
"dataView": "full"
}]
},
}
В приведенном выше файле JSON мне нужно обновить следующие значения ключа.
- "скрыт"
- "имя"
выше двух значений ключа различаются в зависимости от слотов (Dev, Stage & Prod).
Пожалуйста, помогите мне, как я могу изменить / обновить значения вышеуказанных ключей во время развертывания на основе слотов?
Следующая ссылка не работала в моем случае, потому что мои файлы JSON принадлежат моделям данных sharepoint.
Операторы разработки Azure заменяют токены на среду в конвейере выпуска
1 ответ
Пожалуйста, помогите мне, как я могу изменить / обновить значения вышеуказанных ключей во время развертывания на основе слотов?
Если файл Json не генерируется во время сборки. Мы все еще могли использовать задачу " Заменить токены" для обновления значений ключа.
В качестве теста измените определение значений ключа:
"tables": [{
"name": "CustomerContract",
"columns": [{
"name": "Year",
"dataType": "int64",
"sourceColumn": "Year",
"summarizeBy": "none"
},
{
"name": "#{DevName}#",
"dataType": "int64",
"sourceColumn": "CustomerNumber",
"summarizeBy": "none",
"isHidden": #{trueifdev}#
}
],
"partitions": [{
"name": "Partition",
"dataView": "full"
}]
},
}
Формат переменной в .json
файл #{DevName}#
& #{trueifdev}#
,
Скопируйте этот файл в артефакт и используйте задачу Replace Tokens, чтобы обновить значения ключа:
И определите значения ключа в переменных на основе этапов:
Как результат теста для этапа Stage
:
{
"name": "TDev456",
"dataType": "int64",
"sourceColumn": "CustomerNumber",
"summarizeBy": "none",
"isHidden": False
}
Значения ключа name
& isHidden
были обновлены до TDev456
& False
,
Надеюсь это поможет.