翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon のイベントバスターゲット EventBridge
ターゲットは、イベントがルール に定義されたイベントパターンと一致するときにイベントを EventBridge に送信するリソースまたはエンドポイントです。 Amazon のルール EventBridgeルールはイベントデータを処理し、関連情報をターゲットに送信します。イベントデータをターゲットに配信するには、ターゲットリソースにアクセスするためのアクセス許可 EventBridge が必要です。ルールごとに最大 5 つのターゲットを定義できます。
ルールにターゲットを追加し、その直後にルールが実行されると、新しいターゲットまたは更新されたターゲットがすぐに呼び出されない場合があります。変更が有効になるまで、しばらくお待ちください。
次のビデオでは、ターゲットの基本について説明します。
コンソールで使用できる EventBridgeイベントバスターゲット
EventBridge コンソールでは、次のイベントターゲットを設定できます。
-
CodePipeline
-
Amazon EBS
CreateSnapshot
APIコール -
EC2 Image Builder
-
EC2
RebootInstances
API 呼び出し -
EC2
StopInstances
API 呼び出し -
EC2
TerminateInstances
API 呼び出し -
Firehose 配信ストリーム
-
Glue ワークフロー
-
Inspector 評価テンプレート
-
Kinesis ストリーミング
-
Lambda 関数 (ASYNC)
-
SageMaker パイプライン
-
Amazon SNSトピック
EventBridge は Amazon SNS FIFO (先入れ先出し) トピック をサポートしていません。
-
Amazon SQSキュー
-
Step Functions ステートマシン (ASYNC)
-
Systems Manager Automation
-
Systems Manager OpsItem
-
Systems Manager Run Command
ターゲットパラメータ
一部のターゲットは、イベントペイロード内の情報をターゲットに送信しません。代わりに、イベントを特定の を呼び出すトリガーとして扱いますAPI。 は、ターゲットパラメータ EventBridge を使用して、そのターゲットで何が起こるかを決定します。これには以下が含まれます。
-
API 送信先 (API送信先に送信されるデータは、 の構造と一致する必要がありますAPI。
InputTransformer
オブジェクトを使用して、データが正しく構造化されていることを確認する必要があります。 元のイベントペイロードを含める場合は、 で参照しますInputTransformer
。) -
API Gateway (APIGateway に送信されるデータは、 の構造と一致する必要がありますAPI。
InputTransformer
オブジェクトを使用して、データが正しく構造化されていることを確認する必要があります。 元のイベントペイロードを含める場合は、 で参照しますInputTransformer
。) -
Amazon EC2 Image Builder
-
RedshiftDataParameters
(Amazon Redshift データAPIクラスター) -
SageMakerPipelineParameters
(Amazon SageMaker Runtime Model Building Pipelines)
注記
EventBridge は、すべての Path JSON 構文をサポートしているわけではなく、実行時に評価します。サポートされている構文には以下が含まれます。
ドット表記 (
$.detail
など)ダッシュ
下線
アルファベットの文字
配列インデックス
ワイルドカード (*)
動的パスパラメータ
一部のターゲットパラメータは、オプションの動的JSONパス構文をサポートしています。この構文では、静的な値 (例: ) の代わりにJSONパスを指定できます$.detail.state
。値全体は、その一部だけでなく、JSONパスである必要があります。例えば、RedshiftParameters.Sql
は $.detail.state
とすることができますが、"SELECT * FROM $.detail.state"
とすることはできません。このようなパスは、実行時に、指定されたパスにあるイベントペイロード自体のデータで動的に置き換えられます。動的パスパラメータは、入力変換の結果として生じる新しい値または変換された値を参照できません。動的パラメータJSONパスでサポートされている構文は、入力を変換する場合と同じです。詳細については、「Amazon EventBridge 入力変換」を参照してください
動的構文は、これらのパラメータのすべての文字列の非列挙型フィールドで使用できます。
-
HttpParameters
(HeaderParameters
キーを除く)
アクセス許可
所有しているリソースをAPI呼び出すには、適切なアクセス許可 EventBridge が必要です。 AWS Lambda および Amazon SNSリソースの場合、 はリソースベースのポリシー EventBridge を使用します。EC2 インスタンス、Kinesis データストリーム、および Step Functions ステートマシンでは、 の RoleARN
パラメータで指定したIAMロール EventBridge を使用しますPutTargets
。IAM 認証を設定して API Gateway エンドポイントを呼び出すことはできますが、認証を設定していない場合、ロールはオプションです。詳細については、「Amazon EventBridge および AWS Identity and Access Management」を参照してください。
別のアカウントが同じリージョンにあって、許可を付与されている場合は、そのアカウントにイベントを送信できます。詳細については、「Amazon の AWS アカウント間でのイベントの送受信 EventBridge」を参照してください。
ターゲットが暗号化されている場合は、KMSキーポリシーに次のセクションを含める必要があります。
{ "Sid": "Allow EventBridge to use the key", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" }
AWS Batch ターゲットとしてのジョブキュー
特定の AWS Batch submitJob
パラメータは、 を介して設定できますBatchParameters。
その他はイベントペイロードで指定できます。イベントペイロード ( 経由または 経由InputTransformers) に次のキーが含まれている場合、それらはsubmitJob
リクエストパラメータ にマッピングされます。
ContainerOverrides: containerOverrides
注記
これには、コマンド、環境、メモリ、および VCPU のみが含まれます
DependsOn: dependsOn
注記
これには、 のみが含まれます。 jobId
Parameters: parameters
CloudWatch グループをターゲットとしてログに記録します
CloudWatch Logs ターゲットInputTransformerで を使用しない場合、イベントペイロードがログメッセージとして使用され、イベントのソースがタイムスタンプとして使用されます。を使用する場合 InputTransformer、テンプレートは次の条件を満たす必要があります。
{"timestamp":<timestamp>,"message":<message>}
EventBridge は、ログストリームに送信されたエントリをバッチ処理するため、トラフィックに応じて 1 つまたは複数のイベントをログストリームに配信 EventBridge できます。
CodeBuild ターゲットとしてのプロジェクト
InputTransformers を使用して入力イベントを構造に一致する CodeBuild StartBuildRequestターゲットにシェイプすると、パラメータは 1 対 1 にマッピングされ、 に渡されますcodeBuild.StartBuild
。
ターゲットとしての Amazon ECSタスク
InputTransformers を使用して入力イベントを Amazon ECS RunTask TaskOverride構造に一致するターゲットにシェイプする場合、パラメータは 1 対 1 にマッピングされ、 に渡されますecs.RunTask
。
Incident Manager のターゲットとしての対応計画
一致したイベントが CloudWatch アラームから発生した場合、アラーム状態の変更の詳細が Incident Manager への StartIncidentRequest 呼び出しのトリガーの詳細に入力されます。