Условия задачи хранилища
Задача хранилища содержит набор условий и операций. В этой статье описывается формат JSON условия. Понимание этого формата важно, если вы планируете создать задачу хранения с помощью средства, отличного от портал Azure (например, Azure PowerShell или Azure CLI). В этой статье также перечислены свойства и операторы, которые можно использовать для создания предложений условия.
В этой статье рассматриваются условия. Дополнительные сведения об операциях см. в разделе "Операции задачи хранилища".
Внимание
служба хранилища Azure Действия в настоящее время находятся в предварительной версии и доступны в этих регионах. Юридические условия, применимые к функциям Azure, которые находятся в состоянии бета-версии, предварительной версии или иным образом еще не выпущены в общедоступной версии, см. на странице Дополнительные условия использования предварительных версий в Microsoft Azure.
Формат условия
Условие коллекции одного или нескольких предложений. Каждое предложение содержит свойство, значение и оператор. При выполнении задачи хранилища оператор использует оператор для сравнения свойства со значением, чтобы определить, соответствует ли предложение целевому объекту. В предложении оператор всегда отображается после свойства, а затем значение. На следующем рисунке показано, как каждый элемент расположен в выражении.
Следующее предложение позволяет выполнять операции только в документах Microsoft Word. Это предложение предназначено для всех документов, заканчивающихся расширением .docx
файла. Таким образом, оператор имеет endsWith
значение , свойство имеет Name
значение ..docx
{
"condition": "[[[endsWith(Name, '.docx')]]"
}
Полный список имен операторов и свойств см. в разделе "Поддерживаемые операторы " и "Поддерживаемые свойства " этой статьи.
Несколько предложений в условии
Условие может содержать несколько предложений, разделенных запятой вместе со строкой and
или or
. Строка and
предназначена для объектов, которые соответствуют критериям во всех предложениях в условии, а or
целевые объекты соответствуют критерию в любом из предложений в условии. На следующем рисунке показана and
позиция и or
строка вместе с двумя предложениями.
В следующем формате JSON показано условие, содержащее два предложения. and
Так как строка используется в этом выражении, оба предложения должны оцениваться true
перед выполнением операции в объекте.
{
"condition": "[[and(endsWith(Name, '.docx'), equals(Tags.Value[readyForLegalHold], 'Yes'))]]"
}
Группы условий
Сгруппированные предложения работают как единая единица, отдельная от остальных предложений. Предложения группировки похожи на размещение скобок вокруг математического уравнения или выражения логики. or
Строка and
для первого предложения в группе применяется ко всей группе.
На следующем рисунке показаны два предложения, сгруппированные вместе.
Следующее условие позволяет выполнять операции только в документах Microsoft Word, где readyForLegalHold
для тега документа задано значение Yes
. Операции также выполняются для объектов, которые больше 100 байт, даже если другие два условия не соответствуют действительности.
{
"condition": "[[[or(and(endsWith(Name, '.docx'), equals(Tags.Value[readyForLegalHold], 'Yes')), greater(Content-Length, '100'))]]"
}
Представление кода в портал Azure
Визуальный редактор, доступный в портал Azure, может создать JSON условия. Вы можете определить условия с помощью редактора, а затем получить выражение JSON, открыв вкладку "Код ". Этот подход может оказаться полезным при создании сложных наборов условий, так как выражения JSON могут стать большими, неуклюжами и сложно создавать вручную. На следующем рисунке показана вкладка "Код " в визуальном редакторе.
Дополнительные сведения о визуальном редакторе см. в разделе "Определение условий задачи хранения" и операций.
Поддерживаемые свойства
В следующей таблице показаны свойства, которые можно использовать для создания каждого предложения условия. Предложение может содержать строковые, логические, числовые и временные свойства.
Строка | Дата и время3 | Числовое | Логический |
---|---|---|---|
AccessTier1 | AccessTierChangeTime | content-length: 0 | Deleted |
Metadata.Value | Creation-Time | TagCount | IsCurrentVersion |
Имя. | DeletedTime | ||
BlobType2 | LastAccessTime | ||
Container.Metadata.Value[Name] | Last-Modified | ||
Container.Name | |||
Container.Metadata.Value[Name] | |||
Container.Name | |||
Tags.Value[Name] | |||
VersionId |
1 Допустимые значения: Hot
, Cool
или Archive
.
2 Допустимые значения: BlockBlob
или PageBlob
AppendBlob
3 Можно задать определенное время или значение метаданных динамически полученное из объектов. См. ссылку на значение из метаданных объекта.
Поддерживаемые операторы
В следующей таблице показаны операторы, которые можно использовать в предложении для оценки значения каждого типа свойства.
Строка | Дата и время | Числовое | Логический |
---|---|---|---|
содержит | равно | равно | равно |
empty | greater | greater | not |
равно | greaterOrEquals | greaterOrEquals | |
endsWith | less | less | |
length | lessOrEquals | lessOrEquals | |
startsWith | addToTime | ||
Matches |