Я думал, что для определения номеров версий API он выглядит так, как будто я повторяю в каком-то шаблоне, на который ссылаются во всех связанных шаблонах, но похоже, что у меня проблемы с этим, m не уверен, что это должно быть даже возможно, не говоря уже о том, как это сделать.Обмен переменными или константами между шаблонами ARM
Например, INT azuredeploy-shared.json
я мог бы сделать что-то вроде
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"apiVersion": {
"resources": { "deployments": "2015-01-01" }
}
}
}
и в azuredeploy.json
я мог бы использовать его как
resources": [
{
"name": "someResource",
"type": "Microsoft.Resources/deployments",
"apiVersion": "[variables('apiVersion').resources.deployments]",
Первый камнем преткновения там должен быть resources
раздел. Это заставляет меня задаться вопросом, ссылаюсь ли я на неправильную схему или вообще следует ссылаться на нее. Если я создаю что-то, что я считаю фиктивными ресурсами и при условии, что эта идея работает, как должен azuredeploy.json
ссылаться на этот файл?
Я мог бы сделать что-то вроде "[concat(parameters('_artifactsLocation'), '/ProjectName/Templates/azuredeploy-shared-json', parameters('_artifactsLocationSasToken'))]"
, но я не знаю, где и как и как он должен работать. Таким образом, рабочие указатели оценили в этом отношении. Я видел How to pass variables between templates - ARM json, но, к сожалению, я не понимал, как он должен работать, и ни связанный пример Azure.
Просто, чтобы убедиться, что я понимаю ваш сценарий ... вы в основном пытаетесь вытащить параметры/переменные из 2 json-файлов - один с общими значениями и один со значениями, уникальными для этого развертывания? –
@ bmoore-msft Я пытаюсь создать файл «константы», который я могу «включить» в другие файлы, а затем ссылаюсь на константы с некоторым постоянным именем переменной. Я заметил, что у меня много строк, таких как «apiVersion»: «2015-01-01», которые я хотел бы обновить сразу после того, как инструмент не будет жаловаться, скажем, в этом случае об использовании * «2016- 03-30" *. Боюсь, я пропустил что-то простое. Мне удалось «включить» другие фрагменты (используя эту «concat' вещь там) и передать им параметры, но не * из них *. Может быть, мне нужно как-то использовать директиву «выходы» ..? – Veksi