Mengurai format SNS pesan Amazon - Amazon Simple Notification Service

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

Mengurai format SNS pesan Amazon

Amazon SNS menggunakan format berikut.

HTTP/HTTPSheader

Saat Amazon SNS mengirimkan konfirmasi langganan, pemberitahuan, atau pesan konfirmasi berhenti berlangganan keHTTP/HTTPStitik akhir, Amazon mengirimkan POST pesan dengan sejumlah nilai header SNS khusus Amazon. Anda dapat menggunakan nilai header untuk tugas seperti mengidentifikasi jenis pesan tanpa harus mengurai badan JSON pesan untuk membaca Type nilainya. Secara default, Amazon SNS mengirimkan semua notifikasi ke titik akhir HTTP /S dengan Content-Type disetel ketext/plain; charset=UTF-8. Untuk memilih Content-Type selain teks/polos (default), lihat headerContentType di. Membuat kebijakan pengiriman HTTP /S

x-amz-sns-message-type

Jenis pesan. Nilai yang mungkin adalah SubscriptionConfirmation, Notification, dan UnsubscribeConfirmation.

x-amz-sns-message-id

Universally Unique Identifier (UUID), unik untuk setiap pesan yang diterbitkan. Untuk pemberitahuan bahwa Amazon SNS mengirim ulang selama percobaan ulang, ID pesan dari pesan asli digunakan.

x-amz-sns-topic-arn

Nama Sumber Daya Amazon (ARN) untuk topik tempat pesan ini diterbitkan.

x-amz-sns-subscription-arn

ARNUntuk berlangganan titik akhir ini.

HTTPPOSTHeader berikut adalah contoh header untuk Notification pesan ke HTTP titik akhir.

POST / HTTP/1.1 x-amz-sns-message-type: Notification x-amz-sns-message-id: 165545c9-2a5c-472c-8df2-7ff2be2b3b1b x-amz-sns-topic-arn: arn:aws:sns:us-west-2:123456789012:MyTopic x-amz-sns-subscription-arn: arn:aws:sns:us-west-2:123456789012:MyTopic:2bcfbf39-05c3-41de-beaa-fcfcc21c8f55 Content-Length: 1336 Content-Type: text/plain; charset=UTF-8 Host: myhost.example.com Connection: Keep-Alive User-Agent: Amazon Simple Notification Service Agent

HTTP/JSONformat konfirmasi HTTPS berlangganan

Setelah Anda berlangganan HTTP/HTTPS endpoint, Amazon SNS sends a subscription confirmation message to the HTTP/HTTPS titik akhir. Pesan ini berisi SubscribeURL nilai yang harus Anda kunjungi untuk mengonfirmasi langganan (sebagai alternatif, Anda dapat menggunakan Token nilainya dengan ConfirmSubscription).

catatan

Amazon SNS tidak mengirim pemberitahuan ke titik akhir ini hingga langganan dikonfirmasi

Pesan konfirmasi langganan adalah POST pesan dengan badan pesan yang berisi JSON dokumen dengan pasangan nama-nilai berikut.

Type

Jenis pesan. Untuk konfirmasi berlangganan, tipenya adalah SubscriptionConfirmation.

MessageId

Universally Unique Identifier (UUID), unik untuk setiap pesan yang diterbitkan. Untuk pesan yang SNS dikirim ulang Amazon selama percobaan ulang, ID pesan dari pesan asli digunakan.

Token

Nilai yang dapat Anda gunakan dengan ConfirmSubscriptiontindakan untuk mengonfirmasi langganan. Atau, Anda dapat mengunjungi SubscribeURL.

TopicArn

Amazon Resource Name (ARN) untuk topik yang menjadi langganan endpoint ini.

Message

String yang menggambarkan pesan. Untuk konfirmasi berlangganan, string ini terlihat seperti ini:

You have chosen to subscribe to the topic arn:aws:sns:us-east-2:123456789012:MyTopic.\nTo confirm the subscription, visit the SubscribeURL included in this message.
SubscribeURL

URLYang harus Anda kunjungi untuk mengonfirmasi langganan. Sebagai alternatif, Anda dapat menggunakan ConfirmSubscriptiontindakan Token dengan untuk mengonfirmasi langganan.

Timestamp

Waktu (GMT) ketika konfirmasi berlangganan dikirim.

SignatureVersion

Versi SNS tanda tangan Amazon yang digunakan.

  • Jika SignatureVersion adalah 1, Signature adalah SHA1withRSA tanda tangan yang dikodekan Base64 dariMessage,,, MessageIdType, Timestamp dan nilai. TopicArn

  • Jika SignatureVersion adalah 2, Signature adalah SHA256withRSA tanda tangan yang dikodekan Base64 dariMessage,,, MessageIdType, Timestamp dan nilai. TopicArn

Signature

Base64 dikodekan SHA1withRSA atau SHA256withRSA tanda tangan dariMessage,,, MessageIdType, Timestamp dan nilai. TopicArn

SigningCertURL

URLKe sertifikat yang digunakan untuk menandatangani pesan.

HTTPPOSTPesan berikut adalah contoh SubscriptionConfirmation pesan ke HTTP titik akhir.

POST / HTTP/1.1 x-amz-sns-message-type: SubscriptionConfirmation x-amz-sns-message-id: 165545c9-2a5c-472c-8df2-7ff2be2b3b1b x-amz-sns-topic-arn: arn:aws:sns:us-west-2:123456789012:MyTopic Content-Length: 1336 Content-Type: text/plain; charset=UTF-8 Host: myhost.example.com Connection: Keep-Alive User-Agent: Amazon Simple Notification Service Agent { "Type" : "SubscriptionConfirmation", "MessageId" : "165545c9-2a5c-472c-8df2-7ff2be2b3b1b", "Token" : "2336412f37...", "TopicArn" : "arn:aws:sns:us-west-2:123456789012:MyTopic", "Message" : "You have chosen to subscribe to the topic arn:aws:sns:us-west-2:123456789012:MyTopic.\nTo confirm the subscription, visit the SubscribeURL included in this message.", "SubscribeURL" : "https://sns.us-west-2.amazonaws.com/?Action=ConfirmSubscription&TopicArn=arn:aws:sns:us-west-2:123456789012:MyTopic&Token=2336412f37...", "Timestamp" : "2012-04-26T20:45:04.751Z", "SignatureVersion" : "1", "Signature" : "EXAMPLEpH+DcEwjAPg8O9mY8dReBSwksfg2S7WKQcikcNKWLQjwu6A4VbeS0QHVCkhRS7fUQvi2egU3N858fiTDN6bkkOxYDVrY0Ad8L10Hs3zH81mtnPk5uvvolIC1CXGu43obcgFxeL3khZl8IKvO61GWB6jI9b5+gLPoBc1Q=", "SigningCertURL" : "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem" }

HTTP/JSONformat HTTPS pemberitahuan

Saat Amazon SNS mengirimkan notifikasi ke langganan HTTP atau HTTPS titik akhir, POST pesan yang dikirim ke titik akhir memiliki badan pesan yang berisi JSON dokumen dengan pasangan nama-nilai berikut.

Type

Jenis pesan. Untuk notifikasi, jenisnya adalah Notification.

MessageId

Universally Unique Identifier (UUID), unik untuk setiap pesan yang diterbitkan. Untuk pemberitahuan bahwa Amazon SNS mengirim ulang selama percobaan ulang, ID pesan dari pesan asli digunakan.

TopicArn

Nama Sumber Daya Amazon (ARN) untuk topik tempat pesan ini diterbitkan.

Subject

SubjectParameter yang ditentukan saat pemberitahuan dipublikasikan ke topik.

catatan

Ini adalah parameter opsional. Jika tidak Subject ditentukan, maka pasangan nama-nilai ini tidak muncul dalam dokumen iniJSON.

Message

MessageNilai yang ditentukan saat pemberitahuan dipublikasikan ke topik.

Timestamp

Waktu (GMT) ketika pemberitahuan dipublikasikan.

SignatureVersion

Versi SNS tanda tangan Amazon yang digunakan.

  • Jika SignatureVersion adalah 1, Signature adalah SHA1withRSA tanda tangan yang dikodekan Base64 dariMessage,, Subject (jika ada)MessageId,,Type, Timestamp dan nilai. TopicArn

  • Jika SignatureVersion adalah 2, Signature adalah SHA256withRSA tanda tangan yang dikodekan Base64 dariMessage,MessageId, Subject (jika ada),Type, Timestamp dan nilai. TopicArn

Signature

Base64 dikodekan SHA1withRSA atau SHA256withRSA tanda tangan dariMessage,MessageId, Subject (jika ada),,Type, Timestamp dan nilai. TopicArn

SigningCertURL

URLKe sertifikat yang digunakan untuk menandatangani pesan.

UnsubscribeURL

A URL yang dapat Anda gunakan untuk berhenti berlangganan titik akhir dari topik ini. Jika Anda mengunjungi iniURL, Amazon berhenti SNS berlangganan titik akhir dan berhenti mengirim pemberitahuan ke titik akhir ini.

HTTPPOSTPesan berikut adalah contoh Notification pesan ke HTTP titik akhir.

POST / HTTP/1.1 x-amz-sns-message-type: Notification x-amz-sns-message-id: 22b80b92-fdea-4c2c-8f9d-bdfb0c7bf324 x-amz-sns-topic-arn: arn:aws:sns:us-west-2:123456789012:MyTopic x-amz-sns-subscription-arn: arn:aws:sns:us-west-2:123456789012:MyTopic:c9135db0-26c4-47ec-8998-413945fb5a96 Content-Length: 773 Content-Type: text/plain; charset=UTF-8 Host: myhost.example.com Connection: Keep-Alive User-Agent: Amazon Simple Notification Service Agent { "Type" : "Notification", "MessageId" : "22b80b92-fdea-4c2c-8f9d-bdfb0c7bf324", "TopicArn" : "arn:aws:sns:us-west-2:123456789012:MyTopic", "Subject" : "My First Message", "Message" : "Hello world!", "Timestamp" : "2012-05-02T00:54:06.655Z", "SignatureVersion" : "1", "Signature" : "EXAMPLEw6JRN...", "SigningCertURL" : "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem", "UnsubscribeURL" : "https://sns.us-west-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-west-2:123456789012:MyTopic:c9135db0-26c4-47ec-8998-413945fb5a96" } }

HTTP/HTTPSberhenti berlangganan format konfirmasi JSON

Setelah HTTPS titik akhirHTTP/berhenti berlangganan dari suatu topik, Amazon SNS mengirimkan pesan konfirmasi berhenti berlangganan ke titik akhir.

Pesan konfirmasi berhenti berlangganan adalah POST pesan dengan badan pesan yang berisi JSON dokumen dengan pasangan nama-nilai berikut.

Type

Jenis pesan. Untuk konfirmasi berhenti berlangganan, jenisnya adalah UnsubscribeConfirmation.

MessageId

Universally Unique Identifier (UUID), unik untuk setiap pesan yang diterbitkan. Untuk pesan yang SNS dikirim ulang Amazon selama percobaan ulang, ID pesan dari pesan asli digunakan.

Token

Nilai yang dapat Anda gunakan dengan ConfirmSubscriptiontindakan untuk mengonfirmasi ulang langganan. Atau, Anda dapat mengunjungi SubscribeURL.

TopicArn

Amazon Resource Name (ARN) untuk topik tempat titik akhir ini berhenti berlangganan.

Message

String yang menggambarkan pesan. Untuk konfirmasi berhenti berlangganan, string ini terlihat seperti ini:

You have chosen to deactivate subscription arn:aws:sns:us-east-2:123456789012:MyTopic:2bcfbf39-05c3-41de-beaa-fcfcc21c8f55.\nTo cancel this operation and restore the subscription, visit the SubscribeURL included in this message.
SubscribeURL

URLYang harus Anda kunjungi untuk mengonfirmasi ulang langganan. Sebagai alternatif, Anda dapat menggunakan ConfirmSubscriptiontindakan Token dengan untuk mengonfirmasi ulang langganan.

Timestamp

Waktu (GMT) ketika konfirmasi berhenti berlangganan dikirim.

SignatureVersion

Versi SNS tanda tangan Amazon yang digunakan.

  • Jika SignatureVersion adalah 1, Signature adalah SHA1withRSA tanda tangan yang dikodekan Base64 dariMessage,,, MessageIdType, Timestamp dan nilai. TopicArn

  • Jika SignatureVersion adalah 2, Signature adalah SHA256withRSA tanda tangan yang dikodekan Base64 dariMessage,,, MessageIdType, Timestamp dan nilai. TopicArn

Signature

Base64 dikodekan SHA1withRSA atau SHA256withRSA tanda tangan dariMessage,,, MessageIdType, Timestamp dan nilai. TopicArn

SigningCertURL

URLKe sertifikat yang digunakan untuk menandatangani pesan.

HTTPPOSTPesan berikut adalah contoh UnsubscribeConfirmation pesan ke HTTP titik akhir.

POST / HTTP/1.1 x-amz-sns-message-type: UnsubscribeConfirmation x-amz-sns-message-id: 47138184-6831-46b8-8f7c-afc488602d7d x-amz-sns-topic-arn: arn:aws:sns:us-west-2:123456789012:MyTopic x-amz-sns-subscription-arn: arn:aws:sns:us-west-2:123456789012:MyTopic:2bcfbf39-05c3-41de-beaa-fcfcc21c8f55 Content-Length: 1399 Content-Type: text/plain; charset=UTF-8 Host: myhost.example.com Connection: Keep-Alive User-Agent: Amazon Simple Notification Service Agent { "Type" : "UnsubscribeConfirmation", "MessageId" : "47138184-6831-46b8-8f7c-afc488602d7d", "Token" : "2336412f37...", "TopicArn" : "arn:aws:sns:us-west-2:123456789012:MyTopic", "Message" : "You have chosen to deactivate subscription arn:aws:sns:us-west-2:123456789012:MyTopic:2bcfbf39-05c3-41de-beaa-fcfcc21c8f55.\nTo cancel this operation and restore the subscription, visit the SubscribeURL included in this message.", "SubscribeURL" : "https://sns.us-west-2.amazonaws.com/?Action=ConfirmSubscription&TopicArn=arn:aws:sns:us-west-2:123456789012:MyTopic&Token=2336412f37fb6...", "Timestamp" : "2012-04-26T20:06:41.581Z", "SignatureVersion" : "1", "Signature" : "EXAMPLEHXgJm...", "SigningCertURL" : "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem" }

SetSubscriptionAttributesJSONformat kebijakan pengiriman

Jika Anda mengirim permintaan ke SetSubscriptionAttributes tindakan dan mengatur AttributeName parameter ke nilaiDeliveryPolicy, nilai AttributeValue parameter harus JSON objek yang valid. Sebagai contoh, contoh berikut menetapkan kebijakan pengiriman untuk 5 jumlah pengulangan.

http://sns.us-east-2.amazonaws.com/ ?Action=SetSubscriptionAttributes &SubscriptionArn=arn%3Aaws%3Asns%3Aus-east-2%3A123456789012%3AMy-Topic%3A80289ba6-0fd4-4079-afb4-ce8c8260f0ca &AttributeName=DeliveryPolicy &AttributeValue={"healthyRetryPolicy":{"numRetries":5}} ...

Gunakan JSON format berikut untuk nilai AttributeValue parameter.

{ "healthyRetryPolicy" : { "minDelayTarget" : int, "maxDelayTarget" : int, "numRetries" : int, "numMaxDelayRetries" : int, "backoffFunction" : "linear|arithmetic|geometric|exponential" }, "throttlePolicy" : { "maxReceivesPerSecond" : int }, "requestPolicy" : { "headerContentType" : "text/plain | application/json | application/xml" } }

Untuk informasi lebih lanjut tentang SetSubscriptionAttribute tindakan tersebut, buka SetSubscriptionAttributesdi APIReferensi Layanan Pemberitahuan Sederhana Amazon. Untuk informasi selengkapnya tentang header HTTP tipe konten yang didukung, lihat. Membuat kebijakan pengiriman HTTP /S

SetTopicAttributes JSONformat kebijakan pengiriman

Jika Anda mengirim permintaan ke SetTopicAttributes tindakan dan mengatur AttributeName parameter ke nilaiDeliveryPolicy, nilai AttributeValue parameter harus JSON objek yang valid. Sebagai contoh, contoh berikut menetapkan kebijakan pengiriman untuk 5 jumlah pengulangan.

http://sns.us-east-2.amazonaws.com/ ?Action=SetTopicAttributes &TopicArn=arn%3Aaws%3Asns%3Aus-east-2%3A123456789012%3AMy-Topic &AttributeName=DeliveryPolicy &AttributeValue={"http":{"defaultHealthyRetryPolicy":{"numRetries":5}}} ...

Gunakan JSON format berikut untuk nilai AttributeValue parameter.

{ "http" : { "defaultHealthyRetryPolicy" : { "minDelayTarget": int, "maxDelayTarget": int, "numRetries": int, "numMaxDelayRetries": int, "backoffFunction": "linear|arithmetic|geometric|exponential" }, "disableSubscriptionOverrides" : Boolean, "defaultThrottlePolicy" : { "maxReceivesPerSecond" : int }, "defaultRequestPolicy" : { "headerContentType" : "text/plain | application/json | application/xml" } } }

Untuk informasi lebih lanjut tentang SetTopicAttribute tindakan tersebut, buka SetTopicAttributesdi APIReferensi Layanan Pemberitahuan Sederhana Amazon. Untuk informasi selengkapnya tentang header HTTP tipe konten yang didukung, lihat. Membuat kebijakan pengiriman HTTP /S