Freigeben über


Schnellstart: Erstellen, Zuweisen und Ausführen einer Speicheraufgabe mithilfe von PowerShell

In dieser Schnellstartanleitung erfahren Sie, wie Sie Azure PowerShell verwenden, um eine Speicheraufgabe zu erstellen und sie einem Azure Storage-Konto zuzuweisen. Anschließend überprüfen Sie die Ergebnisse der Ausführung. Die Speicheraufgabe wendet eine zeitbasierte Unveränderlichkeitsrichtlinie auf alle Microsoft Word-Dokumente an, die im Speicherkonto vorhanden sind.

Voraussetzungen

  • Ein Azure-Abonnement. Weitere Informationen finden Sie unter "Kostenloses Erstellen eines Kontos".

  • Ein Azure Storage-Konto Siehe Erstellen eines Speicherkontos. Stellen Sie beim Erstellen des Kontos sicher, dass Sie die Unveränderlichkeit auf Versionsebene aktivieren und das Feature für hierarchische Namespaces nicht aktivieren.

    Während der öffentlichen Vorschauphase können Sie nur Speicherkonten verwenden, die sich in derselben Region wie die Speicheraufgaben befinden.

  • Die Rolle " Besitzer von Speicher-BLOB-Daten" wird Ihrer Benutzeridentität im Kontext des Speicherkontos oder der Ressourcengruppe zugewiesen.

  • Eine benutzerdefinierte Rolle, die Ihrer Benutzeridentität im Kontext der Ressourcengruppe zugewiesen ist, die die RBAC-Aktionen enthält, die zum Zuweisen eines Vorgangs zu einem Speicherkonto erforderlich sind. Informationen finden Sie unter "Berechtigungen", die zum Zuweisen einer Aufgabe erforderlich sind.

  • .NET Framework 4.7.2 oder höher ist installiert. Weitere Informationen finden Sie unter Herunterladen von .NET Framework.

  • PowerShell Version 5.1 oder höher

Installieren des PowerShell-Moduls

  1. Stellen Sie sicher, dass die neueste Version von PowerShellGet installiert ist.

    Install-Module PowerShellGet -Repository PSGallery -Force
    
  2. Schließen Sie die PowerShell-Konsole, und öffnen Sie sie erneut.

  3. Installieren Sie Version 7.1.1-Vorschau oder höher des Az.Storage PowerShell-Moduls. Möglicherweise müssen Sie andere Versionen des PowerShell-Moduls deinstallieren. Weitere Informationen zum Installieren von Azure PowerShell finden Sie unter Installieren von Azure PowerShell mit PowerShellGet.

    Install-Module Az.Storage -Repository PsGallery -RequiredVersion 7.1.1-preview -AllowClobber -AllowPrerelease -Force
    
  4. Installieren Sie az.StorageAction-Modul .

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

    Weitere Informationen zum Installieren von PowerShell-Modulen finden Sie unter Installieren des Azure PowerShell-Moduls.

Anmelden bei Ihrem Azure-Konto

  1. Öffnen Sie ein Windows PowerShell-Befehlsfenster, und melden Sie sich dann mit dem Connect-AzAccount Befehl bei Ihrem Azure-Konto an, und folgen Sie den Anweisungen auf dem Bildschirm.

    Connect-AzAccount
    
  2. Wenn Ihre Identität mehreren Abonnements zugeordnet ist und Sie nicht dazu aufgefordert werden, ein Abonnement auszuwählen, setzen Sie Ihr aktives Abonnement auf dasjenige des Speicherkontos, das Sie verwalten möchten. Ersetzen Sie in diesem Beispiel den <subscription-id> Platzhalterwert durch die ID Ihres Abonnements.

    Select-AzSubscription -SubscriptionId <subscription-id>
    

Erstellen einer Speicheraufgabe

  1. Definieren Sie eine Bedingung mithilfe von JSON. Eine Bedingung ist eine Auflistung einer oder mehrerer Klauseln. Jede Klausel enthält eine Eigenschaft, einen Wert und einen Operator. Im folgenden JSON ist die Eigenschaft Name, der Wert .docx und der Operator endsWith. Diese Klausel ermöglicht Vorgänge nur für Microsoft Word-Dokumente.

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

    Eine vollständige Liste der Eigenschaften und Operatoren finden Sie unter Speicheraufgabenbedingungen.

    Tipp

    Sie können der gleichen Zeichenfolge mehrere Bedingungen hinzufügen und mit einem Komma trennen.

  2. Definieren Sie jeden Vorgang mithilfe des New-AzStorageActionTaskOperationObject Befehls.

    Der folgende Vorgang erstellt einen Vorgang, der eine Unveränderlichkeitsrichtlinie festlegt.

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

    Mit dem folgenden Vorgang wird ein BLOB-Indextag in den Metadaten eines Word-Dokuments festgelegt.

    $tagoperation = New-AzStorageActionTaskOperationObject -Name SetBlobTags `
    -Parameter @{"tagsetImmutabilityUpdatedBy"="StorageTaskQuickstart"} `
    -OnFailure break `
    -OnSuccess continue
    
  3. Erstellen Sie eine Speicheraufgabe mithilfe des New-AzStorageActionTask Befehls, und übergeben Sie die Bedingungen und Vorgänge, die Sie zuvor definiert haben. In diesem Beispiel wird eine Speicheraufgabe mit dem Namen mystoragetask in der Ressourcengruppe mystoragetaskresourcegroup in der Region West-USA erstellt.

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

Erstellen Sie eine Aufgabe

Eine Speicheraufgabenzuweisung gibt ein Speicherkonto an. Nachdem Sie die Speicheraufgabe aktiviert haben, werden die Bedingungen und Vorgänge Ihrer Aufgabe auf dieses Speicherkonto angewendet. Die Zuweisung enthält auch Konfigurationseigenschaften, die Ihnen dabei helfen, bestimmte Blobs zu adressieren oder anzugeben, wann und wie oft die Aufgabe ausgeführt wird. Sie können für jedes Konto, das Sie anvisieren, eine Aufgabe zuweisen.

  1. Erstellen Sie eine Speicheraufgabenzuweisung mithilfe des New-AzStorageTaskAssignment Befehls. Die folgende Zuweisung hat den Container mycontainer eines Kontos namens mystorageaccount zum Ziel. Diese Zuordnung gibt an, dass die Aufgabe nur einmal ausgeführt wird, und Ausführungsberichte werden in einem Ordner mit dem Namen storage-tasks-report gespeichert. Die Aufgabe ist für die Ausführung in 10 Minuten (ab jetzt) geplant.

    $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. Erteilen Sie der Speicheraufgabe die Berechtigung zum Ausführen von Vorgängen für das Zielspeicherkonto. Weisen Sie der systemseitig zugewiesenen verwalteten Identität der Speicheraufgabe mithilfe des Befehls Storage Blob Data Owner die Rolle New-AzRoleAssignment zu.

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

Anzeigen der Ergebnisse einer Aufgabenausführung

Rufen Sie nach Abschluss der Ausführung der Aufgabe eine Berichtszusammenfassung für jede Aufgabe mithilfe des Get-AzStorageActionTasksReport Befehls ab.

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

Das SummaryReportPath Feld jeder Berichtszusammenfassung enthält einen Pfad zu einem detaillierten Bericht. Dieser Bericht enthält eine durch Trennzeichen getrennte Liste des Containers, des Blobs und des Vorgangs, der zusammen mit einem Status ausgeführt wurde.

Bereinigen von Ressourcen

Entfernen Sie alle Objekte, die Sie erstellt haben. Die einfachste Methode zum Entfernen der Ressourcen ist die Löschung der Ressourcengruppe. Beim Entfernen der Ressourcengruppe werden auch alle in der Gruppe enthaltenen Ressourcen gelöscht. Im folgenden Beispiel wird durch Entfernen der Ressourcengruppe das Speicherkonto zusammen mit der Ressourcengruppe entfernt.

Remove-AzResourceGroup -Name $ResourceGroup 

Nächste Schritte

Erstellen Sie eine Speicheraufgabe

Referenz zu Cmdlets für Microsoft Azure PowerShell-Speicheraktionen