Compartilhar via


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ê examinará os resultados da execução. A tarefa de armazenamento aplica uma política de imutabilidade baseada em tempo em todos os documentos do Microsoft Word existentes 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, habilite o suporte à imutabilidade no nível da versão e não habilite o recurso de namespace hierárquico.

    Durante o período público, você só pode direcionar 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 as permissões necessárias para atribuir uma tarefa.

  • .NET Framework é a versão 4.7.2 ou superior instalada. Para obter mais informações, confira Baixar o .NET Framework.

  • PowerShell versão 5.1 ou posterior.

Instalar o módulo do PowerShell

  1. Verifique se tem a versão mais recente do PowerShellGet instalado.

    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 do PowerShell do Az.Storage . Talvez seja necessário desinstalar outras versões do módulo do PowerShell. Para obter mais informações sobre como instalar o Azure PowerShell, consulte Instalar o Azure PowerShell com o 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 os módulos PowerShell, confira Instalar e configurar o módulo Azure PowerShell

Iniciar sessão na sua conta do Azure

  1. Abra uma janela de comando do Windows PowerShell e entre em sua conta do Azure com o Connect-AzAccount comando e siga as instruções na tela.

    Connect-AzAccount
    
  2. Se sua identidade estiver associada a mais de uma assinatura e você não for solicitado a selecionar a assinatura, defina sua assinatura ativa como assinatura da conta de armazenamento na qual deseja operar. Neste exemplo, substitua o valor do espaço reservado <subscription-id> pela ID da sua assinatura.

    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. Essa cláusula permite operações somente em documentos do Microsoft Word.

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

    Para obter uma lista completa de propriedades e operadores, consulte condições de tarefas de armazenamento.

    Dica

    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 operação a seguir define um tag de índice de blob nos metadados de um documento 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 que você definiu 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 as 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 você a direcionar blobs específicos ou especificar quando e com que frequência a tarefa é executada. Você pode adicionar uma atribuição para cada conta que deseja direcionar.

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

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

    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

Após a conclusão da execução da tarefa, 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.

Limpar os recursos

Remova todos os ativos que você criou. A maneira mais fácil de remover os ativos é excluir o grupo de recursos. Remover o grupo de recursos também exclui todos os recursos contidos no grupo. No exemplo a seguir, remover o grupo de recursos remove a conta de armazenamento e o próprio grupo de recursos.

Remove-AzResourceGroup -Name $ResourceGroup 

Próximas etapas

Criar uma tarefa de armazenamento

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