بدء تشغيل دليل تشغيل في Azure Automation

يساعدك الجدول التالي في تحديد الأسلوب لبدء تشغيل دليل تشغيل في Azure Automation الأكثر ملاءمة لسيناريو معين. تتضمن هذه المقالة تفاصيل حول بدء تشغيل دليل تشغيل عبر مدخل Microsoft Azure ومع Windows PowerShell. يتم توفير تفاصيل عن الطرق الأخرى في وثائق أخرى يمكنك الوصول إليها من الروابط أدناه.

الطريقة الخصائص
مدخل Microsoft Azure
  • أبسط طريقة مع واجهة مستخدم تفاعلية.
  • نموذج لتوفير قيم معلمات بسيطة.
  • تتبع بسهولة حالة العمل.
  • الوصول المصادق عليه من خلال تسجيل الدخول عبر Azure.
  • Windows PowerShell
  • استدعاء من سطر الأوامر عبر cmdlets Windows PowerShell.
  • يمكن تضمينها في ميزة تلقائية مع خطوات متعددة.
  • تتم مصادقة الطلب مع شهادة أو OAuth المستخدم الرئيسي / الخدمة الرئيسية.
  • قم بتوفير قيم معلمات بسيطة ومعقدة.
  • تتبع حالة المهمة.
  • العميل المطلوب لدعم Cmdlets PowerShell.
  • واجهة برمجة التطبيقات لـ Azure Automation
  • الطريقة الأكثر مرونة ولكنها أيضًا أكثر تعقيدًا.
  • اتصل من أي رمز مخصص يمكنه إجراء طلبات HTTP.
  • طلب مصدق بشهادة أو مدير مستخدم / خدمة Oauth.
  • قم بتوفير قيم معلمات بسيطة ومعقدة. إذا كنت تتصل بسجل تشغيل Python باستخدام واجهة برمجة التطبيقات، يجب أن تتم عملية تسلسل حمولة JSON.
  • تتبع حالة المهمة.
  • خطافات الويب
  • بدء تشغيل دفتر التشغيل من طلب HTTP واحد.
  • مصادق عليه برمز الأمان في URL.
  • لا يمكن للعميل تجاوز قيم المعلمات المحددة عند إنشاء إخطار على الويب. يمكن لديل التشغيل تحديد معلمة واحدة يتم ملؤها بتفاصيل طلب HTTP.
  • لا توجد إمكانية لتتبع حالة الوظيفة من خلال عنوان URL لإخطار على الويب.
  • الاستجابة لتنبيه Azure
  • بدء تشغيل دليل تشغيل استجابة لتنبيه Azure.
  • تكوين إخطار على الويب لدليل التشغيل والارتباط للتنبيه.
  • مصادق عليه برمز الأمان في URL.
  • الجدول
  • ابدأ التشغيل تلقائيًا وفقًا لجدول زمني كل ساعة أو يوميًا أو أسبوعيًا أو شهريًا.
  • معالجة الجدول الزمني من خلال مدخل Microsoft Azure أو أوامر PowerShell cmdlets أو Azure API.
  • قم بتوفير قيم المعلمات لاستخدامها مع الجدول الزمني.
  • من دليل تشغيل آخر
  • استخدم دليل التشغيل كنشاط في دليل تشغيل آخر.
  • مفيد للوظائف المستخدمة من قِبل عدة دلائل تشغيل.
  • توفير قيم المعلمات إلى دليل التشغيل التابع واستخدام الإخراج في دليل التشغيل الأصل.
  • توضح الصورة التالية عملية تفصيلية خطوة بخطوة في دورة حياة دليل التشغيل. يتضمن طرقًا مختلفة يبدأ بها دليل التشغيل في Azure Automation، والمكونات المطلوبة لـ Hybrid Runbook Worker لتنفيذ دلائل تشغيل Azure Automation، والتفاعلات بين المكونات المختلفة. للتعرف على كيفية تنفيذ دلائل تشغيل Automation في مركز البيانات، راجع العاملون في دليل التشغيل المختلط

    Runbook Architecture

    العمل مع معلمات دليل التشغيل

    عند بدء تشغيل دليل تشغيل من مدخل Azure أو Windows PowerShell، يتم إرسال التعليمات من خلال خدمة الويب Azure Automation. لا تدعم هذه الخدمة المعلمات بأنواع البيانات المعقدة. إذا كنت بحاجة إلى توفير قيمة لمعلمة معقدة، يجب عليك تسميتها مضمنة من دليل تشغيل آخر كما هو موضح في دلائل التشغيل التابعة في Azure Automation.

    توفر خدمة الويب لـ Azure Automation وظائف خاصة للمعلمات باستخدام أنواع معينة من البيانات كما هو موضح في الأقسام التالية.

    القيم المسماة

    إذا كانت المعلمة هي نوع البيانات [كائن]، يمكنك استخدام تنسيق JSON التالي لإرسال قائمة بالقيم المسماة: {Name1:'Value1', Name2:'Value2', Name3:'Value3'}. يجب أن تكون هذه القيم أنواعًا بسيطة. يتلقى دليل التشغيل المعلمة كـ PSCustomObject بخصائص تتوافق مع كل قيمة مسماة.

    ضع في اعتبارك دليل التشغيل التجريبي التالي الذي يقبل معلمة تسمى user.

    Workflow Test-Parameters
    {
       param (
          [Parameter(Mandatory=$true)][object]$user
       )
        $userObject = $user | ConvertFrom-JSON
        if ($userObject.Show) {
            foreach ($i in 1..$userObject.RepeatCount) {
                $userObject.FirstName
                $userObject.LastName
            }
        }
    }
    

    يمكن استخدام النص التالي لمعلمة المستخدم.

    {FirstName:'Joe',LastName:'Smith',RepeatCount:'2',Show:'True'}
    

    ينتج عن هذا الأمر الإخراج التالي:

    Joe
    Smith
    Joe
    Smith
    

    الصفائف

    إذا كانت المعلمة صفيفًا مثل [صفيف] أو [سلسلة []]، فحينها يمكنك استخدام تنسيق JSON التالية لإرسال قائمة القيم: [Value1، Value2، Value3]. يجب أن تكون هذه القيم أنواعًا بسيطة.

    ضع في اعتبارك دليل التشغيل التجريبي التالي الذي يقبل معلمة تسمى user.

    Workflow Test-Parameters
    {
       param (
          [Parameter(Mandatory=$true)][array]$user
       )
        if ($user[3]) {
            foreach ($i in 1..$user[2]) {
                $ user[0]
                $ user[1]
            }
        }
    }
    

    يمكن استخدام النص التالي لمعلمة المستخدم.

    ["Joe","Smith",2,true]
    

    ينتج عن هذا الأمر الإخراج التالي:

    Joe
    Smith
    Joe
    Smith
    

    بيانات الاعتماد

    إذا كانت المعلمة نوع بيانات PSCredential، يمكنك توفير اسم أصل بيانات اعتمادAzure Automation . قم باسترداد دليل التشغيل لبيانات الاعتماد بالاسم الذي تحدده. ضع في اعتبارك دليل التشغيل التجريبي التالي الذي يقبل معلمة تسمى credential.

    Workflow Test-Parameters
    {
       param (
          [Parameter(Mandatory=$true)][PSCredential]$credential
       )
       $credential.UserName
    }
    

    يمكن استخدام النص التالي لمعلمة المستخدم بافتراض وجود أصل بيانات اعتماد يسمى My Credential .

    My Credential
    

    بافتراض أن اسم المستخدم في بيانات الاعتماد هو jsmith، يتم عرض الإخراج التالي.

    jsmith
    

    بدء تشغيل دليل تشغيل مع مدخل Microsoft Azure

    1. في مدخل Microsoft Azure، حدد Automation ثم حدد اسم حساب Automation.
    2. من الجزء الأيسر، حدد Runbooks.
    3. في صفحة Runbooks، حدد دليل تشغيل، ثم انقر فوق Start.
    4. إذا كان دليل التشغيل يحتوي على معلمات، تتم مطالبتك بتوفير قيم مع مربع نص لكل معلمة. لمزيد من المعلومات حول المعلمات، راجع معلمات دليل التشغيل.
    5. في جزء Job، يمكنك عرض حالة مهمة دليل التشغيل.

    بدء تشغيل دليل تشغيل باستخدام PowerShell

    يمكنك استخدام بدء AzAutomationRunbook لبدء تشغيل دليل مع Windows PowerShell. نموذج التعليمات البرمجية التالي يبدأ تشغيل دليل تشغيل يسمى Test-Runbook.

    Start-AzAutomationRunbook -AutomationAccountName "MyAutomationAccount" -Name "Test-Runbook" -ResourceGroupName "ResourceGroup01"
    

    Start-AzAutomationRunbook يرجع كائن مهمة يمكنك استخدامه لتعقب الحالة بمجرد بدء تشغيل دليل التشغيل. يمكنك بعد ذلك استخدام كائن المهمة هذا مع Get-AzAutomationJob لتحديد حالة المهمة والحصول على AzAutomationJobOutput لاسترداد الإخراج الخاص به. يبدأ المثال التالي تشغيل دليل تشغيل يسمى Test-Runbook، وينتظر حتى يكتمل، ثم يعرض الإخراج الخاص به.

    $runbookName = "Test-Runbook"
    $ResourceGroup = "ResourceGroup01"
    $AutomationAcct = "MyAutomationAccount"
    
    $job = Start-AzAutomationRunbook -AutomationAccountName $AutomationAcct -Name $runbookName -ResourceGroupName $ResourceGroup
    
    $doLoop = $true
    While ($doLoop) {
       $job = Get-AzAutomationJob -AutomationAccountName $AutomationAcct -Id $job.JobId -ResourceGroupName $ResourceGroup
       $status = $job.Status
       $doLoop = (($status -ne "Completed") -and ($status -ne "Failed") -and ($status -ne "Suspended") -and ($status -ne "Stopped"))
    }
    
    Get-AzAutomationJobOutput -AutomationAccountName $AutomationAcct -Id $job.JobId -ResourceGroupName $ResourceGroup -Stream Output
    

    إذا كان دليل التشغيل يتطلب معلمات، يجب توفيرها على أنها قابلة للتجزئة. يجب أن يطابق مفتاح قابلية التجزئة اسم المعلمة والقيمة هي قيمة المعلمة. يوضح المثال التالي كيفية بدء تشغيل دليل تشغيل بمعلمتي سلسلة تسمى FirstName وLastName، عدد صحيح يسمى RepeatCount، ومعلمة منطقية تسمى Show. لمزيد من المعلومات حول المعلمات، راجع معلمات دليل التشغيل.

    $params = @{"FirstName"="Joe";"LastName"="Smith";"RepeatCount"=2;"Show"=$true}
    Start-AzAutomationRunbook -AutomationAccountName "MyAutomationAccount" -Name "Test-Runbook" -ResourceGroupName "ResourceGroup01" -Parameters $params
    

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