دوال عناصر لقوالب ARM
يوفر إدارة الموارد العديد من الدوال للعمل مع العناصر في قالب إAzure Resource Manager (قالب ARM):
تلميح
نوصي باستخدام Bicep لأنها تقدم نفس الإمكانات التي توفرها نماذج ARM ولأن البنية أسهل في الاستخدام. لمعرفة المزيد، راجع دالات object.
تحتوي على
contains(container, itemToFind)
للتحقق مما إذا كانت المصفوفة تحتوي على قيمة، أو أن العنصر يحتوي على مفتاح، أو سلسلة تحتوي على سلسلة فرعية. تكون مقارنة السلسلة حساسة لحالة الأحرف. ومع ذلك، عند اختبار ما إذا كان عنصر يحتوي على مفتاح، تكون المقارنة غير حساسة لحالة الأحرف.
في Bicep، استخدم دالة contains.
المعلمات
المعلمة | المطلوب | نوع | الوصف |
---|---|---|---|
حاوية | نعم | صفيف أو عنصر أو سلسلة | القيمة التي تحتوي على العنصر للبحث عنه. |
البحث عن عنصر | نعم | سلسلة أو كثافة العمليات | القيمة التي يتعين العثور عليها. |
قيمة الإرجاع
صحيح إذا تم العثور على العنصر ؛ وإلا، خطأ .
مثال
يوضح المثال التالي كيفية الاستخدام contains
مع أنواع مختلفة:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stringToTest": {
"type": "string",
"defaultValue": "OneTwoThree"
},
"objectToTest": {
"type": "object",
"defaultValue": {
"one": "a",
"two": "b",
"three": "c"
}
},
"arrayToTest": {
"type": "array",
"defaultValue": [ "one", "two", "three" ]
}
},
"resources": [
],
"outputs": {
"stringTrue": {
"type": "bool",
"value": "[contains(parameters('stringToTest'), 'e')]"
},
"stringFalse": {
"type": "bool",
"value": "[contains(parameters('stringToTest'), 'z')]"
},
"objectTrue": {
"type": "bool",
"value": "[contains(parameters('objectToTest'), 'one')]"
},
"objectFalse": {
"type": "bool",
"value": "[contains(parameters('objectToTest'), 'a')]"
},
"arrayTrue": {
"type": "bool",
"value": "[contains(parameters('arrayToTest'), 'three')]"
},
"arrayFalse": {
"type": "bool",
"value": "[contains(parameters('arrayToTest'), 'four')]"
}
}
}
الناتج من المثال السابق مع القيم الافتراضية هو:
Name | نوع | القيمة |
---|---|---|
stringTrue | مجموعة | صواب |
stringFalse | مجموعة | خطأ |
objectTrue | مجموعة | صواب |
عنصر خطأ | مجموعة | خطأ |
صفيف صحيح | مجموعة | صواب |
صفيف خطأ | مجموعة | خطأ |
createObject
createObject(key1, value1, key2, value2, ...)
ينشئ كائن من المفاتيح والقيم.
لوظيفة createObject
غير مدعومة من قِبَل Bicep. إنشاء كائن باستخدام {}
. راجع العناصر.
المعلمات
المعلمة | المطلوب | نوع | الوصف |
---|---|---|---|
key1 | لا | سلسلة | اسم المفتاح. |
value1 | لا | كثافة العمليات أو منطقية أو سلسلة أو كائن أو صفيف | قيمة المفتاح. |
المزيد من المفاتيح | لا | سلسلة | المزيد من أسماء المفاتيح. |
المزيد من القيم | لا | كثافة العمليات أو منطقية أو سلسلة أو كائن أو صفيف | المزيد من القيم للمفاتيح. |
تقبل الدالة فقط عدداً متساوياً من المعلمات. يجب أن يكون لكل مفتاح قيمة مطابقة.
قيمة الإرجاع
كائن مع كل زوج من المفاتيح والقيم.
مثال
ينشئ المثال التالي كائناً من أنواع مختلفة من القيم.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
],
"outputs": {
"newObject": {
"type": "object",
"value": "[createObject('intProp', 1, 'stringProp', 'abc', 'boolProp', true(), 'arrayProp', createArray('a', 'b', 'c'), 'objectProp', createObject('key1', 'value1'))]"
}
}
}
الإخراج من المثال السابق مع القيم الافتراضية هو كائن اسمه newObject
بالقيمة التالية:
{
"intProp": 1,
"stringProp": "abc",
"boolProp": true,
"arrayProp": ["a", "b", "c"],
"objectProp": {"key1": "value1"}
}
فارغ
empty(itemToTest)
تحديد ما إذا كانت أي مصفوفة أو كائن أو سلسلة فارغة.
في Bicep، استخدم دالة empty.
المعلمات
المعلمة | المطلوب | نوع | الوصف |
---|---|---|---|
itemToTest | نعم | صفيف أو عنصر أو سلسلة | القيمة المستخدمة للتحقق مما إذا كانت فارغة. |
قيمة الإرجاع
تظهر صحيح إذا كانت القيمة فارغة؛ بخلاف ذلك، تكون خطأ.
مثال
يتحقق المثال التالي ما إذا كان صفيف وعنصر وسلسلة فارغة.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"testArray": {
"type": "array",
"defaultValue": []
},
"testObject": {
"type": "object",
"defaultValue": {}
},
"testString": {
"type": "string",
"defaultValue": ""
}
},
"resources": [
],
"outputs": {
"arrayEmpty": {
"type": "bool",
"value": "[empty(parameters('testArray'))]"
},
"objectEmpty": {
"type": "bool",
"value": "[empty(parameters('testObject'))]"
},
"stringEmpty": {
"type": "bool",
"value": "[empty(parameters('testString'))]"
}
}
}
الناتج من المثال السابق مع القيم الافتراضية هو:
Name | نوع | القيمة |
---|---|---|
arrayEmpty | مجموعة | صواب |
عنصر فارغ | مجموعة | صواب |
stringEmpty | مجموعة | صواب |
intersection
intersection(arg1, arg2, arg3, ...)
رجوع إلى مصفوفة واحدة أو كائناً مع عناصر مشتركة من المعلمات.
في Bicep، استخدم دالة intersection.
المعلمات
المعلمة | المطلوب | نوع | الوصف |
---|---|---|---|
arg1 | نعم | صفيف أو عنصر | القيمة الأولى المستخدمة في العثور على العناصر الشائعة. |
arg2 | نعم | صفيف أو عنصر | القيمة الثانية المستخدمة في البحث عن العناصر الشائعة. |
مزيد من الوسائط | لا | صفيف أو عنصر | المزيد من القيم المستخدمة في العثور على العناصر الشائعة. |
قيمة الإرجاع
مصفوفة أو كائن مع العناصر الشائعة.
مثال
يوضح المثال التالي كيفية استخدام intersection
مع الصفائف والكائنات.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"firstObject": {
"type": "object",
"defaultValue": {
"one": "a",
"two": "b",
"three": "c"
}
},
"secondObject": {
"type": "object",
"defaultValue": {
"one": "a",
"two": "z",
"three": "c"
}
},
"firstArray": {
"type": "array",
"defaultValue": [ "one", "two", "three" ]
},
"secondArray": {
"type": "array",
"defaultValue": [ "two", "three" ]
}
},
"resources": [
],
"outputs": {
"objectOutput": {
"type": "object",
"value": "[intersection(parameters('firstObject'), parameters('secondObject'))]"
},
"arrayOutput": {
"type": "array",
"value": "[intersection(parameters('firstArray'), parameters('secondArray'))]"
}
}
}
الناتج من المثال السابق مع القيم الافتراضية هو:
Name | نوع | القيمة |
---|---|---|
objectOutput | الكائن | {"one": "a", "three": "c"} |
arrayOutput | صفيف | ["اثنين، ثلاثة"] |
العناصر
items(object)
تحويل كائن قاموس إلى مصفوفة. راجع toObject حول تحويل صفيف إلى كائن.
في Bicep، استخدم العناصر.
المعلمات
المعلمة | المطلوب | نوع | الوصف |
---|---|---|---|
كائن | نعم | كائن | كائن القاموس لتحويله إلى مصفوفة. |
قيمة الإرجاع
مصفوفة من الكائنات للقاموس المحول. يحتوي كل كائن في المصفوفة علي key
خاصية تحتوي على قيمة مفتاح القاموس. يحتوي كل كائن أيضا على value
خاصية تحتوي على خصائص الكائن.
مثال
يقوم المثال التالي بتحويل كائن قاموس إلى مصفوفة. لكل كائن في المصفوفة، فإنه ينشئ كائن جديد مع قيم معدلة.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"copy": [
{
"name": "modifiedListOfEntities",
"count": "[length(items(variables('entities')))]",
"input": {
"key": "[items(variables('entities'))[copyIndex('modifiedListOfEntities')].key]",
"fullName": "[items(variables('entities'))[copyIndex('modifiedListOfEntities')].value.displayName]",
"itemEnabled": "[items(variables('entities'))[copyIndex('modifiedListOfEntities')].value.enabled]"
}
}
],
"entities": {
"item002": {
"enabled": false,
"displayName": "Example item 2",
"number": 200
},
"item001": {
"enabled": true,
"displayName": "Example item 1",
"number": 300
}
}
},
"resources": [],
"outputs": {
"modifiedResult": {
"type": "array",
"value": "[variables('modifiedListOfEntities')]"
}
}
}
المثال السابق يرجع:
"modifiedResult": {
"type": "Array",
"value": [
{
"fullName": "Example item 1",
"itemEnabled": true,
"key": "item001"
},
{
"fullName": "Example item 2",
"itemEnabled": false,
"key": "item002"
}
]
}
يوضح المثال التالي المصفوفة الذي يتم إرجاعه من دالة العناصر.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"entities": {
"item002": {
"enabled": false,
"displayName": "Example item 2",
"number": 200
},
"item001": {
"enabled": true,
"displayName": "Example item 1",
"number": 300
}
},
"entitiesArray": "[items(variables('entities'))]"
},
"resources": [],
"outputs": {
"itemsResult": {
"type": "array",
"value": "[variables('entitiesArray')]"
}
}
}
المثال يرجع:
"itemsResult": {
"type": "Array",
"value": [
{
"key": "item001",
"value": {
"displayName": "Example item 1",
"enabled": true,
"number": 300
}
},
{
"key": "item002",
"value": {
"displayName": "Example item 2",
"enabled": false,
"number": 200
}
}
]
}
في JSON، العنصر هو مجموعة غير مرتبة من أزواج صفرية أو أكبر من المفاتيح/القيم. يمكن أن يكون الترتيب مختلفًا اعتمادًا على عمليات التنفيذ. على سبيل المثال، تقوم دالة Bicep items() بفرز العناصر بالترتيب الأبجدي. في أماكن أخرى، يمكن الاحتفاظ بالترتيب الأصلي. وبسبب هذا عدم الحتمية، تجنب وضع أي افتراضات حول ترتيب مفاتيح الكائنات عند كتابة التعليمات البرمجية، والتي تتفاعل مع معلمات التوزيع والمخرجات.
json
json(arg1)
يحول سلسلة JSON صالحة إلى نوع بيانات JSON.
في Bicep، استخدم دالة json.
المعلمات
المعلمة | المطلوب | نوع | الوصف |
---|---|---|---|
arg1 | نعم | سلسلة | القيمة التي يجب تحويلها إلى JSON. يجب أن تكون السلسلة سلسلة JSON منسقة بشكل صحيح. |
قيمة الإرجاع
نوع بيانات JSON من السلسلة المحددة، أو قيمة فارغة عند تحديد خالية.
الملاحظات
إذا كنت بحاجة إلى تضمين قيمة معلمة أو متغير في كائن JSON، فاستخدم دالة التنسيق لإنشاء السلسلة التي تمررها إلى الدالة.
يمكنك أيضاً استخدام null() للحصول على قيمة خالية.
مثال
يوضح المثال التالي كيفية استخدام الوظيفةjson
. لاحظ أنه يمكنك تمرير null
لكائن فارغ.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"jsonEmptyObject": {
"type": "string",
"defaultValue": "null"
},
"jsonObject": {
"type": "string",
"defaultValue": "{\"a\": \"b\"}"
},
"jsonString": {
"type": "string",
"defaultValue": "\"test\""
},
"jsonBoolean": {
"type": "string",
"defaultValue": "true"
},
"jsonInt": {
"type": "string",
"defaultValue": "3"
},
"jsonArray": {
"type": "string",
"defaultValue": "[[1,2,3 ]"
},
"concatValue": {
"type": "string",
"defaultValue": "demo value"
}
},
"resources": [
],
"outputs": {
"emptyObjectOutput": {
"type": "bool",
"value": "[empty(json(parameters('jsonEmptyObject')))]"
},
"objectOutput": {
"type": "object",
"value": "[json(parameters('jsonObject'))]"
},
"stringOutput": {
"type": "string",
"value": "[json(parameters('jsonString'))]"
},
"booleanOutput": {
"type": "bool",
"value": "[json(parameters('jsonBoolean'))]"
},
"intOutput": {
"type": "int",
"value": "[json(parameters('jsonInt'))]"
},
"arrayOutput": {
"type": "array",
"value": "[json(parameters('jsonArray'))]"
},
"concatObjectOutput": {
"type": "object",
"value": "[json(concat('{\"a\": \"', parameters('concatValue'), '\"}'))]"
}
}
}
الناتج من المثال السابق مع القيم الافتراضية هو:
Name | نوع | القيمة |
---|---|---|
emptyObjectOutput | Boolean | صواب |
objectOutput | الكائن | {"a": "b"} |
إخراج السلسلة | السلسلة | اختبار |
booleanOutput | Boolean | صواب |
إخراج العدد الصحيح | رقم صحيح | 3 |
arrayOutput | صفيف | [ 1, 2, 3 ] |
concatObjectOutput | الكائن | { "a": "قيمة عرض توضيحي" } |
طول
length(arg1)
تُرجع هذه الدالة عدد العناصر في مصفوفة، أو الأحرف في سلسلة، أو خصائص مستوى الجذر في كائن.
في Bicep، استخدم دالة length.
المعلمات
المعلمة | المطلوب | نوع | الوصف |
---|---|---|---|
arg1 | نعم | صفيف أو سلسلة أو عنصر | الصفيف الذي سيتم استخدامه للحصول على عدد العناصر أو السلسلة التي سيتم استخدامها للحصول على عدد الأحرف أو العنصر الذي سيتم استخدامه للحصول على عدد خصائص مستوى الجذر. |
قيمة الإرجاع
عدد صحيح
مثال
يوضح المثال التالي كيفية استخدام length
مع صفيف وسلسلة:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"arrayToTest": {
"type": "array",
"defaultValue": [
"one",
"two",
"three"
]
},
"stringToTest": {
"type": "string",
"defaultValue": "One Two Three"
},
"objectToTest": {
"type": "object",
"defaultValue": {
"propA": "one",
"propB": "two",
"propC": "three",
"propD": {
"propD-1": "sub",
"propD-2": "sub"
}
}
}
},
"resources": [],
"outputs": {
"arrayLength": {
"type": "int",
"value": "[length(parameters('arrayToTest'))]"
},
"stringLength": {
"type": "int",
"value": "[length(parameters('stringToTest'))]"
},
"objectLength": {
"type": "int",
"value": "[length(parameters('objectToTest'))]"
}
}
}
الناتج من المثال السابق مع القيم الافتراضية هو:
Name | نوع | القيمة |
---|---|---|
arrayLength | Int | 3 |
stringLength | Int | 13 |
objectLength | Int | 4 |
قيمة فارغة
null()
يرجع إلى "خال".
وظيفة null
غير متوفرة في Bicep. استخدم الكلمة الأساسية null
بدلاً من ذلك.
المعلمات
لا تقبل الدالة الخالية أي معلمات.
قيمة الإرجاع
قيمة تكون دوماً فارغة.
مثال
يستخدم المثال التالي الدالة "خالٍ".
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"emptyOutput": {
"type": "bool",
"value": "[empty(null())]"
}
}
}
المخرجات من المثال السابق هي:
Name | نوع | القيمة |
---|---|---|
emptyOutput | مجموعة | صواب |
objectKeys
objectKeys(object)
إرجاع المفاتيح من كائن، حيث يكون العنصر عبارة عن مجموعة من أزواج قيم المفاتيح.
في Bicep، استخدم الدالة objectKeys .
المعلمات
المعلمة | المطلوب | نوع | الوصف |
---|---|---|---|
كائن | نعم | كائن | الكائن، وهو مجموعة من أزواج قيم المفاتيح. |
قيمة الإرجاع
صفيف.
مثال
يوضح المثال التالي كيفية استخدام objectKeys
مع كائن:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"obj": {
"a": 1,
"b": 2
}
},
"resources": [],
"outputs": {
"keyArray": {
"type": "array",
"value": "[objectKeys(variables('obj'))]"
}
}
}
المخرجات من المثال السابق هي:
Name | نوع | القيمة |
---|---|---|
keyArray | صفيف | [ "a", "b" ] |
في JSON، العنصر هو مجموعة غير مرتبة من أزواج صفرية أو أكبر من المفاتيح/القيم. يمكن أن يكون الترتيب مختلفًا اعتمادًا على عمليات التنفيذ. على سبيل المثال، تقوم دالة Bicep items() بفرز العناصر بالترتيب الأبجدي. في أماكن أخرى، يمكن الاحتفاظ بالترتيب الأصلي. وبسبب هذا عدم الحتمية، تجنب وضع أي افتراضات حول ترتيب مفاتيح الكائنات عند كتابة التعليمات البرمجية، والتي تتفاعل مع معلمات التوزيع والمخرجات.
سطح ضحلة
shallowMerge(inputArray)
يجمع بين صفيف من الكائنات، حيث يتم دمج كائنات المستوى الأعلى فقط. وهذا يعني أنه إذا كانت الكائنات التي يتم دمجها تحتوي على كائنات متداخلة، فلن يتم دمج هذه الكائنات المتداخلة بشكل عميق؛ بدلا من ذلك، يتم استبدالها بالكامل بالخاصية المقابلة من عنصر الدمج.
في Bicep، استخدم الدالة الضحلة.
المعلمات
المعلمة | المطلوب | نوع | الوصف |
---|---|---|---|
inputArray | نعم | صفيف | صفيف من الكائنات. |
قيمة الإرجاع
كائن.
مثال
يوضح المثال التالي كيفية استخدام shallowMerge
:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"firstArray": [
{
"one": "a"
},
{
"two": "b"
},
{
"two": "c"
}
],
"secondArray": [
{
"one": "a",
"nested": {
"a": 1,
"nested": {
"c": 3
}
}
},
{
"two": "b",
"nested": {
"b": 2
}
}
]
},
"resources": [],
"outputs": {
"firstOutput": {
"type": "object",
"value": "[shallowMerge(variables('firstArray'))]"
},
"secondOutput": {
"type": "object",
"value": "[shallowMerge(variables('secondArray'))]"
}
}
}
الناتج من المثال السابق مع القيم الافتراضية هو:
Name | نوع | القيمة |
---|---|---|
الإخراج الأول | كائن | {"one":"a","two":"c"} |
الإخراج الثاني | كائن | {"one":"a","nested":{"b":2},"two":"b"} |
يعرض firstOutput الخصائص من دمج الكائنات المدمجة في كائن جديد. إذا كانت هناك خصائص متعارضة (على سبيل المثال، الخصائص التي تحمل نفس الاسم)، فإن الخاصية من العنصر الأخير الذي يتم دمجه عادة ما تكون لها الأسبقية.
يظهر secondOutput أن الدمج الضحل لا يدمج هذه الكائنات المتداخلة بشكل متكرر. بدلا من ذلك، يتم استبدال الكائن المتداخل بأكمله بالخاصية المقابلة من الكائن الدمج.
union
union(arg1, arg2, arg3, ...)
قم بإرجاع صفيف واحد أو عنصر واحد مع كافة العناصر من المعلمات. بالنسبة للصفائف، يتم تضمين القيم المكررة مرة واحدة. بالنسبة للعناصر، يتم تضمين أسماء الخصائص المكررة مرة واحدة فقط.
في Bicep، استخدم دالة union.
المعلمات
المعلمة | المطلوب | نوع | الوصف |
---|---|---|---|
arg1 | نعم | صفيف أو عنصر | القيمة الأولى المستخدمة في الانضمام إلى العناصر. |
arg2 | نعم | صفيف أو عنصر | القيمة الثانية لاستخدامها لضم العناصر. |
مزيد من الوسائط | لا | صفيف أو عنصر | المزيد من القيم المستخدمة في الانضمام إلى العناصر. |
قيمة الإرجاع
صفيف أو عنصر.
الملاحظات
تستخدم الدالة union تسلسل المعلمات لتحديد ترتيب النتيجة وقيمها.
بالنسبة للصفائف، تتكرر الدالة خلال كل عنصر في المعلمة الأولى وتضيفها إلى النتيجة إذا لم تكن موجودة بالفعل. ثم تكرر العملية للمعلمة الثانية وأي معلمات إضافية. إذا كانت القيمة موجودة بالفعل، فسيتم الاحتفاظ بوضعها السابق في الصفيف.
بالنسبة للعناصر، تُضاف أسماء الخصائص والقيم من المعلمة الأولى إلى النتيجة. بالنسبة للمعلمات اللاحقة، تُضاف أية أسماء جديدة إلى النتيجة. إذا كان لدى معلمة لاحقة خاصية تحمل الاسم نفسه، فستحل هذه القيمة محل القيمة الموجودة. ترتيب الخصائص غير مضمون.
لا تدمج الدالة الموحدة عناصر المستوى الأعلى فحسب، بل تدمج أيضا بشكل متكرر أي صفائف وعناصر متداخلة داخلها. راجع المثال الثاني في القسم التالي.
مثال
يوضح المثال التالي كيفية استخدام union
مع الصفائف والكائنات:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"firstObject": {
"type": "object",
"defaultValue": {
"one": "a",
"two": "b",
"three": "c1"
}
},
"secondObject": {
"type": "object",
"defaultValue": {
"three": "c2",
"four": "d",
"five": "e"
}
},
"firstArray": {
"type": "array",
"defaultValue": [ "one", "two", "three" ]
},
"secondArray": {
"type": "array",
"defaultValue": [ "three", "four" ]
}
},
"resources": [
],
"outputs": {
"objectOutput": {
"type": "object",
"value": "[union(parameters('firstObject'), parameters('secondObject'))]"
},
"arrayOutput": {
"type": "array",
"value": "[union(parameters('firstArray'), parameters('secondArray'))]"
}
}
}
الناتج من المثال السابق مع القيم الافتراضية هو:
Name | نوع | القيمة |
---|---|---|
objectOutput | الكائن | {"one": "a", "two": "b", "three": "c2", "four": "d", "five": "e"} |
arrayOutput | صفيف | ["واحد، إثنان، ثلاثة، أربعة"] |
يوضح المثال التالي إمكانية الدمج العميق:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"firstObject": {
"property": {
"one": "a",
"two": "b",
"three": "c1"
},
"nestedArray": [
1,
2
]
},
"secondObject": {
"property": {
"three": "c2",
"four": "d",
"five": "e"
},
"nestedArray": [
3,
4
]
},
"firstArray": [
[
"one",
"two"
],
[
"three"
]
],
"secondArray": [
[
"three"
],
[
"four",
"two"
]
]
},
"resources": [],
"outputs": {
"objectOutput": {
"type": "Object",
"value": "[union(variables('firstObject'), variables('secondObject'))]"
},
"arrayOutput": {
"type": "Array",
"value": "[union(variables('firstArray'), variables('secondArray'))]"
}
}
}
المخرجات من المثال السابق هي:
Name | نوع | القيمة |
---|---|---|
objectOutput | الكائن | {"property":{"one":"a","two":"b","three":"c2","four":"d","five":"e"},"nestedArray":[3,4]} |
arrayOutput | صفيف | [["one","two"],["three"],["four","two"]] |
إذا تم دمج الصفائف المتداخلة، فستكون قيمة objectOutput.nestedArray [1, 2, 3, 4]، وستكون قيمة arrayOutput [["one", "two", "three"], ["three", "four", "two"]].
الخطوات التالية
- للحصول على وصف للأقسام الموجودة في قالب ARM، انظرفهم بنية قوالب ARM وهيكلها.
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ