全部产品
Search
文档中心

:Berlangganan

更新时间:Nov 09, 2025

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.1

  • Header 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 yang valid:

    • XML

    • JSON

    • SIMPLIFIED

    Untuk informasi lebih lanjut, lihat NotifyContentFormat.

    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 yang valid:

    • XML

    • JSON

    • SIMPLIFIED

    Untuk informasi lebih lanjut, lihat NotifyContentFormat.

    Nilai default: XML.

Respon

Respon terdiri dari bagian-bagian berikut:

  • Kode Status HTTP

    HTTP/1.1 201

    Setiap 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/$SubscriptionName

Kode 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.