數值比對 - Amazon Simple Notification Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

數值比對

您可以比對數值與訊息屬性值或訊息內文屬性值,以篩選訊息。在 JSON 政策中,數值不是以雙引號括住。您可以使用以下數值操作來篩選。

注意

僅在字串比對時支援字首。

完全符合

當政策屬性值包含 numeric 關鍵字和 = 運算子時,它符合任何具有相同名稱和相等數值的訊息屬性或訊息內文屬性值。

舉例下列政策屬性:

"price_usd": [{"numeric": ["=",301.5]}]

它符合以下任一訊息屬性:

"price_usd": {"Type": "Number", "Value": 301.5}
"price_usd": {"Type": "Number", "Value": 3.015e2}

它也符合以下任一訊息內文:

{ "price_usd": 301.5 }
{ "price_usd": 3.015e2 }

除外相符

當政策屬性值包含關鍵字 anything-but,就會比對包含任何政策屬性值的任何訊息屬性或訊息內文屬性值。

舉例下列政策屬性:

"price": [{"anything-but": [100, 500]}]

它符合以下任一訊息屬性:

"price": {"Type": "Number", "Value": 101}
"price": {"Type": "Number", "Value": 100.1}

它也符合以下任一訊息內文:

{ "price": 101 }
{ "price": 100.1 }

除此之外,它符合以下訊息屬性 (因為它包含的值不是 100500):

"price": {"Type": "Number.Array", "Value": "[100, 50]"}

它也符合以下訊息內文 (因為它包含的值不是 100500):

{ "price": [100, 50] }

但不符合以下訊息屬性:

"price": {"Type": "Number", "Value": 100}

它也不符合以下訊息內文:

{ "price": 100 }

值範圍相符

除了 = 運算子,數值政策屬性還可包括下列運算子:<<=>>=

舉例下列政策屬性:

"price_usd": [{"numeric": ["<", 0]}]

它符合具有負數值的任何訊息屬性或訊息內文屬性。

舉例另一個訊息屬性:

"price_usd": [{"numeric": [">", 0, "<=", 150]}]

它符合正數最大為 150 (含 150) 的任何訊息屬性或訊息內文屬性。