Partager via


Démarrage rapide : Créer, affecter et exécuter une tâche de stockage à l’aide de PowerShell

Dans ce guide de démarrage rapide, vous allez apprendre à utiliser Azure PowerShell pour créer une tâche de stockage et l’affecter à un compte de stockage Azure. Ensuite, vous examinerez les résultats de l’exécution. La tâche de stockage applique une stratégie d’immuabilité basée sur le temps sur tous les documents Microsoft Word qui existent dans le compte de stockage.

Conditions préalables

  • Un abonnement Azure. Consultez créer un compte gratuitement.

  • Un compte de stockage Azure. Consultez créer un compte de stockage. Lorsque vous créez le compte, veillez à activer la prise en charge de l'immutabilité au niveau de la version et veillez à ne pas activer la fonctionnalité d'espace de noms hiérarchique.

    Pendant la phase en public, vous pouvez cibler uniquement les comptes de stockage qui se trouvent dans la même région que les tâches de stockage.

  • Le rôle Propriétaire des données blob de stockage est attribué à votre identité utilisateur dans le contexte du compte de stockage ou du groupe de ressources.

  • Rôle personnalisé attribué à votre identité utilisateur dans le contexte du groupe de ressources qui contient les actions RBAC nécessaires pour affecter une tâche à un compte de stockage. Consultez Autorisations requises pour affecter une tâche.

  • .NET Framework version 4.7.2 ou ultérieure installé. Pour plus d’informations, consultez Télécharger .NET Framework.

  • PowerShell version 5.1 ou ultérieure.

Installer le module PowerShell

  1. Vérifiez que la dernière version de PowerShellGet est installée.

    Install-Module PowerShellGet -Repository PSGallery -Force
    
  2. Fermez puis rouvrez la console PowerShell.

  3. Installez la version 7.1.1-preview ou ultérieure du module PowerShell Az.Storage . Vous devrez peut-être désinstaller les autres versions du module PowerShell. Pour en savoir plus sur l’installation d’Azure PowerShell, voir Installer Azure PowerShell avec PowerShellGet.

    Install-Module Az.Storage -Repository PsGallery -RequiredVersion 7.1.1-preview -AllowClobber -AllowPrerelease -Force
    
  4. Installez le module Az.StorageAction .

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

    Pour plus d’informations sur l’installation des modules PowerShell, consultez Installer le module Azure PowerShell.

Connectez-vous à votre compte Azure

  1. Ouvrez une fenêtre de commande Windows PowerShell, puis connectez-vous à votre compte Azure avec la Connect-AzAccount commande et suivez les instructions à l’écran.

    Connect-AzAccount
    
  2. Si votre identité est associée à plusieurs abonnements et que vous n’êtes pas invité à sélectionner l’abonnement, définissez votre abonnement actif sur l’abonnement du compte de stockage sur lequel vous souhaitez opérer. Dans cet exemple, remplacez la valeur d’espace réservé <subscription-id> par l’ID de votre abonnement.

    Select-AzSubscription -SubscriptionId <subscription-id>
    

Créer une tâche de stockage

  1. Définissez une condition à l’aide de JSON. Une condition est une collection d’une ou plusieurs clauses. Chaque clause contient une propriété, une valeur et un opérateur. Dans le json suivant, la propriété est Name, la valeur est .docx, et l’opérateur est endsWith. Cette clause autorise uniquement les opérations sur les documents Microsoft Word.

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

    Pour obtenir la liste complète des propriétés et des opérateurs, consultez les conditions de tâche de stockage.

    Conseil / Astuce

    Vous pouvez ajouter plusieurs conditions à la même chaîne et les séparer par une virgule.

  2. Définissez chaque opération à l’aide de la New-AzStorageActionTaskOperationObject commande.

    L’opération suivante établit une politique d’immuabilité.

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

    L’opération suivante définit une balise d’index d’objet blob dans les métadonnées d’un document Word.

    $tagoperation = New-AzStorageActionTaskOperationObject -Name SetBlobTags `
    -Parameter @{"tagsetImmutabilityUpdatedBy"="StorageTaskQuickstart"} `
    -OnFailure break `
    -OnSuccess continue
    
  3. Créez une tâche de stockage à l’aide de la New-AzStorageActionTask commande et transmettez les conditions et opérations que vous avez définies précédemment. Cet exemple crée une tâche de stockage nommée mystoragetask dans le groupe mystoragetaskresourcegroup de ressources dans la région USA Ouest.

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

Créer une affectation

Une attribution de tâche de stockage spécifie un compte de stockage. Après avoir activé la tâche de stockage, les conditions et les opérations de votre tâche sont appliquées à ce compte de stockage. L’affectation contient également des propriétés de configuration qui vous aident à cibler des objets blob spécifiques, ou à spécifier quand et à quelle fréquence la tâche s’exécute. Vous pouvez ajouter une affectation pour chaque compte que vous souhaitez cibler.

  1. Créez une attribution de tâche de stockage à l’aide de la New-AzStorageTaskAssignment commande. L’affectation suivante cible le mycontainer conteneur d’un compte nommé mystorageaccount. Cette affectation spécifie que la tâche ne s’exécutera qu’une seule fois et enregistrera les rapports d’exécution dans un dossier nommé storage-tasks-report. La tâche est planifiée pour s’exécuter en 10 minutes à partir de l’heure actuelle.

    $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. Accordez à la tâche de stockage l’autorisation d’effectuer des opérations sur le compte de stockage cible. Attribuez le rôle Storage Blob Data Owner à l’identité managée affectée par le système de la tâche de stockage à l’aide de la commande New-AzRoleAssignment.

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

Afficher les résultats d’une exécution de tâche

Une fois la tâche exécutée, obtenez un résumé du rapport d’exécution pour chaque affectation à l’aide de la Get-AzStorageActionTasksReport commande.

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

Le SummaryReportPath champ de chaque résumé de rapport contient un chemin d’accès à un rapport détaillé. Le rapport contient une liste séparée par des virgules du conteneur, de l’objet blob et de l’opération effectuée avec un état.

Nettoyer les ressources

Supprimez toutes les ressources que vous avez créées. Pour ce faire, le plus simple consiste à supprimer le groupe de ressources. La suppression du groupe de ressources supprime aussi toutes les ressources qu’il contient. Dans l’exemple suivant, la suppression du groupe de ressources supprime aussi le compte de stockage et le groupe de ressources.

Remove-AzResourceGroup -Name $ResourceGroup 

Étapes suivantes

Créer une tâche de stockage

Informations de référence sur les applets de commande des actions de stockage Microsoft Azure PowerShell