

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

# Amazon Connect Cases のイベントストリームの設定
<a name="case-event-streams-enable"></a>

このトピックでは、ケースイベントストリームを設定および使用する方法について説明します。一部のオンボーディングのステップでは、[Amazon Connect Cases API](https://docs.aws.amazon.com/cases/latest/APIReference/Welcome.html) を呼び出す必要があります。

## ステップ 1: Amazon Connect インスタンスを作成し、Customer Profiles を有効にする
<a name="step1-case-event-streams-enable"></a>

1. ケースが使用可能な AWS リージョン のいずれかで、稼働する Amazon Connect インスタンスがあることを確認します。「[リージョン別の Cases の利用可能性](regions.md#cases_region)」を参照してください。

1. Amazon Connect Customer Profiles を有効にします。手順については、「[Amazon Connect インスタンスで Customer Profiles を有効にする](enable-customer-profiles.md)」を参照してください。

   Amazon Connect Cases には Customer Profiles が必要です。これは、各ケースが Customer Profiles サービスの顧客プロファイルに関連付けられている必要があるためです。

## ステップ 2: Amazon Connect インスタンスに Cases ドメインを追加する
<a name="step2-case-event-streams-enable"></a>

手順については、「[Amazon Connect コンソールを使用したケースを有効にする](enable-cases.md)」を参照してください。

API を使用してケースドメインを追加する場合は、「*Amazon Connect Cases API リファレンス*」の「[CreateDomain API](https://docs.aws.amazon.com/cases/latest/APIReference/API_CreateDomain.html)」を参照してください。

## ステップ 3: ケーステンプレートを作成する
<a name="step3-case-event-streams-enable"></a>

[ケーステンプレートを作成する](case-templates.md) *ステップ 6: ケースイベントストリームをテストする*では、テンプレートを使用します。

API を使用してケーステンプレートを作成する場合は、「*Amazon Connect Cases API リファレンス*」の「[CreateTemplate API](https://docs.aws.amazon.com/cases/latest/APIReference/API_CreateTemplate.html)」を参照してください。

## ステップ 4: ケースイベントストリームを有効にし、SQS キューにイベントを受信するように設定する
<a name="step4-case-event-streams-enable"></a>

次のコマンドを実行して、Cases ドメインのケースイベントストリームを有効にします。このコマンドの実行後、ケースが作成または更新されると、イベントがアカウントの EventBridge サービスのデフォルトバスに発行されます (Cases ドメイン AWS リージョン と同じ に存在する必要があります）。

```
aws connectcases put-case-event-configuration --domain-id {{dad5efb6-8485-4a55-8241-98a88EXAMPLE}} --event-bridge enabled=true
```

デフォルトでは、Amazon Connect Cases によって発行されたイベントには、`templateId`、`caseId`、`caseArn`、`approximateChangeTime` などのケースに関するメタデータのみが含まれます。次のコマンドを実行して、(イベントの生成時点における) ケースに関する詳細情報を取得して、イベントに含まれるようにすることができます。

**注記**  
イベントにカスタムフィールドを含めるようにするには、カスタムフィールド ID を使用します。カスタムフィールド ID の検索方法については、「[カスタムフィールド ID を見つける](cases-block.md#get-case-properties-find-uuid)」を参照してください。

```
# You can include any other field defined in your cases domain in the fields section.
# To list the fields that are defined in your cases domain, call the Cases ListFields API.
# To include case fields that you create (custom fields) in the event, enter the custom field ID.
aws connectcases put-case-event-configuration --domain-id {{YOUR_CASES_DOMAIN_ID}} --event-bridge "{
    \"enabled\": true, 
    \"includedData\": {
       \"caseData\": {
          \"fields\": [
          {
          \"id\": \"status\"
          },
          {
          \"id\": \"title\"
          },
          {
          \"id\": \"customer_id\"
          },
         {
          \"id\": \"{{your custom field ID}}\"
          }
        ]
      },
      \"relatedItemData\": {
      \"includeContent\": true
      }
    }
  }"
```

次に、Amazon SQS キューを作成し、それを EventBridge バスにおける Amazon Connect Cases イベントのターゲットとして設定して、後で処理できるようにすべてのケースイベントが SQS キューに配信されるようにします。

```
# Create an SQS queue
aws sqs create-queue --queue-name case-events-queue --attributes "{\"Policy\": \"{ \\\"Version\\\": \\\"2012-10-17\\\", \\\"Statement\\\": [{ \\\"Sid\\\": \\\"case-event-subscription\\\", \\\"Effect\\\": \\\"Allow\\\", \\\"Principal\\\": { \\\"Service\\\": \\\"events.amazonaws.com\\\"}, \\\"Action\\\": \\\"SQS:SendMessage\\\", \\\"Resource\\\": \\\"*\\\"}]}\"}"

# Create an rule on the EventBridge default bus that represents the case events
aws events put-rule --name case-events-to-sqs-queue --event-pattern "{\"source\": [\"aws.cases\"]}" --state ENABLED

# Ask event bridge to publish case events to the SQS queue.
aws events put-targets --rule case-events-to-sqs-queue --target "[{
\"Id\": \"target-1\",
\"Arn\": \"arn:aws:sqs:{{The AWS Region of your Amazon Connect instance}}:{{your AWS account ID}}:case-events-queue\"
}]"
```

## ステップ 5: ケースイベントストリームをテストする
<a name="step5-case-event-streams-enable"></a>

Amazon Connect エージェントアプリケーションを使用して、次のことを行います。

1. チャットの連絡先を承諾します。

1. 顧客プロファイルを作成し、それをチャットの問い合わせに関連付けます。

1. ケースを作成します。
**注記**  
**[Cases]** タブの **[Create case]** (ケースを作成) ボタンは、問い合わせを受け入れて、その問い合わせを顧客プロファイルに関連付けるまで非アクティブです。

Amazon SQS コンソールに移動し、新しく作成されたケースのケースイベント (タイプ:`CASE.CREATED`) が SQS キューで利用可能であることを確認します。同様に、上記で作成したケースを変更して、SQS キューで対応するケースイベント (タイプ: `CASE.UPDATED`) を取得できます。問い合わせをケースに関連付けて、ケースにコメントを残し、それらのアクションのケースイベントを取得することもできます。

## ステップ 6: ケースイベントストリームのユースケース
<a name="step6-case-event-streams-enable"></a>

ケースイベントストリームは、ケースの作成、ケースの更新、連絡先のケースへの関連付け、ケースへのコメントの追加のたびに、イベントを発行します。これらのイベントは次の目的で使用できます。
+ メトリクス、分析、ダッシュボード
+ ユーザーに通知する (E メールを送信するなど) アプリケーションを構築する
+ 特定のタイプのケース更新に基づいてトリガーされる自動アクション

例えば、EventBridge で SQS ターゲットを使用して (ステップ 4 を参照)、ケースイベントを SQS キューに一時的に保存したり、Lambda 関数を使用して SQS でイベントを処理して、カスタムアプリケーションを構築したりできます (ケースが更新されたときに顧客にメールを送信し、ケースにリンクされたタスクを自動的に解決するなど)。同様に、EventBridge の Firehose ターゲットを使用してケースイベントを S3 バケットに保存し、ETL AWS Glue には 、アドホック分析には Athena、ダッシュボードには Quick を使用できます。