Membuat langganan ke topik.
Informasi otorisasi
Secara default, hanya akun Alibaba Cloud yang dapat memanggil operasi ini. Pengguna Resource Access Management (RAM) dapat memanggil operasi ini setelah diberikan izin yang diperlukan. Tabel berikut menjelaskan informasi otorisasi untuk operasi ini. Untuk detail lebih lanjut, lihat Kebijakan Izin dan Contoh.
Nama | Nilai |
API | Berlangganan |
Aksi | mns:Subscribe |
Resource | acs:mns:$region:$accountid:/topics/$topicName/subscriptions/$subscriptionName |
Catatan penggunaan
Nama langganan dapat mencapai hingga 255 karakter, termasuk huruf, angka, dan tanda hubung (-), serta harus dimulai dengan huruf atau angka.
Anda wajib menentukan titik akhir saat membuat langganan. Jika tidak, langganan tidak akan valid.
Permintaan
Permintaan terdiri dari bagian-bagian berikut:
Baris Permintaan
PUT /topics/$TopicName/subscriptions/$SubscriptionName HTTP/1.1Header Permintaan Spesifik Operasi
Tidak ada.
Badan Permintaan
Badan permintaan dalam format XML dan mencakup parameter-parameter berikut.
Parameter
Tipe
Diperlukan
Contoh
Deskripsi
Endpoint
String
Ya
http://example.com
Titik akhir yang digunakan untuk menerima pesan. Anda dapat menentukan jenis titik akhir berikut:
HttpEndpoint. Titik akhir HTTP harus dimulai dengan http://.
QueueEndpoint. Sintaks: acs:mns:{REGION}:{AccountID}:queues/{QueueName}.
MailEndpoint. Sintaks: mail:directmail:{MailAddress}.
SmsEndpoint. Sintaks: sms:directsms:anonymous atau sms:directsms:{Phone}.
FilterTag
String
Tidak
penting
Tag yang digunakan untuk menyaring pesan. Hanya pesan dengan tag yang sama yang dapat didorong.
Tag adalah string yang dapat memiliki panjang hingga 16 karakter.
Secara default, tidak ada tag yang ditentukan untuk menyaring pesan.
NotifyStrategy
Boolean
Tidak
BACKOFF_RETRY
Kebijakan ulang yang diterapkan jika terjadi kesalahan selama pengiriman pesan ke titik akhir.
Nilai yang valid:
BACKOFF_RETRY
EXPONENTIAL_DECAY_RETRY
Untuk informasi lebih lanjut, lihat NotifyStrategy.
Nilai default: BACKOFF_RETRY.
NotifyContentFormat
Boolean
Tidak
SIMPLIFIED
Format pesan yang didorong ke titik akhir.
Nilai default: XML.
Jika Anda ingin menggunakan Terraform untuk mengelola alicloud_message_service_subscription, konfigurasikan parameter yang dijelaskan dalam tabel berikut.
Parameter
Tipe
Diperlukan
Contoh
Deskripsi
TopicName
String
Ya
testTopic
Nama topik.
SubscriptionName
String
Ya
testSubscription
Nama langganan.
PushType
String
Ya
queue
Tipe terminal. Nilai yang valid:
http: HTTP
queue
mpush: perangkat mobile
alisms: Alibaba Cloud SMS
email
Endpoint
String
Ya
demoQueue
Titik akhir yang digunakan untuk menerima pesan. Jika Anda menetapkan parameter PushType ke queue, Anda harus menentukan nama antrian.
MessageTag
String
Tidak
penting
Tag yang digunakan untuk menyaring pesan. Hanya pesan dengan tag yang sama yang dapat didorong.
Tag adalah string yang dapat memiliki panjang hingga 16 karakter.
Secara default, tidak ada tag yang ditentukan untuk menyaring pesan.
NotifyStrategy
Boolean
Tidak
BACKOFF_RETRY
Kebijakan ulang yang diterapkan jika terjadi kesalahan ketika MNS mendorong pesan ke titik akhir.
Nilai yang valid:
BACKOFF_RETRY
EXPONENTIAL_DECAY_RETRY
Untuk informasi lebih lanjut, lihat NotifyStrategy.
Nilai default: BACKOFF_RETRY.
NotifyContentFormat
Boolean
Tidak
SIMPLIFIED
Format pesan yang didorong ke titik akhir.
Nilai default: XML.
Respon
Respon terdiri dari bagian-bagian berikut:
Kode Status HTTP
HTTP/1.1 201Setiap nama langganan harus unik dalam sebuah topik. Jika Anda membuat langganan yang sudah ada, kesalahan mungkin terjadi. Sebagai contoh, jika nilai parameter dua langganan sama, kode status HTTP 204 dikembalikan. Jika tidak, kode status HTTP 409 dikembalikan.
Header Respon Spesifik Operasi
Parameter
Tipe
Contoh
Deskripsi
Location
String
http://$AccountId.mns.cn-hangzhou.aliyuncs.com/topics/$TopicName/subscriptions/$SubscriptionName
URL dari langganan yang dibuat. Sintaks: http://$AccountId.mns.{REGION}.aliyuncs.com/topics/$TopicName/subscriptions/$SubscriptionName.
Untuk informasi lebih lanjut tentang header respon lainnya, lihat Parameter Umum.
Badan Respon
Tidak ada.
Contoh
Permintaan Sampel
PUT /topics/$TopicName/subscriptions/$SubscriptionName HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Tue, 08 Dec 2015 06:06:46 GMT
Authorization:MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXA*****
x-mns-version: 2015-06-06
<?xml version="1.0" encoding="utf-8"?>
<Subscription xmlns="http://mns.aliyuncs.com/doc/v1/">
<Endpoint>http://example.com</Endpoint>
<NotifyStrategy>BACKOFF_RETRY</NotifyStrategy>
<NotifyContentFormat>SIMPLIFIED</NotifyContentFormat>
<FilterTag>penting</FilterTag>
</Subscription>Respon Sampel
HTTP/1.1 201
x-mns-request-id:56667376B2B71C9C1600****
x-mns-version: 2015-06-06
Location: http://$AccountId.mns.cn-hangzhou.aliyuncs.com/topics/$TopicName/subscriptions/$SubscriptionNameKode kesalahan
Kode kesalahan | Pesan kesalahan | Kode status HTTP | Deskripsi |
SubscriptionNameLengthError | Panjang nama langganan di luar rentang, harus antara 1 dan 255. | 400 | Pesan kesalahan dikembalikan karena nama langganan tidak valid. Anda harus menentukan nama yang valid. |
SubscriptionNameInvalid | Langganan yang Anda berikan tidak valid. SubscriptionName harus dimulai dengan huruf atau angka, dan hanya mengandung huruf, angka, atau -. | 400 | Pesan kesalahan dikembalikan karena nama langganan tidak valid. Anda harus menentukan nama yang valid. |
SubscriptionAlreadyExist | Langganan yang ingin Anda buat sudah ada. | 409 | Pesan kesalahan dikembalikan karena langganan yang ditentukan memiliki nama yang sama dengan langganan yang ada, tetapi memiliki parameter yang berbeda dari langganan yang ada. |
EndpointInvalid | Titik akhir yang Anda berikan tidak valid. | 400 | Pesan kesalahan dikembalikan karena titik akhir yang ditentukan tidak valid. Untuk informasi lebih lanjut, lihat Endpoint. |
InvalidArgument | Panjang filter tag harus antara 1 dan 16. | 400 | Pesan kesalahan dikembalikan karena panjang tag melebihi batas. Anda harus menentukan tag yang valid. |