مشاركة عبر


التشغيل السريع: إنشاء مهمة تخزين وتعيينها وتشغيلها باستخدام PowerShell

في هذا التشغيل السريع، ستتعلم كيفية استخدام Azure PowerShell لإنشاء مهمة تخزين وتعيينها إلى حساب Azure Storage. بعد ذلك، ستراجع نتائج التشغيل. تطبق مهمة التخزين نهج عدم قابلية التغيير المستندة إلى الوقت على أي مستندات Microsoft Word موجودة في حساب التخزين.

المتطلبات الأساسية

  • اشتراك Azure. راجع إنشاء حساب مجانا.

  • حساب تخزين Azure. راجع إنشاء حساب تخزين. أثناء إنشاء الحساب، تأكد من تمكين دعم عدم قابلية التغيير على مستوى الإصدار ومن عدم تمكين ميزة مساحة الاسم الهرمية.

    أثناء العام، يمكنك استهداف حسابات التخزين الموجودة في نفس المنطقة مثل مهام التخزين فقط.

  • يتم تعيين دور Storage Blob Data Owner إلى هوية المستخدم في سياق حساب التخزين أو مجموعة الموارد.

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

  • .NET Framework يمثل 4.7.2 أو أعلى مثبتة. لمزيد من المعلومات، يرجى الاطلاع علىتنزيل .NET Framework.

  • إصدار PowerShell 5.1 أو أحدث.

ثبّت وحدة PowerShell النمطية

  1. تأكد من تثبيت أحدث إصدار من PowerShellGet.

    Install-Module PowerShellGet -Repository PSGallery -Force
    
  2. أغلق وحدة تحكم PowerShell ثم أعد فتحها.

  3. تثبيت الإصدار 7.1.1-معاينة أو أحدث من الوحدة النمطية Az.Storage PowerShell. قد تحتاج إلى إلغاء تثبيت إصدارات أخرى من وحدة PowerShell النمطية. لمزيد من المعلومات عن تثبيت Azure PowerShell، راجع تثبيت Azure PowerShell باستخدام PowerShellGet.

    Install-Module Az.Storage -Repository PsGallery -RequiredVersion 7.1.1-preview -AllowClobber -AllowPrerelease -Force
    
  4. تثبيت الوحدة النمطية Az.StorageAction .

    Install-Module -Name Az.StorageAction -Repository PSGallery -Force 
    

    لمزيد من المعلومات بشأن طريقة تثبيت وحدات PowerShell النمطية، يرجى الاطلاع علىتثبيت الوحدة النمطية Azure PowerShell

قم بتسجيل الدخول إلى حساب Azure الخاص بك

  1. افتح نافذة أوامر Windows PowerShell، ثم سجل الدخول إلى حساب Azure الخاص بك باستخدام Connect-AzAccount الأمر واتبع الإرشادات التي تظهر على الشاشة.

    Connect-AzAccount
    
  2. إذا كانت هويتك مقترنة بأكثر من اشتراك واحد، ولم تتم مطالبتك بتحديد الاشتراك، فقم بتعيين اشتراكك النشط إلى اشتراك حساب التخزين الذي تريد العمل عليه. في هذا المثال، استبدل قيمة العنصر النائب <subscription-id> بمعرف اشتراكك.

    Select-AzSubscription -SubscriptionId <subscription-id>
    

إنشاء مهمة تخزين

  1. تعريف شرط باستخدام JSON. الشرط هو مجموعة من عبارة واحدة أو أكثر. تحتوي كل عبارة على خاصية وقيمة وعامل تشغيل. في JSON التالي، الخاصية هي Name، والقيمة هي .docx، وعامل التشغيل هو endsWith. تسمح هذه العبارة بالعملية على مستندات Microsoft Word فقط.

    $conditions = "[[endsWith(Name, '.docx')]]"
    

    للحصول على قائمة كاملة بالخصائص وعوامل التشغيل، راجع شروط مهمة التخزين.

    تلميح

    يمكنك إضافة شروط متعددة إلى نفس السلسلة وفصلها بفاسمة.

  2. تعريف كل عملية باستخدام New-AzStorageActionTaskOperationObject الأمر .

    تنشئ العملية التالية عملية تعين نهج عدم قابلية للتغيير.

    $policyoperation = New-AzStorageActionTaskOperationObject `
    -Name SetBlobImmutabilityPolicy `
    -Parameter @{"untilDate" = (Get-Date).AddDays(1); "mode" = "locked"} `
    -OnFailure break `
    -OnSuccess continue
    
    

    تعين العملية التالية علامة فهرس كائن ثنائي كبير الحجم في بيانات التعريف لمستند Word.

    $tagoperation = New-AzStorageActionTaskOperationObject -Name SetBlobTags `
    -Parameter @{"tagsetImmutabilityUpdatedBy"="StorageTaskQuickstart"} `
    -OnFailure break `
    -OnSuccess continue
    
  3. قم بإنشاء مهمة تخزين باستخدام New-AzStorageActionTask الأمر ، ومرر الشروط والعمليات التي قمت بتعريفها مسبقا. ينشئ هذا المثال مهمة تخزين باسم mystoragetask في مجموعة mystoragetaskresourcegroup الموارد في منطقة غرب الولايات المتحدة.

    $task = New-AzStorageActionTask `
    -Name mystoragetask `
    -ResourceGroupName mystoragetaskresourcegroup `
    -Location westus `
    -Enabled `
    -Description 'my powershell storage task' `
    -IfCondition $conditions `
    -IfOperation $policyoperation,$tagoperation `
    -EnableSystemAssignedIdentity:$true
    

إنشاء واجب

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

  1. إنشاء تعيين مهمة تخزين باستخدام New-AzStorageTaskAssignment الأمر . يستهدف mycontainer التعيين التالي حاوية حساب يسمى mystorageaccount. يحدد هذا التعيين أن المهمة سيتم تشغيلها مرة واحدة فقط، وستحفظ تقارير التنفيذ في مجلد يسمى storage-tasks-report. تتم جدولة المهمة لتشغيل 10 دقائق من الوقت الحالي.

    $startTime = (Get-Date).AddMinutes(10)   
    
    New-AzStorageTaskAssignment `
    -ResourceGroupName mystoragetaskresourcegroup `
    -AccountName mystorageaccount `
    -name mystoragetaskAssignment `
    -TaskId $task.Id `
    -ReportPrefix "storage-tasks-report" `
    -TriggerType RunOnce `
    -StartOn $startTime.ToUniversalTime() `
    -Description "task assignment" `
    -Enabled:$true `
    -TargetPrefix "mycontainer/"
    
  2. منح إذن مهمة التخزين لتنفيذ العمليات على حساب التخزين الهدف. تعيين دور Storage Blob Data Owner للهوية المدارة المعينة من قبل النظام لمهمة التخزين باستخدام New-AzRoleAssignment الأمر .

    New-AzRoleAssignment `
    -ResourceGroupName mystoragetaskresourcegroup `
    -ResourceName mystorageaccount `
    -ResourceType "Microsoft.Storage/storageAccounts" `
    -ObjectId $task.IdentityPrincipalId  `
    -RoleDefinitionName "Storage Blob Data Owner"
    

عرض نتائج تشغيل مهمة

بعد اكتمال المهمة قيد التشغيل، احصل على ملخص تقرير تشغيل لكل تعيين باستخدام Get-AzStorageActionTasksReport الأمر .

Get-AzStorageActionTasksReport `
-ResourceGroupName mystoragetaskresourcegroup `
-StorageTaskName mystoragetask | Format-List

SummaryReportPath يحتوي حقل كل ملخص تقرير على مسار لتقرير مفصل. يحتوي هذا التقرير على قائمة مفصولة بفواصل للحاوية والكائنات الثنائية كبيرة الحجم والعملية التي تم تنفيذها مع الحالة.

تنظيف الموارد

أزل كل الأصول التي أنشأتها. تُعد أسهل طريقة لإزالة الأصول هي من خلال حذف مجموعة الموارد. وتعمل إزالة مجموعة الموارد أيضاً على حذف جميع الموارد المضمنة داخل المجموعة. وفي المثال التالي، تؤدي إزالة مجموعة الموارد إلى إزالة حساب التخزين ومجموعة الموارد نفسها.

Remove-AzResourceGroup -Name $ResourceGroup 

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

إنشاء مهمة تخزين

مرجع أوامر cmdlets لإجراءات تخزين Microsoft Azure PowerShell