Execuções simuladas para atribuições de tarefa de armazenamento

O que é uma corrida simulada?

Uma execução simulada simula a execução de uma atribuição de tarefa de armazenamento sem realmente executar nenhuma operação em seus blobs. Quando você cria uma execução simulada, o Armazenamento do Azure Actions verifica e avalia seus blobs em relação às condições da tarefa da mesma forma que faria durante uma execução real, mas não executa nenhuma operação. Em vez disso, ele gera um relatório detalhado que mostra quais blobs corresponderam às condições e quais operações teriam sido executadas.

Execuções simuladas são úteis quando você deseja:

  • Visualizar o impacto de uma tarefa antes de executá-la em escala, especialmente quando as operações são irreversíveis (como a política de exclusão ou imutabilidade)
  • Valide condições no conjunto total de blobs em sua conta, não apenas em uma pequena amostra de versão preliminar.
  • Gere relatórios prontos para auditoria que mostram quais blobs seriam afetados, sem fazer nenhuma alteração.
  • Estimar o custo ao entender quantos blobs seriam afetados e quantas operações seriam invocadas.

Note

Uma execução simulada examina e avalia todos os blobs dentro do escopo, assim como em uma execução real. A única diferença é que ele não executa nenhuma operação nos blobs. Como ele não executa operações, as execuções simuladas normalmente são mais rápidas do que as execuções reais.

Como as execuções simuladas funcionam

Crie uma execução simulada como uma atribuição de tarefa de armazenamento com o tipo de gatilho definido como MockRun. Assim como outros tipos de atribuição, uma execução simulada tem como destino uma conta de armazenamento específica, usa filtros de prefixo opcionais para definir o escopo dos blobs e gera relatórios de execução em um contêiner de exportação designado.

Quando uma execução simulada é executada:

  1. Armazenamento do Azure Actions enumera todos os blobs que correspondem ao escopo e aos filtros de prefixo da atribuição.
  2. Ele avalia cada blob em relação às condições da tarefa de armazenamento.
  3. Para blobs que correspondem, ele registra as operações que seriam executadas, mas não executa nenhuma operação.
  4. Ele gera um relatório detalhado que lista os blobs correspondentes e suas operações simuladas.

Execução fictícia versus exibição de condição

As execuções simuladas e o recurso de visualização de condição ajudam você a validar as condições de tarefa antes da execução, mas elas servem a diferentes finalidades:

Capacidade Pré-visualização da condição Teste simulado
Âmbito Exemplo limitado (até 5.000 blobs) Escala total – todos os blobs no escopo de atribuição
Operações mostradas No Sim – mostra quais operações seriam executadas
Relatório gerado No Sim – relatório CSV para download
Modelo de execução Resultados síncronos e imediatos Assíncrono, é executado como uma tarefa real
Cobrança Frete gratuito Cobrança por instância de execução da tarefa e objetos examinados (sem cobrança por operações)
Caso de uso Verificação pontual rápida ao criar condições Validação completa antes da execução da produção

Use a visualização de condição ao redigir suas condições de tarefa e, em seguida, use uma execução simulada para validação final antes de habilitar uma execução real.

Ciclo de vida e estados da execução simulada

As execuções simuladas seguem o mesmo ciclo de vida que as atribuições de execução única.

Importante

Não é possível reiniciar uma execução simulada concluída. Para executar outra simulação simulada com a mesma configuração, você deve criar uma nova atribuição ou duplicar a existente.

Comportamento da concorrência

Apenas uma execução - simulada ou real - pode ser executada em uma conta de armazenamento por vez. Esse modelo de simultaneidade corresponde ao modelo para execuções reais da tarefa:

  • Se uma execução real estiver em andamento, o sistema enfileira uma nova execução simulada até que a execução real seja concluída.
  • Se uma execução simulada estiver em andamento, o sistema enfileira uma nova execução real da tarefa ou a ignora, no caso de execuções agendadas.
  • Se outra execução simulada estiver em andamento, o sistema enfileira a nova execução simulada.

Esse modelo garante a estabilidade e impede a contenção de recursos na conta de armazenamento de destino.

Relatórios de execução simulada

Quando uma execução simulada é concluída, o processo grava um relatório detalhado no contêiner de exportação de relatório especificado durante a criação da atribuição. Você pode acessar relatórios em formatos CSV .

Você também pode exibir um resumo da execução diretamente no portal Azure na página de resultados de execução simulada da atribuição. O resumo inclui o número de objetos listados, objetos que atenderam às condições e as operações que o processo teria executado.

Captura de tela da página de resultados da execução simulada no portal do Azure, com métricas de resumo da simulação e o botão Baixar relatório.

Colunas de relatório:

Coluna Descrição
Contêiner O contêiner no qual o blob reside.
Blob O nome do blob.
Operação a ser executada A operação simulada, prefixada com (mock) — por exemplo, (mock) DeleteBlob ou (mock) SetBlobImmutability.
Bloco de condição correspondente Qual condição bloqueia o blob correspondente (por exemplo, IF ou ELSE).

Exemplo de saída CSV:

Contêiner Blob Operação a ser executada Bloco de condição correspondente
testContainer1 output1.log (simular) DeleteBlob SE
testContainer2 output2.log (simular) DeleteBlob SE
testContainer1 financials1.csv (fictício) SetBlobImmutability ELSE
testContainer2 financials2.csv (fictício) SetBlobImmutability ELSE

O processo também gera um arquivo JSON de resumo junto com o relatório. Este arquivo contém métricas de agregação:

{
  "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-chave no resumo:

  • objectsListed: número total de blobs verificados durante a execução simulada.
  • objectsToBeOperated: número de blobs que corresponderam às condições e teriam operações executadas.
  • status: O resultado da execução simulada (succeeded ou failed).

Transição da execução simulada para a execução real

Depois de revisar o relatório de execução simulada e confirmar se os resultados são esperados, você pode fazer a transição da atribuição de uma execução simulada para uma execução real:

  1. Acesse a atribuição no portal do Azure.
  2. Edite a atribuição e altere o tipo de gatilho de Execução Simulada para Executar uma vez ou Recorrente.
  3. Salve a atribuição atualizada.

Usando esse processo, você pode ir da validação para a execução sem recriar a atribuição do zero.

Preços

Execuções simuladas são cobradas de forma semelhante às execuções reais de atribuição de tarefas, com uma diferença fundamental: não há cobrança pelo medidor de operações, já que nenhuma operação é realmente realizada nos blobs.

Medidor de faturamento Aplica-se a execuções simuladas?
Instância de execução de tarefa (por execução) ✅ Sim
Objetos detectados (por milhão de objetos escaneados) ✅ Sim
Operações executadas (por milhão de operações) ❌ Não (sempre $0)

Ainda se aplicam custos padrão da API de Armazenamento de Blobs para listar e ler propriedades de blob durante a verificação.

Dica

Como as execuções fictícias excluem a carga do medidor de operações, elas são bem mais baratas do que as execuções reais. Use execuções simuladas como uma maneira econômica de validar sua configuração de tarefa antes de se comprometer com uma execução completa.

Permissões

A identidade gerenciada associada à tarefa de armazenamento deve ter a função apropriada na conta de armazenamento de destino para executar uma execução simulada. A função recomendada é usar a Storage Actions Blob Data Operator (se você planeja migrar para uma execução real usando a mesma atribuição). As identidades gerenciadas atribuídas pelo sistema e atribuídas pelo usuário dão suporte a execuções simuladas.

Se a conta de armazenamento de destino tiver restrições de rede, verifique se a opção Allow trusted serviços Microsoft está habilitada na configuração de rede da conta.

Consulte também