記憶體工作條件
記憶體工作包含一組條件和作業。 本文說明條件的 JSON 格式。 如果您打算使用 Azure 入口網站 以外的工具來建立記憶體工作,請瞭解該格式很重要(例如:Azure PowerShell 或 Azure CLI)。 本文也會列出可用來撰寫條件子句的屬性和運算符。
本文著重於 條件。 若要深入瞭解作業,請參閱記憶體工作作業。
重要
Azure 儲存體動作目前為預覽狀態,可供這些區域使用。 請參閱 Microsoft Azure 預覽版增補使用規定,以了解適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的法律條款。
條件格式
一個或多個 子句集合的條件。 每個子句都包含 屬性、 值和 運算元。 當儲存體工作執行時,它會使用運算子來比較屬性與值,以判斷目標物件是否符合子句。 在 子句中 ,運算符 一律會先出現,後面接著 屬性,然後再 顯示 值。 下圖顯示每個元素在表達式中的位置。
下列子句只允許Microsoft Word 文件的作業。 這個子句會以擴展名 .docx
結尾的所有文件為目標。 因此,運算子為 endsWith
、屬性為 Name
,且值為 .docx
。
{
"condition": "[[[endsWith(Name, '.docx')]]"
}
如需運算子和屬性名稱的完整清單,請參閱 本文的支持運算符 和支援 的屬性 一節。
條件中的多個子句
條件可以包含以逗號分隔的多個子句,以及字串 and
或 or
。 字串 and
會以符合條件中所有子句中準則的對象為目標,而 or
以符合條件中任一子句中準則的對象為目標。 下圖顯示 和 or
字串的位置and
以及兩個 子句。
下列 JSON 顯示包含兩個子句的條件。 由於此 and
表達式中使用字串,因此這兩個子句都必須評估為 true
,才能在對象上執行作業。
{
"condition": "[[and(endsWith(Name, '.docx'), equals(Tags.Value[readyForLegalHold], 'Yes'))]]"
}
條件群組
Grouped 子句會以與子句其餘部分分開的單一單位運作。 群組子句類似於將括號放在數學方程式或邏輯表達式周圍。 群組 and
中第一個子句的 或 or
字串會套用至整個群組。
下圖顯示兩個子句群組在一起。
下列條件只允許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 表達式可能會變得龐大、難以手動建立。 下圖顯示可視化編輯器中的 [ 程序代碼 ] 索引標籤。
若要深入瞭解可視化編輯器,請參閱 定義記憶體工作條件和作業。
支援的屬性
下表顯示可用來撰寫條件之每個子句的屬性。 子句可以包含字串、布爾值、數值和日期和時間屬性。
String | 日期和時間 3 | 數值 | 布林值 |
---|---|---|---|
AccessTier1 | AccessTierChangeTime | Content-Length | 已刪除 |
Metadata.Value | 建立時間 | 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 可以設定為特定時間或從 物件動態取得的元數據值。 請參閱 參考物件元數據的值。
支援的運算子
下表顯示您可以在 子句中使用的運算元,以評估每個屬性類型的值。
String | 日期和時間 | 數值 | 布林值 |
---|---|---|---|
contains | 等於 | 等於 | 等於 |
empty | greater | greater | not |
等於 | greaterOrEquals | greaterOrEquals | |
endsWith | less | less | |
length | lessOrEquals | lessOrEquals | |
startsWith | addToTime | ||
比對 |