Pengiriman pesan mentah Amazon SNS - Amazon Simple Notification Service

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

Pengiriman pesan mentah Amazon SNS

Untuk menghindari Amazon Data Firehose, Amazon SQS, dan titik akhir HTTP/S memproses pemformatan pesan JSON, Amazon SNS memungkinkan pengiriman pesan mentah:

  • Saat Anda mengaktifkan pengiriman pesan mentah untuk Amazon Data Firehose atau titik akhir Amazon SQS, metadata Amazon SNS apa pun akan dilucuti dari pesan yang dipublikasikan dan pesan dikirim apa adanya.

  • Ketika Anda mengaktifkan pengiriman pesan mentah untuk titik akhir HTTP/S, header HTTP x-amz-sns-rawdelivery dengan nilainya diatur ke true ditambahkan ke pesan, menunjukkan bahwa pesan telah diterbitkan tanpa format JSON.

  • Saat Anda mengaktifkan pengiriman pesan mentah untuk titik akhir HTTP/S, badan pesan, IP klien, dan header yang diperlukan akan dikirimkan. Ketika Anda menentukan atribut pesan, itu tidak akan dikirim.

  • Saat Anda mengaktifkan pengiriman pesan mentah untuk endpoint Firehose, isi pesan akan terkirim. Ketika Anda menentukan atribut pesan, itu tidak akan dikirim.

Untuk mengaktifkan pengiriman pesan mentah menggunakan AWS SDK, Anda harus menggunakan tindakan SetSubscriptionAttribute API dan menetapkan nilai RawMessageDelivery atribut ketrue.

Mengaktifkan pengiriman pesan mentah menggunakan AWS Management Console

  1. Masuk ke konsol Amazon SNS.

  2. Di panel navigasi, pilih Topik.

  3. Pada halaman Topik, pilih topik yang berlangganan Firehose, Amazon SQS, atau titik akhir HTTP/S.

  4. Pada MyTopichalaman, di bagian Berlangganan, pilih langganan dan pilih Edit.

  5. Di halaman Edit EXAMPLE1-23bc-4567-d890-ef12g3hij456, di bagian Details (Detail), pilih Enable raw message delivery (Aktifkan pengiriman pesan mentah).

  6. Pilih Save changes (Simpan perubahan).

Contoh format pesan

Dalam contoh berikut, pesan yang sama dikirim ke antrean Amazon SQS yang sama dua kali. Satu-satunya perbedaan adalah pengiriman pesan mentah dinonaktifkan untuk pesan pertama, dan diaktifkan untuk pesan kedua.

  • Pengiriman pesan mentah dinonaktifkan

    { "Type": "Notification", "MessageId": "dc1e94d9-56c5-5e96-808d-cc7f68faa162", "TopicArn": "arn:aws:sns:us-east-2:111122223333:ExampleTopic1", "Subject": "TestSubject", "Message": "This is a test message.", "Timestamp": "2021-02-16T21:41:19.978Z", "SignatureVersion": "1", "Signature": "FMG5tlZhJNHLHUXvZgtZzlk24FzVa7oX0T4P03neeXw8ZEXZx6z35j2FOTuNYShn2h0bKNC/zLTnMyIxEzmi2X1shOBWsJHkrW2xkR58ABZF+4uWHEE73yDVR4SyYAikP9jstZzDRm+bcVs8+T0yaLiEGLrIIIL4esi1llhIkgErCuy5btPcWXBdio2fpCRD5x9oR6gmE/rd5O7lX1c1uvnv4r1Lkk4pqP2/iUfxFZva1xLSRvgyfm6D9hNklVyPfy+7TalMD0lzmJuOrExtnSIbZew3foxgx8GT+lbZkLd0ZdtdRJlIyPRP44eyq78sU0Eo/LsDr0Iak4ZDpg8dXg==", "SigningCertURL": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-010a507c1833636cd94bdb98bd93083a.pem", "UnsubscribeURL": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:111122223333:ExampleTopic1:e1039402-24e7-40a3-a0d4-797da162b297" }
  • Pengiriman pesan mentah diaktifkan

    This is a test message.

Atribut pesan dan pengiriman pesan mentah untuk langganan Amazon SQS

Amazon SNS mendukung pengiriman atribut pesan, yang memungkinkan Anda menyediakan item metadata terstruktur, seperti stempel waktu, data geospasial, tanda tangan, dan pengidentifikasi, tentang pesan. Untuk langganan Amazon SQS dengan Pengiriman Pesan Mentah diaktifkan, maksimal 10 atribut pesan dapat dikirim. Untuk mengirim lebih dari 10 atribut pesan, Anda harus menonaktifkan Pengiriman Pesan Mentah. Namun, Amazon SNS membuang pesan dengan lebih dari 10 atribut pesan yang diarahkan ke langganan Amazon SQS dengan Pengiriman Pesan Mentah diaktifkan, memperlakukannya sebagai kesalahan sisi klien.