Amazon EventBridge イベント
イベントとは、AWS 環境、SaaS パートナーサービスやアプリケーション、またはお客様のアプリケーションやサービスなどの環境での変化を示します。以下は、イベントの例です。
-
インスタンスの状態が保留中から実行中に変更されると、Amazon EC2 はイベントを生成します。
-
Amazon EC2 Auto Scaling は、インスタンスを起動または終了するときにイベントを生成します。
-
AWS CloudTrail は、API コールを行ったときにイベントを発行します。
定期的に生成される予定されたイベントをセットアップすることもできます。
各サービスのサンプルイベントなど、イベントを生成するサービスの一覧については、「AWS サービスからのイベント」を参照し、表のリンクに従ってください。
イベントは JSON オブジェクトとして表現され、同じような構造をしています。トップレベルのフィールドも同じです。
[detail] の最上位のフィールドの内容は、どのサービスがイベントを生成したか、そのイベントが何であるかによって異なります。[source] フィールドと [detail-type] フィールドの組み合わせは、[detail] フィールドで見つかるフィールドと値を識別するために役立ちます。AWS のサービスにより生成されたイベントの例については、「AWS サービスからのイベント」を参照してください。
次のビデオでは、イベントの基本について説明します。
次のビデオでは、イベントが EventBridge に到達する方法を説明します。
イベントには、次のフィールドが表示されます。
- バージョン
-
デフォルトでは、これはすべてのイベントで 0(ゼロ)に設定されます。
- id
-
イベントごとに生成されるバージョン 4 UUID。
id
を使用すると、ルールからターゲットに移動するときのイベントをトレースできます。 - detail-type (ディテールタイプ)
-
[source] フィールドと組み合わせて、[detail] フィールドに表示されるフィールドと値を識別します。
CloudTrail によって送信されたイベントは、
AWS API Call via CloudTrail
の値がdetail-type
になっています。 - ソース
-
イベントを発生させたサービスを識別します。AWS サービスからのイベントはすべて、「AWS」で始まります。顧客から発生したイベントは、「aws」で始まらない限り、このフィールドに値があります。Java パッケージ名のスタイルには逆ドメイン名の文字列を使用することをお勧めします。
AWS サービスのために
source
の正しい値を確認するには、条件キーテーブルを参照してください。リストからサービスを選択し、[service prefix] (サービスプレフィックス)を探してください。例えば、Amazon CloudFront のsource
値はaws.cloudfront
です。 - アカウント
-
AWS アカウントを識別する 12 桁の数字。
- time
-
イベントを発生したサービスによって指定できるイベントのタイムスタンプ。イベントが時間間隔にまたがる場合、サービスは開始時間をレポートできるため、この値は、イベントが受け取られるより前の時間になることがあります。
- region
-
イベントが発生した AWS リージョンを識別します。
- リソース
-
JSON 配列に、イベントにかかわるリソースを識別する ARN が格納されます。これらの ARN を含めるかどうかは、イベントを生成するサービスによって決まります。例えば、Amazon EC2 インスタンスの状態変更では、Amazon EC2 インスタンス ARN が格納され、Auto Scaling イベントでは、インスタンスと Auto Scaling グループの両方の ARN が格納されますが、AWS CloudTrail での API コールでは、リソース ARN は格納されせん。
- detail
-
イベントに関する情報を含む JSON オブジェクト。このフィールドの内容は、イベントを生成するサービスによって決まります。詳細なコンテンツでも、2 つのフィールド程度に単純にすることができます。AWSAPI コールイベントには、およそ 50 個のフィールドが何層も入れ子になった detail オブジェクトがあります。
Amazon EventBridge の次のイベントは、Amazon EC2 インスタンスが終了することを示します。
{
"version": "0",
"id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718",
"detail-type": "EC2 Instance State-change Notification",
"source": "aws.ec2",
"account": "111122223333",
"time": "2017-12-22T18:43:48Z",
"region": "us-west-1",
"resources": [
"arn:aws:ec2:us-west-1:123456789012:instance/i-1234567890abcdef0"
],
"detail": {
"instance-id": " i-1234567890abcdef0",
"state": "terminated"
}
}
有効なカスタムイベントに必要な最小限の情報
カスタムイベントを作成する場合、次のフィールドが含まれている必要があります。
detail
– イベントに関する情報を含む JSON オブジェクト。"{}"
とすることができます。detail-type
- イベントの種類を識別するための文字列。source
— イベントのソースを識別する文字列。顧客から発生したイベントは、「aws」で始まらない限り、このフィールドに値があります。Java パッケージ名のスタイルには逆ドメイン名の文字列を使用することをお勧めします。