Condições da tarefa de armazenamento
Uma tarefa de armazenamento contém um conjunto de condições e operações. Esse 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). Esse artigo também lista as propriedades e os operadores que você pode usar para compor as cláusulas de uma condição.
Esse artigo se concentra em condições. Para saber mais sobre operações, veja Operações de tarefas de armazenamento.
Importante
As Ações de Armazenamento do Azure estão atualmente em VERSÃO PRÉVIA e estão disponíveis nestas regiões. Veja os Termos de Uso Complementares para Versões Prévias do Microsoft Azure para obter termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em 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, o valor. A imagem a seguir mostra como cada elemento é posicionado na expressão.
A cláusula a seguir permite operações somente em documentos do Microsoft Word. Essa cláusula tem como alvo todos os documentos que terminam com a extensão de arquivo .docx
. 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, veja a seção Operadores com suporte e Propriedades com suporte desse 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
tem como alvo objetos que atendem aos critérios em qualquer uma das cláusulas da condição. A imagem a seguir mostra a posição das cadeia de caracteres and
e or
junto com duas cláusulas.
O JSON a seguir mostra uma condição que contém duas cláusulas. Como a cadeia de caracteres and
é usada nessa expressão, ambas as cláusulas devem ser avaliadas como true
antes que uma operação seja executada no objeto.
{
"condition": "[[and(endsWith(Name, '.docx'), equals(Tags.Value[readyForLegalHold], 'Yes'))]]"
}
Grupos de condições
Orações agrupadas operam como uma unidade única separada do restante das orações. Agrupar cláusulas é como colocar parênteses em uma equação matemática ou instrução lógica. A cadeia de caracteres and
ou or
para a primeira cláusula do grupo se aplica 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 onde a marca readyForLegalHold
do documento está 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'))]]"
}
Visualização 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, difíceis de manejar e de criar manualmente. A imagem a seguir mostra a aba Código no editor visual.
Para saber mais sobre o editor visual, veja Definir condições e operações de tarefas de armazenamento.
Propriedades aceitas
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 de cadeia de caracteres, booleanas, numéricas e de data e hora.
String | Data e hora3 | Numérico | Booliano |
---|---|---|---|
AccessTier1 | AccessTierChangeTime | Content-Length | Excluído |
Metadados.Value | Creation-Time | TagCount | IsCurrentVersion |
Nome | DeletedTime | ||
BlobType2 | LastAccessTime | ||
Container.Metadata.Value[Name] | Last-Modified | ||
Container.Name | |||
Container.Metadata.Value[Name] | |||
Container.Name | |||
Tags.Value[Name] | |||
VersionId |
1 Os valores permitidos são Hot
, Cool
ou Archive
.
2 Os valores permitidos são BlockBlob
, PageBlob
ou AppendBlob
3 Pode ser definido como uma hora específica ou um valor de metadados obtido dinamicamente de objetos. Confira Referência de 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 | Booliano |
---|---|---|---|
contains | equals | equals | equals |
empty | greater | greater | not |
equals | greaterOrEquals | greaterOrEquals | |
endsWith | less | less | |
length | lessOrEquals | lessOrEquals | |
startsWith | addToTime | ||
Correspondências |