Condizioni delle attività di archiviazione

Un'attività di archiviazione contiene un set di condizioni e operazioni. Questo articolo descrive il formato JSON di una condizione. Tenere presente che il formato è importante se si prevede di creare un'attività di archiviazione usando uno strumento diverso dal portale di Azure (ad esempio, Azure PowerShell o l'interfaccia della riga di comando di Azure). Questo articolo elenca anche le proprietà e gli operatori che è possibile usare per comporre le clausole di una condizione.

Questo articolo è incentrato sulle condizioni. Per altre informazioni sulle operazioni, vedere Operazioni delle attività di archiviazione.

Importante

Azioni di Archiviazione di Azure + attualmente in ANTEPRIMA ed è disponibile in queste aree. Vedere le condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure per termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, in anteprima o in altro modo non ancora disponibili a livello generale.

Formato della condizione

Condizione di una raccolta di una o più clausole. Ogni clausola contiene una proprietà, un valore e un operatore. Quando l'attività di archiviazione viene eseguita, usa l'operatore per confrontare una proprietà con un valore per determinare se una clausola viene soddisfatta dall'oggetto di destinazione. In una clausola l'operatore viene sempre visualizzato prima seguito dalla proprietà e quindi dal valore . L'immagine seguente mostra come ogni elemento viene posizionato nell'espressione.

Diagramma che mostra il formato di una condizione semplice con un operatore, una proprietà e un valore.

La clausola seguente consente operazioni solo sui documenti di Microsoft Word. Questa clausola è destinata a tutti i documenti che terminano con l'estensione .docxdi file . Pertanto, l'operatore è endsWith, la proprietà è Namee il valore è .docx.

{
   "condition": "[[[endsWith(Name, '.docx')]]"
}

Per un elenco completo dei nomi di operatore e proprietà, vedere la sezione Operatori supportati e Proprietà supportate di questo articolo.

Più clausole in una condizione

Una condizione può contenere più clausole separate da una virgola insieme alla stringa and o or. La stringa and è destinata agli oggetti che soddisfano i criteri in tutte le clausole della condizione, mentre or gli oggetti che soddisfano il criterio in una delle clausole della condizione. L'immagine seguente mostra la posizione della and stringa e or insieme a due clausole.

Diagramma che mostra il formato di una condizione che contiene due clausole.

Il codice JSON seguente mostra una condizione che contiene due clausole. Poiché la and stringa viene utilizzata in questa espressione, entrambe le clausole devono restituire true prima che venga eseguita un'operazione sull'oggetto .

{
"condition": "[[and(endsWith(Name, '.docx'), equals(Tags.Value[readyForLegalHold], 'Yes'))]]"
}

Gruppi di condizioni

Le clausole raggruppate funzionano come una singola unità separata dal resto delle clausole. Le clausole di raggruppamento sono simili all'inserimento di parentesi intorno a un'equazione matematica o a un'espressione logica. La and stringa o or per la prima clausola nel gruppo si applica all'intero gruppo.

L'immagine seguente mostra due clausole raggruppate.

Diagramma che mostra il formato di una condizione che contiene due clausole raggruppate.

La condizione seguente consente operazioni solo sui documenti di Microsoft Word in cui il readyForLegalHold tag del documento è impostato su un valore di Yes. Le operazioni vengono eseguite anche su oggetti maggiori di 100 byte anche se le altre due condizioni non sono vere.

{
"condition": "[[[or(and(endsWith(Name, '.docx'), equals(Tags.Value[readyForLegalHold], 'Yes')), greater(Content-Length, '100'))]]"
}

Visualizzazione codice nel portale di Azure

L'editor visivo disponibile nella portale di Azure può generare automaticamente il codice JSON di una condizione. È possibile definire le condizioni usando l'editor e quindi ottenere l'espressione JSON aprendo la scheda Codice . Questo approccio può essere utile quando si creano set complessi di condizioni perché le espressioni JSON possono diventare grandi, difficili da creare a mano. L'immagine seguente mostra la scheda Codice nell'editor visivo.

Screenshot della condizione JSON visualizzata nella scheda Codice della finestra di progettazione visiva.

Per altre informazioni sull'editor visivo, vedere Definire le condizioni e le operazioni delle attività di archiviazione.

Proprietà supportate

La tabella seguente illustra le proprietà che è possibile usare per comporre ogni clausola di una condizione. Una clausola può contenere proprietà stringa, booleana, numerica e data e ora.

String Data e ora3 Numeric Booleano
AccessTier1 AccessTierChangeTime Content-Length Eliminati
Metadata.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 I valori consentiti sono Hot, Coolo Archive.

2 I valori consentiti sono BlockBlob, PageBlobo AppendBlob

3 Può essere impostato su un'ora specifica o su un valore di metadati ottenuto dinamicamente dagli oggetti. Vedere Fare riferimento a un valore dai metadati dell'oggetto.

Operatori supportati

Nella tabella seguente vengono illustrati gli operatori che è possibile utilizzare in una clausola per valutare il valore di ogni tipo di proprietà.

String Data e ora Numeric Booleano
contains equals equals equals
empty greater greater not
equals greaterOrEquals greaterOrEquals
endsWith less less
length lessOrEquals lessOrEquals
startsWith addToTime
Matches

Vedi anche