翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
数値の一致
数値をメッセージ属性値またはメッセージ本文のプロパティ値に一致させることでメッセージをフィルタリングできます。数値は、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 までの正の数を持つメッセージ属性またはメッセージ本文プロパティと一致します。