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

O que é uma simulação de corrida?

Uma execução simulada simula a execução de uma atribuição de tarefa de armazenamento sem realmente realizar qualquer operação nos seus blobs. Quando crias uma execução simulada, o Armazenamento do Azure Actions analisa e avalia os teus blobs contra as condições da tarefa, tal como faria numa execução real, mas não executa nenhuma operação. Em vez disso, gera um relatório detalhado que mostra quais os blobs que correspondiam às condições e que operações teriam sido realizadas.

Simulações são úteis quando queres:

  • Pré-visualize o impacto de uma tarefa antes de a executar em escala, especialmente quando as operações são irreversíveis (como políticas de eliminação ou de imutabilidade)
  • Valide as condições no conjunto completo de blobs da sua conta, não apenas numa pequena amostra de pré-visualização.
  • Gerar relatórios prontos para auditoria que mostrem quais os blobs que seriam afetados, sem fazer quaisquer alterações.
  • Estima o custo compreendendo quantos blobs seriam visados e quantas operações seriam invocadas.

Note

Uma execução simulada analisa e avalia todos os blobs abrangidos, tal como uma execução real. A única diferença é que não realiza nenhuma operação nos blobs. Como não executa operações, as execuções simuladas são tipicamente mais rápidas do que as execuções reais.

Como funcionam as simulações de corrida

Crie uma execução simulada como uma atribuição de tarefa de armazenamento, com o tipo de acionador definido como MockRun. Tal como outros tipos de atribuição, uma execução simulada direciona-se a uma conta de armazenamento específica, utiliza filtros prefixos opcionais para definir os blobs e gera relatórios de execução num contentor de exportação designado.

Quando uma execução simulada é executada:

  1. O Armazenamento do Azure Actions enumera todos os blobs que correspondem ao âmbito e aos filtros de prefixo da atribuição.
  2. Avalia cada blob em função das condições da tarefa de armazenamento.
  3. Para blobs que correspondem, regista as operações que seriam realizadas – mas não executa nenhuma operação.
  4. Gera um relatório detalhado que lista os blobs correspondentes e as suas operações simuladas.

Simulação de execução vs. pré-visualização de condição

Tanto as execuções simuladas como a funcionalidade de pré-visualização de condição ajudam a validar as condições da tarefa antes da execução, mas servem propósitos diferentes:

Capacidade Pré-visualização da condição Simulação de corrida
Scope Amostra limitada (até 5.000 blobs) Em grande escala - todos os blobs do âmbito da atribuição
Operações apresentadas No Sim - mostra quais as operações que seriam realizadas
Relatório gerado No Sim - relatório CSV descarregável
Modelo de execução Resultados síncronos e imediatos Assíncrono, funciona como uma tarefa real
Faturação Grátis Cobrança pela instância de execução da tarefa e pelos objetos analisados (sem cobrança por operações)
Caso de utilização Verificação rápida ao escrever condições Validação total antes da execução em produção

Utilize a pré-visualização das condições ao definir as condições da tarefa e, em seguida, utilize uma execução de teste para a validação final antes de ativar uma execução real.

Ciclo de vida simulado e estados

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

Importante

Não podes reiniciar uma simulação completa. Para executar outra simulação simulada com a mesma configuração, deve criar uma nova atribuição ou duplicar a existente.

Comportamento de concorrência

Apenas uma execução – simulada ou real – pode ser executada numa conta de armazenamento de cada vez. Este modelo de concorrência corresponde ao modelo para execuções reais de tarefas:

  • Se uma execução real estiver em curso, o sistema coloca em fila uma nova execução simulada até a execução real terminar.
  • Se uma execução simulada estiver em curso, o sistema coloca em fila uma nova execução real da tarefa ou ignora-a no caso de execuções agendadas.
  • Se houver outra simulação em curso, o sistema adiciona a nova simulação à fila.

Este modelo assegura estabilidade e previne a contenção de recursos na conta de armazenamento alvo.

Relatórios de execução simulada

Quando uma execução simulada termina, o processo escreve um relatório detalhado no contentor de exportação de relatórios que especifica durante a criação da atribuição. Pode aceder a relatórios em formatos CSV .

Também pode ver um resumo da execução diretamente no portal do Azure, na página de resultados da execução simulada da atribuição. O resumo inclui o número de objetos listados, objetos que cumpriram as condições e operações que o processo teria realizado.

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

Colunas de relatório:

Coluna Description
Contentor O recipiente onde a massa reside.
Blob O nome do blob.
Operação a realizar A operação simulada, com prefixo de (mock) — por exemplo, (mock) DeleteBlob ou (mock) SetBlobImmutability.
Bloco de condição correspondente Que condição bloqueia o blob correspondente (por exemplo, IF ou ELSE).

Exemplo de saída CSV:

Contentor Blob Operação a realizar Bloco de condição correspondente
testContainer1 output1.log (imitação) DeleteBlob IF
testContainer2 output2.log (imitação) DeleteBlob IF
testContainer1 financials1.csv (imitação) SetBlobImmutability ELSE
testContainer2 financials2.csv (imitação) SetBlobImmutability ELSE

O processo também gera um ficheiro JSON resumo juntamente com o relatório. Este ficheiro contém 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 principais no resumo:

  • objectsListed: Número total de blobs escaneados durante a execução simulada.
  • objectsToBeOperated: Número de blobs que cumpriram as condições e sobre os quais teriam sido realizadas operações.
  • status: O resultado da execução simulada (succeeded ou failed).

Transição de simulação para corrida real

Depois de rever o relatório de simulação e confirmar que os resultados são os esperados, pode transitar a tarefa de simulação para uma execução real:

  1. Aceda à atribuição no portal do Azure.
  2. Edite a atribuição e altere o tipo de acionador de Execução simulada para Executar uma vez ou Recorrente.
  3. Guarde a atribuição atualizada.

Ao usar este processo, pode passar da validação à execução sem recriar a tarefa do zero.

Preços

As execuções simuladas são faturadas de forma semelhante às execuções reais de atribuição de tarefas, com uma diferença fundamental: não é aplicada nenhuma carga ao medidor de operações, uma vez que nenhuma operação é realmente realizada em blobs.

Contador de faturação Aplica-se a simulações de corridas?
Instância de execução de tarefa (por execução) ✅ Sim
Objetos detetados (por milhão de objetos analisados) ✅ Sim
Operações realizadas (por milhão de operações) ❌ Não (sempre $0)

Os custos padrão da API Armazenamento de Blobs para listar e ler propriedades do blob durante a análise continuam a aplicar-se.

Tip

Como as simulações excluem a cobrança do contador de operações, são significativamente mais baratas do que as corridas reais. Use execuções simuladas como uma forma económica de validar a configuração da sua tarefa antes de se comprometer com uma execução completa.

Permissions

A identidade gerida associada à tarefa de armazenamento deve ter o papel apropriado na conta de armazenamento alvo para realizar uma execução simulada. Embora o processo não realize operações, a identidade necessita de acesso de leitura para escanear e avaliar blobs:

  • Função mínima: Leitor de Dados de Blobs de Armazenamento
  • Função recomendada: Proprietário dos Dados de Blobs de Armazenamento (se planeia transitar para uma execução real com a mesma atribuição)

Tanto as identidades geridas atribuídas pelo sistema como as atribuídas pelo utilizador suportam execuções simuladas.

Se a conta de armazenamento alvo tiver restrições de rede, certifique-se de que a opção Permitir serviços Microsoft confiável está ativada na configuração de rede da conta.

Ver também