Snabbstart: Skapa, tilldela och köra en lagringsuppgift med hjälp av PowerShell

I denna quickstart lär du dig hur man använder Azure PowerShell för att skapa en lagringsuppgift, tilldela den till ett Azure Storage-konto för exekvering och granska resultaten av körningen. Detta exempel tillämpar en tidsbaserad oföränderlighetspolicy på alla Microsoft Word-dokument som finns i lagringskontot.

Förutsättningar

  • Ett Azure-abonnemang. Se Skapa ett konto kostnadsfritt.

  • Ett Azure-lagringskonto. Se Skapa ett lagringskonto. Detta exempel kräver också versionsnivåstöd för oföränderlighet för att sätta oföränderlighetspolicyn på blobs.

    För närvarande kan du bara tilldela uppgifter som körs på lagringskonton i samma region som lagringsuppgifterna.

  • Rollen Lagringsblobdataägare tilldelas till din användaridentitet i kontexten för lagringskontot eller resursgruppen.

  • En anpassad roll som tilldelats din användaridentitet i kontexten för resursgruppen som innehåller de RBAC-åtgärder som krävs för att tilldela en uppgift till ett lagringskonto. Se Behörigheter som krävs för att tilldela en uppgift.

  • .NET Framework är 4.7.2 eller senare installerat. Mer information finns i Ladda ned .NET Framework.

  • PowerShell-version 5.1 eller senare.

Installera PowerShell-modulen

  1. Se till att du har den senaste versionen av PowerShellGet installerad.

    Install-Module PowerShellGet -Repository PSGallery -Force
    
  2. Stäng och öppna sedan PowerShell-konsolen igen.

  3. Installera version 7.1.1-preview eller senare av Az.Storage PowerShell-modulen. Du kan behöva avinstallera andra versioner av PowerShell-modulen. Mer information om hur du installerar Azure PowerShell finns i Installera Azure PowerShell med PowerShellGet.

    Install-Module Az.Storage -Repository PsGallery -RequiredVersion 7.1.1-preview -AllowClobber -AllowPrerelease -Force
    
  4. Installera modulen Az.StorageAction.

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

    Mer information om hur du installerar PowerShell-moduler finns i Installera Azure PowerShell-modulen

Logga in på ditt Azure-konto

  1. Öppna ett Windows PowerShell-kommandofönster och logga sedan in på ditt Azure-konto med Connect-AzAccount kommandot och följ anvisningarna på skärmen.

    Connect-AzAccount
    
  2. Om din identitet är kopplad till mer än en prenumeration och PowerShell inte ber dig välja prenumerationen, ställ in din aktiva prenumeration till prenumerationen för lagringskontot som du vill använda. I det här exemplet ersätter du <subscription-id> platshållarvärdet med ID:t för din prenumeration.

    Select-AzSubscription -SubscriptionId <subscription-id>
    

Skapa en lagringsuppgift

  1. Definiera ett villkor med hjälp av JSON. Ett villkor är ett logiskt predikat som består av en eller flera klausuler. Varje sats innehåller en egenskap, ett värde och en operator. I följande JSON är Nameegenskapen , värdet är .docxoch operatorn är endsWith. Den här satsen tillåter endast åtgärder i Microsoft Word-dokument.

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

    En fullständig lista över egenskaper och operatorer finns i Villkor för lagringsaktivitet.

    Tips/Råd

    Du kan lägga till flera villkor i samma sträng och separera dem med kommatecken.

  2. Definiera varje åtgärd genom att använda kommandot New-AzStorageActionTaskOperationObject.

    Följande åtgärd skapar en åtgärd som anger en oföränderlig princip.

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

    Följande åtgärd anger en blobindextagg i metadata för ett Word-dokument.

    $tagoperation = New-AzStorageActionTaskOperationObject -Name SetBlobTags `
    -Parameter @{"tagsetImmutabilityUpdatedBy"="StorageTaskQuickstart"} `
    -OnFailure break `
    -OnSuccess continue
    
  3. Skapa en lagringsuppgift med hjälp New-AzStorageActionTask av kommandot och skicka de villkor och åtgärder som du definierade tidigare. Det här exemplet skapar en lagringsaktivitet med namnet mystoragetask i resursgruppen quickstartresourcegroup i regionen USA, västra.

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

Skapa en uppgift

En tilldelning av lagringsuppgift specificerar ett lagringskonto där uppgiften körs. Den inkluderar exekveringskonfigurationsinställningar som hjälper dig att rikta in dig på specifika blobs och specificera när och hur ofta uppgiften körs. Du måste lägga till uppgiftstilldelningar för varje lagringskonto där du vill att uppgiften ska köras.

  1. Skapa en tilldelning av lagringsaktivitet med hjälp av kommandot New-AzStorageTaskAssignment. Följande tilldelning riktar sig mot en mycontainer-container för ett konto som heter mystorageaccount. Denna tilldelning anger att uppgiften bara körs en gång och sparar exekveringsrapporten till blobcontainern storage-tasks-report. Uppgiften är schemalagd att köra 10 minuter från nu.

    $startTime = (Get-Date).AddMinutes(10)   
    
    New-AzStorageTaskAssignment `
    -ResourceGroupName quickstartresourcegroup `
    -AccountName mystorageaccount `
    -name mystoragetaskAssignment `
    -TaskId $task.Id `
    -ReportPrefix "storage-tasks-report" `
    -TriggerType RunOnce `
    -StartOn $startTime.ToUniversalTime() `
    -Description "task assignment" `
    -Enabled:$true `
    -TargetPrefix "mycontainer/"
    
  2. Ge lagringsaktiviteten behörighet att utföra åtgärder på mållagringskontot. Tilldela rollen Storage Blob Data Owner till den systemtilldelade hanterade identiteten för lagringsaktiviteten genom att använda kommandot New-AzRoleAssignment.

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

Visa resultatet av en aktivitetskörning

När uppgiften är klar, hämta en sammanfattning av körningsrapporten för varje tilldelning genom att använda kommandot Get-AzStorageActionTasksReport.

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

Fältet SummaryReportPath i varje rapportsammanfattning innehåller en sökväg till en detaljerad exekveringsrapport. Rapporten använder CSV-formatet och fångar varje bearbetat objekt, inklusive blobcontainern, blobnamnet, den utförda operationen och operationsresultatet.

Rensa resurser

Radera alla resurser du skapat. I denna quickstart skapade du lagringskontot och lagringsuppgiften i samma resursgrupp. Att ta bort denna resursgrupp tar bort alla dessa resurser.

Remove-AzResourceGroup -Name $ResourceGroup 

Nästa steg

Skapa en lagringsuppgift

Cmdlets-referens för Microsoft Azure PowerShell-lagringsåtgärder