AWS SDK untuk JavaScript V2 telah mencapai akhir dukungan. Kami menyarankan Anda bermigrasi ke AWS SDK untuk JavaScript v3. Untuk detail dan informasi tambahan tentang cara bermigrasi, silakan lihat pengumuman ini
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengirim Acara ke Acara CloudWatch Amazon
Contoh Node.js kode ini menunjukkan:
Cara membuat dan memperbarui aturan yang digunakan untuk memicu peristiwa.
Cara menentukan satu atau lebih target untuk menanggapi suatu peristiwa.
Cara mengirim peristiwa yang dicocokkan dengan target untuk ditangani.
Skenario
CloudWatch Events memberikan aliran peristiwa sistem yang hampir real-time yang menggambarkan perubahan sumber daya Amazon Web Services ke salah satu dari berbagai target. Dengan menggunakan aturan sederhana, Anda dapat mencocokkan peristiwa dan merutekan mereka ke satu atau lebih fungsi atau aliran target.
Dalam contoh ini, serangkaian Node.js modul digunakan untuk mengirim acara ke Ev CloudWatch ents. Node.js Modul menggunakan SDK JavaScript untuk mengelola instance menggunakan metode kelas CloudWatchEvents klien berikut:
Untuk informasi selengkapnya CloudWatch tentang Acara, lihat Menambahkan A PutEvents cara dengan di Panduan CloudWatch Pengguna Acara Amazon.
Tugas Prasyarat
Untuk mengatur dan menjalankan contoh ini, Anda harus menyelesaikan tugas ini terlebih dahulu:
Instal Node.js. Untuk informasi lebih lanjut tentang menginstal Node.js, lihat situs Node.js web
. Buat file konfigurasi bersama dengan kredenSIAL pengguna Anda. Untuk informasi selengkapnya tentang menyediakan file kredenSIAL bersama, lihatMemuat Kredensial di Node.js dari File Kredensial Bersama.
Buat fungsi Lambda menggunakan cetak biru hello-world untuk berfungsi sebagai target acara. Untuk mempelajari caranya, lihat Langkah 1: Membuat AWS Lambda fungsi di Panduan Pengguna CloudWatch Acara Amazon.
Buat peran IAM yang kebijakannya memberikan izin ke Acara CloudWatch dan yang disertakan
events.amazonaws.com.rproxy.govskope.casebagai entitas tepercaya. Untuk informasi selengkapnya tentang membuat peran IAM, lihat Membuat Peran untuk Mendelegasikan Izin ke AWS Layanan di Panduan Pengguna IAM.
Gunakan kebijakan peran berikut saat membuat peran IAM.
Gunakan hubungan kepercayaan berikut saat membuat peran IAM.
Membuat Aturan Terjadwal
Buat Node.js modul dengan nama filecwe_putrule.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses CloudWatch Acara, buat objek AWS.CloudWatchEvents layanan. Buat objek JSON yang berisi parameter yang diperlukan untuk menentukan aturan terjadwal baru, yang meliputi berikut ini:
Nama untuk aturan
ARN dari peran IAM yang Anda buat sebelumnya
Ekspresi untuk menjadwalkan pemicu aturan setiap lima menit
Panggil putRule metode untuk membuat aturan. Panggilan balik mengembalikan ARN dari aturan baru atau yang diperbarui.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create CloudWatchEvents service object var cwevents = new AWS.CloudWatchEvents({ apiVersion: "2015-10-07" }); var params = { Name: "DEMO_EVENT", RoleArn: "IAM_ROLE_ARN", ScheduleExpression: "rate(5 minutes)", State: "ENABLED", }; cwevents.putRule(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.RuleArn); } });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node cwe_putrule.js
Kode sampel ini dapat ditemukan di sini GitHub
Menambahkan a AWS Lambda Fungsi Target
Buat Node.js modul dengan nama filecwe_puttargets.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses CloudWatch Acara, buat objek AWS.CloudWatchEvents layanan. Buat objek JSON yang berisi parameter yang diperlukan untuk menentukan aturan yang ingin Anda lampirkan target, termasuk ARN fungsi Lambda yang Anda buat. Pang putTargets gil metode objek AWS.CloudWatchEvents layanan.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create CloudWatchEvents service object var cwevents = new AWS.CloudWatchEvents({ apiVersion: "2015-10-07" }); var params = { Rule: "DEMO_EVENT", Targets: [ { Arn: "LAMBDA_FUNCTION_ARN", Id: "myCloudWatchEventsTarget", }, ], }; cwevents.putTargets(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node cwe_puttargets.js
Kode sampel ini dapat ditemukan di sini GitHub
Mengirim Acara
Buat Node.js modul dengan nama filecwe_putevents.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses CloudWatch Acara, buat objek AWS.CloudWatchEvents layanan. Buat objek JSON yang berisi parameter yang diperlukan untuk mengirim acara. Untuk setiap acara, sertakan sumber acara, ARN dari sumber daya apa pun yang terpengaruh oleh acara, dan detail untuk acara tersebut. Pang putEvents gil metode objek AWS.CloudWatchEvents layanan.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create CloudWatchEvents service object var cwevents = new AWS.CloudWatchEvents({ apiVersion: "2015-10-07" }); var params = { Entries: [ { Detail: '{ "key1": "value1", "key2": "value2" }', DetailType: "appRequestSubmitted", Resources: ["RESOURCE_ARN"], Source: "com.company.app", }, ], }; cwevents.putEvents(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.Entries); } });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node cwe_putevents.js
Kode sampel ini dapat ditemukan di sini GitHub