إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يوفر Azure Resource Manager الوظائف التالية للحصول على القيم المتعلقة بالنشر الحالي لقالب Azure Resource Manager (قالب ARM):
للحصول على قيم من الموارد أو مجموعات الموارد أو الاشتراكات، راجع وظائف الموارد.
Tip
يوصى باستخدام Bicep لأنه يوفر نفس الإمكانات مثل قوالب ARM، وبناء الجملة أسهل في الاستخدام. لمعرفة المزيد، راجع deployment الدالات.
deployer
deployer()
إرجاع المعلومات حول أساس التوزيع الحالي.
في Bicep، استخدم الدالة deployer .
قيمة الإرجاع
تقوم هذه الدالة بإرجاع المعلومات حول أساس التوزيع الحالي، بما في ذلك معرف المستأجر ومعرف العنصر واسم المستخدم الأساسي:
{
"objectId": "",
"tenantId": "",
"userPrincipalName": ""
}
Example
يقوم المثال التالي بإرجاع كائن التوزيع:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"developerOutput": {
"type": "object",
"value": "[deployer()]"
}
}
}
إرجاع المثال السابق الكائن التالي:
{
"objectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"tenantId":"aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"userPrincipalName":"john.doe@contoso.com"
}
deployment
deployment()
إرجاع معلومات حول عملية النشر الحالية.
في Bicep، استخدم الدالة deployment .
قيمة الإرجاع
ترجع هذه الدالة الكائن الذي تم تمريره أثناء النشر. تختلف الخصائص في الكائن الذي تم إرجاعه استنادا إلى ما إذا كنت:
- نشر قالب أو مواصفات قالب.
- نشر قالب ملف محلي أو نشر قالب ملف بعيد يتم الوصول إليه من خلال URI.
- النشر إلى مجموعة موارد أو النشر إلى أحد النطاقات الأخرى (اشتراك Azure أو مجموعات الإدارة أو المستأجرين).
عند نشر قالب محلي إلى مجموعة موارد، ترجع الدالة التنسيق التالي:
{
"name": "",
"properties": {
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
إذا كان القالب بعيدا، يتم تضمين الخاصية templateLink في الكائن الذي تم إرجاعه.
templateLink تحتوي الخاصية على URI للقالب. التنسيق هو:
{
"name": "",
"properties": {
"templateLink": {
"uri": ""
},
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
لمزيد من المعلومات، راجع استخدام المتغيرات لربط القوالب.
عند نشر مواصفات قالب إلى مجموعة موارد، ترجع الدالة التنسيق التالي:
{
"name": "",
"properties": {
"templateLink": {
"id": ""
},
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
عند النشر إلى اشتراك Azure أو مجموعة إدارة أو مستأجر، فإن كائن الإرجاع يتضمن خاصيةlocation. يتم تضمين خاصية الموقع عند نشر قالب محلي أو قالب خارجي. التنسيق هو:
{
"name": "",
"location": "",
"properties": {
"template": {
"$schema": "",
"contentVersion": "",
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
عند نشر قالب languageVersion 2.0 ، ترجع الدالة deployment مجموعة فرعية محدودة من الخصائص:
{
"name": "",
"location": "",
"properties": {
"template": {
"contentVersion": "",
"metadata": {}
},
"templateLink": {
"id": "",
"uri": ""
}
}
}
location يتم تضمين الخاصية فقط للنشر في الاشتراك أو مجموعة الإدارة أو نطاق المستأجر.
templateLink يتم تضمين الخاصية فقط عندما يوفر المستخدم قالب مرتبط بدلا من قالب مضمن.
Remarks
يمكنك استخدام deployment() لإنشاء ارتباط إلى قالب آخر استنادا إلى URI الخاص بالقالب الأصل:
"variables": {
"sharedTemplateUrl": "[uri(deployment().properties.templateLink.uri, 'shared-resources.json')]"
}
إذا قمت بإعادة نشر قالب من محفوظات النشر في المدخل، يتم نشر القالب كملف محلي. لم يتم إرجاع الخاصية templateLink في دالة النشر. إذا كان القالب يعتمد على templateLink لإنشاء ارتباط إلى قالب آخر، فلا تستخدم المدخل لإعادة النشر. بدلاً من ذلك، استخدم الأوامر التي استخدمتها لنشر القالب في الأصل.
Example
يقوم المثال التالي بإرجاع كائن نشر:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"deploymentOutput": {
"type": "object",
"value": "[deployment()]"
}
}
}
إرجاع المثال السابق الكائن التالي:
{
"name": "deployment",
"properties": {
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"deploymentOutput": {
"type": "Object",
"value": "[deployment()]"
}
}
},
"templateHash": "13135986259522608210",
"parameters": {},
"mode": "Incremental",
"provisioningState": "Accepted"
}
}
لنشر اشتراك، يقوم المثال التالي بإرجاع كائن توزيع:
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {
"exampleOutput": {
"type": "object",
"value": "[deployment()]"
}
}
}
environment
environment()
إرجاع معلومات حول بيئة Azure المستخدمة للنشر.
environment() الوظيفة غير مدركة لتكوينات الموارد. يمكنه إرجاع لاحقة DNS افتراضية واحدة فقط لكل نوع مورد.
في Bicep، استخدم الدالة environment .
Remarks
للاطلاع على قائمة بالبيئات المسجلة لحسابك، استخدم az cloud list أو Get-AzEnvironment.
قيمة الإرجاع
ترجع هذه الدالة خصائص البيئة Azure الحالي. يوضح المثال التالي خصائص Azure العمومية؛ قد ترجع السحب السيادية خصائص مختلفة قليلا:
{
"name": "",
"gallery": "",
"graph": "",
"portal": "",
"graphAudience": "",
"activeDirectoryDataLake": "",
"batch": "",
"media": "",
"sqlManagement": "",
"vmImageAliasDoc": "",
"resourceManager": "",
"authentication": {
"loginEndpoint": "",
"audiences": [
"",
""
],
"tenant": "",
"identityProvider": ""
},
"suffixes": {
"acrLoginServer": "",
"azureDatalakeAnalyticsCatalogAndJob": "",
"azureDatalakeStoreFileSystem": "",
"azureFrontDoorEndpointSuffix": "",
"keyvaultDns": "",
"sqlServerHostname": "",
"storage": ""
}
}
Example
يقوم قالب المثال التالي بإرجاع كائن البيئة:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"environmentOutput": {
"type": "object",
"value": "[environment()]"
}
}
}
يُرجع المثال السابق الكائن التالي عند نشره في Azure العام:
{
"name": "AzureCloud",
"gallery": "https://gallery.azure.com/",
"graph": "https://graph.windows.net/",
"portal": "https://portal.azure.com",
"graphAudience": "https://graph.windows.net/",
"activeDirectoryDataLake": "https://datalake.azure.net/",
"batch": "https://batch.core.windows.net/",
"media": "https://rest.media.azure.net",
"sqlManagement": "https://management.core.windows.net:8443/",
"vmImageAliasDoc": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json",
"resourceManager": "https://management.azure.com/",
"authentication": {
"loginEndpoint": "https://login.microsoftonline.com/",
"audiences": [
"https://management.core.windows.net/",
"https://management.azure.com/"
],
"tenant": "common",
"identityProvider": "AAD"
},
"suffixes": {
"acrLoginServer": ".azurecr.io",
"azureDatalakeAnalyticsCatalogAndJob": "azuredatalakeanalytics.net",
"azureDatalakeStoreFileSystem": "azuredatalakestore.net",
"azureFrontDoorEndpointSuffix": "azurefd.net",
"keyvaultDns": ".vault.azure.net",
"sqlServerHostname": ".database.windows.net",
"storage": "core.windows.net"
}
}
parameters
parameters(parameterName)
إرجاع قيمة معلمة. يجب تعريف اسم المعلمة المحدد في قسم المعلمات في القالب.
في Bicep، راجع المعلمات مباشرة باستخدام أسمائها الرمزية.
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| parameterName | Yes | string | اسم المعلمة التي يجب إرجاعها. |
قيمة الإرجاع
قيمة المعلمة المحددة.
Remarks
بشكل عام، يمكنك استخدام المعلمات لتعيين قيم الموارد. يعين المثال التالي اسم موقع ويب إلى قيمة المعلمة التي تم تمريرها أثناء النشر.
"parameters": {
"siteName": {
"type": "string"
}
}, "resources": [
{
"type": "Microsoft.Web/Sites",
"apiVersion": "2025-03-01",
"name": "[parameters('siteName')]",
...
}
]
Example
يوضح المثال التالي استخداما مبسطا للدالة parameters :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stringParameter": {
"type": "string",
"defaultValue": "option 1"
},
"intParameter": {
"type": "int",
"defaultValue": 1
},
"objectParameter": {
"type": "object",
"defaultValue": {
"one": "a",
"two": "b"
}
},
"arrayParameter": {
"type": "array",
"defaultValue": [ 1, 2, 3 ]
},
"crossParameter": {
"type": "string",
"defaultValue": "[parameters('stringParameter')]"
}
},
"variables": {},
"resources": [],
"outputs": {
"stringOutput": {
"type": "string",
"value": "[parameters('stringParameter')]"
},
"intOutput": {
"type": "int",
"value": "[parameters('intParameter')]"
},
"objectOutput": {
"type": "object",
"value": "[parameters('objectParameter')]"
},
"arrayOutput": {
"type": "array",
"value": "[parameters('arrayParameter')]"
},
"crossOutput": {
"type": "string",
"value": "[parameters('crossParameter')]"
}
}
}
إخراج القيم الافتراضية من المثال السابق هو:
| Name | Type | Value |
|---|---|---|
| stringOutput | String | الخيار 1 |
| intOutput | Int | 1 |
| objectOutput | Object | {"واحد": "أ"، "اثنان": "ب"} |
| arrayOutput | Array | [1، 2، 3] |
| crossOutput | String | الخيار 1 |
لمزيد من المعلومات حول استخدام المعلمات، راجع المعلمات في قوالب ARM.
variables
variables(variableName)
إرجاع قيمة متغير. يجب تعريف اسم المتغير المحدد في قسم المتغيرات في القالب.
في Bicep، قم بالإشارة مباشرة إلى المتغيرات باستخدام أسمائها الرمزية.
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| variableName | Yes | String | اسم المتغير الذي يجب إرجاعه. |
قيمة الإرجاع
قيمة المتغير المحدد.
Remarks
بشكل عام، يمكنك استخدام المتغيرات لتبسيط القالب الخاص بك عن طريق إنشاء قيم معقدة مرة واحدة فقط. يقوم المثال التالي بإنشاء اسم فريد لحساب تخزين:
"variables": {
"storageName": "[concat('storage', uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[variables('storageName')]",
...
},
{
"type": "Microsoft.Compute/virtualMachines",
"dependsOn": [
"[variables('storageName')]"
],
...
}
],
Example
يقوم المثال التالي بإرجاع قيم متغيرة مختلفة:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {
"var1": "myVariable",
"var2": [ 1, 2, 3, 4 ],
"var3": "[ variables('var1') ]",
"var4": {
"property1": "value1",
"property2": "value2"
}
},
"resources": [],
"outputs": {
"exampleOutput1": {
"type": "string",
"value": "[variables('var1')]"
},
"exampleOutput2": {
"type": "array",
"value": "[variables('var2')]"
},
"exampleOutput3": {
"type": "string",
"value": "[variables('var3')]"
},
"exampleOutput4": {
"type": "object",
"value": "[variables('var4')]"
}
}
}
إخراج القيم الافتراضية من المثال السابق هو:
| Name | Type | Value |
|---|---|---|
| exampleOutput1 | String | myVariable |
| exampleOutput2 | Array | [1، 2، 3، 4] |
| exampleOutput3 | String | myVariable |
| exampleOutput4 | Object | {"property1": "value1"، "property2": "value2"} |
لمزيد من المعلومات حول استخدام المتغيرات، راجع المتغيرات في قالب ARM.
الخطوات التالية
لمعرفة المزيد حول الأقسام في قالب ARM، راجع بنية وبناء جملة قوالب ARM.