Warunki zadania magazynu
Zadanie magazynu zawiera zestaw warunków i operacji. W tym artykule opisano format JSON warunku. Zrozumienie tego formatu jest ważne, jeśli planujesz utworzyć zadanie magazynu przy użyciu narzędzia innego niż witryna Azure Portal (na przykład: Program Azure PowerShell lub interfejs wiersza polecenia platformy Azure). W tym artykule wymieniono również właściwości i operatory, których można użyć do tworzenia klauzul warunku.
Ten artykuł koncentruje się na warunkach. Aby dowiedzieć się więcej na temat operacji, zobacz Operacje zadań magazynu.
Ważne
Akcje usługi Azure Storage są obecnie dostępne w wersji zapoznawczej i są dostępne w tych regionach. Zobacz Dodatkowe warunki użytkowania wersji zapoznawczych platformy Microsoft Azure, aby zapoznać się z postanowieniami prawnymi dotyczącymi funkcji platformy Azure, które są w wersji beta lub wersji zapoznawczej albo w inny sposób nie zostały jeszcze wydane jako ogólnie dostępne.
Format warunku
Warunek kolekcji co najmniej jednej klauzuli. Każda klauzula zawiera właściwość, wartość i operator. Gdy zadanie magazynu jest uruchamiane, używa operatora do porównywania właściwości z wartością w celu określenia, czy klauzula jest spełniona przez obiekt docelowy. W klauzuli operator zawsze pojawia się najpierw, a następnie właściwość , a następnie wartość. Na poniższej ilustracji pokazano, jak każdy element jest umieszczony w wyrażeniu.
Poniższa klauzula umożliwia wykonywanie operacji tylko w dokumentach programu Microsoft Word. Ta klauzula dotyczy wszystkich dokumentów kończących się rozszerzeniem .docx
pliku . W związku z tym operator to , właściwość to endsWith
Name
, a wartość to .docx
.
{
"condition": "[[[endsWith(Name, '.docx')]]"
}
Aby uzyskać pełną listę nazw operatorów i właściwości, zobacz sekcję Obsługiwane operatory i Obsługiwane właściwości w tym artykule.
Wiele klauzul w warunku
Warunek może zawierać wiele klauzul rozdzielonych przecinkami wraz z ciągiem and
lub or
. Ciąg and
obiektów docelowych, które spełniają kryteria we wszystkich klauzulach warunku, podczas gdy or
obiekty docelowe spełniające kryterium w dowolnym z klauzul w warunku. Na poniższej ilustracji przedstawiono położenie and
ciągu i or
wraz z dwoma klauzulami.
Poniższy kod JSON przedstawia warunek zawierający dwie klauzule. Ponieważ ciąg jest używany w tym wyrażeniu and
, obie klauzule muszą zostać obliczone przed true
wykonaniem operacji na obiekcie.
{
"condition": "[[and(endsWith(Name, '.docx'), equals(Tags.Value[readyForLegalHold], 'Yes'))]]"
}
Grupy warunków
Klauzule zgrupowane działają jako pojedyncza jednostka oddzielona od pozostałych klauzul. Klauzule grupowania są podobne do umieszczania nawiasów wokół równania matematycznego lub wyrażenia logiki. Ciąg and
lub or
dla pierwszej klauzuli w grupie ma zastosowanie do całej grupy.
Na poniższej ilustracji przedstawiono dwie klauzule zgrupowane razem.
Poniższy warunek zezwala na operacje tylko w dokumentach programu Microsoft Word, w których readyForLegalHold
tag dokumentu jest ustawiony na wartość Yes
. Operacje są również wykonywane na obiektach, które są większe niż 100 bajtów, nawet jeśli pozostałe dwa warunki nie są prawdziwe.
{
"condition": "[[[or(and(endsWith(Name, '.docx'), equals(Tags.Value[readyForLegalHold], 'Yes')), greater(Content-Length, '100'))]]"
}
Widok kodu w witrynie Azure Portal
Edytor wizualizacji dostępny w witrynie Azure Portal może wygenerować kod JSON warunku. Warunki można zdefiniować przy użyciu edytora, a następnie uzyskać wyrażenie JSON, otwierając kartę Kod . Takie podejście może być przydatne podczas tworzenia skomplikowanych zestawów warunków, ponieważ wyrażenia JSON mogą stać się duże, nieporęczne i trudne do utworzenia. Na poniższej ilustracji przedstawiono kartę Kod w edytorze wizualizacji.
Aby dowiedzieć się więcej na temat edytora wizualizacji, zobacz Definiowanie warunków i operacji zadania magazynu.
Obsługiwane właściwości
W poniższej tabeli przedstawiono właściwości, których można użyć do tworzenia każdej klauzuli warunku. Klauzula może zawierać właściwości ciągu, wartości logicznej, liczbowej i daty i godziny.
String | Data i godzina3 | Liczbowe | Wartość logiczna |
---|---|---|---|
AccessTier1 | AccessTierChangeTime | Długość zawartości | Usunięte |
Metadata.Value | Czas tworzenia | TagCount | IsCurrentVersion |
Nazwisko | DeletedTime | ||
BlobType2 | LastAccessTime | ||
Container.Metadata.Value[Name] | Ostatnia modyfikacja | ||
Container.Name | |||
Container.Metadata.Value[Name] | |||
Container.Name | |||
Tags.Value[Name] | |||
Identyfikator wersji |
1 Dozwolone wartości to Hot
, Cool
lub Archive
.
2 Dozwolone wartości to BlockBlob
, PageBlob
lub AppendBlob
3 Można ustawić na określony czas lub wartość metadanych dynamicznie uzyskiwaną z obiektów. Zobacz Odwołanie do wartości z metadanych obiektu.
Obsługiwane operatory
W poniższej tabeli przedstawiono operatory, których można użyć w klauzuli do oceny wartości każdego typu właściwości.
String | Data i godzina | Liczbowe | Wartość logiczna |
---|---|---|---|
zawiera | equals | equals | equals |
empty | greater | greater | not |
equals | greaterOrEquals | greaterOrEquals | |
endsWith | less | less | |
length | lessOrEquals | lessOrEquals | |
startsWith | addToTime | ||
Dopasowania |