リンクされたテンプレートのすべてで参照されているテンプレートで繰り返されるようなAPIバージョン番号を定義するか、どのようにそれを行うかはもちろん、これが可能であるべきかどうかわからない。例えばARMテンプレート間で変数、または定数を共有する
、私は
{
"$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
セクションがあることが必要である
resources": [
{
"name": "someResource",
"type": "Microsoft.Resources/deployments",
"apiVersion": "[variables('apiVersion').resources.deployments]",
ようにそれを使用することができazuredeploy-shared.json
をint型。それは私が間違ってスキーマを参照するか、まったく参照されるべきかどうか疑問に思います。私がダミーのリソースと考えているものを作成し、このアイデアを提供すれば、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'を使用して)"インクルード "し、それらにパラメータを渡しましたが、それらからパラメータを渡すことはできませんでした。たぶん私は何とか 'outputs'指示文を使うべきでしょうか? – Veksi