数値の一致 - 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 }

さらに、次のメッセージ属性にも一致します (これは 100 でも 500 でもない値を含むためです)。

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

また、次のメッセージ本文にも一致します (これは 100 でも 500 でもない値が含まれるためです)。

{ "price": [100, 50] }

ただし、次のメッセージ属性とは一致しません。

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

また、次のメッセージ本文にも一致しません。

{ "price": 100 }

値範囲の一致

数値ポリシープロパティには、= 演算子に加えて、次の <<=>、および >= を含めることができます。

次のポリシーのプロパティについて考えます。

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

負の数値を持つ任意のメッセージ属性またはメッセージ本文プロパティと一致します。

別のポリシー属性について考えます。

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

最大 150 までの正の数を持つメッセージ属性またはメッセージ本文プロパティと一致します。