Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Target bus acara di Amazon EventBridge
Target adalah sumber daya atau titik akhir yang EventBridge mengirimkan peristiwa ke saat peristiwa cocok dengan pola peristiwa yang ditentukan untuk aturan. Aturan memproses data peristiwa dan mengirimkan informasi yang berkaitan ke target. Untuk mengirimkan data peristiwa ke target, EventBridge perlu izin untuk mengakses sumber daya target. Anda dapat menentukan hingga lima target untuk setiap aturan.
Ketika Anda menambahkan target ke aturan dan aturan tersebut berjalan segera setelah itu, setiap target baru atau diperbarui mungkin tidak segera dipanggil. Berikan waktu yang singkat agar perubahan diterapkan.
Target bus acara tersedia di EventBridge konsol
Anda dapat mengonfigurasi jenis target berikut untuk aturan di EventBridge konsol:
Tujuan API
Tujuan API adalah titik akhir HTTPS yang dapat Anda panggil sebagai target aturan bus acara. Saat Anda menentukan tujuan API sebagai target aturan, memang EventBridge gil titik akhir HTTPS untuk setiap peristiwa yang cocok dengan pola peristiwa yang ditentukan dalam aturan, dan kemudian mengirimkan informasi peristiwa dengan permintaan. Untuk informasi selengkapnya, lihat Tujuan API.
Bus acara
Anda dapat menentukan bus acara lainnya sebagai target aturan. Ini termasuk bus acara di AWS akun yang sama atau berbeda.
AWS layanan
Anda dapat EventBridge mengirim acara ke sejumlah sumber daya AWS layanan. Ini termasuk:
-
CodePipeline
-
Panggilan
CreateSnapshotAPI Amazon EBS -
EC2 Image Builder
-
Panggilan
RebootInstancesAPI EC2 -
Panggilan
StopInstancesAPI EC2 -
Panggilan
TerminateInstancesAPI EC2 -
Aliran pengiriman Firehose
-
Alur kerja lem
-
Templat penilaian inspektur
-
Aliran Kinesis
-
Fungsi Lambda (ASYNC)
-
SageMaker Saluran pipa AI
-
Topik Amazon SNS
-
Fungsi langkah mesin status (ASYNC)
-
Otomatisasi Systems Manager
-
Manajer Sistem OpsItem
-
Run Command Systems Manager
Parameter terget
Beberapa target tidak mengirim informasi dalam payload acara ke target, sebaliknya, mereka memperlakukan peristiwa sebagai pemicu untuk memanggil API tertentu. EventBridge menggunakan parameter Target untuk menentukan apa yang terjadi dengan target itu. Sumber daya yang dimaksud meliputi:
-
Tujuan API
Data yang dikirim ke tujuan API harus sesuai dengan struktur API. Gunakan
InputTransformerobjek untuk memastikan data terstruktur dengan benar. Jika Anda ingin menyertakan payload acara asli, rujuk diInputTransformer. -
API Gateway
Data yang dikirim ke API Gateway harus sesuai dengan struktur API. Gunakan
InputTransformerobjek untuk memastikan data terstruktur dengan benar. Jika Anda ingin menyertakan payload acara asli, rujuk diInputTransformer. -
EC2 Image Builder Amazon
-
Cluster API Data Amazon Redshift
Gunakan
RedshiftDataParameters. -
Pipa SageMaker Pembuatan Model Runtime Amazon
Gunakan
SageMakerPipelineParameters. -
Amazon SQS fair dan antrian FIFO
Gunakan
SqsParametersuntuk menentukan grup pesan yang akan digunakan sebagai target. -
Run Command Systems Manager
Gunakan
RunCommandParametersuntuk menentukan dokumen SSM dan instance target. Untuk informasi selengkapnya, lihat System Manager Run Command sebagai target.
catatan
EventBridge tidak mendukung semua sintaks JSON Path dan mengevaluasinya saat runtime. Sintaks yang didukung meliputi:
notasi titik (misalnya,
$.detail)tanda hubung
menggarisbawahi
karakter alfanumerik
indeks array
karakter pengganti (*)
garis miring ke depan
Parameter jalur dinamis
Parameter jalur dinamis memungkinkan Anda menggunakan sintaks jalur JSON untuk mereferensikan data peristiwa saat runtime alih-alih nilai statis.
Anda dapat menggunakan sintaks jalur JSON dinamis dengan parameter target untuk menentukan jalur JSON alih-alih nilai statis (misalnya,$.detail.state).
Persyaratan
Seluruh nilai harus berupa jalur JSON, bukan hanya bagian darinya. Contoh:
-
✓ Benar:
RedshiftParameters.Sqlbisa$.detail.state -
✗ Salah:
RedshiftParameters.Sqltidak bisa"SELECT * FROM $.detail.state"
EventBridge menggantikan jalur ini saat runtime dengan data dari muatan peristiwa di jalur yang ditentukan.
Batasan
Parameter jalur dinamis tidak dapat mereferensikan nilai baru atau diubah dari transformasi input. Sintaks jalur JSON sama dengan sintaks transformasi input. Untuk informasi selengkapnya, lihat Transformasi EventBridge masukan Amazon.
Parameter yang didukung
Anda dapat menggunakan sintaks dinamis pada semua string, bidang non-enum dari parameter ini:
-
HttpParameters(kecualiHeaderParameterskunci)
Izin
Untuk melakukan panggilan API pada sumber daya yang Anda miliki, EventBridge perlu izin yang sesuai. Tentukan peran eksekusi IAM menggunakan EventBridge konsol, atau dengan menyetel RoleARN parameter di PutTargets.
Misalnya, kebijakan berikut mendefinisikan izin untuk mengirim pesan ke antrian Amazon SQS:
Dan kebijakan kepercayaan berikut memungkinkan EventBridge untuk mengambil peran:
Anda dapat memanggil titik akhir API Gateway dengan otorisasi IAM yang dikonfigurasi, tetapi peran tersebut opsional jika Anda belum mengonfigurasi otorisasi. Untuk informasi selengkapnya, lihat Amazon EventBridge dan AWS Identity and Access Management.
Jika akun lainnya berada di Wilayah yang sama dan telah memberikan izin kepada Anda, maka Anda dapat mengirim peristiwa ke akun tersebut.
Untuk informasi selengkapnya, lihat Mengirim dan menerima acara antara AWS akun di Amazon EventBridge.
Jika target Anda, seperti antrian Amazon SQS, menggunakan enkripsi AWS Key Management Service (AWS KMS), Anda harus menyertakan bagian berikut dalam kebijakan kunci KMS Anda:
{ "Sid": "Allow EventBridge to use the key", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" }
AWS Batch antrian pekerjaan sebagai target
Parameter tertentu AWS Batch submitJob dapat dikonfigurasi melalui BatchParameters.
Lainnya dapat ditentukan dalam muatan acara. Jika muatan peristiwa (dilewatkan atau melalui InputTransformers) berisi kunci berikut, kunci tersebut dipetakan ke parameter submitJob permintaan:
ContainerOverrides: containerOverridescatatan
Ini hanya mencakup perintah, lingkungan, memori, dan vcpus
DependsOn: dependsOncatatan
Ini hanya mencakup JobID
Parameters: parameters
CloudWatch Log grup sebagai target
Jika Anda tidak menggunakan target InputTransformer dengan CloudWatch Logs, payload peristiwa digunakan sebagai pesan log, dan sumber peristiwa sebagai stempel waktu. Jika Anda menggunakan InputTransformer, template harus:
{"timestamp":<timestamp>,"message":<message>}
EventBridge menggabungkan entri yang dikirim ke aliran log; oleh karena itu, EventBridge dapat mengirimkan satu atau beberapa peristiwa ke aliran log, tergantung pada lalu lintas.
CodeBuild Proyek Sebagai Target
EventBridge mendukung build standar dan batch sebagai target.
Jika Anda menggunakan transformator input untuk membentuk peristiwa sumber agar sesuai dengan StartBuildRequest struktur sebelum dikirim ke CodeBuild target, parameter akan dipetakan 1-ke-1 dan dilewatkan ke codeBuild.StartBuild secara default.
Untuk meneruskan parameter ke codeBuild.StartBuildBatch sebagai gantinya, ubah peristiwa sumber agar StartBuildBatchRequest sesuai dengan struktur, dan tambahkan key/value pasangan berikut ke root peristiwa yang diubah:
"buildType": "BATCH"
Tugas Amazon ECS sebagai target
Jika Anda menggunakan InputTransformers untuk membentuk peristiwa input ke Target agar sesuai dengan RunTask TaskOverride struktur Amazon ECS, parameter akan dipetakan 1-ke-1 dan diteruskan ke. ecs.RunTask
Rencana respons Manajer Insiden sebagai target
Jika peristiwa yang cocok berasal dari CloudWatch Alarm, detail perubahan status alarm diisi ke dalam detail pemicu StartIncidentRequest panggilan ke Manajer Insiden.
Manajer Sistem Jalankan Perintah sebagai target
Saat Anda menentukan System Manager Run Command sebagai target, EventBridge memanggil SendCommand API atas nama Anda. Konfigurasikan target menggunakan RunCommandParameters, yang menentukan dokumen SSM untuk dijalankan dan instance atau tag target.
RunCommandParametersberisi bidang berikut:
-
RunCommandTargets— (Diperlukan) Daftar pasangan kunci-nilai yang menentukan instance target. GunakanKeyset keInstanceIdsdengan daftar ID instance, atauKeysetel ketag:dengan nilai tag untuk menargetkan instance berdasarkan tag. Anda dapat menentukan antara 1 dan 5 target perintah run.tag-name
Untuk menentukan dokumen SSM mana yang akan dijalankan dan meneruskan parameter ke sana, gunakan Input bidang pada Target objek. InputNilai harus berupa objek JSON dengan struktur berikut:
{
"DocumentName": "document-name",
"DocumentVersion": "version",
"Parameters": {
"parameter-key": ["parameter-value"]
}
}
Di mana:
-
DocumentName— Nama atau ARN dokumen SSM yang akan dijalankan. -
DocumentVersion— (Opsional) Versi dokumen. Jika dihilangkan, versi default digunakan. -
Parameters— (Opsional) Peta nama parameter ke array nilai, cocok dengan parameter yang ditentukan dalam dokumen SSM.
Misalnya, AWS CLI perintah berikut membuat aturan yang menjalankan AWS-RunShellScript dokumen pada instance tertentu ketika EventBridge acara cocok:
aws events put-targets --rule "my-rule" --targets '[{ "Id": "ssm-target-1", "Arn": "arn:aws:ssm:region:account-id:document/AWS-RunShellScript", "RoleArn": "arn:aws:iam::account-id:role/EventBridgeSSMRole", "Input": "{\\"Parameters\\":{\\"commands\\":[\\"echo Hello from EventBridge\\"]}}", "RunCommandParameters": { "RunCommandTargets": [{ "Key": "InstanceIds", "Values": ["i-0123456789abcdef0"] }] } }]'
catatan
Bid Input ang pada Target objek digunakan untuk meneruskan nama dokumen dan parameter ke System Manager Run Command. Ini berbeda dari InputTransformer, yang mengubah payload acara. Saat menggunakan System Manager Run Command sebagai target, atur parameter dokumen Input dan tentukan instance target diRunCommandParameters.
Antrian Amazon SQS sebagai target
EventBridge tidak mendukung penggunaan antrian Amazon SQS yang dienkripsi dengan. Kunci milik AWS Ini termasuk target, serta antrian Amazon SQS yang ditentukan sebagai antrian surat mati untuk target. Untuk informasi selengkapnya Kunci milik AWS, lihat kunci yang AWS dimiliki di Panduan AWS Key Management Service Pengembang.