Condições da tarefa de armazenamento
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.
Importante
As Ações de Armazenamento do Azure estão atualmente em PREVIEW e estão disponíveis nessas regiões. Veja Termos de Utilização Complementares da Pré-visualizações do Microsoft Azure para obter os termos legais que se aplicam às funcionalidades do Azure que estão na versão beta, na pré-visualização ou que ainda não foram lançadas para disponibilidade geral.
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 .docx
de arquivo . Portanto, o operador é endsWith
, a propriedade é Name
, e o valor é .docx
.
{
"condition": "[[[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'))]]"
}
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.
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.
String | Data e hora3 | Numérico | Boolean |
---|---|---|---|
Camada de acesso1 | AccessTierChangeTime | Comprimento do conteúdo | Eliminado |
Metadata.Value | Tempo de Criação | TagCount | IsCurrentVersion |
Nome | DeletedTime | ||
BlobType2 | LastAccessTime | ||
Container.Metadata.Value[Nome] | Última modificação | ||
Container.Name | |||
Container.Metadata.Value[Nome] | |||
Container.Name | |||
Tags.Value[Nome] | |||
VersionId |
1 Os valores permitidos são Hot
, Cool
ou Archive
.
2 Os valores permitidos são BlockBlob
, PageBlob
ouAppendBlob
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.
String | Data e hora | Numérico | Boolean |
---|---|---|---|
contém | equals | equals | equals |
empty | greater | greater | not |
equals | greaterOrEquals | greaterOrEquals | |
termina com | less | less | |
length | lessOrEquals | lessOrEquals | |
começaCom | addToTime | ||
Matches |