Compartir a través de


Inicio rápido: Creación, asignación y ejecución de una tarea de almacenamiento mediante PowerShell

En este inicio rápido, aprenderá a usar Azure PowerShell para crear una tarea de almacenamiento y asignarla a una cuenta de Azure Storage. Revisará los resultados de la ejecución. La tarea de almacenamiento aplica una directiva de inmutabilidad basada en el tiempo en cualquier documento de Microsoft Word que exista en la cuenta de almacenamiento.

Prerrequisitos

  • Una suscripción de Azure. Consulte Creación gratuita de una cuenta.

  • Una cuenta de almacenamiento de Azure. Consulte Creación de una cuenta de almacenamiento. Al crear la cuenta, asegúrese de activar la inmutabilidad a nivel de versión y no habilitar la función de espacio de nombres jerárquico.

    Durante el período público, solo puede orientar las cuentas de almacenamiento que se encuentren en la misma región que los procesos de almacenamiento.

  • El rol Propietario de datos de Storage Blob se asigna a la identidad de usuario en el contexto de la cuenta de almacenamiento o el grupo de recursos.

  • Un rol personalizado asignado a la identidad de usuario en el contexto del grupo de recursos que contiene las acciones de RBAC necesarias para asignar una tarea a una cuenta de almacenamiento. Consulte Permisos necesarios para asignar una tarea.

  • Debe tener instalada la versión de .NET Framework 4.7.2 o superior. Para obtener más información, vea Descarga de .NET Framework.

  • La versión de PowerShell 5.1 o posterior.

Instalación del módulo de PowerShell

  1. Asegúrese de tener instalada la versión más reciente de PowerShellGet.

    Install-Module PowerShellGet -Repository PSGallery -Force
    
  2. Cierre y vuelva a abrir la consola de PowerShell.

  3. Instale la versión 7.1.1-preview o posterior del módulo de PowerShell Az.Storage . Es posible que tenga que desinstalar otras versiones del módulo de PowerShell. Para más información sobre cómo instalar Azure PowerShell, consulte Instalación de Azure PowerShell con PowerShellGet.

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

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

    Para más información sobre cómo instalar módulos de PowerShell, vea Instalación del módulo de Azure PowerShell.

Inicio de sesión en su cuenta de Azure

  1. Abra una ventana de comandos de Windows PowerShell e inicie sesión en su cuenta de Azure con el Connect-AzAccount comando y siga las instrucciones en pantalla.

    Connect-AzAccount
    
  2. Si su identidad está asociada a más de una suscripción y no se le pedirá que seleccione la suscripción, establezca la suscripción activa en la suscripción de la cuenta de almacenamiento en la que desea operar. En este ejemplo, reemplace el valor de marcador de posición <subscription-id> por el identificador de la suscripción.

    Select-AzSubscription -SubscriptionId <subscription-id>
    

Creación de una tarea de almacenamiento

  1. Defina una condición mediante JSON. Una condición es una colección de una o varias cláusulas. Cada cláusula contiene una propiedad, un valor y un operador. En el siguiente JSON, la propiedad es Name, el valor es .docxy el operador es endsWith. Esta cláusula solo permite operaciones en documentos de Microsoft Word.

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

    Para obtener una lista completa de propiedades y operadores, consulte Condiciones de tarea de almacenamiento.

    Sugerencia

    Puede agregar varias condiciones a la misma cadena y separarlas con una coma.

  2. Defina cada operación mediante el New-AzStorageActionTaskOperationObject comando .

    La siguiente operación crea una operación que establece una directiva de inmutabilidad.

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

    La siguiente operación establece una etiqueta de índice de blobs en los metadatos de un documento de Word.

    $tagoperation = New-AzStorageActionTaskOperationObject -Name SetBlobTags `
    -Parameter @{"tagsetImmutabilityUpdatedBy"="StorageTaskQuickstart"} `
    -OnFailure break `
    -OnSuccess continue
    
  3. Cree una tarea de almacenamiento mediante el New-AzStorageActionTask comando y pase las condiciones y operaciones que definió anteriormente. En este ejemplo se crea una tarea de almacenamiento denominada mystoragetask en el grupo mystoragetaskresourcegroup de recursos de la región Oeste de EE. UU.

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

Crear una asignación

Una asignación de tareas de almacenamiento especifica una cuenta de almacenamiento. Después de habilitar la tarea de almacenamiento, las condiciones y las operaciones de la tarea se aplicarán a esa cuenta de almacenamiento. La asignación también contiene propiedades de configuración que le ayudan a dirigirse a blobs específicos, o especificar cuándo y con qué frecuencia se ejecuta la tarea. Puede agregar una asignación para cada cuenta de destino.

  1. Cree una asignación de tareas de almacenamiento mediante el New-AzStorageTaskAssignment comando . La siguiente asignación tiene como destino el mycontainer contenedor de una cuenta denominada mystorageaccount. Esta asignación especifica que la tarea solo se ejecutará una vez y guardará los informes de ejecución en una carpeta denominada storage-tasks-report. La tarea está programada para ejecutarse 10 minutos a partir de ahora.

    $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 permiso a la tarea de almacenamiento para realizar operaciones en la cuenta de almacenamiento de destino. Asigne el rol de Storage Blob Data Owner a la identidad administrada asignada por el sistema para la tarea de almacenamiento mediante el comando New-AzRoleAssignment.

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

Visualización de los resultados de una ejecución de tareas

Una vez finalizada la ejecución de la tarea, obtenga un resumen de informe de ejecución para cada asignación mediante el Get-AzStorageActionTasksReport comando .

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

El SummaryReportPath campo de cada resumen del informe contiene una ruta de acceso a un informe detallado. Ese informe contiene una lista separada por comas del contenedor, el blob y la operación realizada junto con un estado.

Limpieza de recursos

Quite todos los recursos que ha creado. La manera más fácil de quitar los recursos consiste en eliminar el grupo de recursos. Al quitar el grupo de recursos también se eliminan todos los recursos contenidos en él. En el ejemplo siguiente, al quitar el grupo de recursos, se quita la cuenta de almacenamiento y el propio grupo de recursos.

Remove-AzResourceGroup -Name $ResourceGroup 

Pasos siguientes

Creación de una tarea de almacenamiento

Referencia de cmdlets de acciones de almacenamiento de Microsoft Azure PowerShell