

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

# 文字列値の一致
<a name="string-value-matching"></a>

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

## 完全一致
<a name="string-exact-matching"></a>

完全一致は、ポリシープロパティ値が 1 つ以上のメッセージ属性値と一致した場合に発生します。`String.Array` 型属性の場合、配列内の各要素は、マッチングのために個別の文字列として扱われます。

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

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

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

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

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

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

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

```
{
   "customer_interests": "rugby"
}
```

```
{
   "customer_interests": "tennis"
}
```

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

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

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

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

```
{
   "customer_interests": "baseball"
}
```

## 「以外」のマッチング
<a name="string-anything-but-matching"></a>

ポリシープロパティ値にキーワード `anything-but` が含まれている場合、そのキーワードは、ポリシープロパティ値を*含まない*任意のメッセージ属性またはメッセージ本文値と一致します。`anything-but` は、`"exists": false` と組み合わせることができます。`String.Array` 型属性の場合、配列のどの要素もポリシープロパティに含まれていなければ、このマッチングは一致します。

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

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

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

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

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

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

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

```
{
   "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": {"Type": "String.Array", "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"
}
```

**anything-but ワイルドカード**

次のポリシープロパティは、`*ball` ワイルドカードを拒否します。

```
"customer_interests" : [{ "anything-but": { "wildcard": "*ball" }}]
```

このポリシー属性は、次の属性と一致します。

```
{"customer_interests": ["hockey", "rugby", "soccer] }
```

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

```
{"customer_interests": ["baseball", "basketball"] }
```

**anything-but サフィックス** 

次のポリシープロパティは、`-ball`

 サフィックスを拒否します。

```
"customer_interests": [ { "anything-but": { "suffix": "ball" } } ]
```

このポリシー属性は、次の属性と一致します。

```
{"customer_interests": ["hockey", "rugby", "soccer] }
```

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

```
 {"customer_interests": ["baseball", "basketball"] }
```

## Equals-ignore-case マッチング
<a name="string-equals-ignore"></a>

ポリシープロパティに `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 アドレスマッチング
<a name="string-address-matching"></a>

`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"
}
```

## プレフィックスマッチング
<a name="string-prefix-matching"></a>

ポリシープロパティに `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"
}
```

## サフィックスマッチング
<a name="string-suffix-matching"></a>

ポリシープロパティに `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"
}
```

## ワイルドカード
<a name="string-value-wildcard"></a>

 ワイルドカード文字 (\*) を使用してイベントパターン内の文字列値と一致させることができます。

次のポリシーでは、ワイルドカード (\*) 文字を使用しています。

```
"customer_interests": [ { "wildcard": "*ball" } ]
```

このポリシー属性は、次の属性と一致します。

```
{"customer_interests": ["baseball", "basketball"] }
```