Menyiapkan Prosesor Saluran - Amazon Chime SDK

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menyiapkan Prosesor Saluran

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 pesan Amazon Chime SDK 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: Anda 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 Chime SDK di akun untuk memanggil prosesor Anda.

Memberikan izin panggilan balik

Anda juga perlu mengizinkan fungsi Lambda prosesor Anda untuk memanggil API. ChannelFlowCallback 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

ChannelArnARN saluran

Konten Konten Pesan yang akan diproses

CreatedTimestampWaktu di mana pesan itu dibuat

LastEditedTimestampWaktu di mana pesan diedit

MessageIdPengenal 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 identityobjek.

Ketik Jenis pesan. ChannelFlowhanya 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 Chime SDK 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 ChannelFlowCallbackAPI melempar pesan kesalahan Forbidden Exception. Untuk mengirim kembali hasilnya, panggil ChannelFlowCallback API.