Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Uma tarefa de armazenamento contém um conjunto de condições e operações. Este artigo descreve o formato JSON de uma condição. Entender esse formato é importante se você planeja criar uma tarefa de armazenamento usando uma ferramenta diferente do portal do Azure (por exemplo: Azure PowerShell ou CLI do Azure). Este artigo também lista as propriedades e os operadores que você pode usar para compor as cláusulas de uma condição.
Este artigo centra-se nas condições. Para saber mais sobre operações, consulte Operações de tarefas de armazenamento.
Formato da condição
Uma condição uma coleção de uma ou mais cláusulas. Cada cláusula contém uma propriedade, um valor e um operador. Quando a tarefa de armazenamento é executada, ela usa o operador para comparar uma propriedade com um valor para determinar se uma cláusula é atendida pelo objeto de destino. Em uma cláusula, o operador sempre aparece primeiro seguido pela propriedade e, em seguida, pelo valor. A imagem a seguir mostra como cada elemento está posicionado na expressão.
A cláusula a seguir permite operações somente em documentos do Microsoft Word. Esta cláusula destina-se a todos os documentos que terminam com a extensão .docxde arquivo . Portanto, o operador é endsWith, a propriedade é Name, e o valor é .docx.
{
"condition": "[[[endsWith(Name, '.docx')]]"
}
Pode também aplicar o operador não antes do operador na cláusula de condição. O não operador é um operador especial que você pode posicionar antes de qualquer operador para dar o resultado oposto de uma cláusula. A cláusula a seguir permite operações em qualquer blob que não seja um documento do Microsoft Word.
{
"condition": "[[not(endsWith(Name, '*.docx'))]]"
}
Para obter uma lista completa de nomes de operadores e propriedades, consulte a seção Operadores suportados e propriedades suportadas deste artigo.
Várias cláusulas em uma condição
Uma condição pode conter várias cláusulas separadas por uma vírgula junto com a cadeia de caracteres and ou or. A cadeia de caracteres and tem como alvo objetos que atendem aos critérios em todas as cláusulas da condição, enquanto or visa objetos que atendem ao critério em qualquer uma das cláusulas da condição. A imagem a seguir mostra a and posição da string e or junto com duas cláusulas.
O JSON a seguir mostra uma condição que contém duas cláusulas. Como a and cadeia de caracteres é usada nessa expressão, ambas as cláusulas devem ser avaliadas antes true que uma operação seja executada no objeto.
{
"condition": "[[and(endsWith(Name, '.docx'), equals(Tags.Value[readyForLegalHold], 'Yes'))]]"
}
Grupos de condições
As cláusulas agrupadas funcionam como uma unidade única, separada das restantes cláusulas. Agrupar cláusulas é semelhante a colocar parênteses em torno de uma equação matemática ou expressão lógica. A and cadeia de caracteres ou or para a primeira cláusula do grupo aplica-se a todo o grupo.
A imagem a seguir mostra duas cláusulas agrupadas.
A condição a seguir permite operações somente em documentos do Microsoft Word em que a readyForLegalHold marca do documento é definida como um valor de Yes. As operações também são executadas em objetos maiores que 100 bytes, mesmo que as outras duas condições não sejam verdadeiras.
{
"condition": "[[or(and(endsWith(Name, '*.docx'), equals(Tags.Value[readyForLegalHold], 'Yes')), greater(Content-Length, '100'))]]"
}
Você pode aplicar um operador not a um grupo para testar o resultado oposto de um grupo de cláusulas. A condição seguinte permite operações apenas em blobs que não são documentos Microsoft Word, onde a readyForLegalHold tag do blob é definida para um valor de Yes. As operações também são executadas em objetos maiores que 100 bytes, mesmo que as outras duas condições não sejam verdadeiras.
{
"condition": "[[or(not(and(endsWith(Name, '*.docx'), equals(Tags.Value[readyForLegalHold], 'Yes'))), greater(Content-Length, '100'))]]"
}
Vista de código no portal do Azure
O editor visual disponível no portal do Azure pode gerar o JSON de uma condição para você. Você pode definir suas condições usando o editor e, em seguida, obter a expressão JSON abrindo a guia Código . Essa abordagem pode ser útil ao criar conjuntos complicados de condições, pois as expressões JSON podem se tornar grandes, pesadas e difíceis de criar manualmente. A imagem a seguir mostra a guia Código no editor visual.
Para saber mais sobre o editor visual, consulte Definir condições e operações de tarefas de armazenamento.
Pré-visualização da condição
Você pode exibir uma lista de blobs que seriam afetados pelas condições que você definiu. Dessa forma, você pode encontrar problemas e otimizar as condições antes de aplicá-los aos dados de produção. Uma visualização não faz alterações nos objetos em uma conta de armazenamento de destino, portanto, é seguro aplicar para testar dados de produção.
Embora a visualização de condição esteja disponível em ambientes PowerShell, CLI do Azure e SDK, a maneira mais fácil de visualizar o efeito das condições é usando a janela Condições de Visualização no portal do Azure. Você pode abrir esta janela se definir condições e atribuir tarefas de armazenamento.
Para visualizar o efeito das condições, você deve especificar uma assinatura de destino, uma conta de armazenamento e um contêiner. Como um só pode mostrar até 5.000 blobs, você também pode especificar um prefixo para restringir a lista.
Observação
Não é possível usar caracteres curinga no prefixo blob.
A imagem a seguir mostra um exemplo de um resultado de visualização no portal do Azure.
O resultado da visualização aparece em uma tabela que mostra objetos que atendem à condição junto com objetos que não atenderam à condição. Você pode classificar por campo que aparece na tabela.
Se as condições se referirem a propriedades que não existem na conta de armazenamento de destino, um erro será exibido. Por exemplo, as tags de índice de blob não estão disponíveis para contas que têm um namespace hierárquico. Se uma cláusula numa condição referir-se às etiquetas de índice de blob, aparecerá um erro de validação.
Propriedades suportadas
A tabela a seguir mostra as propriedades que você pode usar para compor cada cláusula de uma condição. Uma cláusula pode conter propriedades string, booleanas, numéricas e de data e hora.
| Cordão | Data e hora3 | Numérico | Booleano |
|---|---|---|---|
| Camada de acesso1 | HoraDeMudançaDoNívelDeAcesso | Comprimento do conteúdo | Eliminado |
| Metadados.Valor | Tempo de Criação | Contagem de Tags | ÉVersãoAtual |
| Nome | Tempo Eliminado | ||
| BlobType2 | Hora do Último Acesso | ||
| Container.Metadata.Value[Nome] | Última modificação | ||
| NomeDoContêiner | |||
| Container.Metadata.Value[Nome] | |||
| NomeDoContêiner | |||
| Tags.Value[Nome] | |||
| VersionId |
1 Os valores permitidos são Hot, Coolou Archive.
2 Os valores permitidos são BlockBlob, PageBlobouAppendBlob
3 Pode ser definido para um tempo específico ou para um valor de metadados obtido dinamicamente de objetos. Consulte Referenciar um valor de metadados de objeto.
Operadores suportados
A tabela a seguir mostra os operadores que você pode usar em uma cláusula para avaliar o valor de cada tipo de propriedade.
| Cordão | Data e hora | Numérico | Booleano |
|---|---|---|---|
| contém | igual | igual | igual |
| vazio | maior | maior | |
| igual | greaterOrEquals | greaterOrEquals | |
| termina com | menos | menos | |
| comprimento | menor ou igual | menor ou igual | |
| começaCom | adicionarAoTempo | ||
| Jogos |
O operador not é um operador especial que você pode posicionar antes de qualquer um dos operadores que aparecem nesta tabela para dar o resultado oposto da cláusula condicional, também chamada de resultado negativo.