Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Dalam tutorial ini, Anda akan membuat pipa yang menghubungkan sumber aliran DynamoDB ke target antrian AmazonSQS. Ini termasuk menentukan pola peristiwa untuk pipa yang akan digunakan saat memfilter peristiwa untuk dikirim ke antrian. Anda kemudian akan menguji pipa untuk memastikan bahwa hanya acara yang diinginkan yang dikirimkan.
Prasyarat: Buat sumber dan target
Sebelum Anda membuat pipa, Anda harus membuat sumber dan menargetkan bahwa pipa akan terhubung. Dalam hal ini, aliran data Amazon DynamoDB bertindak sebagai sumber pipa, dan antrian SQS Amazon sebagai target pipa.
Untuk menyederhanakan langkah ini, Anda dapat menggunakan AWS CloudFormation untuk menyediakan sumber dan sumber daya target. Untuk melakukan ini, Anda akan membuat CloudFormation template yang mendefinisikan sumber daya berikut:
-
Sumber pipa
Tabel Amazon DynamoDB,
pipe-tutorial-source
bernama, dengan aliran diaktifkan untuk menyediakan aliran informasi yang diurutkan tentang perubahan item dalam tabel DynamoDB. Target pipa
SQSAntrian Amazon, bernama
pipe-tutorial-target
, untuk menerima aliran peristiwa DynamoDB dari pipa Anda.
Untuk membuat CloudFormation template untuk penyediaan sumber daya pipa
Salin teks JSON templat di AWS CloudFormation template untuk menghasilkan prasyarat bagian, di bawah ini.
Simpan template sebagai JSON file (misalnya,
~/pipe-tutorial-resources.json
).
Selanjutnya, gunakan file template yang baru saja Anda buat untuk menyediakan CloudFormation tumpukan.
catatan
Setelah Anda membuat CloudFormation tumpukan Anda, Anda akan dikenakan biaya untuk AWS sumber daya yang disediakannya.
Menyediakan prasyarat tutorial menggunakan AWS CLI
Jalankan CLI perintah berikut, di mana
--template-body
menentukan lokasi file template Anda:aws cloudformation create-stack --stack-name
pipe-tuturial-resources
--template-body file://~/pipe-tutorial-resources.json
Ketentuan prasyarat tutorial menggunakan konsol CloudFormation
-
Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation
. Pilih Tumpukan, lalu pilih Buat tumpukan, dan pilih dengan sumber daya baru (standar).
CloudFormation menampilkan wizard Buat tumpukan.
Untuk Prasyarat - Siapkan template, biarkan default, Template siap, dipilih.
Di bawah Tentukan templat, pilih Unggah file templat, lalu pilih file dan pilih Berikutnya.
-
Konfigurasikan tumpukan dan sumber daya yang akan disediakannya:
Untuk Nama tumpukan, masukkan
pipe-tuturial-resources
.Untuk Parameter, tinggalkan nama default untuk tabel DynamoDB dan antrian Amazon. SQS
Pilih Selanjutnya.
Pilih Berikutnya, lalu pilih Kirim.
CloudFormation membuat tumpukan dan menyediakan sumber daya yang ditentukan dalam template.
Untuk informasi lebih lanjut tentang CloudFormation, lihat Apa itu AWS CloudFormation? dalam AWS CloudFormation User Guide.
Langkah 1: Buat pipa
Dengan sumber pipa dan target yang disediakan, Anda sekarang dapat membuat pipa untuk menghubungkan dua layanan.
Buat pipa menggunakan EventBridge konsol
Buka EventBridge konsol Amazon di https://console.aws.amazon.com/events/
. Pada panel navigasi, pilih Pipa.
Pilih Buat pipa.
Untuk Nama, beri nama pipa Anda
pipe-tutorial
.Tentukan sumber aliran data DynamoDB:
Di bawah Detail, untuk Sumber, pilih aliran data DynamoDB.
EventBridge menampilkan pengaturan konfigurasi sumber khusus DynamoDB.
Untuk aliran DynamoDB, pilih.
pipe-tutorial-source
Biarkan posisi Mulai diatur ke default,
Latest
.Pilih Selanjutnya.
Tentukan dan uji pola acara untuk memfilter peristiwa:
Penyaringan memungkinkan Anda untuk mengontrol peristiwa mana yang dikirim pipa ke pengayaan atau target. Pipa hanya mengirimkan peristiwa yang cocok dengan pola acara ke pengayaan atau target.
Untuk informasi selengkapnya, lihat Pemfilteran acara di Amazon Pipes EventBridge .
catatan
Anda hanya ditagih untuk acara-acara yang dikirim ke pengayaan atau target.
Di bawah Contoh acara - opsional, biarkan AWS acara dipilih, dan pastikan bahwa DynamoDB Stream Sample event 1 dipilih.
Ini adalah contoh acara yang akan Anda gunakan untuk menguji pola acara kami.
Di bawah pola acara, masukkan pola acara berikut:
{ "eventName": ["INSERT", "MODIFY"] }
Pilih Pola uji.
EventBridge menampilkan pesan bahwa peristiwa sampel cocok dengan pola acara. Ini karena peristiwa sampel memiliki
eventName
nilaiINSERT
.Pilih Selanjutnya.
Pilih Berikutnya untuk melewatkan menentukan pengayaan.
Dalam contoh ini, Anda tidak akan memilih pengayaan. Pengayaan memungkinkan Anda memilih layanan untuk meningkatkan data dari sumber sebelum mengirimkannya ke target. Untuk detail selengkapnya, lihat Pengayaan acara di Amazon Pipes EventBridge .
Tentukan SQS antrian Amazon Anda sebagai target pipa:
Di bawah Detail, untuk layanan Target, pilih SQSantrian Amazon.
Untuk Antrian, pilih
pipe-tutorial-target
.Biarkan bagian transformator Input Target kosong.
Untuk informasi selengkapnya, lihat Transformasi masukan Amazon EventBridge Pipes.
Pilih Buat Pipa
EventBridge membuat pipa dan menampilkan halaman detail pipa. Pipa siap setelah statusnya diperbarui ke
Running
.
Langkah 2: Konfirmasikan peristiwa filter pipa
Pipa diatur, tetapi belum menerima acara dari meja.
Untuk menguji pipa, Anda akan memperbarui entri dalam tabel DynamoDB. Setiap pembaruan akan menghasilkan peristiwa yang dikirim aliran DynamoDB ke pipa kami. Beberapa akan cocok dengan pola acara yang Anda tentukan, beberapa tidak. Anda kemudian dapat memeriksa SQS antrian Amazon untuk memastikan bahwa pipa hanya mengirimkan acara yang sesuai dengan pola acara kami.
Perbarui item tabel untuk menghasilkan acara
Buka konsol DynamoDB di. https://console.aws.amazon.com/dynamodb/
Dari navigasi kiri, pilih Tabel. Pilih
pipe-tutorial-source
tabel.DynamoDB menampilkan halaman rincian tabel untuk.
pipe-tutorial-source
Pilih Jelajahi item tabel, lalu pilih Buat item.
DynamoDB menampilkan halaman Create item.
Di bawah Atribut, buat item tabel baru:
Untuk Album masuk
Album A
.Untuk Artis masuk
Artist A
.Pilih Buat item.
Perbarui item tabel:
Di bawah Item yang dikembalikan, pilih Album A.
Pilih Tambahkan atribut baru, lalu pilih String.
Masukkan nilai baru
Song
, dengan nilaiSong A
.Pilih Simpan perubahan.
Hapus item tabel:
Di bawah Item yang dikembalikan, periksa Album A.
Dari menu Tindakan, pilih Hapus item.
Anda telah membuat tiga pembaruan pada item tabel; ini menghasilkan tiga peristiwa untuk aliran data DynamoDB:
INSERT
Peristiwa saat Anda membuat item.Sebuah
MODIFY
peristiwa ketika Anda menambahkan atribut ke item.REMOVE
Peristiwa saat Anda menghapus item.
Namun, pola acara yang Anda tentukan untuk pipa harus menyaring setiap peristiwa yang bukan INSERT
atau MODIFY
peristiwa. Selanjutnya, konfirmasikan bahwa pipa mengirimkan peristiwa yang diharapkan ke antrian.
Konfirmasikan peristiwa yang diharapkan telah dikirim ke antrian
Buka SQS konsol Amazon di https://console.aws.amazon.com/sqs/
. Pilih
pipe-tutorial-target
antrian.Amazon SQS menampilkan halaman detail antrian.
Pilih Kirim dan terima pesan, lalu di bawah Menerima pesan pilih Poll untuk pesan.
Antrian polling pipa dan kemudian daftar peristiwa yang diterimanya.
Pilih nama acara untuk melihat acara JSON yang disampaikan.
Harus ada dua peristiwa dalam antrian: satu dengan eventName
dariINSERT
, dan satu dengan eventName
dari. MODIFY
Namun, pipa tidak mengirimkan acara untuk menghapus item tabel, karena peristiwa itu memiliki eventName
ofREMOVE
, yang tidak cocok dengan pola acara yang Anda tentukan dalam pipa.
Langkah 3: Bersihkan sumber daya Anda
Pertama, hapus pipa itu sendiri.
Hapus pipa menggunakan EventBridge konsol
Buka EventBridge konsol Amazon di https://console.aws.amazon.com/events/
. Pada panel navigasi, pilih Pipa.
Pilih
pipe-tutorial
pipa, dan pilih Hapus.
Kemudian, hapus CloudFormation tumpukan, untuk mencegah ditagih untuk penggunaan berkelanjutan dari sumber daya yang disediakan di dalamnya.
Hapus prasyarat tutorial menggunakan AWS CLI
Jalankan CLI perintah berikut, di mana
--stack-name
menentukan nama tumpukan Anda:aws cloudformation delete-stack --stack-name
pipe-tuturial-resources
Hapus prasyarat tutorial menggunakan konsol AWS CloudFormation
-
Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation
. Pada halaman Stacks, pilih tumpukan dan kemudian pilih Hapus.
Pilih Hapus untuk mengonfirmasi tindakan Anda.
AWS CloudFormation template untuk menghasilkan prasyarat
Gunakan di JSON bawah ini untuk membuat CloudFormation template untuk menyediakan sumber dan sumber daya target yang diperlukan untuk tutorial ini.
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description" : "Provisions resources to use with the EventBridge Pipes tutorial. You will be billed for the AWS resources used if you create a stack from this template.",
"Parameters" : {
"SourceTableName" : {
"Type" : "String",
"Default" : "pipe-tutorial-source",
"Description" : "Specify the name of the table to provision as the pipe source, or accept the default."
},
"TargetQueueName" : {
"Type" : "String",
"Default" : "pipe-tutorial-target",
"Description" : "Specify the name of the queue to provision as the pipe target, or accept the default."
}
},
"Resources": {
"PipeTutorialSourceDynamoDBTable": {
"Type": "AWS::DynamoDB::Table",
"Properties": {
"AttributeDefinitions": [{
"AttributeName": "Album",
"AttributeType": "S"
},
{
"AttributeName": "Artist",
"AttributeType": "S"
}
],
"KeySchema": [{
"AttributeName": "Album",
"KeyType": "HASH"
},
{
"AttributeName": "Artist",
"KeyType": "RANGE"
}
],
"ProvisionedThroughput": {
"ReadCapacityUnits": 10,
"WriteCapacityUnits": 10
},
"StreamSpecification": {
"StreamViewType": "NEW_AND_OLD_IMAGES"
},
"TableName": { "Ref" : "SourceTableName" }
}
},
"PipeTutorialTargetQueue": {
"Type": "AWS::SQS::Queue",
"Properties": {
"QueueName": { "Ref" : "TargetQueueName" }
}
}
}
}