Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
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 .docxpliku . W związku z tym operator to , właściwość to endsWithName, a wartość to .docx.
{
"condition": "[[[endsWith(Name, '.docx')]]"
}
Można również zastosować operator not przed operatorem w klauzuli warunkowej. Operator not jest operatorem specjalnym, który można ustawić przed dowolnym operatorem, aby nadać odwrotny wynik klauzuli. Poniższa klauzula umożliwia wykonywanie operacji na dowolnym blobie, który nie jest dokumentem aplikacji Microsoft Word.
{
"condition": "[[not(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'))]]"
}
Operator nie można zastosować do grupy w celu przetestowania przeciwnego wyniku grupy klauzul. Poniższy warunek zezwala na operacje tylko w obiektach blob, które nie są dokumentami programu Microsoft Word, w których readyForLegalHold tag obiektu blob 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(not(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.
Podgląd warunku
Możesz wyświetlić listę obiektów blob, które będą miały wpływ na zdefiniowane warunki. Dzięki temu można znaleźć problemy i zoptymalizować warunki przed ich zastosowaniem do danych produkcyjnych. Podgląd nie wprowadza zmian w obiektach na docelowym koncie magazynu, więc można bezpiecznie zastosować je do testowania względem danych produkcyjnych.
Chociaż wersja zapoznawcza warunku jest dostępna w środowiskach programu PowerShell, interfejsu wiersza polecenia platformy Azure i zestawu SDK, najprostszym sposobem podglądu efektu warunków jest użycie okna Warunki w wersji zapoznawczej w witrynie Azure Portal. Możesz otworzyć to okno, gdy definiujesz warunki i przypisujesz zadania magazynowe.
Aby wyświetlić podgląd efektu warunków, należy określić docelową subskrypcję, konto magazynu i kontener. Ponieważ można wyświetlić tylko do 5000 blobów, również można użyć prefiksu, aby zawęzić listę.
Uwaga / Notatka
Nie można używać symboli wieloznacznych w prefiksie obiektu blob.
Na poniższej ilustracji przedstawiono przykładowy wynik podglądu w witrynie Azure Portal.
Wynik podglądu pojawia się w tabeli zawierającej obiekty spełniające warunek wraz z obiektami, które nie spełniają warunku. Możesz sortować według pola wyświetlanego w tabeli.
Jeśli warunki odwołują się do właściwości, które nie istnieją w docelowym koncie magazynowym, zostanie wyświetlony błąd. Na przykład tagi indeksu blob nie są dostępne dla kont, które mają hierarchiczną przestrzeń nazw. Jeśli klauzula w warunku odwołuje się do tagów indeksu obiektów blob, zostanie wyświetlony błąd walidacji.
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.
| Sznurek | Data i godzina3 | Liczbowe | Wartość logiczna |
|---|---|---|---|
| AccessTier1 | CzasZmianyPoziomuDostępu | Długość zawartości | Usunięte |
| Metadane.Wartość | Czas tworzenia | TagCount | CzyAktualnaWersja |
| Nazwisko | Usunięty czas | ||
| BlobType2 | CzasOstatniegoDostępu | ||
| Kontener.Metadane.Wartość[Nazwa] | Ostatnia modyfikacja | ||
| Container.Name | |||
| Kontener.Metadane.Wartość[Nazwa] | |||
| Container.Name | |||
| Tags.Value[Name] | |||
| Identyfikator wersji |
1 Dozwolone wartości to Hot, Coollub Archive.
2 Dozwolone wartości to BlockBlob, PageBloblub 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.
| Sznurek | Data i godzina | Liczbowe | Wartość logiczna |
|---|---|---|---|
| zawiera | równa się | równa się | równa się |
| pusty | Większy | Większy | |
| równa się | większy lub równy | większy lub równy | |
| kończy się znakiem/ciągiem | mniej | mniej | |
| długość | mniejszy lub równy | mniejszy lub równy | |
| zaczyna się od | addToTime | ||
| Dopasowania |
Operator not jest operatorem specjalnym, który można ustawić przed którymkolwiek z operatorów, które pojawiają się w tej tabeli, aby uzyskać przeciwny wynik klauzuli warunkowej, nazywany również negatywnym wynikiem.