Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menerima media RCS masuk
Pengguna dapat mengirim media (gambar, video, file audio, dan dokumen) dalam percakapan RCS dengan agen Anda. Saat Anda mengonfigurasi penyimpanan media masuk, Pesan Pengguna AWS Akhir mengunduh media dari penyedia RCS, mengunggahnya ke bucket Amazon S3, dan menerbitkan pemberitahuan ke topik Amazon SNS dua arah Anda dengan lokasi S3 dan metadata file.
Untuk informasi umum tentang menerima pesan RCS masuk (teks, lokasi, dan tanggapan saran), lihat. Menerima pesan RCS masuk Untuk informasi tentang mengirim media kaya ke pengguna, lihatMengirim pesan RCS yang kaya.
Cara kerja media masuk
Saat pengguna mengirim file media dalam percakapan RCS, AWS End User Messaging memproses pesan melalui langkah-langkah berikut:
-
Pengguna mengirimkan gambar, video, file audio, atau dokumen dari aplikasi pesan RCS mereka.
-
AWSEnd User Messaging mengunduh media dari penyedia RCS.
-
AWSPesan Pengguna Akhir mengunggah media ke bucket S3 Anda yang dikonfigurasi menggunakan peran IAM yang Anda tentukan.
-
AWSPesan Pengguna Akhir menerbitkan pemberitahuan ke topik SNS dua arah Anda. Pemberitahuan tersebut mencakup bucket S3, kunci, tipe MIME, dan metadata pesan.
Untuk LOCATION dan jenis SUGGESTION pesan, tidak ada unggahan S3 yang terjadi. Konten dikirim langsung di badan notifikasi SNS. Untuk detail tentang jenis pesan ini, lihatMenerima pesan RCS masuk.
Mengkonfigurasi penyimpanan media masuk
Untuk menerima media masuk, konfigurasikan bidang berikut pada agen RCS Anda menggunakan API. UpdateRcsAgent Two-way pesan harus diaktifkan pada agen sebelum Anda mengonfigurasi penyimpanan media.
| Bidang | Diperlukan | Deskripsi |
|---|---|---|
TwoWayMediaS3BucketName |
Ya | Nama bucket S3 tempat AWS End User Messaging menyimpan file media masuk. |
TwoWayMediaS3KeyPrefix |
Tidak | Awalan opsional untuk tombol objek S3. Jika ditentukan, objek media disimpan di bawah awalan ini di ember. |
TwoWayMediaS3Role |
Ya | ARN dari peran IAM yang diasumsikan AWS End User Messaging untuk mengunggah file media ke bucket S3 Anda. |
Bucket S3 dan peran IAM diperlukan bersama. Jika Anda menentukan satu, Anda harus menentukan keduanya.
Format kunci S3
Objek media disimpan dengan format kunci berikut, di mana nama file asli ditambahkan setelah # pemisah:
{prefix}/rcs/{messageId}#{fileName}
Misalnya, jika Anda menyetel key prefix keinbound-media, file media mungkin disimpan sebagai:
inbound-media/rcs/msg-abc123def456#photo_2026.jpg
Membuat peran IAM untuk media masuk
Buat peran IAM yang memungkinkan layanan AWS End User Messaging untuk mengunggah file media ke bucket S3 Anda. Peran tersebut memerlukan kebijakan kepercayaan yang memungkinkan layanan untuk menerimanya, dan kebijakan izin yang memberikan s3:PutObject akses ke bucket Anda.
Kebijakan kepercayaan
Kebijakan kepercayaan berikut memungkinkan prinsipal layanan Pesan Pengguna AWS Akhir untuk mengambil peran tersebut. Ganti 123456789012 dengan ID AWS akun Anda.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }
Kebijakan izin
Kebijakan izin berikut memberikan akses peran untuk menulis objek ke bucket S3 Anda. Ganti my-rcs-media-bucket dengan nama bucket Anda.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::my-rcs-media-bucket/*" } ] }
catatan
Cakupan peran IAM secara sempit hanya. s3:PutObject Layanan tidak memerlukans3:GetObject,s3:DeleteObject, atau izin lain untuk pengiriman media masuk.
Mengkonfigurasi penyimpanan media (CLI)
Perintah AWS CLI berikut mengonfigurasi penyimpanan media masuk pada agen RCS yang ada:
aws pinpoint-sms-voice-v2 update-rcs-agent \ --rcs-agent-id rcs-agent-1234567890abcdef0 \ --two-way-media-s3-bucket-name my-rcs-media-bucket \ --two-way-media-s3-key-prefix "inbound-media" \ --two-way-media-s3-role arn:aws:iam::123456789012:role/RcsInboundMediaRole \ --region us-east-1
Muatan pemberitahuan media masuk
Saat AWS End User Messaging menerima file media, pesan akan menerbitkan pemberitahuan ke topik SNS dua arah Anda. Notifikasi adalah objek JSON dengan messageBody bidang yang berisi dokumen JSON stringified dengan status media dan, pada keberhasilan, lokasi S3 dan metadata file.
Contoh berikut menunjukkan notifikasi media masuk yang berhasil:
{ "originationNumber": "+14255551234", "destinationNumber": "rcs-cb1e6e519e9049fabf8c0ae38e4d876b", "messageBody": "{\"mediaStatus\":\"SUCCESS\",\"s3Bucket\":\"my-rcs-media-bucket\",\"s3Key\":\"inbound-media/rcs/msg-abc123def456#photo_2026.jpg\",\"mimeType\":\"image/jpeg\",\"fileName\":\"photo_2026.jpg\",\"fileSizeBytes\":1211843}", "inboundMessageId": "8821d750-4bc5-4cb1-a8c3-c3d64a38d019" }
Pemberitahuan tingkat atas berisi bidang-bidang berikut:
originationNumber-
Nomor telepon pengguna yang mengirim media.
destinationNumber-
Pengidentifikasi agen RCS yang menerima pesan.
messageBody-
Dokumen JSON yang dirangkai yang menggambarkan media. Ini berisi bidang dalam tabel berikut.
inboundMessageId-
Pengenal unik untuk pesan masuk.
messageBodyJSON berisi bidang-bidang berikut:
mediaStatus-
Hasil dari pemrosesan media. Nilai yang valid adalah
SUCCESS,UPLOAD_FAILED, danROLE_ASSUME_FAILED. mediaStatusMessage-
Deskripsi status yang dapat dibaca manusia. Hadir ketika
mediaStatusadalah nilai kegagalan. s3Bucket-
Nama bucket S3 tempat file media disimpan. Hadir pada kesuksesan.
s3Key-
Kunci objek S3 untuk file media yang disimpan. Hadir pada kesuksesan.
mimeType-
Jenis MIME dari file media (misalnya,,
image/jpegvideo/mp4,application/pdf). fileName-
Nama file asli seperti yang disediakan oleh perangkat pengguna.
fileSizeBytes-
Ukuran file media dalam byte.
catatan
Pemberitahuan media masuk saat ini tidak menyertakan bidang tipe pesan. Gunakan mediaStatus untuk menentukan hasilnya.
Penanganan kegagalan unduhan media
Jika AWS End User Messaging tidak dapat mengunduh atau menyimpan media dari penyedia RCS, layanan masih menerbitkan pemberitahuan ke topik SNS dua arah Anda. messageBodyMembawa kegagalan mediaStatus (UPLOAD_FAILEDatauROLE_ASSUME_FAILED) dan mediaStatusMessage menjelaskan penyebabnya, tanpa bidang lokasi S3.
Misalnya, kegagalan asumsi peran IAM menghasilkan konten berikut: messageBody
{ "mediaStatus": "ROLE_ASSUME_FAILED", "mediaStatusMessage": "Media received but could not assume the configured IAM role", "mimeType": "image/heic", "fileName": "IMG_7115.heic", "fileSizeBytes": 1211843 }
Penyebab umum kegagalan pengunduhan media meliputi:
-
Media tidak lagi tersedia dari penyedia RCS (misalnya, kedaluwarsa atau dihapus).
-
Peran IAM tidak memiliki izin untuk menulis ke bucket S3 yang ditentukan.
-
Bucket S3 tidak ada atau berada di wilayah yang berbeda dari yang diharapkan.
Untuk memecahkan masalah kegagalan pengiriman, verifikasi bahwa kepercayaan peran IAM dan kebijakan izin telah dikonfigurasi dengan benar, dan bahwa bucket S3 ada dan dapat diakses dari layanan. Pantau CloudWatch metrik agen Anda untuk mengetahui kegagalan unggahan media.
Jenis media yang diterima
AWSEnd User Messaging menerima jenis MIME media masuk berikut:
-
Gambar:
image/jpeg,image/jpg,image/gif,image/png -
Audio:
audio/aac,audio/mp3,audio/mpeg,,audio/mpg,audio/mp4,audio/mp4-latm,audio/3gpp,audio/ogg,application/ogg -
Video:
video/h263,video/m4v,video/mp4,video/mpeg,video/mpeg4,video/webm -
Dokumen:
application/pdf
catatan
AWSEnd User Messaging tidak memberlakukan batas ukuran pada media masuk.
Praktik terbaik
-
Selalu konfigurasikan penyimpanan media jika Anda mengharapkan pengguna mengirim gambar, video, atau file dalam percakapan RCS.
-
Gunakan bucket S3 khusus untuk media masuk RCS guna mengisolasi kontrol akses dan kebijakan siklus hidup.
-
Tetapkan kebijakan siklus hidup S3 agar objek media lama kedaluwarsa (misalnya, setelah 90 hari) untuk mengelola biaya penyimpanan.
-
Memproses media masuk secara asinkron menggunakan fungsi AWS Lambda yang dipicu oleh topik SNS Anda.
-
Cakupan peran IAM
s3:PutObjecthanya. Layanan ini tidak memerlukan izin yang lebih luas. -
Pantau CloudWatch metrik untuk kegagalan unggahan media dan setel alarm untuk mendeteksi masalah konfigurasi.