Compartilhar via


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.

Diagrama que mostra o formato de uma condição simples com um operador, propriedade e valor.

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.

Diagrama que mostra o formato de uma condição que contém 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.

Diagrama que mostra o formato de uma condição que contém 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.

Captura de tela da condição JSON conforme aparece na guia Código do designer 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

Confira também