Partilhar via


Guia de início rápido: criar, atribuir e executar uma tarefa de armazenamento usando o PowerShell

Neste início rápido, você aprenderá a usar o Azure PowerShell para criar uma tarefa de armazenamento e atribuí-la a uma conta de Armazenamento do Azure. Em seguida, você revisará os resultados da corrida. A tarefa de armazenamento aplica uma política de imutabilidade baseada no tempo em qualquer documento do Microsoft Word existente na conta de armazenamento.

Pré-requisitos

  • Uma assinatura do Azure. Consulte Criar uma conta gratuitamente.

  • Uma conta de armazenamento do Azure. Consulte Criar uma conta de armazenamento. Ao criar a conta, certifique-se de habilitar o suporte à imutabilidade no nível da versão e de não habilitar o recurso de namespace hierárquico.

    Durante o público, você pode direcionar apenas contas de armazenamento que estejam na mesma região que as tarefas de armazenamento.

  • A função Proprietário de Dados do Blob de Armazenamento é atribuída à sua identidade de usuário no contexto da conta de armazenamento ou do grupo de recursos.

  • Uma função personalizada atribuída à sua identidade de usuário no contexto do grupo de recursos que contém as ações RBAC necessárias para atribuir uma tarefa a uma conta de armazenamento. Consulte Permissões necessárias para atribuir uma tarefa.

  • O .NET Framework 4.7.2 ou superior está instalado. Para obter mais informações, consulte Baixar o .NET Framework.

  • Versão 5.1 do PowerShell ou superior.

Instalar o módulo PowerShell

  1. Verifique se você tem a versão mais recente do PowerShellGet instalada.

    Install-Module PowerShellGet -Repository PSGallery -Force
    
  2. Feche e reabra o console do PowerShell.

  3. Instale a versão 7.1.1-preview ou posterior do módulo Az.Storage PowerShell. Talvez seja necessário desinstalar outras versões do módulo PowerShell. Para obter mais informações sobre como instalar o Azure PowerShell, consulte Instalar o Azure PowerShell com PowerShellGet.

    Install-Module Az.Storage -Repository PsGallery -RequiredVersion 7.1.1-preview -AllowClobber -AllowPrerelease -Force
    
  4. Instale o módulo Az.StorageAction .

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

    Para obter mais informações sobre como instalar módulos do PowerShell, consulte Instalar o módulo do Azure PowerShell

Inicie sessão na sua conta do Azure

  1. Abra uma janela de comando do Windows PowerShell e, em seguida, inicie sessão na sua conta do Azure com o Connect-AzAccount comando e siga as instruções no ecrã.

    Connect-AzAccount
    
  2. Se a sua identidade estiver associada a mais do que uma subscrição e não lhe for pedido para selecionar a subscrição, defina a sua subscrição ativa como subscrição da conta de armazenamento em que pretende operar. Neste exemplo, substitua o valor do marcador <subscription-id> pelo ID da sua subscrição.

    Select-AzSubscription -SubscriptionId <subscription-id>
    

Criar uma tarefa de armazenamento

  1. Defina uma condição usando JSON. Uma condição é uma coleção de uma ou mais cláusulas. Cada cláusula contém uma propriedade, um valor e um operador. No JSON a seguir, a propriedade é Name, o valor é .docx, e o operador é endsWith. Esta cláusula permite operações apenas em documentos do Microsoft Word.

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

    Para obter uma lista completa de propriedades e operadores, consulte Condições da tarefa de armazenamento.

    Sugestão

    Você pode adicionar várias condições à mesma cadeia de caracteres e separá-las com uma vírgula.

  2. Defina cada operação usando o New-AzStorageActionTaskOperationObject comando.

    A operação a seguir cria uma operação que define uma política de imutabilidade.

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

    A ação a seguir define uma etiqueta de índice de blob nos metadados de um documento do Word.

    $tagoperation = New-AzStorageActionTaskOperationObject -Name SetBlobTags `
    -Parameter @{"tagsetImmutabilityUpdatedBy"="StorageTaskQuickstart"} `
    -OnFailure break `
    -OnSuccess continue
    
  3. Crie uma tarefa de armazenamento usando o New-AzStorageActionTask comando e passe as condições e operações definidas anteriormente. Este exemplo cria uma tarefa de armazenamento nomeada mystoragetask no grupo mystoragetaskresourcegroup de recursos na região Oeste dos EUA.

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

Criar uma atribuição

Uma atribuição de tarefa de armazenamento especifica uma conta de armazenamento. Depois de habilitar a tarefa de armazenamento, as condições e operações da tarefa serão aplicadas a essa conta de armazenamento. A atribuição também contém propriedades de configuração que ajudam a direcionar blobs específicos ou especificar quando e com que frequência a tarefa é executada. Você pode adicionar uma tarefa para cada conta que pretenda segmentar.

  1. Crie uma atribuição de tarefa de armazenamento usando o New-AzStorageTaskAssignment comando. A atribuição a seguir tem como alvo o mycontainer contêiner de uma conta chamada mystorageaccount. Esta atribuição especifica que a tarefa será executada apenas uma vez e salvará os relatórios de execução em uma pasta chamada storage-tasks-report. A tarefa está programada para ser executada dentro de 10 minutos a partir do momento presente.

    $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. Dê permissão à tarefa de armazenamento para executar operações na conta de armazenamento de destino. Atribua a função de Storage Blob Data Owner à identidade gerenciada atribuída pelo sistema da tarefa de armazenamento usando o New-AzRoleAssignment comando.

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

Exibir os resultados de uma execução de tarefa

Depois que a tarefa for concluída, obtenha um resumo do relatório de execução para cada atribuição usando o Get-AzStorageActionTasksReport comando.

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

O SummaryReportPath campo de cada resumo de relatório contém um caminho para um relatório detalhado. Esse relatório contém uma lista separada por vírgulas do contêiner, do blob e da operação executada junto com um status.

Limpeza de recursos

Remova todos os recursos que criou. A forma mais fácil de remover os recursos é eliminar o grupo de recursos. Remover o grupo de recursos também elimina todos os recursos incluídos no grupo. No exemplo seguinte, remover o grupo de recursos remove a conta de armazenamento e o próprio grupo de recursos.

Remove-AzResourceGroup -Name $ResourceGroup 

Próximos passos

Criar uma tarefa de armazenamento

Referência de cmdlets de ações de armazenamento do Microsoft Azure PowerShell