Partager via


Conditions de tâche de stockage

Une tâche de stockage contient un ensemble de conditions et d’opérations. Cet article décrit le format JSON d’une condition. Comprendre ce format est important si vous envisagez de créer une tâche de stockage à l’aide d’un outil autre que le portail Azure (par exemple : Azure PowerShell ou Azure CLI). Cet article répertorie également les propriétés et les opérateurs que vous pouvez utiliser pour composer les clauses d’une condition.

Cet article décrit les conditions. Pour en savoir plus sur les opérations, consultez Opérations de tâche de stockage.

Important

Azure Storage Actions est actuellement en PRÉVERSION et est disponible dans ces régions. Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.

Format de condition

Une condition est une collection d’une ou de plusieurs clauses. Chaque clause contient une propriété, une valeur et un opérateur. Lorsque la tâche de stockage s’exécute, elle utilise l’opérateur pour comparer une propriété à une valeur afin de déterminer si une clause est respectée par l’objet cible. Dans une clause, l’opérateur apparaît toujours en premier suivi de la propriété, puis de la valeur. L’image suivante montre comment chaque élément est positionné dans l’expression.

Diagramme montrant le format d’une condition simple avec un opérateur, une propriété et une valeur.

La clause suivante autorise uniquement les opérations sur les documents Microsoft Word. Cette clause cible tous les documents qui se terminent par l’extension de fichier .docx. Par conséquent, l’opérateur est endsWith, la propriété est Name et la valeur est .docx.

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

Pour obtenir la liste complète des noms d’opérateurs et de propriétés, consultez la section Opérateurs pris en charge et Propriétés prises en charge de cet article.

Plusieurs clauses dans une condition

Une condition peut contenir plusieurs clauses séparées par une virgule avec la chaîne and ou or. La chaîne and cible les objets qui répondent aux critères de toutes les clauses de la condition, tandis que or cible les objets qui répondent au critère dans l’une des clauses de la condition. L’image suivante montre la position de la chaîne and et or, ainsi que deux clauses.

Diagramme montrant le format d’une condition qui contient deux clauses.

Le code JSON suivant montre une condition qui contient deux clauses. Étant donné que la chaîne and est utilisée dans cette expression, les deux clauses doivent être évaluées à true avant qu’une opération ne soit effectuée sur l’objet.

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

Groupes de conditions

Les clauses groupées fonctionnent en tant qu’unité unique distincte du reste des clauses. Le regroupement de clauses est similaire à l’insertion de parenthèses autour d’une équation mathématique ou d’une expression logique. La chaîne and ou or pour la première clause du groupe s’applique à l’ensemble du groupe.

L’image suivante montre deux clauses regroupées.

Diagramme du format d’une condition qui contient deux clauses réunies.

La condition suivante autorise uniquement les opérations sur les documents Microsoft Word où la balise readyForLegalHold du document est définie sur une valeur de Yes. Les opérations sont également effectuées sur des objets supérieurs à 100 octets, même si les deux autres conditions ne sont pas vraies.

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

Affichage du code dans le portail Azure

L’éditeur visuel disponible dans le portail Azure peut vous générer le JSON d’une condition. Vous pouvez définir vos conditions à l’aide de l’éditeur, puis obtenir l’expression JSON en ouvrant l’onglet Code. Cette approche peut être utile lorsque vous créez des ensembles complexes de conditions, car les expressions JSON peuvent devenir volumineuses, instables et difficiles à créer manuellement. L’image suivante montre l’onglet Code dans l’éditeur visuel.

Capture d’écran de la condition JSON telle qu’elle apparaît sous l’onglet Code du concepteur visuel.

Pour en savoir plus sur l’éditeur visuel, consultez Définir des conditions et des opérations de tâche de stockage.

Propriétés prises en charge

Le tableau suivant présente les propriétés que vous pouvez utiliser pour composer chaque clause d’une condition. Une clause peut contenir des propriétés de chaîne, booléennes, numériques et de date et heure.

Chaîne Date et heure3 Numérique Boolean
AccessTier1 AccessTierChangeTime Longueur-contenu Supprimé
Metadata.Value Creation-Time TagCount IsCurrentVersion
Nom DeletedTime
BlobType2 LastAccessTime
Container.Metadata.Value[Name] Last-Modified
Container.Name
Container.Metadata.Value[Name]
Container.Name
Tags.Value[Name]
VersionId

1 Les valeurs autorisées sont Hot, Cool ou Archive.

2 Les valeurs autorisées sont BlockBlob, PageBlob ou AppendBlob

3 Peut être défini sur une heure spécifique ou sur une valeur de métadonnées obtenue dynamiquement à partir d’objets. Consultez Référencer une valeur à partir des métadonnées d’objet.

Opérateurs pris en charge

Le tableau suivant montre les opérateurs que vous pouvez utiliser dans une clause pour évaluer la valeur de chaque type de propriété.

Chaîne Date et heure Numérique Boolean
contains equals equals equals
empty greater greater not
equals greaterOrEquals greaterOrEquals
endsWith less less
length lessOrEquals lessOrEquals
startsWith addToTime
Correspondances

Voir aussi