Ejecuciones ficticias para asignaciones de tareas de almacenamiento

¿Qué es una carrera ficticia?

Una ejecución de prueba simula la ejecución de una tarea de almacenamiento asignada sin realizar realmente ninguna operación en sus blobs. Al crear una ejecución ficticia, Azure Storage Actions examina y evalúa los blobs con las condiciones de tarea como lo haría durante una ejecución real, pero no ejecuta ninguna operación. En su lugar, genera un informe detallado que muestra qué blobs coinciden con las condiciones y qué operaciones se habrían realizado.

Las ejecuciones de prueba son útiles cuando quieres:

  • Obtenga una vista previa del impacto de una tarea antes de ejecutarla a escala, especialmente cuando las operaciones son irreversibles (como la directiva de eliminación o inmutabilidad).
  • Valide las condiciones en el conjunto completo de blobs de su cuenta, no solo en una pequeña muestra de previsualización.
  • Genere informes listos para auditoría que muestren qué blobs se verían afectados, sin realizar ningún cambio.
  • Estimar el coste entendiendo cuántos blobs se verían afectados y cuántas operaciones se invocarían.

Nota:

Una ejecución simulada examina y evalúa todos los blobs dentro del alcance, al igual que una ejecución real. La única diferencia es que no realiza ninguna operación en los blobs. Dado que no ejecuta operaciones, las ejecuciones simuladas suelen ser más rápidas que las ejecuciones reales.

Cómo funcionan las ejecuciones simuladas

Cree una ejecución ficticia como una asignación de tareas de almacenamiento con el tipo de desencadenador establecido en MockRun. Al igual que otros tipos de asignación, una ejecución ficticia tiene como destino una cuenta de almacenamiento específica, usa filtros de prefijo opcionales para limitar el ámbito de los blobs y genera informes de ejecución en un contenedor de exportación designado.

Cuando se ejecuta una ejecución simulada:

  1. Azure Storage Actions enumera todos los blobs que coinciden con el ámbito y los filtros de prefijo de la asignación.
  2. Evalúa cada blob con respecto a las condiciones de la tarea de almacenamiento.
  3. En el caso de los blobs que coinciden, registra las operaciones que se realizarían , pero no ejecuta ninguna operación.
  4. Genera un informe detallado que enumera los blobs coincidentes y sus operaciones simuladas.

Vista previa de ejecución simulada frente a condición

Tanto las ejecuciones ficticias como la característica de vista previa de la condición le ayudan a validar las condiciones de tarea antes de la ejecución, pero tienen fines diferentes:

Capacidad Vista previa de condición Ejecución de prueba
Ámbito Ejemplo limitado (hasta 5000 blobs) Escalado completo: todos los blobs del ámbito de asignación
Operaciones mostradas No Sí: muestra qué operaciones se realizarían
Informe generado No Sí: informe CSV descargable
Modelo de ejecución Resultados sincrónicos e inmediatos Asincrónico, se ejecuta como una asignación real
Facturación Sin cargo Se cobra por instancia de ejecución de tareas y objetos analizados (sin cargo por operaciones)
Caso de uso Verificación rápida al crear condiciones Validación completa antes de la ejecución de producción

Use la vista previa de condiciones al redactar las condiciones de la tarea y, a continuación, use una ejecución ficticia para la validación final antes de habilitar una ejecución real.

Ciclo de vida y estados de una ejecución de prueba

Las ejecuciones simuladas siguen el mismo ciclo de vida que las asignaciones de una sola ejecución.

Importante

No se puede reiniciar una ejecución ficticia completada. Para ejecutar otra simulación simulada con la misma configuración, debe crear una nueva asignación o duplicar la existente.

Comportamiento de la concurrencia

Solo una ejecución , simulación o real, se puede ejecutar en una cuenta de almacenamiento a la vez. Este modelo de simultaneidad coincide con el modelo de ejecuciones de tareas reales:

  • Si una ejecución real está en curso, el sistema pone en cola una nueva ejecución ficticia hasta que finaliza la ejecución real.
  • Si una ejecución ficticia está en curso, el sistema pone en cola una nueva ejecución de tareas reales o la omite para las ejecuciones programadas .
  • Si hay otra ejecución ficticia en curso, el sistema pone en cola la nueva ejecución ficticia.

Este modelo garantiza la estabilidad y evita la contención de recursos en la cuenta de almacenamiento de destino.

Informes de ejecución de prueba

Cuando finaliza una ejecución ficticia, el proceso escribe un informe detallado en el contenedor de exportación de informes que especifique durante la creación de la asignación. Puede acceder a los informes en formatos CSV .

También puede ver un resumen de la ejecución directamente en el Portal de Azure, en la página de resultados de la ejecución simulada de la asignación. El resumen incluye el número de objetos enumerados, objetos que cumplen las condiciones y las operaciones que el proceso habría realizado.

Captura de pantalla de la página de resultados de la ejecución simulada en Azure Portal, que muestra las métricas de resumen de la simulación y el botón Descargar informe.

Columnas de informe:

Columna Descripción
Contenedor Contenedor donde reside el blob.
Blob Nombre del blob.
Operación que se va a realizar La operación simulada, precedida por (mock), por ejemplo, (mock) DeleteBlob o (mock) SetBlobImmutability.
Bloque de condición coincidente ¿Qué condición bloquea el blob coincidente (por ejemplo, IF o ELSE).

Salida CSV de ejemplo:

Contenedor Blob Operación que se va a realizar Bloque de condición coincidente
testContainer1 output1.log (ficticio) DeleteBlob SI
testContainer2 output2.log (ficticio) DeleteBlob SI
testContainer1 financials1.csv (ficticio) SetBlobImmutability MÁS
testContainer2 financials2.csv (ficticio) SetBlobImmutability MÁS

El proceso también genera un archivo JSON de resumen junto con el informe. Este archivo contiene métricas agregadas:

{
  "completionTime": "2024-10-21T17:46:59",
  "destination": "taskoutput",
  "endpoint": "https://contoso1storage1.blob.core.windows.net",
  "fileFormat": "csv",
  "fileSchema": [
    "Container",
    "Blob",
    "Operation to be performed",
    "Result",
    "Matched condition block"
  ],
  "files": [
    "<link to the reporting file>"
  ],
  "objectsListed": 1100,
  "objectsToBeOperated": 240,
  "operationType": "BlobOperation",
  "runId": "mockrun-assignment-2024-10-21T17:30:13.9121342Z",
  "startTime": "2024-10-21T17:37:12",
  "status": "succeeded"
}

Campos clave en el resumen:

  • objectsListed: número total de blobs examinados durante la ejecución ficticia.
  • objectsToBeOperated: Número de blobs que cumplían las condiciones y a los que se les habrían aplicado operaciones.
  • status: el resultado de la ejecución simulada (succeeded o failed).

Transición de una ejecución simulada a una ejecución real

Después de revisar el informe de ejecución simulado y confirmar que los resultados son los esperados, puede realizar la transición de la asignación de una ejecución ficticia a una ejecución real:

  1. Vaya a la asignación en el portal de Azure.
  2. Edite la asignación y cambie el tipo de desencadenador de Ejecución simulada a Ejecutar una vez o Periódica.
  3. Guarde la asignación actualizada.

Con este proceso, puede pasar de la validación a la ejecución sin volver a crear la asignación desde cero.

Precios

Las ejecuciones simuladas se facturan de manera similar a las ejecuciones reales de asignación de tareas, con una diferencia clave: no se cobra por el medidor de operaciones, ya que en realidad no se realiza ninguna operación en los blobs.

Medidor de facturación ¿Se aplica a ejecuciones simuladas?
Instancia de ejecución de tarea (por ejecución) ✅ Sí
Objetos identificados (por millón de objetos escaneados) ✅ Sí
Operaciones realizadas (por millón de operaciones) ❌ No (siempre $0)

Los costos estándar de la API de Blob Storage para enumerar y leer las propiedades de los blobs durante el análisis siguen aplicándose.

Sugerencia

Dado que las ejecuciones simuladas excluyen el cargo del medidor de operaciones, son significativamente más baratas que las ejecuciones reales. Use ejecuciones simuladas como una manera rentable de validar la configuración de la tarea antes de confirmar una ejecución completa.

Permisos

La identidad administrada asociada a la tarea de almacenamiento debe tener el rol adecuado en la cuenta de almacenamiento de destino para realizar una ejecución ficticia. Aunque el proceso no realiza ninguna operación, la identidad necesita acceso de lectura para analizar y evaluar los blobs:

  • Rol mínimo: Lector de datos de Storage Blob
  • Rol recomendado: Propietario de datos de Storage Blob (si planea realizar la transición a una ejecución real mediante la misma asignación)

Tanto las identidades administradas asignadas por el sistema como las asignadas por el usuario admiten ejecuciones simuladas.

Si la cuenta de almacenamiento de destino tiene restricciones de red, asegúrese de que la opción Allow trusted servicios Microsoft esté habilitada en la configuración de red de la cuenta.

Consulte también