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.
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.
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.
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.
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 |