تعيين موقع المورد في قالب ARM
عند توزيع قالب Azure Resource Manager (قالب ARM)، يجب توفير موقع لكل مورد. لا يلزم أن يكون الموقع هو نفس الموقع الذي يُوجد به موقع مجموعة الموارد.
الحصول على المواقع المتاحة
يتم دعم أنواع الموارد المختلفة في مواقع مختلفة. للحصول على المواقع المدعومة لنوع مورد، استخدم Azure PowerShell أو Azure CLI.
((Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes `
| Where-Object ResourceTypeName -eq batchAccounts).Locations
استخدام معلمة الموقع
للسماح بالمرونة عند توزيع القالب، استخدم معلمة لتحديد موقع الموارد. عيّن القيمة الافتراضية للمعلمة إلى resourceGroup().location
.
يُظهر المثال التالي حساب تخزين يتم توزيعه إلى موقع محدد كمعلمة:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccountType": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_ZRS",
"Premium_LRS"
],
"metadata": {
"description": "Storage Account type"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"variables": {
"storageAccountName": "[format('storage{0}', uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2022-09-01",
"name": "[variables('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageAccountType')]"
},
"kind": "StorageV2",
"properties": {}
}
],
"outputs": {
"storageAccountName": {
"type": "string",
"value": "[variables('storageAccountName')]"
}
}
}
الخطوات التالية
- للحصول على القائمة الكاملة لوظائف النموذج، راجع وظائف قالب ARM.
- لمزيد من المعلومات حول ملفات القوالب، راجع فهم بنية وبنية قوالب ARM.