

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

# Amazon Quick Sight イベントを に送信するルールの作成 AWS Lambda
<a name="events-send-lambda"></a>

このチュートリアルでは、Amazon Quick Sight アカウントのアセットイベントをログに記録する AWS Lambda 関数を作成します。その後、アセットが変更されるたびに関数を実行するルールを作成します。このチュートリアルでは、Amazon Quick Sight にサインアップ済みであることを前提としています。

**ステップ 1: Lambda 関数を作成する**

状態変更イベントのログを記録する Lambda 関数を作成します。ルールを作成するときに、この関数を指定します。

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/) で AWS Lambda コンソールを開きます。

1. Lambda を初めて使用する場合は、ウェルカムページを参照してください。[**今すぐ始める**] を選択します。それ以外の場合は、[**関数の作成**] を選択します。

1. [**Author from scratch**] を選択します。

1. [関数を作成] ページで、Lambda 関数の名前と説明を入力します。例えば、関数名を `QuickSightAssetChangeFn` とします。

1. **[ランタイム]** では、**[Node.js 18.x]** を選択します。

1. **[アーキテクチャ]** で **[x86\$164]** を選択します。

1. **[実行ロール]** で、**[基本的な Lambda 許可を持つ新しいロールを作成]** または **[既存のロールを使用]** を選択し、必要なロールを選択します。

1. [**関数の作成**] を選択してください。

1. **[QuickSightAssetChange]** ページで、**[index.js]** を選択します。

1. で、[**index.js**] ウィンドウで、既存のコードを削除します。

1. 次のコードスニペットを入力します。

   ```
   console.log('Loading function');
   exports.handler = async (event, context) => {
     console.log('Received QuickSight event:', JSON.stringify(event));
   };
   ```

1. [**Deploy**‬] (デプロイ) をクリックします。

**ステップ 2: ルールを作成する**

Amazon Quick Sight アセットcreate/update/deleteたびに Lambda 関数を実行するルールを作成します。

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) で Amazon EventBridge コンソールを開きます。

1. ナビゲーションペインで **[ルール]** を選択します。

1. **[ルールの作成]** を選択します。

1. ルールの名前と説明を入力します。例えば、「`QuickSightAssetChangeRule`」と入力します。

1. **デフォルト**のイベントバスを選択します。

1. **[Rule with an event pattern]** (イベントパターンを持つルール) を選択してから、**[Next]** (次へ) を選択します。

1. **[イベントソース]** で、**[AWS イベントまたは EventBridge パートナーイベント]** を選択してください。

1. **[作成方法]** セクションで、**[カスタムパターン (JSON エディタ)]** を選択します。

1. **[イベントパターン]** テキストボックスに次のスニペットを入力し、**[次へ]** を選択します。

   ```
   {
     "source": ["aws.quicksight"]
   }
   ```

   または、Amazon Quick Sight のイベントタイプのサブセットのみをサブスクライブするルールを作成することもできます。例えば、次のルールは、ID `77e307e8-b41b-472a-90e8-fe3f471537be` のフォルダにアセットが追加されたり、そこから削除されたりした場合にのみトリガーされます。

   ```
   {
     "source": ["aws.quicksight"],
     "detail-type": ["QuickSight Folder Membership Updated"],
     "detail": {
       "folderId": "77e307e8-b41b-472a-90e8-fe3f471537be"
     }
   }
   ```

1. **[ターゲットの種類]** で、**[AWS サービス]** と **[Lambda 関数]** を選択します。

1. **[Function]** (関数) では、作成した Lambda 関数を選択します。次いで、**[次へ]** を選択します。

1. **[Configure Tags]** (タグの設定) で、**[Next]** (次へ) を選択します。

1. ルール内の手順を確認します。次に、**[Create rule]** (ルールの作成) を選択します。

**ステップ 3: ルールをテストする**

ルールをテストするには、分析を作成します。1 分待った後、Lambda 関数が呼び出されたことを確認します。

1. [https://quicksight.aws.amazon.com/](https://quicksight.aws.amazon.com/) で Amazon Quick Sight コンソールを開きます。

1. 新しい分析を作成します。

1. ナビゲーションペインで、[**ルール**] を選択し、作成したルールの名前を選択します。

1. **[ルールの詳細]** で、**[モニタリング]** を選択します。

1. Amazon CloudWatch コンソールにリダイレクトされます。リダイレクトされない場合は、**[CloudWatch でメトリクスを表示]** を選択します。

1. [**すべてのメトリクス**] で、作成したルールの名前を選択します。グラフは、ルールが呼び出されたことを示しています。

1. ナビゲーションペインで、[**ロググループ**] を選択します。

1. Lambda 関数のロググループの名前を選択します。例えば、`/aws/lambda/function-name`。

1. 起動したインスタンスの関数によって提供されるデータを表示するログのストリーミング名を選択します。次のような受信イベントが表示されます。

   ```
   {
     "version": "0",
     "id": "3acb26c8-397c-4c89-a80a-ce672a864c55",
     "detail-type": "QuickSight Analysis Creation Successful",
     "source": "aws.quicksight",
     "account": "123456789012",
     "time": "2023-10-30T22:06:31Z",
     "region": "us-east-1",
     "resources": ["arn:aws:quicksight:us-east-1:123456789012:analysis/e5f37119-e24c-4874-901a-af9032b729b5"],
     "detail": {
       "analysisId": "e5f37119-e24c-4874-901a-af9032b729b5"
     }
   }
   ```

JSON 形式の Amazon Quick Sight イベントの例については、[「Amazon Quick Sight のイベントの概要](https://docs.aws.amazon.com/quicksight/latest/developerguide/events.html)」を参照してください。