إنشاء مجموعات الموارد باستخدام Bicep

يمكنك استخدام Bicep لإنشاء مجموعة موارد جديدة. توضح لك هذه المقالة كيفية إنشاء مجموعات الموارد عند النشر إلى الاشتراك أو مجموعة موارد أخرى.

تعريف مجموعة الموارد

لإنشاء مجموعة موارد باستخدام Bicep، حدد مورد Microsoft.Resources/resourceGroups باسم وموقع لمجموعة الموارد.

يظهر المثال التالي ملف Bicep الذي ينشئ مجموعة موارد فارغة. لاحظ أن النطاق الهدف الخاص به هو subscription.

targetScope='subscription'

param resourceGroupName string
param resourceGroupLocation string

resource newRG 'Microsoft.Resources/resourceGroups@2022-09-01' = {
  name: resourceGroupName
  location: resourceGroupLocation
}

لنشر ملف Bicep إلى اشتراك، استخدم أوامر النشر على مستوى الاشتراك.

بالنسبة لـ Azure CLI، استخدم الأمر az deployment sub create.

az deployment sub create \
  --name demoSubDeployment \
  --location centralus \
  --template-file resourceGroup.bicep \
  --parameters resourceGroupName=demoResourceGroup resourceGroupLocation=centralus

بالنسبة لأمر النشر مستخدماً PowerShell، استخدام الأمر New-AzDeployment أو اسمه المستعار New-AzSubscriptionDeployment.

New-AzSubscriptionDeployment `
  -Name demoSubDeployment `
  -Location centralus `
  -TemplateFile resourceGroup.bicep `
  -resourceGroupName demoResourceGroup `
  -resourceGroupLocation centralus

إنشاء مجموعة موارد وموارد

لإنشاء مجموعة الموارد ونشر الموارد إليها، أضف وحدة نمطية تحدد الموارد لتوزيعها إلى مجموعة الموارد. وقم بتعيين نطاق الوحدة النمطية إلى الاسم الرمزي لمجموعة الموارد التي تقوم بإنشائها. يمكنك النشر إلى ما يصل إلى 800 مجموعة موارد.

يظهر المثال التالي ملف Bicep الذي ينشئ مجموعة موارد، وينشر حساب تخزين إلى مجموعة الموارد. لاحظ أنه يتم تعيين الخاصية scope للوحدة النمطية إلى newRG، وهو الاسم الرمزي لمجموعة الموارد التي يتم إنشاؤها.

targetScope='subscription'

param resourceGroupName string
param resourceGroupLocation string
param storageName string
param storageLocation string

resource newRG 'Microsoft.Resources/resourceGroups@2022-09-01' = {
  name: resourceGroupName
  location: resourceGroupLocation
}

module storageAcct 'storage.bicep' = {
  name: 'storageModule'
  scope: newRG
  params: {
    storageLocation: storageLocation
    storageName: storageName
  }
}

تستخدم الوحدة النمطية ملف Bicep المسمى storage.bicep بالمحتويات التالية:

param storageLocation string
param storageName string

resource storageAcct 'Microsoft.Storage/storageAccounts@2022-09-01' = {
  name: storageName
  location: storageLocation
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'Storage'
  properties: {}
}

إنشاء مجموعة موارد أثناء نشر مجموعة الموارد

يمكنك أيضا إنشاء مجموعة موارد أثناء توزيع مستوى مجموعة الموارد. لهذا السيناريو، يمكنك النشر إلى مجموعة موارد موجودة والتبديل إلى مستوى الاشتراك لإنشاء مجموعة موارد. ينشئ ملف Bicep التالي مجموعة موارد جديدة في الاشتراك المحدد. الوحدة النمطية التي تنشئ مجموعة الموارد هي نفس المثال الذي ينشئ مجموعة الموارد.

param secondResourceGroup string
param secondSubscriptionID string = ''
param secondLocation string

// module deployed at subscription level
module newRG 'resourceGroup.bicep' = {
  name: 'newResourceGroup'
  scope: subscription(secondSubscriptionID)
  params: {
    resourceGroupName: secondResourceGroup
    resourceGroupLocation: secondLocation
  }
}

لنشر إلى مجموعة موارد، استخدم أوامر توزيع مجموعة الموارد.

بالنسبة لـنظام Azure CLI، استخدم الأمر إنشاء مجموعة نشر في az.

az deployment group create \
  --name demoRGDeployment \
  --resource-group ExampleGroup \
  --template-file main.bicep \
  --parameters secondResourceGroup=newRG secondSubscriptionID={sub-id} secondLocation=westus

بالنسبة لأمر التوزيع PowerShell، استخدم New-AzResourceGroupDeployment.

New-AzResourceGroupDeployment `
  -Name demoRGDeployment `
  -ResourceGroupName ExampleGroup `
  -TemplateFile main.bicep `
  -secondResourceGroup newRG `
  -secondSubscriptionID {sub-id} `
  -secondLocation westus

الخطوات التالية

للتعرف على النطاقات الأخرى، راجع: