Hızlı Başlangıç: PowerShell kullanarak depolama görevi oluşturma, atama ve çalıştırma

Bu hızlı başlangıçta, depolama görevi oluşturmak ve bunu bir Azure Depolama hesabına atamak için Azure PowerShell'i kullanmayı öğreneceksiniz. Ardından çalıştırılan işlemin sonuçlarını gözden geçireceksiniz. Depolama görevi, depolama hesabında bulunan tüm Microsoft Word belgelerine zaman tabanlı bir değişmezlik ilkesi uygular.

Önkoşullar

  • Bir Azure aboneliği. Bkz. Ücretsiz hesap oluşturma.

  • Bir Azure depolama hesabı. Bkz. Depolama hesabı oluşturma. Hesabı oluştururken sürüm düzeyinde değişmezlik desteğini etkinleştirdiğinizden ve hiyerarşik ad alanı özelliğini etkinleştirmediğinizden emin olun.

    Kamuya açık sırasında, yalnızca depolama görevleriyle aynı bölgede yer alan depolama hesaplarını hedefleyebilirsiniz.

  • Depolama Blobu Veri Sahibi rolü, depolama hesabı veya kaynak grubu bağlamında kullanıcı kimliğinize atanır.

  • Depolama hesabına görev atamak için gereken RBAC eylemlerini içeren kaynak grubu bağlamında kullanıcı kimliğinize atanan özel rol. Bkz. Görev atamak için gereken izinler.

  • .NET Framework 4.7.2 veya üzeri yüklüdür. Daha fazla bilgi için bkz . .NET Framework'i indirme.

  • PowerShell sürümü 5.1 veya üzeri.

PowerShell modülünü yükleme

  1. PowerShellGet'in en son sürümünü yüklediğinizden emin olun.

    Install-Module PowerShellGet -Repository PSGallery -Force
    
  2. PowerShell konsolunu kapatıp yeniden açın.

  3. Az.Storage PowerShell modülünün 7.1.1-preview veya sonraki bir sürümünü yükleyin. PowerShell modülünün diğer sürümlerini kaldırmanız gerekebilir. Azure PowerShell'i yükleme hakkında daha fazla bilgi için bkz . PowerShellGet ile Azure PowerShell yükleme.

    Install-Module Az.Storage -Repository PsGallery -RequiredVersion 7.1.1-preview -AllowClobber -AllowPrerelease -Force
    
  4. Az.StorageAction modülünü yükleyin.

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

    PowerShell modüllerini yükleme hakkında daha fazla bilgi için bkz . Azure PowerShell modülünü yükleme

Azure hesabınızda oturum açma

  1. Bir Windows PowerShell komut penceresi açın ve ardından komutuyla Connect-AzAccount Azure hesabınızda oturum açın ve ekrandaki yönergeleri izleyin.

    Connect-AzAccount
    
  2. Kimliğiniz birden fazla abonelikle ilişkiliyse ve aboneliği seçmeniz istenmiyorsa etkin aboneliğinizi üzerinde çalışmak istediğiniz depolama hesabının aboneliğine ayarlayın. Bu örnekte yer tutucu değerini aboneliğinizin kimliğiyle değiştirin <subscription-id> .

    Select-AzSubscription -SubscriptionId <subscription-id>
    

Depolama görevi oluşturma

  1. JSON kullanarak bir koşul tanımlayın. Koşul, bir veya daha fazla yan tümceden oluşan bir bütündür. Her yan tümce bir özellik, değer ve işleç içerir. Aşağıdaki JSON'da, özellik Name, değer .docx ve operatör endsWith. Bu yan tümce yalnızca Microsoft Word belgelerinde işlemlere izin verir.

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

    Özelliklerin ve işleçlerin tam listesi için bkz Depolama görevi koşulları.

    Tavsiye

    Aynı dizeye birden çok koşul ekleyebilir ve bunları virgülle ayırabilirsiniz.

  2. komutunu kullanarak New-AzStorageActionTaskOperationObject her işlemi tanımlayın.

    Aşağıdaki işlem, değişmezlik ilkesi ayarlayan bir işlem oluşturur.

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

    Aşağıdaki işlem, word belgesinin meta verilerinde bir blob dizin etiketi ayarlar.

    $tagoperation = New-AzStorageActionTaskOperationObject -Name SetBlobTags `
    -Parameter @{"tagsetImmutabilityUpdatedBy"="StorageTaskQuickstart"} `
    -OnFailure break `
    -OnSuccess continue
    
  3. komutunu kullanarak New-AzStorageActionTask bir depolama görevi oluşturun ve daha önce tanımladığınız koşulları ve işlemleri geçirin. Bu örnek, Batı ABD bölgesindeki kaynak grubunda mystoragetask adlı mystoragetaskresourcegroup bir depolama görevi oluşturur.

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

Atama oluştur

Depolama görevi ataması bir depolama hesabı belirtir. Depolama görevini etkinleştirdikten sonra, görevinizin koşulları ve işlemleri bu depolama hesabına uygulanır. Atama ayrıca belirli blobları hedeflemenize veya görevin ne zaman ve ne sıklıkta çalıştırılacağını belirtmenize yardımcı olan yapılandırma özelliklerini içerir. Hedeflemek istediğiniz her hesap için bir atama ekleyebilirsiniz.

  1. New-AzStorageTaskAssignment komutunu kullanarak bir depolama görevi ataması oluşturun. Aşağıdaki atama, mycontainer kapsayıcısını mystorageaccount adlı bir hesabın hedefler. Bu atama, görevin yalnızca bir kez çalışacağını ve yürütme raporlarını adlı storage-tasks-reportbir klasöre kaydedeceğini belirtir. Görev, şu andan itibaren 10 dakika sonra çalışacak şekilde zamanlanmıştır.

    $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. Depolama görevine hedef depolama hesabında işlem gerçekleştirme izni verin. Depolama görevinin sistem tarafından atanan yönetilen kimliğine Storage Blob Data Owner rolünü New-AzRoleAssignment komutunu kullanarak atayın.

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

Görev çalıştırmasının sonuçlarını görüntüleme

Görev çalıştırıldıktan sonra, Get-AzStorageActionTasksReport komutunu kullanarak her atama için bir çalıştırma raporu özeti edinin.

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

SummaryReportPath Her rapor özetinin alanı, ayrıntılı bir raporun yolunu içerir. Bu rapor kapsayıcının, blobun ve bir durumla birlikte gerçekleştirilen işlemin virgülle ayrılmış listesini içerir.

Kaynakları temizle

Oluşturduğunuz tüm varlıkları kaldırın. Varlıkları kaldırmanın en kolay yolu kaynak grubunu silmektir. Kaynak grubunun kaldırılması, gruba dahil edilen tüm kaynakları da siler. Aşağıdaki örnekte, kaynak grubunun kaldırılması depolama hesabını ve kaynak grubunun kendisini kaldırır.

Remove-AzResourceGroup -Name $ResourceGroup 

Sonraki Adımlar

Depolama görevi oluşturma

Microsoft Azure PowerShell depolama eylemleri cmdlet'leri kılavuzu