文字列値の一致 - Amazon Simple Notification Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

文字列値の一致

文字列値をメッセージ属性値またはメッセージ本文のプロパティ値に一致させることで、メッセージをフィルタリングできます。文字列値は、JSONポリシーの二重引用符で囲まれています。次の文字列オペレーションを使用してメッセージ属性またはメッセージ本文と一致させることができます。

完全一致

完全一致は、ポリシープロパティ値が 1 つ以上のメッセージ属性値と一致した場合に発生します。

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

"customer_interests": ["rugby", "tennis"]

このポリシー属性は、以下のメッセージ属性と一致します。

"customer_interests": {"Type": "String", "Value": "rugby"}
"customer_interests": {"Type": "String", "Value": "tennis"}

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

{ "customer_interests": "rugby" }
{ "customer_interests": "tennis" }

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

"customer_interests": {"Type": "String", "Value": "baseball"}

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

{ "customer_interests": "baseball" }

「以外」のマッチング

ポリシープロパティ値にキーワード anything-but が含まれている場合、そのキーワードは、ポリシープロパティ値を含まない任意のメッセージ属性またはメッセージ本文値と一致します。anything-but は、"exists": false と組み合わせることができます。

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

"customer_interests": [{"anything-but": ["rugby", "tennis"]}]

このポリシー属性は、以下のメッセージ属性のいずれとも一致します。

"customer_interests": {"Type": "String", "Value": "baseball"}
"customer_interests": {"Type": "String", "Value": "football"}

以下のメッセージ本文のいずれとも一致します。

{ "customer_interests": "baseball" }
{ "customer_interests": "football" }

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

"customer_interests": {"Type": "String.Array", "Value": "[\"rugby\", \"baseball\"]"}

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

{ "customer_interests": ["rugby", "baseball"] }

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

"customer_interests": {"Type": "String", "Value": "rugby"}

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

{ "customer_interests": ["rugby"] }

anything-but 演算子でプレフィックスを使用する。

文字列一致では、anything-but 演算子と共にプレフィックスを使用することもできます。例えば、次のポリシープロパティが order- プレフィックスを拒否します。

"event":[{"anything-but": {"prefix": "order-"}}]

このポリシー属性は、以下の属性のいずれとも一致します。

"event": {"Type": "String", "Value": "data-entry"}
"event": {"Type": "String", "Value": "order_number"}

以下のメッセージ本文のいずれとも一致します。

{ "event": "data-entry" }
{ "event": "order_number" }

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

"event": {"Type": "String", "Value": "order-cancelled"}

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

{ "event": "order-cancelled" }

Equals-ignore-case 一致

ポリシープロパティに equals-ignore-case キーワードが含まれている場合、任意のメッセージ属性または本文プロパティ値を使用して、大文字と小文字を区別しない一致が実行されます。

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

"customer_interests": [{"equals-ignore-case": "tennis"}]

このポリシー属性は、以下のメッセージ属性のいずれとも一致します。

"customer_interests": {"Type": "String", "Value": "TENNIS"}
"customer_interests": {"Type": "String", "Value": "Tennis"}

以下のメッセージ本文のいずれとも一致します。

{ "customer_interests": "TENNIS" }
{ "customer_interests": "teNnis" {

IP アドレスマッチング

cidr 演算子を使用して、受信メッセージが特定の IP アドレスまたはサブネットから発信されているかどうかを確認できます。

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

"source_ip":[{"cidr": "10.0.0.0/24"}]

このポリシー属性は、以下のメッセージ属性のいずれとも一致します。

"source_ip": {"Type": "String", "Value": "10.0.0.0"}
"source_ip": {"Type": "String", "Value": "10.0.0.255"}

以下のメッセージ本文のいずれとも一致します。

{ "source_ip": "10.0.0.0" }
{ "source_ip": "10.0.0.255" }

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

"source_ip": {"Type": "String", "Value": "10.1.1.0"}

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

{ "source_ip": "10.1.1.0" }

プレフィックスマッチング

ポリシープロパティに prefix キーワードが含まれている場合、指定した文字で始まる任意のメッセージ属性または本文プロパティ値と一致します。

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

"customer_interests": [{"prefix": "bas"}]

このポリシー属性は、以下のメッセージ属性のいずれとも一致します。

"customer_interests": {"Type": "String", "Value": "baseball"}
"customer_interests": {"Type": "String", "Value": "basketball"}

以下のメッセージ本文のいずれとも一致します。

{ "customer_interests": "baseball" }
{ "customer_interests": "basketball" }

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

"customer_interests": {"Type": "String", "Value": "rugby"}

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

{ "customer_interests": "rugby" }

サフィックスマッチング

ポリシープロパティに suffix キーワードが含まれている場合、指定した文字で終わる任意のメッセージ属性または本文プロパティ値と一致します。

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

"customer_interests": [{"suffix": "ball"}]

このポリシー属性は、以下のメッセージ属性のいずれとも一致します。

"customer_interests": {"Type": "String", "Value": "baseball"}
"customer_interests": {"Type": "String", "Value": "basketball"}

以下のメッセージ本文のいずれとも一致します。

{ "customer_interests": "baseball" }
{ "customer_interests": "basketball" }

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

"customer_interests": {"Type": "String", "Value": "rugby"}

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

{ "customer_interests": "rugby" }