إنشاء موارد ناقل الخدمة باستخدام قوالب Azure Resource Manager

توضح هذه المقالة كيفية إنشاء موارد ناقل الخدمة وتوزيعها باستخدام قوالب Azure Resource Manager وPowerShell وموفر موارد ناقل الخدمة.

تساعدك قوالب Azure Resource Manager في تحديد الموارد التي سيتم توزيعها لحل ما، وتحديد المعلمات والمتغيرات التي تمكنك من إدخال قيم لبيئات مختلفة. تمت كتابة النموذج بلغة JSON، ويتكون من التعبيرات التي يمكنك استخدامها لتكوين قيم لتوزيعك. للحصول على معلومات مفصلة حول كتابة قوالب Azure Resource Manager، ومناقشة تنسيق القالب، راجع بنية وبناء جملة قوالب Azure Resource Manager.

ملاحظة

توضح الأمثلة الواردة في هذه المقالة كيفية استخدام Azure Resource Manager لإنشاء مساحة اسم ناقل الخدمة وكيان الرسائل (قائمة انتظار). للحصول على أمثلة قالب أخرى، قم بزيارة معرض قوالب التشغيل السريع من Azure، وابحث عن ناقل الخدمة.

ملاحظة

نوصي باستخدام وحدة Azure Az PowerShell للتفاعل مع Azure. راجع تثبيت Azure PowerShell للبدء. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

قوالب Resource Manager لناقل الخدمة

تتوفر قوالب Azure Resource Manager لناقل الخدمة هذه للتنزيل والتوزيع. انقر فوق الارتباطات التالية للحصول على تفاصيل حول كل واحد، مع ارتباطات إلى القوالب على GitHub:

التوزيع باستخدام PowerShell

يصف الإجراء التالي كيفية استخدام PowerShell لتوزيع قالب Azure Resource Manager الذي ينشئ مساحة اسم ناقل خدمة من مستوى قياسي، وقائمة انتظار داخل مساحة الاسم هذه. يستند هذا المثال إلى إنشاء مساحة اسم ناقل الخدمة بقالب قائمة الانتظار. سير العمل التقريبي كما يلي:

  1. تثبيت PowerShell.
  2. إنشاء النموذج و(اختياريًا) ملف معلمة.
  3. في PowerShell، قم بتسجيل الدخول إلى حساب Azure الخاص بك.
  4. إنشاء مجموعة موارد جديدة إذا لم تكن موجودة.
  5. اختبار التوزيع.
  6. إذا رغبت في ذلك، قم بتعيين وضع التوزيع.
  7. نشر القالب.

للحصول على معلومات كاملة حول توزيع قوالب Azure Resource Manager، راجع توزيع الموارد باستخدام قوالب Azure Resource Manager.

تثبيت PowerShell

قم بتثبيت Azure PowerShell باتباع الإرشادات الواردة في بدء استخدام Azure PowerShell.

إنشاء قالب

انسخ المستودع أو انسخ قالب servicebus-create-queue من GitHub:

{
  "$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "serviceBusNamespaceName": {
      "type": "string",
      "metadata": {
        "description": "Name of the Service Bus namespace"
      }
    },
    "serviceBusQueueName": {
      "type": "string",
      "metadata": {
        "description": "Name of the Queue"
      }
    }
  },
  "variables": {
    "defaultSASKeyName": "RootManageSharedAccessKey",
    "authRuleResourceId": "[resourceId('Microsoft.ServiceBus/namespaces/authorizationRules', parameters('serviceBusNamespaceName'), variables('defaultSASKeyName'))]",
  "sbVersion": "2017-04-01"
  },
  "resources": [
    {
      "apiVersion": "2017-04-01",
      "name": "[parameters('serviceBusNamespaceName')]",
      "type": "Microsoft.ServiceBus/Namespaces",
      "location": "[resourceGroup().location]",
      "sku": {
        "name": "Standard"
      },
      "properties": {},
      "resources": [
        {
          "apiVersion": "2017-04-01",
          "name": "[parameters('serviceBusQueueName')]",
          "type": "Queues",
          "dependsOn": [
            "[concat('Microsoft.ServiceBus/namespaces/', parameters('serviceBusNamespaceName'))]"
          ],
          "properties": {
            "lockDuration": "PT5M",
            "maxSizeInMegabytes": "1024",
            "requiresDuplicateDetection": "false",
            "requiresSession": "false",
            "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S",
            "deadLetteringOnMessageExpiration": "false",
            "duplicateDetectionHistoryTimeWindow": "PT10M",
            "maxDeliveryCount": "10",
            "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S",
            "enablePartitioning": "false",
            "enableExpress": "false"
          }
        }
      ]
    }
  ],
  "outputs": {
    "NamespaceConnectionString": {
      "type": "string",
      "value": "[listkeys(variables('authRuleResourceId'), variables('sbVersion')).primaryConnectionString]"
    },
    "SharedAccessPolicyPrimaryKey": {
      "type": "string",
      "value": "[listkeys(variables('authRuleResourceId'), variables('sbVersion')).primaryKey]"
    }
  }
}

إنشاء ملف معلمات (اختياري)

لاستخدام ملف معلمات اختياري، انسخ ملف servicebus-create-queue. استبدل القيمة serviceBusNamespaceName باسم مساحة اسم ناقل الخدمة التي تريد إنشاءها في هذا التوزيع، واستبدل القيمة serviceBusQueueName باسم قائمة الانتظار التي تريد إنشاءها.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "serviceBusNamespaceName": {
            "value": "<myNamespaceName>"
        },
        "serviceBusQueueName": {
            "value": "<myQueueName>"
        },
        "serviceBusApiVersion": {
            "value": "2017-04-01"
        }
    }
}

لمزيد من المعلومات، راجع مقالة المعلمات.

تسجيل الدخول إلى Azure وتعيين اشتراك Azure

من موجه PowerShell، قم بتشغيل الأمر التالي:

Connect-AzAccount

تتم مطالبتك بتسجيل الدخول إلى حساب Azure الخاص بك. بعد تسجيل الدخول، قم بتشغيل الأمر التالي لعرض الاشتراكات المتوفرة:

Get-AzSubscription

يقوم هذا الأمر بإرجاع قائمة الاشتراكات Azure المتوفرة. اختر اشتراكًا لجلسة العمل الحالية عن طريق تشغيل الأمر التالي. استبدل <YourSubscriptionId> باسم اشتراك Azure الذي ترغب في استخدامه:

Set-AzContext -SubscriptionID <YourSubscriptionId>

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

إذا لم تكن لديك مجموعة موارد موجودة، فقم بإنشاء مجموعة موارد جديدة مع الأمر New-AzResourceGroup. قم بتوفير اسم مجموعة الموارد والموقع الذي تريد استخدامه. على سبيل المثال:

New-AzResourceGroup -Name MyDemoRG -Location "West US"

في حالة النجاح، يتم عرض ملخص لمجموعة الموارد الجديدة.

ResourceGroupName : MyDemoRG
Location          : westus
ProvisioningState : Succeeded
Tags              :
ResourceId        : /subscriptions/<GUID>/resourceGroups/MyDemoRG

اختبار النشر

التحقق من صحة التوزيع الخاص بك عن طريق تشغيل cmdlet Test-AzResourceGroupDeployment. عند اختبار التوزيع، قم بتوفير المعلمات تمامًا كما تفعل عند تنفيذ عملية التوزيع.

Test-AzResourceGroupDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json

إنشاء النشر

لإنشاء توزيع جديد، قم بتشغيل cmdlet New-AzResourceGroupDeployment وتوفير المعلمات الضرورية عند المطالبة. تتضمن المعلمات اسمًا للتوزيع الخاص بك، واسم مجموعة الموارد والمسار أو URL إلى ملف القالب. إذا لم يتم تحديد المعلمة Mode، يتم استخدام القيمة الافتراضية Incremental. لمزيد من المعلومات، راجع عمليات التوزيع التزايدية والكاملة.

يطالبك الأمر التالي بالمعلمات الثلاثة في نافذة PowerShell:

New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json

لتحديد ملف معلمات بدلاً من ذلك، استخدم الأمر التالي:

New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json -TemplateParameterFile <path to parameters file>\azuredeploy.parameters.json

يمكنك أيضا استخدام معلمات مضمنة عند تشغيل cmdlet للتوزيع. يكون الأمر كما يلي:

New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json -parameterName "parameterValue"

لتشغيل توزيع كامل، قم بتعيين المعلمة Mode إلى Complete:

New-AzResourceGroupDeployment -Name MyDemoDeployment -Mode Complete -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json

تحقق من التوزيع

إذا تم توزيع الموارد بنجاح، يتم عرض ملخص للتوزيع في نافذة PowerShell:

DeploymentName    : MyDemoDeployment
ResourceGroupName : MyDemoRG
ProvisioningState : Succeeded
Timestamp         : 4/19/2017 10:38:30 PM
Mode              : Incremental
TemplateLink      :
Parameters        :
                    Name             Type                       Value
                    ===============  =========================  ==========
                    serviceBusNamespaceName  String             <namespaceName>
                    serviceBusQueueName  String                 <queueName>
                    serviceBusApiVersion  String                2017-04-01

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

لقد شاهدت الآن سير العمل الأساسي والأوامر الخاصة بتوزيع قالب Azure Resource Manager. لمزيد من المعلومات التفصيلية، يرجى زيارة الروابط التالية: