Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Untuk mulai menggunakan alur saluran, pertama-tama Anda membuat fungsi Lambda prosesor untuk menangani preprocessing untuk kasus penggunaan Anda. Misalnya, Anda dapat memperbarui konten pesan atau metadata, menolak pesan dan mencegahnya dikirim, atau membiarkan pesan asli lewat.
Prasyarat
-
Fungsi Lambda harus berada di AWS akun yang sama dan AWS Wilayah yang sama dengan. AppInstance
Memberikan izin pemanggilan
Anda harus memberikan izin layanan SDK pesan Amazon Chime untuk memanggil sumber daya Lambda Anda. Untuk informasi selengkapnya tentang izin, lihat Menggunakan kebijakan berbasis sumber daya untuk. AWS Lambda Sebagai contoh:
-
Utama: “messaging.chime.amazonaws.com”
Tindakan: lambda: InvokeFunction
Efek: Izinkan
AWS:SourceAccount:
Your AWS AccountId
.AWS:SourceArn:
"arn:aws:chime:
region
:AWS AccountId
:appInstance
/"
catatan
Anda dapat memberikan ID instans aplikasi tertentu untuk memanggil prosesor, atau menggunakan wildcard untuk mengizinkan semua instance aplikasi Amazon SDK Chime di akun untuk memanggil prosesor Anda.
Memberikan izin panggilan balik
Anda juga perlu mengizinkan fungsi Lambda prosesor Anda untuk memanggil file. ChannelFlowCallback
API Untuk informasi tentang melakukan itu, lihat AWS Lambda menjalankan peran dalam panduan AWS Lambda pengembang.
Anda dapat menambahkan kebijakan Inline ke peran run fungsi Lambda Anda. Contoh ini memungkinkan prosesor untuk memanggil file. ChannelFlowCallback API
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"chime:ChannelFlowCallback"
],
"Resource": [
"arn:aws:chime:Region:AwsAccountId:appInstance/*"
]
}
]
}
catatan
Ikuti praktik terbaik untuk fungsi Lambda. Untuk informasi lebih lanjut, lihat topik ini:
Memohon fungsi prosesor Lambda
Saat pengguna mengirim pesan, permintaan input berikut akan memanggil fungsi Lambda prosesor.
{
"EventType": "string
"
"CallbackId": "string
"
"ChannelMessage": {
"MessageId": "string
",
"ChannelArn": "string
",
"Content": "string
",
"Metadata": "string
",
"Sender":{
"Arn": "string
",
"Name": "string
"
},
"Persistence": "string",
"LastEditedTimestamp": "string
",
"Type": "string",
"CreatedTimestamp": "string
",
}
}
- EventType
-
Acara dikirim ke prosesor. Nilainya adalah
CHANNEL_MESSAGE_EVENT
konstanta. - CallbackId
-
Token yang digunakan saat memanggil
ChannelFlowCallback
API dari prosesor. - ChannelMessage
-
ChannelArnSaluran ARN
Konten Konten Pesan yang akan diproses
CreatedTimestampWaktu di mana pesan itu dibuat
LastEditedTimestampWaktu di mana pesan diedit
MessageIdPengidentifikasi pesan
Metadata Pesan metadata yang akan diproses
Persistence Boolean yang mengontrol apakah pesan bertahan di back end. Nilai Valid:
PERSISTENT | NON_PERSISTENT
Pengirim Pengirim pesan. Jenis: sebuah identity objek.
Ketik Jenis pesan. ChannelFlow hanya mendukung jenis
STANDARD
pesan. Nilai Valid:STANDARD
Fungsi prosesor menentukan hal berikut tentang setiap pesan.
-
Apakah akan memperbarui konten pesan, metadata, atau keduanya
-
Apakah akan menolak pesan
-
Apakah meninggalkan pesan tidak berubah
Saat pemrosesan selesai, fungsi Lambda prosesor mengirimkan hasilnya kembali ke layanan Pesan Amazon SDK Chime sehingga pesan dapat dikirim ke semua penerima. Status pesan ditandai PENDING
sampai fungsi prosesor Lambda mengirimkan kembali hasilnya. Fungsi prosesor Lambda memiliki 48 jam untuk mengirim kembali hasilnya. Kami tidak menjamin pengiriman pesan setelah itu, dan ChannelFlowCallbackAPImelempar pesan kesalahan Forbidden Exception. Untuk mengirim kembali hasilnya, panggil. ChannelFlowCallback
API