diff --git a/docs/smn/umn/ALL_META.TXT.json b/docs/smn/umn/ALL_META.TXT.json new file mode 100644 index 000000000..894a86ba5 --- /dev/null +++ b/docs/smn/umn/ALL_META.TXT.json @@ -0,0 +1,702 @@ +[ + { + "uri":"smn_pd_20000.html", + "product_code":"smn", + "code":"1", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Overview", + "title":"Overview", + "githuburl":"" + }, + { + "uri":"en-us_topic_0043394877.html", + "product_code":"smn", + "code":"2", + "des":"Simple Message Notification (SMN) is a reliable and flexible large-scale message notification service. It enables you to efficiently send messages to phone numbers, email", + "doc_type":"usermanual", + "kw":"Simple Message Notification,Overview,User Guide", + "title":"Simple Message Notification", + "githuburl":"" + }, + { + "uri":"smn_pd_22000.html", + "product_code":"smn", + "code":"3", + "des":"System notificationsAfter events or alarms are triggered, SMN can send notifications to specified users by email, SMS message, or HTTP/HTTPS message. For example, Cloud T", + "doc_type":"usermanual", + "kw":"Application Scenarios,Overview,User Guide", + "title":"Application Scenarios", + "githuburl":"" + }, + { + "uri":"smn_pd_23000.html", + "product_code":"smn", + "code":"4", + "des":"SMN has the following advantages over any traditional messaging systems.", + "doc_type":"usermanual", + "kw":"Service Advantages,Overview,User Guide", + "title":"Service Advantages", + "githuburl":"" + }, + { + "uri":"smn_pd_24000.html", + "product_code":"smn", + "code":"5", + "des":"SMN can be interconnected with other cloud services to provide them with messaging capabilities so that these services can send notifications to tenants or their message ", + "doc_type":"usermanual", + "kw":"Integrating SMN with Other Services,Overview,User Guide", + "title":"Integrating SMN with Other Services", + "githuburl":"" + }, + { + "uri":"smn_pd_25000.html", + "product_code":"smn", + "code":"6", + "des":"The cloud platform provides a web-based management console and HTTPS-based APIs through which you can access the SMN service.Management consoleThe management console is a", + "doc_type":"usermanual", + "kw":"Accessing and Using SMN,Overview,User Guide", + "title":"Accessing and Using SMN", + "githuburl":"" + }, + { + "uri":"en-us_topic_0000001366065676.html", + "product_code":"smn", + "code":"7", + "des":"A region and availability zone (AZ) identify the location of a data center. You can create resources in a specific region and AZ.A region is a physical data center, which", + "doc_type":"usermanual", + "kw":"Region and AZ,Overview,User Guide", + "title":"Region and AZ", + "githuburl":"" + }, + { + "uri":"smn_pd_28000.html", + "product_code":"smn", + "code":"8", + "des":"Projects are used to group and isolate OpenStack resources, including computing, storage, and network resources. A project can be either a department or a project team. M", + "doc_type":"usermanual", + "kw":"Concepts,Overview,User Guide", + "title":"Concepts", + "githuburl":"" + }, + { + "uri":"smn_qs_30000.html", + "product_code":"smn", + "code":"9", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Getting Started", + "title":"Getting Started", + "githuburl":"" + }, + { + "uri":"smn_ug_0004.html", + "product_code":"smn", + "code":"10", + "des":"After you learn the basic concepts in SMN, you can start to create a topic, add subscriptions to the topic, and publish messages on the SMN console or by calling RESTful ", + "doc_type":"usermanual", + "kw":"Publishing a Message,Getting Started,User Guide", + "title":"Publishing a Message", + "githuburl":"" + }, + { + "uri":"en-us_topic_0043394914.html", + "product_code":"smn", + "code":"11", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Topic Management", + "title":"Topic Management", + "githuburl":"" + }, + { + "uri":"en-us_topic_0043961401.html", + "product_code":"smn", + "code":"12", + "des":"A topic is a specified event to publish messages and subscribe to notifications. It serves as a message sending channel, where publishers and subscribers can interact wit", + "doc_type":"usermanual", + "kw":"Creating a Topic,Topic Management,User Guide", + "title":"Creating a Topic", + "githuburl":"" + }, + { + "uri":"smn_ug_42000.html", + "product_code":"smn", + "code":"13", + "des":"You have created a topic and want to modify its display name.Log in to the management console.Click on the upper left to select the desired region and project.In the App", + "doc_type":"usermanual", + "kw":"Modifying the Display Name of a Topic,Topic Management,User Guide", + "title":"Modifying the Display Name of a Topic", + "githuburl":"" + }, + { + "uri":"smn_ug_0006.html", + "product_code":"smn", + "code":"14", + "des":"Tags consist of keys and values. They identify cloud resources so that you can easily categorize and search for your resources.A tag key can have multiple values.Tag keys", + "doc_type":"usermanual", + "kw":"Adding Tags to a Topic,Topic Management,User Guide", + "title":"Adding Tags to a Topic", + "githuburl":"" + }, + { + "uri":"smn_ug_0007.html", + "product_code":"smn", + "code":"15", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Configuring Topic Policies", + "title":"Configuring Topic Policies", + "githuburl":"" + }, + { + "uri":"en-us_topic_0043394891.html", + "product_code":"smn", + "code":"16", + "des":"The topic creator has the right to configure topic policies. Using topic policies, you can specify which users and cloud services can perform which topic operations, for ", + "doc_type":"usermanual", + "kw":"Basic Mode,Configuring Topic Policies,User Guide", + "title":"Basic Mode", + "githuburl":"" + }, + { + "uri":"en-us_topic_0043394868.html", + "product_code":"smn", + "code":"17", + "des":"The advanced mode provides a more flexible topic policy. You can specify which users and cloud services can perform which topic operations, for example, querying topic de", + "doc_type":"usermanual", + "kw":"Advanced Mode,Configuring Topic Policies,User Guide", + "title":"Advanced Mode", + "githuburl":"" + }, + { + "uri":"smn_ug_44003.html", + "product_code":"smn", + "code":"18", + "des":"The example is explained as follows:The policy whose ID is __default_policy_ID contains one statement. The statement ID is __user_pub_0. The statement allows users whose ", + "doc_type":"usermanual", + "kw":"Example Topic Policies,Configuring Topic Policies,User Guide", + "title":"Example Topic Policies", + "githuburl":"" + }, + { + "uri":"en-us_topic_0043961402.html", + "product_code":"smn", + "code":"19", + "des":"To deliver messages published to a topic to subscription endpoints, you must add the endpoints to the topic.Log in to the management console.Click on the upper left to s", + "doc_type":"usermanual", + "kw":"Adding a Subscription,Topic Management,User Guide", + "title":"Adding a Subscription", + "githuburl":"" + }, + { + "uri":"smn_ug_0027.html", + "product_code":"smn", + "code":"20", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Publishing a Message", + "title":"Publishing a Message", + "githuburl":"" + }, + { + "uri":"en-us_topic_0044170758.html", + "product_code":"smn", + "code":"21", + "des":"SMN enables you to publish messages in the following formats:TextJSONTemplateTextJSONTemplateAfter you publish a message to a topic, SMN will deliver the message to all c", + "doc_type":"usermanual", + "kw":"Introduction,Publishing a Message,User Guide", + "title":"Introduction", + "githuburl":"" + }, + { + "uri":"en-us_topic_0043961403.html", + "product_code":"smn", + "code":"22", + "des":"After you publish a text message to a topic, SMN will deliver the message to all confirmed subscription endpoints in the topic.Subscribers in the topic must have confirme", + "doc_type":"usermanual", + "kw":"Publishing a Text Message,Publishing a Message,User Guide", + "title":"Publishing a Text Message", + "githuburl":"" + }, + { + "uri":"en-us_topic_0044170767.html", + "product_code":"smn", + "code":"23", + "des":"In a JSON message, you can specify different message content for different protocols, including SMS, email, DMS, HTTP, and HTTPS.Subscribers in the topic must have confir", + "doc_type":"usermanual", + "kw":"Publishing a JSON Message,Publishing a Message,User Guide", + "title":"Publishing a JSON Message", + "githuburl":"" + }, + { + "uri":"en-us_topic_0044170770.html", + "product_code":"smn", + "code":"24", + "des":"Message templates contain fixed message content. If you need to send the same or similar messages multiple times, you can create a message template for quick message send", + "doc_type":"usermanual", + "kw":"Publishing a Template Message,Publishing a Message,User Guide", + "title":"Publishing a Template Message", + "githuburl":"" + }, + { + "uri":"smn_ug_47000.html", + "product_code":"smn", + "code":"25", + "des":"If another user creates a topic and grants you permissions to publish messages, you can publish text or JSON messages to the topic.You have obtained the URN of the topic ", + "doc_type":"usermanual", + "kw":"Publishing a Message to a Topic Granted to You,Topic Management,User Guide", + "title":"Publishing a Message to a Topic Granted to You", + "githuburl":"" + }, + { + "uri":"smn_ug_48000.html", + "product_code":"smn", + "code":"26", + "des":"Log in to the management console.Click on the upper left to select the desired region and project.In the Application category, click Simple Message Notification.The SMN ", + "doc_type":"usermanual", + "kw":"Deleting a Topic,Topic Management,User Guide", + "title":"Deleting a Topic", + "githuburl":"" + }, + { + "uri":"en-us_topic_0043394897.html", + "product_code":"smn", + "code":"27", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Subscription Management", + "title":"Subscription Management", + "githuburl":"" + }, + { + "uri":"smn_ug_0008.html", + "product_code":"smn", + "code":"28", + "des":"To deliver messages published to a topic to endpoints, you must add the subscription endpoints to the topic. Endpoints can be email addresses, phone numbers, message queu", + "doc_type":"usermanual", + "kw":"Adding a Subscription,Subscription Management,User Guide", + "title":"Adding a Subscription", + "githuburl":"" + }, + { + "uri":"smn_ug_0009.html", + "product_code":"smn", + "code":"29", + "des":"If a subscriber does not receive the confirmation message, you need to request confirmation again. You can send a subscription confirmation message to one or more subscri", + "doc_type":"usermanual", + "kw":"Requesting Subscription Confirmation,Subscription Management,User Guide", + "title":"Requesting Subscription Confirmation", + "githuburl":"" + }, + { + "uri":"smn_ug_0010.html", + "product_code":"smn", + "code":"30", + "des":"After you add subscriptions to a topic, the subscribers receive a confirmation message and need to confirm their subscriptions to receive notification messages published ", + "doc_type":"usermanual", + "kw":"Canceling a Subscription,Subscription Management,User Guide", + "title":"Canceling a Subscription", + "githuburl":"" + }, + { + "uri":"smn_ug_0011.html", + "product_code":"smn", + "code":"31", + "des":"If one or multiple subscription endpoints do not need to receive messages published to a topic, you can delete them.Log in to the management console.Click on the upper l", + "doc_type":"usermanual", + "kw":"Deleting a Subscription,Subscription Management,User Guide", + "title":"Deleting a Subscription", + "githuburl":"" + }, + { + "uri":"en-us_topic_0043394889.html", + "product_code":"smn", + "code":"32", + "des":"Message templates contain fixed and changeable content and can be used to send messages quickly. When you publish a message using a template, you can specify values for v", + "doc_type":"usermanual", + "kw":"Message Template Management,User Guide", + "title":"Message Template Management", + "githuburl":"" + }, + { + "uri":"smn_ug_90000.html", + "product_code":"smn", + "code":"33", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"SMN Operation Recording", + "title":"SMN Operation Recording", + "githuburl":"" + }, + { + "uri":"smn_ug_0030.html", + "product_code":"smn", + "code":"34", + "des":"You can use Cloud Trace Service (CTS) to record SMN-related operations, including request content, source IP addresses, request senders, and when a request was sent.CTS c", + "doc_type":"usermanual", + "kw":"Introduction,SMN Operation Recording,User Guide", + "title":"Introduction", + "githuburl":"" + }, + { + "uri":"smn_ug_0012.html", + "product_code":"smn", + "code":"35", + "des":"After you enable CTS, whenever an SMN API is called, the operation is recorded in a log file, which is then delivered to a specified OBS bucket for storage.However, if so", + "doc_type":"usermanual", + "kw":"Key Operations Recorded by CTS,SMN Operation Recording,User Guide", + "title":"Key Operations Recorded by CTS", + "githuburl":"" + }, + { + "uri":"smn_ug_0013.html", + "product_code":"smn", + "code":"36", + "des":"After CTS is enabled, it starts recording operations on cloud resources. You can view the operation records of the last seven days on the management console.This section ", + "doc_type":"usermanual", + "kw":"CTS Traces,SMN Operation Recording,User Guide", + "title":"CTS Traces", + "githuburl":"" + }, + { + "uri":"smn_faq_0001.html", + "product_code":"smn", + "code":"37", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"FAQs", + "title":"FAQs", + "githuburl":"" + }, + { + "uri":"index.html", + "product_code":"smn", + "code":"38", + "des":"SMN has the following advantages:It does not require many development and maintenance resources, reducing your message notification costs.It is highly reliable and scalab", + "doc_type":"usermanual", + "kw":"What Are the Advantages of SMN?,FAQs,User Guide", + "title":"What Are the Advantages of SMN?", + "githuburl":"" + }, + { + "uri":"smn_faq_0003.html", + "product_code":"smn", + "code":"39", + "des":"SMN supports the following message types or protocols: email, SMS, DMS, HTTP, and HTTPS.HTTP or HTTPS: Messages are sent to subscription URLs by HTTP or HTTPS request. Cu", + "doc_type":"usermanual", + "kw":"Which Message Types Does SMN Support?,FAQs,User Guide", + "title":"Which Message Types Does SMN Support?", + "githuburl":"" + }, + { + "uri":"smn_faq_0005.html", + "product_code":"smn", + "code":"40", + "des":"For detailed topic name requirements, see Table 1.", + "doc_type":"usermanual", + "kw":"How Are SMN Topic Names Formatted?,FAQs,User Guide", + "title":"How Are SMN Topic Names Formatted?", + "githuburl":"" + }, + { + "uri":"smn_faq_0006.html", + "product_code":"smn", + "code":"41", + "des":"By default, one user can create 3000 topics.", + "doc_type":"usermanual", + "kw":"How Many Topics Can a User Create?,FAQs,User Guide", + "title":"How Many Topics Can a User Create?", + "githuburl":"" + }, + { + "uri":"smn_faq_0007.html", + "product_code":"smn", + "code":"42", + "des":"By default, 10000 subscriptions can be added to a topic.", + "doc_type":"usermanual", + "kw":"How Many Subscriptions Can Be Added to a Topic?,FAQs,User Guide", + "title":"How Many Subscriptions Can Be Added to a Topic?", + "githuburl":"" + }, + { + "uri":"smn_faq_0008.html", + "product_code":"smn", + "code":"43", + "des":"There is no limit on the number of messages published to a topic.", + "doc_type":"usermanual", + "kw":"How Many Messages Can Be Published to a Topic?,FAQs,User Guide", + "title":"How Many Messages Can Be Published to a Topic?", + "githuburl":"" + }, + { + "uri":"smn_faq_0018.html", + "product_code":"smn", + "code":"44", + "des":"By default, one user can create 100 message templates.", + "doc_type":"usermanual", + "kw":"How Many Message Templates Can a User Create?,FAQs,User Guide", + "title":"How Many Message Templates Can a User Create?", + "githuburl":"" + }, + { + "uri":"smn_faq_0009.html", + "product_code":"smn", + "code":"45", + "des":"If the content of an SMS message consists of only ASCII characters, it will be encoded using GSM. In this case, each SMS message can contain up to 254 characters.If the c", + "doc_type":"usermanual", + "kw":"What Are the Limitations on SMS Messages?,FAQs,User Guide", + "title":"What Are the Limitations on SMS Messages?", + "githuburl":"" + }, + { + "uri":"smn_faq_0010.html", + "product_code":"smn", + "code":"46", + "des":"Yes. A topic supports HTTP, HTTPS, email, DMS, and SMS subscriptions.", + "doc_type":"usermanual", + "kw":"Does a Topic Support Subscriptions of Multiple Types?,FAQs,User Guide", + "title":"Does a Topic Support Subscriptions of Multiple Types?", + "githuburl":"" + }, + { + "uri":"smn_faq_0011.html", + "product_code":"smn", + "code":"47", + "des":"No. Topic creators cannot change protocols after subscriptions are added to a topic.", + "doc_type":"usermanual", + "kw":"Can a Topic Creator Change Subscription Protocols in a Topic?,FAQs,User Guide", + "title":"Can a Topic Creator Change Subscription Protocols in a Topic?", + "githuburl":"" + }, + { + "uri":"smn_faq_0012.html", + "product_code":"smn", + "code":"48", + "des":"No. You cannot change a subscription endpoint once it is added to the topic. You can delete the endpoint and add a new one if necessary.", + "doc_type":"usermanual", + "kw":"Can I Change a Subscription Endpoint in a Topic?,FAQs,User Guide", + "title":"Can I Change a Subscription Endpoint in a Topic?", + "githuburl":"" + }, + { + "uri":"smn_faq_0013.html", + "product_code":"smn", + "code":"49", + "des":"No. A message cannot be deleted once it is published.", + "doc_type":"usermanual", + "kw":"Can I Delete a Published Message?,FAQs,User Guide", + "title":"Can I Delete a Published Message?", + "githuburl":"" + }, + { + "uri":"smn_faq_0014.html", + "product_code":"smn", + "code":"50", + "des":"If a subscription endpoint is reachable, it will receive all messages delivered by SMN.If an endpoint is unreachable, SMN saves the failed message in a message queue and ", + "doc_type":"usermanual", + "kw":"Does SMN Ensure That Messages Are Received by Subscription Endpoints?,FAQs,User Guide", + "title":"Does SMN Ensure That Messages Are Received by Subscription Endpoints?", + "githuburl":"" + }, + { + "uri":"smn_faq_0015.html", + "product_code":"smn", + "code":"51", + "des":"Generally, a subscriber will only receive a message once. SMN re-sends a message only when there is a network or device failure.", + "doc_type":"usermanual", + "kw":"Will a Subscriber Receive the Same Message Multiple Times?,FAQs,User Guide", + "title":"Will a Subscriber Receive the Same Message Multiple Times?", + "githuburl":"" + }, + { + "uri":"smn_faq_0016.html", + "product_code":"smn", + "code":"52", + "des":"If you have verified that the subscription endpoints are normal, the most possible reason is that the subscribers have not confirmed their subscriptions or the message ha", + "doc_type":"usermanual", + "kw":"Why Do Subscribers Fail to Receive Messages After I Publish Messages to a Topic?,FAQs,User Guide", + "title":"Why Do Subscribers Fail to Receive Messages After I Publish Messages to a Topic?", + "githuburl":"" + }, + { + "uri":"smn_faq_0017.html", + "product_code":"smn", + "code":"53", + "des":"You can send at most 60 SMS messages to a single phone number within one hour and 200 within 12 hours.This limit is applicable only to SMS messaging. There is no limit on", + "doc_type":"usermanual", + "kw":"What Are the Restrictions on SMS Messaging?,FAQs,User Guide", + "title":"What Are the Restrictions on SMS Messaging?", + "githuburl":"" + }, + { + "uri":"smn_faq_0019.html", + "product_code":"smn", + "code":"54", + "des":"To protect users' privacy, some email clients do not automatically download images from the Internet. If images in an email cannot be displayed, you need to enable automa", + "doc_type":"usermanual", + "kw":"What Can I Do When Images in an Email Message Cannot Be Displayed?,FAQs,User Guide", + "title":"What Can I Do When Images in an Email Message Cannot Be Displayed?", + "githuburl":"" + }, + { + "uri":"smn_faq_0020.html", + "product_code":"smn", + "code":"55", + "des":"Yes. The phone number or sender name SMN uses to send SMS messages does not usually change. It changes only when the carrier changes the communication channel.", + "doc_type":"usermanual", + "kw":"Does SMN Always Use the Same Phone Number or Sender Name to Send SMS Messages?,FAQs,User Guide", + "title":"Does SMN Always Use the Same Phone Number or Sender Name to Send SMS Messages?", + "githuburl":"" + }, + { + "uri":"smn_faq_0021.html", + "product_code":"smn", + "code":"56", + "des":"Log in to the management console.Point to the username on the upper right and click My Credentials.Obtain the user's domain ID.", + "doc_type":"usermanual", + "kw":"How Do I Obtain a User's Domain ID?,FAQs,User Guide", + "title":"How Do I Obtain a User's Domain ID?", + "githuburl":"" + }, + { + "uri":"smn_faq_0022.html", + "product_code":"smn", + "code":"57", + "des":"Check whether required message queue permission is granted to SMN in the DMS service. If no, perform the following operations to grant permissions. If SMN has been grante", + "doc_type":"usermanual", + "kw":"Why Do I Fail to Publish Messages to a DMS Message Queue?,FAQs,User Guide", + "title":"Why Do I Fail to Publish Messages to a DMS Message Queue?", + "githuburl":"" + }, + { + "uri":"smn_ug_a0000.html", + "product_code":"smn", + "code":"58", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Appendix", + "title":"Appendix", + "githuburl":"" + }, + { + "uri":"smn_ug_a1000.html", + "product_code":"smn", + "code":"59", + "des":"The JSON format allows you to specify different message content for different subscription protocols, including Default, SMS, HTTP, HTTPS, DMS, and Email. The message co", + "doc_type":"usermanual", + "kw":"JSON Message Format,Appendix,User Guide", + "title":"JSON Message Format", + "githuburl":"" + }, + { + "uri":"smn_ug_a2000.html", + "product_code":"smn", + "code":"60", + "des":"Message templates are used to publish messages with fixed content and use variables as placeholders to represent content that you can change.The size of template content ", + "doc_type":"usermanual", + "kw":"Template Message Format,Appendix,User Guide", + "title":"Template Message Format", + "githuburl":"" + }, + { + "uri":"smn_ug_a3000.html", + "product_code":"smn", + "code":"61", + "des":"Messages delivered to endpoints using different protocols contain different content.Email or HTTP/HTTPS endpoints will receive the message subject, content, and a link to", + "doc_type":"usermanual", + "kw":"Messages of Different Protocols,Appendix,User Guide", + "title":"Messages of Different Protocols", + "githuburl":"" + }, + { + "uri":"smn_ug_a4000.html", + "product_code":"smn", + "code":"62", + "des":"To prevent malicious users from harassing subscribers, there is a limit on the number of subscription confirmation messages a user can send to an individual subscriber wi", + "doc_type":"usermanual", + "kw":"Control on Subscription Confirmation Traffic,Appendix,User Guide", + "title":"Control on Subscription Confirmation Traffic", + "githuburl":"" + }, + { + "uri":"smn_ug_a6000.html", + "product_code":"smn", + "code":"63", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Mappings Between SMN Operations and APIs,Appendix,User Guide", + "title":"Mappings Between SMN Operations and APIs", + "githuburl":"" + }, + { + "uri":"smn_ug_0031.html", + "product_code":"smn", + "code":"64", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"HTTP/HTTPS Messages", + "title":"HTTP/HTTPS Messages", + "githuburl":"" + }, + { + "uri":"smn_ug_a9001.html", + "product_code":"smn", + "code":"65", + "des":"HTTP/HTTPS messages can be classified as management messages and service messages. The former includes subscription messages and subscription cancellation messages, while", + "doc_type":"usermanual", + "kw":"Introduction,HTTP/HTTPS Messages,User Guide", + "title":"Introduction", + "githuburl":"" + }, + { + "uri":"smn_ug_a9002.html", + "product_code":"smn", + "code":"66", + "des":"This section describes the format of messages sent to HTTP or HTTPS endpoints. You can identify messages based on message types in the headers. HTTP/HTTPS message types i", + "doc_type":"usermanual", + "kw":"HTTP/HTTPS Message Format,HTTP/HTTPS Messages,User Guide", + "title":"HTTP/HTTPS Message Format", + "githuburl":"" + }, + { + "uri":"smn_ug_a9003.html", + "product_code":"smn", + "code":"67", + "des":"To ensure message security, SMN provides signature authentication for HTTP/HTTPS subscription confirmation messages, subscription cancellation messages, and notification ", + "doc_type":"usermanual", + "kw":"Message Signature Verification,HTTP/HTTPS Messages,User Guide", + "title":"Message Signature Verification", + "githuburl":"" + }, + { + "uri":"smn_ug_a9004.html", + "product_code":"smn", + "code":"68", + "des":"Verify signing_cert_url, signature (obtained in A.6.2 HTTP/HTTPS Message Format), and message (contained in the message signature) to check the message validity, as shown", + "doc_type":"usermanual", + "kw":"Sample Code,HTTP/HTTPS Messages,User Guide", + "title":"Sample Code", + "githuburl":"" + }, + { + "uri":"smn_ug_b0000.html", + "product_code":"smn", + "code":"69", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Change History,User Guide", + "title":"Change History", + "githuburl":"" + }, + { + "uri":"smn_ug_c0000.html", + "product_code":"smn", + "code":"70", + "des":"For details about the terms involved in this document, see Glossary.", + "doc_type":"usermanual", + "kw":"Glossary,User Guide", + "title":"Glossary", + "githuburl":"" + } +] \ No newline at end of file diff --git a/docs/smn/umn/CLASS.TXT.json b/docs/smn/umn/CLASS.TXT.json new file mode 100644 index 000000000..d77b450b1 --- /dev/null +++ b/docs/smn/umn/CLASS.TXT.json @@ -0,0 +1,632 @@ +[ + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"smn", + "title":"Overview", + "uri":"smn_pd_20000.html", + "doc_type":"usermanual", + "p_code":"", + "code":"1" + }, + { + "desc":"Simple Message Notification (SMN) is a reliable and flexible large-scale message notification service. It enables you to efficiently send messages to phone numbers, email", + "product_code":"smn", + "title":"Simple Message Notification", + "uri":"en-us_topic_0043394877.html", + "doc_type":"usermanual", + "p_code":"1", + "code":"2" + }, + { + "desc":"System notificationsAfter events or alarms are triggered, SMN can send notifications to specified users by email, SMS message, or HTTP/HTTPS message. For example, Cloud T", + "product_code":"smn", + "title":"Application Scenarios", + "uri":"smn_pd_22000.html", + "doc_type":"usermanual", + "p_code":"1", + "code":"3" + }, + { + "desc":"SMN has the following advantages over any traditional messaging systems.", + "product_code":"smn", + "title":"Service Advantages", + "uri":"smn_pd_23000.html", + "doc_type":"usermanual", + "p_code":"1", + "code":"4" + }, + { + "desc":"SMN can be interconnected with other cloud services to provide them with messaging capabilities so that these services can send notifications to tenants or their message ", + "product_code":"smn", + "title":"Integrating SMN with Other Services", + "uri":"smn_pd_24000.html", + "doc_type":"usermanual", + "p_code":"1", + "code":"5" + }, + { + "desc":"The cloud platform provides a web-based management console and HTTPS-based APIs through which you can access the SMN service.Management consoleThe management console is a", + "product_code":"smn", + "title":"Accessing and Using SMN", + "uri":"smn_pd_25000.html", + "doc_type":"usermanual", + "p_code":"1", + "code":"6" + }, + { + "desc":"A region and availability zone (AZ) identify the location of a data center. You can create resources in a specific region and AZ.A region is a physical data center, which", + "product_code":"smn", + "title":"Region and AZ", + "uri":"en-us_topic_0000001366065676.html", + "doc_type":"usermanual", + "p_code":"1", + "code":"7" + }, + { + "desc":"Projects are used to group and isolate OpenStack resources, including computing, storage, and network resources. A project can be either a department or a project team. M", + "product_code":"smn", + "title":"Concepts", + "uri":"smn_pd_28000.html", + "doc_type":"usermanual", + "p_code":"1", + "code":"8" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"smn", + "title":"Getting Started", + "uri":"smn_qs_30000.html", + "doc_type":"usermanual", + "p_code":"", + "code":"9" + }, + { + "desc":"After you learn the basic concepts in SMN, you can start to create a topic, add subscriptions to the topic, and publish messages on the SMN console or by calling RESTful ", + "product_code":"smn", + "title":"Publishing a Message", + "uri":"smn_ug_0004.html", + "doc_type":"usermanual", + "p_code":"9", + "code":"10" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"smn", + "title":"Topic Management", + "uri":"en-us_topic_0043394914.html", + "doc_type":"usermanual", + "p_code":"", + "code":"11" + }, + { + "desc":"A topic is a specified event to publish messages and subscribe to notifications. It serves as a message sending channel, where publishers and subscribers can interact wit", + "product_code":"smn", + "title":"Creating a Topic", + "uri":"en-us_topic_0043961401.html", + "doc_type":"usermanual", + "p_code":"11", + "code":"12" + }, + { + "desc":"You have created a topic and want to modify its display name.Log in to the management console.Click on the upper left to select the desired region and project.In the App", + "product_code":"smn", + "title":"Modifying the Display Name of a Topic", + "uri":"smn_ug_42000.html", + "doc_type":"usermanual", + "p_code":"11", + "code":"13" + }, + { + "desc":"Tags consist of keys and values. They identify cloud resources so that you can easily categorize and search for your resources.A tag key can have multiple values.Tag keys", + "product_code":"smn", + "title":"Adding Tags to a Topic", + "uri":"smn_ug_0006.html", + "doc_type":"usermanual", + "p_code":"11", + "code":"14" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"smn", + "title":"Configuring Topic Policies", + "uri":"smn_ug_0007.html", + "doc_type":"usermanual", + "p_code":"11", + "code":"15" + }, + { + "desc":"The topic creator has the right to configure topic policies. Using topic policies, you can specify which users and cloud services can perform which topic operations, for ", + "product_code":"smn", + "title":"Basic Mode", + "uri":"en-us_topic_0043394891.html", + "doc_type":"usermanual", + "p_code":"15", + "code":"16" + }, + { + "desc":"The advanced mode provides a more flexible topic policy. You can specify which users and cloud services can perform which topic operations, for example, querying topic de", + "product_code":"smn", + "title":"Advanced Mode", + "uri":"en-us_topic_0043394868.html", + "doc_type":"usermanual", + "p_code":"15", + "code":"17" + }, + { + "desc":"The example is explained as follows:The policy whose ID is __default_policy_ID contains one statement. The statement ID is __user_pub_0. The statement allows users whose ", + "product_code":"smn", + "title":"Example Topic Policies", + "uri":"smn_ug_44003.html", + "doc_type":"usermanual", + "p_code":"15", + "code":"18" + }, + { + "desc":"To deliver messages published to a topic to subscription endpoints, you must add the endpoints to the topic.Log in to the management console.Click on the upper left to s", + "product_code":"smn", + "title":"Adding a Subscription", + "uri":"en-us_topic_0043961402.html", + "doc_type":"usermanual", + "p_code":"11", + "code":"19" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"smn", + "title":"Publishing a Message", + "uri":"smn_ug_0027.html", + "doc_type":"usermanual", + "p_code":"11", + "code":"20" + }, + { + "desc":"SMN enables you to publish messages in the following formats:TextJSONTemplateTextJSONTemplateAfter you publish a message to a topic, SMN will deliver the message to all c", + "product_code":"smn", + "title":"Introduction", + "uri":"en-us_topic_0044170758.html", + "doc_type":"usermanual", + "p_code":"20", + "code":"21" + }, + { + "desc":"After you publish a text message to a topic, SMN will deliver the message to all confirmed subscription endpoints in the topic.Subscribers in the topic must have confirme", + "product_code":"smn", + "title":"Publishing a Text Message", + "uri":"en-us_topic_0043961403.html", + "doc_type":"usermanual", + "p_code":"20", + "code":"22" + }, + { + "desc":"In a JSON message, you can specify different message content for different protocols, including SMS, email, DMS, HTTP, and HTTPS.Subscribers in the topic must have confir", + "product_code":"smn", + "title":"Publishing a JSON Message", + "uri":"en-us_topic_0044170767.html", + "doc_type":"usermanual", + "p_code":"20", + "code":"23" + }, + { + "desc":"Message templates contain fixed message content. If you need to send the same or similar messages multiple times, you can create a message template for quick message send", + "product_code":"smn", + "title":"Publishing a Template Message", + "uri":"en-us_topic_0044170770.html", + "doc_type":"usermanual", + "p_code":"20", + "code":"24" + }, + { + "desc":"If another user creates a topic and grants you permissions to publish messages, you can publish text or JSON messages to the topic.You have obtained the URN of the topic ", + "product_code":"smn", + "title":"Publishing a Message to a Topic Granted to You", + "uri":"smn_ug_47000.html", + "doc_type":"usermanual", + "p_code":"11", + "code":"25" + }, + { + "desc":"Log in to the management console.Click on the upper left to select the desired region and project.In the Application category, click Simple Message Notification.The SMN ", + "product_code":"smn", + "title":"Deleting a Topic", + "uri":"smn_ug_48000.html", + "doc_type":"usermanual", + "p_code":"11", + "code":"26" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"smn", + "title":"Subscription Management", + "uri":"en-us_topic_0043394897.html", + "doc_type":"usermanual", + "p_code":"", + "code":"27" + }, + { + "desc":"To deliver messages published to a topic to endpoints, you must add the subscription endpoints to the topic. Endpoints can be email addresses, phone numbers, message queu", + "product_code":"smn", + "title":"Adding a Subscription", + "uri":"smn_ug_0008.html", + "doc_type":"usermanual", + "p_code":"27", + "code":"28" + }, + { + "desc":"If a subscriber does not receive the confirmation message, you need to request confirmation again. You can send a subscription confirmation message to one or more subscri", + "product_code":"smn", + "title":"Requesting Subscription Confirmation", + "uri":"smn_ug_0009.html", + "doc_type":"usermanual", + "p_code":"27", + "code":"29" + }, + { + "desc":"After you add subscriptions to a topic, the subscribers receive a confirmation message and need to confirm their subscriptions to receive notification messages published ", + "product_code":"smn", + "title":"Canceling a Subscription", + "uri":"smn_ug_0010.html", + "doc_type":"usermanual", + "p_code":"27", + "code":"30" + }, + { + "desc":"If one or multiple subscription endpoints do not need to receive messages published to a topic, you can delete them.Log in to the management console.Click on the upper l", + "product_code":"smn", + "title":"Deleting a Subscription", + "uri":"smn_ug_0011.html", + "doc_type":"usermanual", + "p_code":"27", + "code":"31" + }, + { + "desc":"Message templates contain fixed and changeable content and can be used to send messages quickly. When you publish a message using a template, you can specify values for v", + "product_code":"smn", + "title":"Message Template Management", + "uri":"en-us_topic_0043394889.html", + "doc_type":"usermanual", + "p_code":"", + "code":"32" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"smn", + "title":"SMN Operation Recording", + "uri":"smn_ug_90000.html", + "doc_type":"usermanual", + "p_code":"", + "code":"33" + }, + { + "desc":"You can use Cloud Trace Service (CTS) to record SMN-related operations, including request content, source IP addresses, request senders, and when a request was sent.CTS c", + "product_code":"smn", + "title":"Introduction", + "uri":"smn_ug_0030.html", + "doc_type":"usermanual", + "p_code":"33", + "code":"34" + }, + { + "desc":"After you enable CTS, whenever an SMN API is called, the operation is recorded in a log file, which is then delivered to a specified OBS bucket for storage.However, if so", + "product_code":"smn", + "title":"Key Operations Recorded by CTS", + "uri":"smn_ug_0012.html", + "doc_type":"usermanual", + "p_code":"33", + "code":"35" + }, + { + "desc":"After CTS is enabled, it starts recording operations on cloud resources. You can view the operation records of the last seven days on the management console.This section ", + "product_code":"smn", + "title":"CTS Traces", + "uri":"smn_ug_0013.html", + "doc_type":"usermanual", + "p_code":"33", + "code":"36" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"smn", + "title":"FAQs", + "uri":"smn_faq_0001.html", + "doc_type":"usermanual", + "p_code":"", + "code":"37" + }, + { + "desc":"SMN has the following advantages:It does not require many development and maintenance resources, reducing your message notification costs.It is highly reliable and scalab", + "product_code":"smn", + "title":"What Are the Advantages of SMN?", + "uri":"index.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"38" + }, + { + "desc":"SMN supports the following message types or protocols: email, SMS, DMS, HTTP, and HTTPS.HTTP or HTTPS: Messages are sent to subscription URLs by HTTP or HTTPS request. Cu", + "product_code":"smn", + "title":"Which Message Types Does SMN Support?", + "uri":"smn_faq_0003.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"39" + }, + { + "desc":"For detailed topic name requirements, see Table 1.", + "product_code":"smn", + "title":"How Are SMN Topic Names Formatted?", + "uri":"smn_faq_0005.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"40" + }, + { + "desc":"By default, one user can create 3000 topics.", + "product_code":"smn", + "title":"How Many Topics Can a User Create?", + "uri":"smn_faq_0006.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"41" + }, + { + "desc":"By default, 10000 subscriptions can be added to a topic.", + "product_code":"smn", + "title":"How Many Subscriptions Can Be Added to a Topic?", + "uri":"smn_faq_0007.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"42" + }, + { + "desc":"There is no limit on the number of messages published to a topic.", + "product_code":"smn", + "title":"How Many Messages Can Be Published to a Topic?", + "uri":"smn_faq_0008.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"43" + }, + { + "desc":"By default, one user can create 100 message templates.", + "product_code":"smn", + "title":"How Many Message Templates Can a User Create?", + "uri":"smn_faq_0018.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"44" + }, + { + "desc":"If the content of an SMS message consists of only ASCII characters, it will be encoded using GSM. In this case, each SMS message can contain up to 254 characters.If the c", + "product_code":"smn", + "title":"What Are the Limitations on SMS Messages?", + "uri":"smn_faq_0009.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"45" + }, + { + "desc":"Yes. A topic supports HTTP, HTTPS, email, DMS, and SMS subscriptions.", + "product_code":"smn", + "title":"Does a Topic Support Subscriptions of Multiple Types?", + "uri":"smn_faq_0010.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"46" + }, + { + "desc":"No. Topic creators cannot change protocols after subscriptions are added to a topic.", + "product_code":"smn", + "title":"Can a Topic Creator Change Subscription Protocols in a Topic?", + "uri":"smn_faq_0011.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"47" + }, + { + "desc":"No. You cannot change a subscription endpoint once it is added to the topic. You can delete the endpoint and add a new one if necessary.", + "product_code":"smn", + "title":"Can I Change a Subscription Endpoint in a Topic?", + "uri":"smn_faq_0012.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"48" + }, + { + "desc":"No. A message cannot be deleted once it is published.", + "product_code":"smn", + "title":"Can I Delete a Published Message?", + "uri":"smn_faq_0013.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"49" + }, + { + "desc":"If a subscription endpoint is reachable, it will receive all messages delivered by SMN.If an endpoint is unreachable, SMN saves the failed message in a message queue and ", + "product_code":"smn", + "title":"Does SMN Ensure That Messages Are Received by Subscription Endpoints?", + "uri":"smn_faq_0014.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"50" + }, + { + "desc":"Generally, a subscriber will only receive a message once. SMN re-sends a message only when there is a network or device failure.", + "product_code":"smn", + "title":"Will a Subscriber Receive the Same Message Multiple Times?", + "uri":"smn_faq_0015.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"51" + }, + { + "desc":"If you have verified that the subscription endpoints are normal, the most possible reason is that the subscribers have not confirmed their subscriptions or the message ha", + "product_code":"smn", + "title":"Why Do Subscribers Fail to Receive Messages After I Publish Messages to a Topic?", + "uri":"smn_faq_0016.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"52" + }, + { + "desc":"You can send at most 60 SMS messages to a single phone number within one hour and 200 within 12 hours.This limit is applicable only to SMS messaging. There is no limit on", + "product_code":"smn", + "title":"What Are the Restrictions on SMS Messaging?", + "uri":"smn_faq_0017.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"53" + }, + { + "desc":"To protect users' privacy, some email clients do not automatically download images from the Internet. If images in an email cannot be displayed, you need to enable automa", + "product_code":"smn", + "title":"What Can I Do When Images in an Email Message Cannot Be Displayed?", + "uri":"smn_faq_0019.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"54" + }, + { + "desc":"Yes. The phone number or sender name SMN uses to send SMS messages does not usually change. It changes only when the carrier changes the communication channel.", + "product_code":"smn", + "title":"Does SMN Always Use the Same Phone Number or Sender Name to Send SMS Messages?", + "uri":"smn_faq_0020.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"55" + }, + { + "desc":"Log in to the management console.Point to the username on the upper right and click My Credentials.Obtain the user's domain ID.", + "product_code":"smn", + "title":"How Do I Obtain a User's Domain ID?", + "uri":"smn_faq_0021.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"56" + }, + { + "desc":"Check whether required message queue permission is granted to SMN in the DMS service. If no, perform the following operations to grant permissions. If SMN has been grante", + "product_code":"smn", + "title":"Why Do I Fail to Publish Messages to a DMS Message Queue?", + "uri":"smn_faq_0022.html", + "doc_type":"usermanual", + "p_code":"37", + "code":"57" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"smn", + "title":"Appendix", + "uri":"smn_ug_a0000.html", + "doc_type":"usermanual", + "p_code":"", + "code":"58" + }, + { + "desc":"The JSON format allows you to specify different message content for different subscription protocols, including Default, SMS, HTTP, HTTPS, DMS, and Email. The message co", + "product_code":"smn", + "title":"JSON Message Format", + "uri":"smn_ug_a1000.html", + "doc_type":"usermanual", + "p_code":"58", + "code":"59" + }, + { + "desc":"Message templates are used to publish messages with fixed content and use variables as placeholders to represent content that you can change.The size of template content ", + "product_code":"smn", + "title":"Template Message Format", + "uri":"smn_ug_a2000.html", + "doc_type":"usermanual", + "p_code":"58", + "code":"60" + }, + { + "desc":"Messages delivered to endpoints using different protocols contain different content.Email or HTTP/HTTPS endpoints will receive the message subject, content, and a link to", + "product_code":"smn", + "title":"Messages of Different Protocols", + "uri":"smn_ug_a3000.html", + "doc_type":"usermanual", + "p_code":"58", + "code":"61" + }, + { + "desc":"To prevent malicious users from harassing subscribers, there is a limit on the number of subscription confirmation messages a user can send to an individual subscriber wi", + "product_code":"smn", + "title":"Control on Subscription Confirmation Traffic", + "uri":"smn_ug_a4000.html", + "doc_type":"usermanual", + "p_code":"58", + "code":"62" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"smn", + "title":"Mappings Between SMN Operations and APIs", + "uri":"smn_ug_a6000.html", + "doc_type":"usermanual", + "p_code":"58", + "code":"63" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"smn", + "title":"HTTP/HTTPS Messages", + "uri":"smn_ug_0031.html", + "doc_type":"usermanual", + "p_code":"58", + "code":"64" + }, + { + "desc":"HTTP/HTTPS messages can be classified as management messages and service messages. The former includes subscription messages and subscription cancellation messages, while", + "product_code":"smn", + "title":"Introduction", + "uri":"smn_ug_a9001.html", + "doc_type":"usermanual", + "p_code":"64", + "code":"65" + }, + { + "desc":"This section describes the format of messages sent to HTTP or HTTPS endpoints. You can identify messages based on message types in the headers. HTTP/HTTPS message types i", + "product_code":"smn", + "title":"HTTP/HTTPS Message Format", + "uri":"smn_ug_a9002.html", + "doc_type":"usermanual", + "p_code":"64", + "code":"66" + }, + { + "desc":"To ensure message security, SMN provides signature authentication for HTTP/HTTPS subscription confirmation messages, subscription cancellation messages, and notification ", + "product_code":"smn", + "title":"Message Signature Verification", + "uri":"smn_ug_a9003.html", + "doc_type":"usermanual", + "p_code":"64", + "code":"67" + }, + { + "desc":"Verify signing_cert_url, signature (obtained in A.6.2 HTTP/HTTPS Message Format), and message (contained in the message signature) to check the message validity, as shown", + "product_code":"smn", + "title":"Sample Code", + "uri":"smn_ug_a9004.html", + "doc_type":"usermanual", + "p_code":"64", + "code":"68" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"smn", + "title":"Change History", + "uri":"smn_ug_b0000.html", + "doc_type":"usermanual", + "p_code":"", + "code":"69" + }, + { + "desc":"For details about the terms involved in this document, see Glossary.", + "product_code":"smn", + "title":"Glossary", + "uri":"smn_ug_c0000.html", + "doc_type":"usermanual", + "p_code":"", + "code":"70" + } +] \ No newline at end of file diff --git a/docs/smn/umn/PARAMETERS.txt b/docs/smn/umn/PARAMETERS.txt new file mode 100644 index 000000000..6da8d5f07 --- /dev/null +++ b/docs/smn/umn/PARAMETERS.txt @@ -0,0 +1,3 @@ +version="" +language="en-us" +type="" \ No newline at end of file diff --git a/docs/smn/umn/en-us_image_0000001366065744.png b/docs/smn/umn/en-us_image_0000001366065744.png new file mode 100644 index 000000000..640f2090a Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001366065744.png differ diff --git a/docs/smn/umn/en-us_image_0000001366065752.png b/docs/smn/umn/en-us_image_0000001366065752.png new file mode 100644 index 000000000..2d997ddaf Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001366065752.png differ diff --git a/docs/smn/umn/en-us_image_0000001366065760.png b/docs/smn/umn/en-us_image_0000001366065760.png new file mode 100644 index 000000000..0a8943d26 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001366065760.png differ diff --git a/docs/smn/umn/en-us_image_0000001366065784.png b/docs/smn/umn/en-us_image_0000001366065784.png new file mode 100644 index 000000000..1909444d2 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001366065784.png differ diff --git a/docs/smn/umn/en-us_image_0000001366065808.png b/docs/smn/umn/en-us_image_0000001366065808.png new file mode 100644 index 000000000..46725db23 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001366065808.png differ diff --git a/docs/smn/umn/en-us_image_0000001366065828.png b/docs/smn/umn/en-us_image_0000001366065828.png new file mode 100644 index 000000000..07e936eb4 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001366065828.png differ diff --git a/docs/smn/umn/en-us_image_0000001366065852.png b/docs/smn/umn/en-us_image_0000001366065852.png new file mode 100644 index 000000000..8ee7266e9 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001366065852.png differ diff --git a/docs/smn/umn/en-us_image_0000001366225560.png b/docs/smn/umn/en-us_image_0000001366225560.png new file mode 100644 index 000000000..1909444d2 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001366225560.png differ diff --git a/docs/smn/umn/en-us_image_0000001366225576.png b/docs/smn/umn/en-us_image_0000001366225576.png new file mode 100644 index 000000000..82e6b8060 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001366225576.png differ diff --git a/docs/smn/umn/en-us_image_0000001366385424.jpg b/docs/smn/umn/en-us_image_0000001366385424.jpg new file mode 100644 index 000000000..f67319898 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001366385424.jpg differ diff --git a/docs/smn/umn/en-us_image_0000001366385432.png b/docs/smn/umn/en-us_image_0000001366385432.png new file mode 100644 index 000000000..b63cfef5f Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001366385432.png differ diff --git a/docs/smn/umn/en-us_image_0000001366545396.png b/docs/smn/umn/en-us_image_0000001366545396.png new file mode 100644 index 000000000..1909444d2 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001366545396.png differ diff --git a/docs/smn/umn/en-us_image_0000001366545400.png b/docs/smn/umn/en-us_image_0000001366545400.png new file mode 100644 index 000000000..99dc07828 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001366545400.png differ diff --git a/docs/smn/umn/en-us_image_0000001366545404.png b/docs/smn/umn/en-us_image_0000001366545404.png new file mode 100644 index 000000000..1303a51c2 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001366545404.png differ diff --git a/docs/smn/umn/en-us_image_0000001366545412.png b/docs/smn/umn/en-us_image_0000001366545412.png new file mode 100644 index 000000000..b4fbaefe1 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001366545412.png differ diff --git a/docs/smn/umn/en-us_image_0000001366545456.png b/docs/smn/umn/en-us_image_0000001366545456.png new file mode 100644 index 000000000..1909444d2 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001366545456.png differ diff --git a/docs/smn/umn/en-us_image_0000001367973684.png b/docs/smn/umn/en-us_image_0000001367973684.png new file mode 100644 index 000000000..f6390478b Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001367973684.png differ diff --git a/docs/smn/umn/en-us_image_0000001368133420.png b/docs/smn/umn/en-us_image_0000001368133420.png new file mode 100644 index 000000000..c258110de Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001368133420.png differ diff --git a/docs/smn/umn/en-us_image_0000001416865365.png b/docs/smn/umn/en-us_image_0000001416865365.png new file mode 100644 index 000000000..1909444d2 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001416865365.png differ diff --git a/docs/smn/umn/en-us_image_0000001416865373.png b/docs/smn/umn/en-us_image_0000001416865373.png new file mode 100644 index 000000000..4b8ba7cca Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001416865373.png differ diff --git a/docs/smn/umn/en-us_image_0000001416865385.png b/docs/smn/umn/en-us_image_0000001416865385.png new file mode 100644 index 000000000..0b0a05cbd Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001416865385.png differ diff --git a/docs/smn/umn/en-us_image_0000001416865417.png b/docs/smn/umn/en-us_image_0000001416865417.png new file mode 100644 index 000000000..1909444d2 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001416865417.png differ diff --git a/docs/smn/umn/en-us_image_0000001416865433.png b/docs/smn/umn/en-us_image_0000001416865433.png new file mode 100644 index 000000000..24dc9d315 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001416865433.png differ diff --git a/docs/smn/umn/en-us_image_0000001416865457.png b/docs/smn/umn/en-us_image_0000001416865457.png new file mode 100644 index 000000000..287ca654d Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001416865457.png differ diff --git a/docs/smn/umn/en-us_image_0000001416985633.png b/docs/smn/umn/en-us_image_0000001416985633.png new file mode 100644 index 000000000..1909444d2 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001416985633.png differ diff --git a/docs/smn/umn/en-us_image_0000001416985637.png b/docs/smn/umn/en-us_image_0000001416985637.png new file mode 100644 index 000000000..1909444d2 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001416985637.png differ diff --git a/docs/smn/umn/en-us_image_0000001416985681.png b/docs/smn/umn/en-us_image_0000001416985681.png new file mode 100644 index 000000000..1909444d2 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001416985681.png differ diff --git a/docs/smn/umn/en-us_image_0000001417026797.png b/docs/smn/umn/en-us_image_0000001417026797.png new file mode 100644 index 000000000..1909444d2 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001417026797.png differ diff --git a/docs/smn/umn/en-us_image_0000001417026805.png b/docs/smn/umn/en-us_image_0000001417026805.png new file mode 100644 index 000000000..4528caade Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001417026805.png differ diff --git a/docs/smn/umn/en-us_image_0000001417026841.png b/docs/smn/umn/en-us_image_0000001417026841.png new file mode 100644 index 000000000..640f2090a Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001417026841.png differ diff --git a/docs/smn/umn/en-us_image_0000001417026857.png b/docs/smn/umn/en-us_image_0000001417026857.png new file mode 100644 index 000000000..46a535c1b Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001417026857.png differ diff --git a/docs/smn/umn/en-us_image_0000001417145485.png b/docs/smn/umn/en-us_image_0000001417145485.png new file mode 100644 index 000000000..0ab7bc825 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001417145485.png differ diff --git a/docs/smn/umn/en-us_image_0000001417145493.png b/docs/smn/umn/en-us_image_0000001417145493.png new file mode 100644 index 000000000..484f20152 Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001417145493.png differ diff --git a/docs/smn/umn/en-us_image_0000001418973281.png b/docs/smn/umn/en-us_image_0000001418973281.png new file mode 100644 index 000000000..640f2090a Binary files /dev/null and b/docs/smn/umn/en-us_image_0000001418973281.png differ diff --git a/docs/smn/umn/en-us_image_0148410841.png b/docs/smn/umn/en-us_image_0148410841.png new file mode 100644 index 000000000..640f2090a Binary files /dev/null and b/docs/smn/umn/en-us_image_0148410841.png differ diff --git a/docs/smn/umn/en-us_topic_0000001366065676.html b/docs/smn/umn/en-us_topic_0000001366065676.html new file mode 100644 index 000000000..c60f052c0 --- /dev/null +++ b/docs/smn/umn/en-us_topic_0000001366065676.html @@ -0,0 +1,22 @@ + + +
A region and availability zone (AZ) identify the location of a data center. You can create resources in a specific region and AZ.
+Figure 1 shows the relationship between regions and AZs.
+ +Select a region closest to your target users for low network latency and quick access.
+When deploying resources, consider your applications' requirements on disaster recovery (DR) and network latency.
+Before you use an API to call resources, specify its region and endpoint. For more details, see Regions and Endpoints.
+The advanced mode provides a more flexible topic policy. You can specify which users and cloud services can perform which topic operations, for example, querying topic details, modifying topics, publishing messages, and deleting topics.
+A topic policy is configured by a topic creator to allow or disallow other users or cloud services to perform specified operations to a topic. Table 1 lists the elements consisting of a topic policy.
+ +Parameter + |
+Description + |
+Constraint + |
+
|---|---|---|
Version + |
+Policy specification version + |
+Currently, only 2016-09-07 is supported. + |
+
Id + |
+Policy ID, which uniquely identifies a policy + |
+The policy ID cannot be left blank. + |
+
Statement + |
+Statements used to configure which users and cloud services can perform specified operations in a topic policy. Each policy may contain one or more statements. + |
+A policy must contain at least one statement. For details about elements in a statement, see Statement Elements. + |
+
The following is an example topic policy, which contains two statements, Statement1 and Statement2.
+{
+ "Version": "2016-09-07",
+ "Id": "access_policy_01",
+ "Statement": [
+ {Statement1},
+ {Statement2}
+ ]
+}
+Table 2 lists the elements composed of a statement, as shown in the following example topic policy:
+{
+ "Version": "2016-09-07",
+ "Id": "__default_policy_ID",
+ "Statement": [
+ //The first statement.
+ {
+ "Sid": "__user_pub_0",
+ "Effect": "Allow",
+ "Principal": {
+ "CSP": [
+ "urn:csp:iam::123456789:root",
+ "urn:csp:iam::987654321:root"
+ ]
+ },
+ "Action": [
+ "SMN:Publish",
+ "SMN:QueryTopicDetail"
+ ],
+ "Resource": "urn:smn:regionId:e23bf08ebb924730b452426c60849564:ECM_BKS_Topic"
+ },
+ //The second statement
+ {
+ "Sid": "__service_pub_0",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": [
+ "obs"
+ ]
+ },
+ "Action": [
+ "SMN:Publish",
+ "SMN:QueryTopicDetail"
+ ],
+ "Resource": "urn:smn:regionId:e23bf08ebb924730b452426c60849564:ECM_BKS_Topic"
+ }
+ ]
+}
+Element + |
+Description + |
+Constraint + |
+
|---|---|---|
Sid + |
+Statement ID + |
+The statement ID must be unique, for example, statement01 or statement02. + |
+
Effect + |
+Statement effect + |
+The value can be Allow or Deny. + |
+
Principal +NotPrincipal + |
+
|
+Either the Principal or NotPrincipal element must be configured. +If you enter CSP, you must specify user information in the format urn:csp:iam::domainId:root. You need to obtain the domain ID of each user you specify. +If you enter Service, you must specify the cloud service names in lower case. + |
+
Action +NotAction + |
+
|
+Either the Action or NotAction element must be configured. +The following actions are supported: +
For details about mappings between actions and APIs, see section A.5 Mappings Between SMN Operations and APIs. + |
+
Resource +NotResource + |
+
|
+Either the Resource or NotResource element must be configured. +You need to enter a topic URN. + |
+
Condition + |
+(Optional) Condition under which a policy statement takes effect + |
+Enter supported condition operators and key words. +For details, see Condition Elements. + |
+
Conditions determine whether a statement takes effect. They enable you to configure more fine-grained control over topic permissions. Table 3 lists elements in a condition.
+ +Parameter + |
+Description + |
+Constraint + |
+
|---|---|---|
Condition operator + |
+Character string, numeral, date, or time to be matched + |
+The time you entered must comply with ISO 8601 specifications. For details, see Table 4. + |
+
Key word + |
+Object to which the condition operation applies + |
+The key word cannot be left blank. For details, see Table 5. + |
+
A statement allows the requested operation only when all conditions in the statement are met. Otherwise, the operation will be denied.
+As shown in Figure 1, when a condition contains multiple operators, for example, condition1 and condition2, an AND operation is executed.
+When the operator condition1 contains multiple keywords, for example, conditionKey1 and conditionKey2, an AND operation is executed.
+When the keyword conditionKey1 contains multiple values, for example, value11 and value12, an OR operation is executed.
+ +"Condition": {
+ "DateLessThan":{
+ "csp:CurrentTime":"2016-11-07T15:35:00Z"
+ },
+ "StringLike": {
+ "smn:Endpoint":["*@gmail.com","*@hotmail.com"]
+ }
+}
+Category + |
+Operator + |
+Description + |
+
|---|---|---|
String + |
+StringEquals + |
+Match a string (case-sensitive). + |
+
StringNotEquals + |
+Exclude a string (case-sensitive). + |
+|
StringEqualsIgnoreCase + |
+Match a string (case-insensitive). + |
+|
StringNotEqualsIgnoreCase + |
+Exclude a string (case-insensitive). + |
+|
StringLike + |
+Match a string. The value can contain one or more wildcard characters (*). + |
+|
StringNotLike + |
+Exclude a string. The value can contain one or more wildcard characters (*). + |
+|
Numeric + |
+NumericEquals + |
+Match an integer or decimal. + |
+
NumericNotEquals + |
+Exclude an integer or decimal. + |
+|
NumericLessThan + |
+Match any numeral less than an integer or decimal. + |
+|
NumericLessThanEquals + |
+Match any numeral less than or equal to an integer or decimal. + |
+|
NumericGreaterThan + |
+Match any numeral greater than an integer or decimal. + |
+|
NumericGreaterThanEquals + |
+Match any numeral greater than or equal to an integer or decimal. + |
+|
Date + |
+DateEquals + |
+Match a date. + |
+
DateNotEquals + |
+Exclude a date. + |
+|
DateLessThan + |
+Match any time earlier than a date and time point. + |
+|
DateLessThanEquals + |
+Match any time earlier than or equal to a date and time point. + |
+|
DateGreaterThan + |
+Match any time later than a date and time point. + |
+|
DateGreaterThanEquals + |
+Match any time later than or equal to a date and time point. + |
+|
Bool + |
+Bool + |
+Match a Boolean value. + |
+
Simple Message Notification (SMN) is a reliable and flexible large-scale message notification service. It enables you to efficiently send messages to phone numbers, email addresses and HTTP/HTTPS servers and connect cloud services through notifications, reducing system complexity.
+SMN offers a publish/subscribe model to achieve one-to-multiple message subscriptions and notifications in a variety of message types. SMN involves two roles: publisher and subscriber. A publisher publishes messages to a topic, and SMN then delivers the messages to subscribers in the topic. The subscribers can be email addresses, phone numbers, message queues, and URLs.
+A topic is a collection of messages and a logical access point, through which the publisher and the subscriber can interact with each other. Each topic has a unique topic name. The topic creator can configure topic policies to grant other users or cloud services permissions to perform certain operations to a topic, for example, querying subscriptions or publishing messages.
+Message templates contain fixed and changeable content and can be used to send messages quickly. When you publish a message using a template, you can specify values for variables in the template.
+Message templates are grouped by template name. You can create templates for different protocols using the same template name. You must specify the default protocol in any template name, or the system will not allow you to publish messages using that template name. When sending messages using a template, SMN tries to match different types of subscribers to the template protocols. If there is no template for a specified protocol, SMN will use the default template to send messages to subscribers of that protocol.
+This section describes how to publish messages using a template.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+The Create Message Template box is displayed.
+
Parameter + |
+Description + |
+
|---|---|
Template Name + |
+Template name, which: +
|
+
Protocol + |
+Endpoint protocol of the template, which cannot be changed once the template is created +The value can be Default, SMS, HTTP, HTTPS, DMS, or Email. +If you do not specify a protocol, the Default protocol is used. + |
+
Content + |
+Template content +You can use variables as placeholders. Before you send messages using the template, SMN replaces the variables with the message content you specify. A variable is a string of up to 21 characters. It may contain upper- or lower-case letters, numerals, hyphens (-), underscores (_), and periods (.) and must start with a letter or numeral. +The message template must meet the following requirements: +
|
+

The template you created is displayed in the template list.
+The topic creator has the right to configure topic policies. Using topic policies, you can specify which users and cloud services can perform which topic operations, for example, querying topic details and publishing messages. Topic creators always have permissions over a topic even if they grant topic permissions to other users.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+In the navigation pane, choose Topics.
+The Topics page is displayed.
+The basic mode simply specifies which users or cloud services have permissions to publish messages to a topic. For details, see Table 1.
+The advanced mode provides more flexible permission settings. For details, see section 3.4.2 Advanced Mode.
+ +Item + |
+Parameter + |
+Description + |
+
|---|---|---|
Users who can publish messages to this topic + |
+Topic creator + |
+Only the topic creator has permission to publish messages to the topic. + |
+
All users + |
+All users have permission to publish messages to the topic. + |
+|
Specified user domains + |
+Only specified users have permission to publish messages to the topic. Users are specified in the format urn:csp:iam::domainId:root. +You only need to enter the domain ID and click OK. The system completes all other required information for you. SMN does not limit the number of IDs you enter, but the total length of a topic policy cannot exceed 30 KB. +All settings in the basic mode are also presented in the advanced policy. You can modify them in the advanced mode if necessary. For details, see section 3.4.2 Advanced Mode. +To obtain a user's domain ID, log in to the SMN console and click My Credentials in the username drop-down list on the upper right. + |
+|
Services that can publish messages to this topic + |
+The services that can publish messages vary according to regions. + |
+The selected cloud services have operation permissions of the topic. + NOTE:
+By default, Cloud Eye and Anti-DDoS have permissions to publish messages to topics created by all users. +For details about how to use SMN in other cloud services, see user guides of the related services. + |
+
A topic is a specified event to publish messages and subscribe to notifications. It serves as a message sending channel, where publishers and subscribers can interact with each other.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+In the navigation pane, choose Topics.
+The Topics page is displayed.
+The Create Topic box is displayed.
+
Parameter + |
+Description + |
+
|---|---|
Topic Name + |
+Topic name, which: +
|
+
Display Name + |
+Message sender name, which must be less than 192 bytes. + NOTE:
+After you specify a display name, the sender in email messages will be presented as Display name<username@example.com>. Otherwise, the sender will be username@example.com. + |
+
Tag + |
+Tags consist of keys and values. They identify cloud resources so that you can easily categorize and search for your resources. +
|
+
The topic you created is displayed in the topic list. The system generates a topic URN, which is the unique resource identifier of the topic and cannot be changed.
+To deliver messages published to a topic to subscription endpoints, you must add the endpoints to the topic.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+In the navigation pane, choose Topics.
+The Topics page is displayed.
+The Add Subscription box is displayed.
+
Enter a valid email address, for example, username@example.com.
+Subscribers will receive a subscription confirmation email valid in 48 hours and must confirm the subscription to receive messages published to the topic.
+Enter a public network URL, for example, http://example.com/notification/action. HTTP/HTTPS subscribers must confirm their subscriptions. For details about HTTP/HTTPS messages, see section A.6.1 Introduction.
+Enter a valid mobile number preceded by a plus sign (+) and a country code, for example, +4900000000.
+Subscribers will receive a subscription confirmation message valid in 48 hours and must confirm the subscription to receive messages published to the topic.
+Subscription endpoints are message queues. This type of subscriptions does not need confirmation. Click
to select subscription endpoints. Ensure that the queue policy grants the DMS:ProduceMessages permission to SMN. For details, see "Managing Queue Policies" in the Distributed Message Service User Guide.
The subscription you added is displayed in the subscription list.
+
After you publish a text message to a topic, SMN will deliver the message to all confirmed subscription endpoints in the topic.
+Subscribers in the topic must have confirmed the subscription, or they will not be able to receive any messages.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+In the navigation pane, choose Topics.
+The Topics page is displayed.
+Parameter + |
+Description + |
+
|---|---|
Subject + |
+(Optional) The message subject is a string of less than 512 bytes. + |
+
Message Format + |
+The message format can be Text, JSON, or Template. In this context, you need to select Text. +
|
+
Message + |
+This is the message content, which cannot be left blank nor exceed 256 KB. + |
+

SMN delivers your message to all subscription endpoints. For details about messages for different protocols, see A.3 Messages of Different Protocols.
+After you publish a message to a topic, SMN will deliver the message to all confirmed subscription endpoints in the topic.
+For SMS endpoints, if an SMS message is oversized, the system divides it into multiple parts when sending it to subscribers. However, you must note that SMN only sends the first two parts of the SMS message and does not send any additional parts. You are charged based on the actual number of messages sent to the subscribers.
+You must ensure that firewall policies of the HTTP or HTTPS endpoints allow SMN to send messages from the Internet. An SMN HTTP or HTTPS message consists of a message header and body. For details, see A.6.2 HTTP/HTTPS Message Format.
+In a JSON message, you can specify different message content for different protocols, including SMS, email, DMS, HTTP, and HTTPS.
+Subscribers in the topic must have confirmed the subscription, or they will not be able to receive any messages.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+In the navigation pane, choose Topics.
+The Topics page is displayed.
+Select JSON for Message Format. Then, manually type the JSON message in the Message box or click Generate JSON Message to generate it automatically. The total size of a JSON message cannot exceed 256 KB.
+The size of a JSON message varies depending on the protocol combinations. As you type in the message content, the system will calculate the number of bytes you have entered, the size of the JSON message, and how many bytes are left. The total size of a JSON message includes braces, quotation marks, spaces, line breaks, and message content. For details about how to calculate the size of a JSON message, see Calculation on the JSON Message Size in A.1 JSON Message Format.
+

SMN delivers your message to all subscription endpoints. For details about messages for different protocols, see A.3 Messages of Different Protocols.
+Message templates contain fixed message content. If you need to send the same or similar messages multiple times, you can create a message template for quick message sending.
+You can create different templates for different protocols using the same template name so that each type of subscribers can receive customized messages. Templates contain variables as the placeholders to represent changeable content that you can replace with your own message content. Note that you must create a template in the default protocol, or the system will not allow you to publish messages using this template name.
+When creating messages using a template, you need to select a template name. The system will list all variables in the following protocol sequence: default, SMS, email, DMS, HTTP, and HTTPS. The same variables are listed only once even if they are used in multiple protocols, and the protocols they support are listed after each variable. You need to specify content for each variable in the message template, and SMN replaces them with the content you entered. If you do not enter any content for a variable, the system will treat it as empty when sending messages.
+SMN tries to match different types of subscribers to the template protocols. If there is no template for a specified protocol, it will use the default template to send messages to subscribers of that protocol.
+This section describes how to publish messages using a template. For more details about message templates, see 5 Message Template Management.
+Subscribers in the topic must have confirmed the subscription, or they will not be able to receive any messages.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+In the navigation pane, choose Topics.
+The Topics page is displayed.
+Select Template for Message Format. Then, manually type the template content in the Message box or click Generate Template Message to generate it automatically. The template message content cannot exceed 256 KB.
+


SMN delivers your message to all subscription endpoints. For details about messages for different protocols, see A.3 Messages of Different Protocols.
+SMN has the following advantages:
+SMN supports the following message types or protocols: email, SMS, DMS, HTTP, and HTTPS.
+For detailed topic name requirements, see Table 1.
+ +By default, one user can create 3000 topics.
+By default, 10000 subscriptions can be added to a topic.
+There is no limit on the number of messages published to a topic.
+If the content of an SMS message consists of only ASCII characters, it will be encoded using GSM. In this case, each SMS message can contain up to 254 characters.
+If the content includes non-ASCII characters, it will be encoded using UCS-2, and each SMS message can contain up to 127 characters.
+If an SMS message is oversized, SMN will split it into multiple parts but only send the first two parts to subscribers.
+Yes. A topic supports HTTP, HTTPS, email, DMS, and SMS subscriptions.
+No. Topic creators cannot change protocols after subscriptions are added to a topic.
+No. You cannot change a subscription endpoint once it is added to the topic. You can delete the endpoint and add a new one if necessary.
+No. A message cannot be deleted once it is published.
+If a subscription endpoint is reachable, it will receive all messages delivered by SMN.
+If an endpoint is unreachable, SMN saves the failed message in a message queue and tries to send it six more times. If the message still fails to send, SMN discards it and does not inform the publisher that the message delivery has failed.
+The interval for re-sending a failed message varies depending on the length of the message queue. Usually, a failed message is processed within several hours. If the queue has too many failed messages, it will be processed within a day.
+Generally, a subscriber will only receive a message once. SMN re-sends a message only when there is a network or device failure.
+If you have verified that the subscription endpoints are normal, the most possible reason is that the subscribers have not confirmed their subscriptions or the message has been blocked.
+Check whether the message is categorized as a junk mail.
+If the problem persists, contact customer service.
+If the problem persists, contact customer service.
+You can send at most 60 SMS messages to a single phone number within one hour and 200 within 12 hours.
+This limit is applicable only to SMS messaging. There is no limit on the number of messages you can publish to a topic.
+By default, one user can create 100 message templates.
+To protect users' privacy, some email clients do not automatically download images from the Internet. If images in an email cannot be displayed, you need to enable automatic image download.
+Yes. The phone number or sender name SMN uses to send SMS messages does not usually change. It changes only when the carrier changes the communication channel.
+Check whether required message queue permission is granted to SMN in the DMS service. If no, perform the following operations to grant permissions. If SMN has been granted but you still cannot push messages, the failure may be caused by unstable network connection or other reasons. You can contact customer service to deal with the problem.
+
on the upper left to select the desired region and project.The DMS console is displayed.
+Set Permission to Allow, Policy Type to Service-based, and Service to SMN. Specify the action as needed.
+After events or alarms are triggered, SMN can send notifications to specified users by email, SMS message, or HTTP/HTTPS message. For example, Cloud Trace Service (CTS) detects key cloud service operations and uses SMN to notify you and other users.
+SMN can functions as a message middleware to connect cloud services, reducing system complexity and improving efficiency. For example, Cloud Eye does not have to be integrated with Object Storage Service (OBS) to interact with each other. Instead, they are connected by SMN. Therefore, faults in one service will not affect the other.
+If there is a discrepancy between processing capabilities of the upstream and downstream systems, SMN can cache data to reduce downstream pressure to reduce breakdowns, enhance availability, and mitigate complexity in the system.
+SMN has the following advantages over any traditional messaging systems.
+ +Item + |
+SMN + |
+Traditional Messaging System + |
+
|---|---|---|
Simplicity + |
+SMN provides three basic APIs to create topics, add subscriptions, and publish messages and can be quickly integrated with your services. It enables you to send messages in substantial quantity and do not require highly skilled development. + |
+A self-developed messaging system is expensive and takes long time to be integrated with your services. Its APIs are complicated and hard to use. + |
+
Stability and reliability + |
+SMN stores messages in multiple data centers and supports transparent topic migration. Once a message fails to deliver, SMN saves it in a message queue and tries to deliver it again. If one service node is faulty, your requests are automatically processed by another available node. + |
+A traditional messaging system cannot achieve the stability and reliability required by critical services and does not provide measures to ensure service continuity. + |
+
Multiple messaging types + |
+You publish a message once, and SMN delivers it to endpoints in various message types. + |
+You need to develop separate messaging systems in multiple types to send SMS message, email, HTTP, or HTTPS notifications. + |
+
Security + |
+SMN isolates data based on topics and does not allow any unauthorized users to access message queues, thereby protecting your service data. + |
+Service data is potentially exposed to unauthorized access due to lack of effective protection mechanisms. + |
+
SMN can be interconnected with other cloud services to provide them with messaging capabilities so that these services can send notifications to tenants or their message processing systems. For details about how to use SMN in other cloud services, see user guides of the related services.
+After an alarm rule is configured, Cloud Eye can use SMN to send alarm information to specified users.
+Use SMN to notify users by email or SMS message once a DDoS attack occurs.
+CTS can be integrated with SMN to notify users of critical operation events. SMN also uses CTS to record service resource operations.
+Use SMN to send OBS bucket events to applications for processing.
+Cloud service events or application messages in SMN can be saved in DMS message queues.
+The cloud platform provides a web-based management console and HTTPS-based APIs through which you can access the SMN service.
+The management console is a web user interface for you to manage your computing, storage, and other cloud resources. After you register an account on the management console, you can log in and select Simple Message Notification on the homepage to switch to the SMN console.
+If you want to integrate SMN into a third-party system for secondary development, you can access SMN using APIs. For details, see the Simple Message Notification API Reference.
+Projects are used to group and isolate OpenStack resources, including computing, storage, and network resources. A project can be either a department or a project team. Multiple projects can be created in one account.
+A protocol is a message type. Currently, SMN supports the following protocols: SMS, DMS, email, HTTP, and HTTPS.
+A publisher sends messages to a topic.
+A subscriber receives messages delivered from a topic.
+When adding a subscription, you can choose protocols as required:
+A topic is a specified event to publish messages and subscribe to notifications. It can be used to isolate messages. A topic serves as a message sending channel, where publishers and subscribers can interact with each other.
+Uniform Resource Names (URNs) are used to identify SMN resources.
+After a topic is created, SMN generates a topic URN composed of the service name, region name, project ID, and topic name to uniquely identify the topic, for example, urn:smn:region:cffe4fc4c9a54219b60dbaf7b586e132:Mytopic. When you call an API to create a topic, a topic URN will be returned. A URN will be used whenever a publisher or subscriber performs operations to a topic.
+After a user subscribes to a topic, SMN will generate a URN for the subscription composed of the service name, region name, project ID, and topic name, for example, urn:smn:region:cffe4fc4c9a54219b60dbaf7b586e132:Mytopic:5293b436967f450abc51e0c36347b27a. A URN is displayed on the page for subscribers to confirm and cancel a subscription.
+Message templates contain fixed and changeable content and can be used to send messages quickly. Changeable content is represented with variables. When you publish template messages, the system replaces the variables with the message content you specify.
+A message template contains fixed and changeable content. Changeable content is represented with variables. You can specify values for variables when publishing messages using a template.
+For example, the template content is The Arts and Crafts Exposition will be held from {startdate} through {enddate}. We sincerely invite you to join us. In the content, {startdate} and {enddate} are variables.
+After you learn the basic concepts in SMN, you can start to create a topic, add subscriptions to the topic, and publish messages on the SMN console or by calling RESTful APIs provided by SMN. For details about SMN APIs, see the Simple Message Notification API Reference.
+Figure 1 shows the process to publish a message to a topic.
+ +If you need to send similar messages repeatedly, you can create a message template which contains fixed and changeable content. Every time you send messages using the template, you only have to replace changeable content. For example, your organization holds expositions regularly and needs to notify relevant people of the dates, you can create a message template containing date variables and other fixed content.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+In the navigation pane, choose Topics.
+The Topics page is displayed.
+The Create Topic box is displayed.
+
Parameter + |
+Description + |
+
|---|---|
Topic Name + |
+Topic name, which: +
|
+
Display Name + |
+Message sender name, which must be less than 192 bytes. + NOTE:
+After you specify a display name, the sender in email messages will be presented as Display name<username@example.com>. Otherwise, the sender will be username@example.com. + |
+
Tag + |
+Tags consist of keys and values. They identify cloud resources so that you can easily categorize and search for your resources. +
|
+
The topic you created is displayed in the topic list. The system generates a topic URN, which is the unique resource identifier of the topic and cannot be changed.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+The Add Subscription box is displayed.
+
beside the Topic Name box to select a topic.Parameter + |
+Description + |
+
|---|---|
Topic Name + |
+Name of the topic to subscribe to + |
+
Protocol + |
+Protocol the subscription endpoints support. The available options include SMS, DMS, Email, HTTP, and HTTPS. + |
+
Endpoint + |
+Subscription endpoint. You can enter up to 10 SMS, email, HTTP, or HTTPS endpoints, one in each line. +
|
+
The subscription you added is displayed in the subscription list.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+The Create Message Template box is displayed.
+
Parameter + |
+Description + |
+
|---|---|
Template Name + |
+Template name, which: +
|
+
Protocol + |
+Endpoint protocol of the template, which cannot be changed once the template is created +The value can be Default, SMS, HTTP, HTTPS, DMS, or Email. +If you do not specify a protocol, the Default protocol is used. + |
+
Content + |
+Template content +You can use variables as placeholders. Before you send messages using the template, SMN replaces the variables with the message content you specify. A variable is a string of up to 21 characters. It may contain upper- or lower-case letters, numerals, hyphens (-), underscores (_), and periods (.) and must start with a letter or numeral. +The message template must meet the following requirements: +
|
+

The template you created is displayed in the template list.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+In the navigation pane, choose Topics.
+The Topics page is displayed.
+Select Template for Message Format. Then, manually type the template content in the Message box or click Generate Template Message to generate it automatically. The template message content cannot exceed 256 KB.
+


SMN delivers your message to all subscription endpoints. For details about messages for different protocols, see A.3 Messages of Different Protocols.
+Subscription endpoints are email addresses.
+Email messages contain the message subject, content, and a link to unsubscribe.
+
Subscription endpoints are public network URLs. For details, see section "HTTP/HTTPS Messages" in the Simple Message Notification User Guide.
+Subscription endpoints are phone numbers.
+SMS messages contain only the message content.
+Subscription endpoints are message queues.
+Message content is not displayed in message queues. You can access the DMS console and check the number of messages in a queue. After you publish a message to a message queue, the number in that queue will increase.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+In the navigation pane, choose Topics.
+The Topics page is displayed.
+


To deliver messages published to a topic to endpoints, you must add the subscription endpoints to the topic. Endpoints can be email addresses, phone numbers, message queues, and HTTP/HTTPS URLs. After you add endpoints to the topic and the subscribers confirm the subscription, they are able to receive messages published to the topic.
+You can add multiple subscriptions to each topic. This section describes how to add subscriptions to a topic you created or one to which you have been granted permissions and how to delete subscriptions.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+The Add Subscription box is displayed.
+
beside the Topic Name box to select a topic.Parameter + |
+Description + |
+
|---|---|
Topic Name + |
+Name of the topic to subscribe to + |
+
Protocol + |
+Protocol the subscription endpoints support. The available options include SMS, DMS, Email, HTTP, and HTTPS. + |
+
Endpoint + |
+Subscription endpoint. You can enter up to 10 SMS, email, HTTP, or HTTPS endpoints, one in each line. +
|
+
The subscription you added is displayed in the subscription list.
+
If a subscriber does not receive the confirmation message, you need to request confirmation again. You can send a subscription confirmation message to one or more subscription endpoints at a time. For details about how many confirmation messages you can send to one subscriber, see section A.4 Control on Subscription Confirmation Traffic.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+After you add subscriptions to a topic, the subscribers receive a confirmation message and need to confirm their subscriptions to receive notification messages published to the topic. If the subscribers do not want to receive notifications from a topic any more, they can choose to cancel subscriptions.
+A subscriber can choose to cancel the subscription based on the protocol of the subscription endpoint:
+If one or multiple subscription endpoints do not need to receive messages published to a topic, you can delete them.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+In the navigation pane, choose Topics.
+The Topics page is displayed.
+After you enable CTS, whenever an SMN API is called, the operation is recorded in a log file, which is then delivered to a specified OBS bucket for storage.
+However, if someone makes an API call to cancel a subscription without login, CTS will not record the operation. For example, if a subscriber clicks the link in an email notification to cancel the subscription, the Unsubscribe API is called, but CTS does not record the operation.
+Table 1 lists the SMN operations that will be recorded by CTS.
+ +Operation + |
+Resource + |
+Trace Name + |
+
|---|---|---|
Creating a topic + |
+Topic + |
+createTopic + |
+
Deleting a topic + |
+Topic + |
+deleteTopic + |
+
Updating a topic + |
+Topic + |
+updateTopic + |
+
Updating attributes of a topic + |
+Topic + |
+updateTopicAttribute + |
+
Deleting all topic attributes + |
+Topic + |
+deleteTopicAttributes + |
+
Deleting a specified topic attribute + |
+Topic + |
+deleteTopicAttributeByName + |
+
Adding a subscription + |
+Subscription + |
+subscribe + |
+
Deleting a subscription + |
+Subscription + |
+unsubscribe + |
+
Creating a message template + |
+Message template + |
+createMessageTemplate + |
+
Creating message templates in batches + |
+Message template + |
+batchCreateMessageTemplate + |
+
Modifying a message template + |
+Message template + |
+updateMessageTemplate + |
+
Deleting a message template + |
+Message template + |
+deleteMessageTemplate + |
+
After CTS is enabled, it starts recording operations on cloud resources. You can view the operation records of the last seven days on the management console.
+This section describes how to query or export the last seven days of operation records on the CTS console.
+
on the upper left to select the desired region and project.
Select a filter from the drop-down list.
+After you select Trace name for Search By, you also need to select a trace name.
+After you select Resource ID for Search By, you also need to select or enter a resource ID.
+After you select Resource name for Search By, you also need to select or enter a resource name.
+
on the left of the required trace to expand its details.Each log entry consists of a trace in JSON format. A log entry indicates an SMN API request, including the requested operation, the date and time, operation parameters, and information about the user who sent the request. The user information is obtained from the Identity and Access Management (IAM) service.
+{
+ "time": "2017-02-15 14:21:50 GMT+08:00",
+ "user": "xxx",
+ "request": "xxx",
+ "response": "xxx",
+ "code": 200,
+ "service_type": "SMN",
+ "resource_type": "topic",
+ "resource_id": "topicUrn instance",
+ "source_ip": "127.0.0.1",
+ "trace_name": "createTopic",
+ "trace_rating": "normal",
+ "trace_type": "ApiCall",
+ "api_version": "2.0",
+ "project_id": "tenantId instance",
+ "record_time": "2017-02-15 14:21:50 GMT+08:00",
+ "trace_id": "xxx"
+}
+
+{
+ "time": "2017-02-15 14:12:15 GMT+08:00",
+ "user": "xxx",
+ "response": "xxx",
+ "code": 200,
+ "service_type": "SMN",
+ "resource_type": "topic",
+ "resource_id": "topicUrn instance",
+ "source_ip": "127.0.0.1",
+ "trace_name": "deleteTopic",
+ "trace_rating": "normal",
+ "trace_type": "ApiCall",
+ "api_version": "2.0",
+ "project_id": "tenantId instance",
+ "record_time": "2017-02-15 14:12:15 GMT+08:00",
+ "trace_id": "xxx"
+}
+
+{
+ "time": "2017-02-13 15:38:30 GMT+08:00",
+ "user": "xxx",
+ "request": "xxx",
+ "response": "xxx",
+ "code": 200,
+ "service_type": "SMN",
+ "resource_type": "topic",
+ "resource_id": "topicUrn instance",
+ "source_ip": "127.0.0.1",
+ "trace_name": "updateTopic",
+ "trace_rating": "normal",
+ "trace_type": "ApiCall",
+ "api_version": "2.0",
+ "project_id": "tenantId instance",
+ "record_time": "2017-02-13 15:38:30 GMT+08:00",
+ "trace_id": "xxx"
+}
+You can use Cloud Trace Service (CTS) to record SMN-related operations, including request content, source IP addresses, request senders, and when a request was sent.
+CTS can record operations performed on the management console, operations performed by calling APIs, and operations triggered within the cloud system.
+You have created a topic and want to modify its display name.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+In the navigation pane, choose Topics.
+The Topics page is displayed.
+
After you specify a display name, the sender in email messages will be presented as Display name<username@example.com>. Otherwise, the sender will be username@example.com.
+Enter a new display name.
+{
+ "Version": "2016-09-07",
+ "Id": "__default_policy_ID",
+ "Statement": [
+ {
+ "Sid": "__user_pub_0",
+ "Effect": "Allow",
+ "Principal": {
+ "CSP": [
+ "urn:csp:iam::123456789:root",
+ "urn:csp:iam::987654321:root"
+ ]
+ },
+ "Action": [
+ "SMN:Publish",
+ "SMN:QueryTopicDetail"
+ ],
+ "Resource": "urn:smn:region:cffe4fc4c9a54219b60dbaf7b586e132:Mytopic",
+ "Condition": {
+ "DateLessThan":{
+ "csp:CurrentTime":"2017-11-07T15:35:00Z"
+ }
+ }
+ }
+ ]
+}
+The example is explained as follows:
+The policy whose ID is __default_policy_ID contains one statement. The statement ID is __user_pub_0. The statement allows users whose domain IDs are 123456789 and 987654321 to query details of and publish messages to the topic whose URN is urn:smn:region:cffe4fc4c9a54219b60dbaf7b586e132:Mytopic. This topic policy is valid until 2017-11-07T15:35:00Z.
+{
+ "Version": "2016-09-07",
+ "Id": "__default_policy_ID",
+ "Statement": [
+ {
+ "Sid": "__user_pub_0",
+ "Effect": "Allow",
+ "Principal": {
+ "CSP": [
+ "urn:csp:iam::123456789:root",
+ "urn:csp:iam::987654321:root"
+ ]
+ },
+ "Action": [
+ "SMN:Subscribe"
+ ],
+ "Resource": "urn:smn:region:6558ed0a1485466897e962f38fdfdb88:helloworld",
+ "Condition": {
+ "DateLessThan":{
+ "csp:CurrentTime":"2017-11-07T15:35:00Z"
+ }
+ "StringLike": {
+ "smn:Endpoint":["*@gmail.com","*@hotmail.com"]
+ }
+ }
+ }
+ ]
+}
+The example is explained as follows:
+The policy whose ID is __default_policy_ID contains one statement. The statement ID is __user_pub_0. The statement allows users whose domain IDs are 123456789 and 987654321 to subscribe Gmail and Hotmail email addresses to the topic whose URN is urn:smn:region:6558ed0a1485466897e962f38fdfdb88:helloworld. This topic policy is valid until 2017-11-07T15:35:00Z.
+{
+ "Version": "2016-09-07",
+ "Id": "__default_policy_ID",
+ "Statement": [
+ {
+ "Sid": "__user_pub_0",
+ "Effect": "Allow",
+ "Principal": {
+ "CSP": [
+ "urn:csp:iam::123456789:root",
+ "urn:csp:iam::987654321:root"
+ ]
+ },
+ "Action": [
+ "SMN:Publish",
+ "SMN:QueryTopicDetail"
+ ],
+ "Resource": "urn:smn:regionId:e23bf08ebb924730b452426c60849564:ECM_BKS_Topic"
+ },
+ {
+ "Sid": "__user_pub_1",
+ "Effect": "Deny",
+ "Principal": {
+ "CSP": [
+ "urn:csp:iam::987654321:root"
+ ]
+ },
+ "Action": [
+ "SMN:Publish",
+ "SMN:QueryTopicDetail"
+ ],
+ "Resource": "urn:smn:regionId:e23bf08ebb924730b452426c60849564:ECM_BKS_Topic"
+ },
+ {
+ "Sid": "__service_pub_0",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": [
+ "obs"
+ ]
+ },
+ "Action": [
+ "SMN:Publish",
+ "SMN:QueryTopicDetail"
+ ],
+ "Resource": "urn:smn:regionId:e23bf08ebb924730b452426c60849564:ECM_BKS_Topic"
+ }
+ ]
+}
+The example is explained as follows:
+The policy whose ID is __default_policy_ID contains three statements whose IDs are __user_pub_0, __user_pub_1, and __service_pub_0.
+The three statements altogether determine the effect of the topic policy. The evaluation process is as follows:
+If another user creates a topic and grants you permissions to publish messages, you can publish text or JSON messages to the topic.
+You have obtained the URN of the topic granted to you. For details about obtaining the URN of a topic, see section 3.1 Creating a Topic.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+
Clicking
beside Topic URN only enables you to select a topic you created, instead of a topic to which you are granted permission.

For more details, see sections 3.6.2 Publishing a Text Message and 3.6.3 Publishing a JSON Message.
+
on the upper left to select the desired region and project.The SMN console is displayed.
+In the navigation pane, choose Topics.
+The Topics page is displayed.
+
Deleting a topic deletes all its subscriptions.
+The JSON format allows you to specify different message content for different subscription protocols, including Default, SMS, HTTP, HTTPS, DMS, and Email. The message content you specify will be sent to subscription endpoints using applicable protocols.
+{
+ "default": "Dear Sir or Madam, this is a default message.",
+ "email": "Dear Sir or Madam, this is an email message.",
+ "http": "{'message':'Dear Sir or Madam, this is an HTTP message.'}",
+ "https": "{'message':'Dear Sir or Madam, this is an HTTPS message.'}",
+ "sms": "This is an SMS message."
+
+
+ "dms":"Dear Sir or Madam, this is a DMS message."
+ }
+It is recommended that you specify general message content for all subscription types in the default protocol and enter customized content for specific protocols.
+In the following example, you enter a shorter message for the SMS protocol because of the length limit on SMS messages. SMS subscribers in the topic receive the message "This is an SMS message.", while other types of subscribers (email, DMS, HTTP, and HTTPS) receive "Dear Sir or Madam, this is a default message."
+{
+ "sms": "This is an SMS message.",
+ "default": "Dear Sir or Madam, this is a default message."
+ }
+The total size of a JSON message, including braces, quotation marks, spaces, line breaks, and message content, cannot exceed 256 KB. The size of the JSON message generated for each protocol may vary.
+For example, the message content is "This is a default message.", which contains 26 bytes.
+The system automatically adds the default protocol when generating a JSON message.
+{
+ "default": "This is a default message.",
+ "protocol1": "This is a default message.",
+ "protocol2": "This is a default message.",
+ ...
+}
+The total number of protocols is N, including the default protocol and those you selected.
+The total size equals to 36N + 9 + Bytes of selected protocols
+For example, you selected the HTTP, HTTPS, and email protocols, the message is as follows:
+{
+ "default": "This is a default message.",
+ "email": "This is a default message.",
+ "http": "This is a default message.",
+ "https": "This is a default message."
+}
+The system adds a default protocol, and therefore the value of N is 4. The size of your JSON messages is:
+The total size is 167 (153 + 4 + 5 + 5) bytes.
+Message templates are used to publish messages with fixed content and use variables as placeholders to represent content that you can change.
+The size of template content cannot exceed 256 KB. The following is an example of how to format a template when you manually type the template message content:
+"message_template_name":"confirm_message",
+"tags":{
+ "topic_urn":"urn:smn:regionId:xxxx:SMN_01"
+ }
+
+Parameter + |
+Description + |
+
|---|---|
message_template_name + |
+Template name, which cannot be left blank. You can query the template name in the template list. You must create a template of the default protocol so that SMN can send messages using the default template once it fails to match a specified protocol. + |
+
tags + |
+Variables in the template, which are presented as JSON mappings. You can create templates for different protocols using the same template name and configure different variables in each template. + |
+
Messages delivered to endpoints using different protocols contain different content.
+{
+ "message":[{
+ "body":"{
+ "event_version":"1.0",
+ "subject":"test",
+ "event_source":"smn",
+ "event_subscription_urn":"urn:smn:regionId:c5acb70716ec4d489213da33e06b15f6:smn_123:47cff941a17f435ea5f6091d3579664e",
+ "message_id":"174a38fb1ef24724bf8043954b7330c9",
+ "topic_urn":"urn:smn:regionId:c5acb70716ec4d489213da33e06b15f6:smn_123",
+ "type":"notification",
+ "message":"Hello",
+ "timestamp":"2017-10-24T09:37:02Z"
+ }"
+ ]}
+}
+
+Parameter + |
+Type + |
+Description + |
+
|---|---|---|
message + |
+JSON object + |
+Message list + |
+
body + |
+String + |
+Message body + |
+
event_version + |
+String + |
+Version + |
+
subject + |
+String + |
+Message subject + |
+
event_source + |
+String + |
+Message source + |
+
event_subscription_urn + |
+String + |
+Subscription URN + |
+
message_id + |
+String + |
+Message ID + |
+
topic_urn + |
+String + |
+Topic URN + |
+
type + |
+String + |
+Message type + |
+
message + |
+String + |
+Message content + |
+
timestamp + |
+String + |
+Timestamp + |
+
To prevent malicious users from harassing subscribers, there is a limit on the number of subscription confirmation messages a user can send to an individual subscriber within a specified period of time. Traffic control policies apply to confirmation requests issued both from the SMN console and by API calling. Traffic control policies for different subscription protocols are as follows:
+Operation + |
+API + |
+Function + |
+
|---|---|---|
SMN:UpdateTopic + |
+UpdateTopic + |
+Modify the topic. Currently, only the display_name field value can be changed. + |
+
SMN:DeleteTopic + |
+DeleteTopic + |
+Delete a topic and its subscribers. If a topic is deleted, any pending messages may fail to send to the topic subscribers. + |
+
SMN:QueryTopicDetail + |
+QueryTopicDetail + |
+Query details about a topic. + |
+
SMN:ListTopicAttributes + |
+ListTopicAttributes + |
+Query the list of topic attributes. + |
+
SMN:UpdateTopicAttribute + |
+UpdateTopicAttribute + |
+Modify topic attributes. + |
+
SMN:DeleteTopicAttributes + |
+DeleteTopicAttributes + |
+Delete all topic attributes. + |
+
SMN:DeleteTopicAttributeByName + |
+DeleteTopicAttributeByName + |
+Delete a specified topic attribute. + |
+
SMN:ListSubscriptionsByTopic + |
+ListSubscriptionsByTopic + |
+Query the subscription list of a specified topic by page. The list is sorted by time when the subscriptions are added in ascending order. You can specify values of offset and limit. If no subscription has been added, an empty list is returned. + |
+
SMN:Subscribe + |
+Subscribe + |
+Add a subscription to a specified topic and send a confirmation message to the subscriber. After confirming the subscription, the subscriber can receive notification messages published to the topic. + |
+
SMN:Unsubscribe + |
+Unsubscribe + |
+Delete a subscription. This operation requires identity authentication. Only the subscriber or the topic owner can delete a subscription. + |
+
SMN:Publish + |
+Publish + |
+Publish messages to a topic. After a message ID is returned, the message has been saved and is to be delivered to subscribers of the topic. The message form varies depending on the protocol of each subscription. + |
+
HTTP/HTTPS messages can be classified as management messages and service messages. The former includes subscription messages and subscription cancellation messages, while the latter includes notification messages. An HTTPS/HTTPS message is composed of a message header and body, which are illustrated in detail in this section.
+This section describes the format of messages sent to HTTP or HTTPS endpoints. You can identify messages based on message types in the headers. HTTP/HTTPS message types include: subscription confirmation messages, notification messages, and subscription cancellation messages.
+The header of an SMN HTTP/HTTPS message contains the following parameters: X-SMN-TOPIC-URN, X-SMN-MESSAGE-ID, X-SMN-MESSAGE-TYPE, and X-SMN-SUBSCRIPTION-URN.
+ +Parameter + |
+Description + |
+
|---|---|
X-SMN-MESSAGE-TYPE + |
+Indicates the message type, which can be: +
|
+
X-SMN-MESSAGE-ID + |
+Indicates the unique message ID. + |
+
X-SMN-TOPIC-URN + |
+Indicates the URN of the topic to which the message belongs. + |
+
X-SMN-SUBSCRIPTION-URN + |
+Identifies the subscription endpoint. + |
+
After you add an HTTP/HTTPS endpoint, SMN sends a subscription confirmation message to the subscriber. The message body is composed of JSON character strings. The subscriber must obtain the subscription URL (subscribe_url) to confirm the subscription. Table 2 describes the JSON strings in detail.
+ +Parameter + |
+Description + |
+
|---|---|
type + |
+Indicates the message type, the value of which is SubscriptionConfirmation. + |
+
signature + |
+Indicates the signature information. +The signature includes the message, message_id, subscribe_url, timestamp, topic_urn, and type fields. For details about signature verification, see A.6.3 Message Signature Verification. + |
+
topic_urn + |
+Indicates the URN of the topic to which the message belongs. + |
+
message_id + |
+Indicates the unique message ID. + |
+
signature_version + |
+Indicates the signature version, which is currently V1. + |
+
message + |
+Indicates the message content. + |
+
subscribe_url + |
+Indicates the URL to be accessed for subscription confirmation. + |
+
signing_cert_url + |
+Indicates the certificate URL for generating the message signature. + |
+
timestamp + |
+Indicates the time stamp when the message was initially sent. + |
+
{
+ "signature": "ViE96uGbBkl+S8eWqgebi5KdmRht2U8+Rs88yuyMHq1k4h3jUkcDZ6HCqTqdpJ8nrLcdqETyyEiOQyTszJdU05z+LhfE8jerCCdSbL4zeInVkydHh0kcCRWmORye0/EuQ/gLC1UIXwvUsqbUCPnBRhNFXOeXMOPPCzK+d04xjy4QHd1H/bHxgsY3AlTe0gCFT068Zru7OK6w9aQaY44mXnN3OWGmBmoHyFab5TRXLSQNz/9u/Vj646cQMMaI0PPQ30QzGYD0MtzgDZi12m8jMTHAnMkTEcbLaEgaqmaoEnATSpEcspFKNXv2skwk7rsVakMOISpMH3+qC6RzhETA2A==",
+ "topic_urn": "urn:smn:region01:0553db98c800d5192f9bc01232b89622:vpc_status_report_topic",
+ "message_id": "d86c201092574e71a3ca85826652c58b",
+ "signature_version": "v1",
+ "type": "SubscriptionConfirmation",
+ "message": "{\"enterpriseProjectId\": \"0\", \"eventTime\": \"2019-08-12 22:40:55.040632\", \"chargingMode\": \"postPaid\", \"cloudserviceType\": \"hws.service.type.bandwidth\", \"eventType\": 1, \"regionId\": \"region01\", \"tenantId\": \"057eefe55400d2742f8cc0017870ceef\", \"resourceType\": \"hws.resource.type.bandwidth\", \"resourceSpecCode\": \"19_bgp\", \"resourceSize\": 10, \"resourceId\": \"e091f1b1-08ef-4e2b-a27e-f85e4c19026a\", \"resouceSizeMeasureId\": 15, \"resourceName\": \"elbauto_2019_08_13_06_40_46\"}",
+ "subscribe_url": "https://console.xxx.com/smn/subscription/unsubscribe?subscription_urn=urn:smn:region01:0553db98c800d5192f9bc01232b89622:vpc_status_report_topic:653e212a43884f7188ca656c537e31ce",
+ "signing_cert_url": "https://console.xxx.com/smn/SMN_region01_b3974c411807498bb532b3cd6cd65d91.pem",
+ "timestamp": "2019-08-12T22:40:56Z"
+}
+After an HTTP/HTTPS subscriber confirms the subscription, the subscriber can receive notification messages published to the topic. The notification message body is composed of JSON character strings, which are described in Table 3.
+ +Parameter + |
+Description + |
+
|---|---|
type + |
+Indicates the message type, the value of which is Notification. + |
+
signature + |
+Indicates the signature information. +The signature includes the message, message_id, subject, timestamp, topic_urn, and type fields. If the subject field is empty, the signature is not verified. For details about signature verification, see A.6.3 Message Signature Verification. + |
+
subject + |
+Message subject + |
+
topic_urn + |
+Indicates the URN of the topic to which the message belongs. + |
+
message_id + |
+Indicates the unique message ID. + |
+
signature_version + |
+Indicates the signature version, which is currently V1. + |
+
message + |
+Indicates the message content. + |
+
unsubscribe_url + |
+Indicates the URL for canceling a subscription. + |
+
signing_cert_url + |
+Indicates the certificate URL for generating the message signature. + |
+
timestamp + |
+Indicates the time stamp when the message was initially sent. + |
+
{
+ "signature": "ViE96uGbBkl+S8eWqgebi5KdmRht2U8+Rs88yuyMHq1k4h3jUkcDZ6HCqTqdpJ8nrLcdqETyyEiOQyTszJdU05z+LhfE8jerCCdSbL4zeInVkydHh0kcCRWmORye0/EuQ/gLC1UIXwvUsqbUCPnBRhNFXOeXMOPPCzK+d04xjy4QHd1H/bHxgsY3AlTe0gCFT068Zru7OK6w9aQaY44mXnN3OWGmBmoHyFab5TRXLSQNz/9u/Vj646cQMMaI0PPQ30QzGYD0MtzgDZi12m8jMTHAnMkTEcbLaEgaqmaoEnATSpEcspFKNXv2skwk7rsVakMOISpMH3+qC6RzhETA2A==",
+ "topic_urn": "urn:smn:region01:0553db98c800d5192f9bc01232b89622:vpc_status_report_topic",
+ "message_id": "d86c201092574e71a3ca85826652c58b",
+ "signature_version": "v1",
+ "type": "Notification",
+ "message": "{\"enterpriseProjectId\": \"0\", \"eventTime\": \"2019-08-12 22:40:55.040632\", \"chargingMode\": \"postPaid\", \"cloudserviceType\": \"hws.service.type.bandwidth\", \"eventType\": 1, \"regionId\": \"region01\", \"tenantId\": \"057eefe55400d2742f8cc0017870ceef\", \"resourceType\": \"hws.resource.type.bandwidth\", \"resourceSpecCode\": \"19_bgp\", \"resourceSize\": 10, \"resourceId\": \"e091f1b1-08ef-4e2b-a27e-f85e4c19026a\", \"resouceSizeMeasureId\": 15, \"resourceName\": \"elbauto_2019_08_13_06_40_46\"}",
+ "unsubscribe_url": "https://console.xxx.com/smn/subscription/unsubscribe?subscription_urn=urn:smn:region01:0553db98c800d5192f9bc01232b89622:vpc_status_report_topic:653e212a43884f7188ca656c537e31ce",
+ "signing_cert_url": "https://console.xxx.com/smn/SMN_region01_b3974c411807498bb532b3cd6cd65d91.pem",
+ "timestamp": "2019-08-12T22:40:56Z"
+}
+After an HTTP/HTTPS subscription is canceled, the subscriber receives a subscription cancellation message sent by SMN. The message body is composed of JSON character strings, which are described in Table 4.
+ +Parameter + |
+Description + |
+
|---|---|
type + |
+Indicates the message type, the value of which is UnsubscribeConfirmation. + |
+
signature + |
+Indicates the signature information. +The signature includes the message, message_id, subscribe_url, timestamp, topic_urn, and type fields. For details about signature verification, see A.6.3 Message Signature Verification. + |
+
topic_urn + |
+Indicates the URN of the topic to which the message belongs. + |
+
message_id + |
+Indicates the unique message ID. + |
+
signature_version + |
+Indicates the signature version, which is currently V1. + |
+
message + |
+Indicates the message content. + |
+
subscribe_url + |
+Indicates the URL for a re-subscription. + |
+
signing_cert_url + |
+Indicates the certificate URL for generating the message signature. + |
+
timestamp + |
+Indicates the time stamp when the message was initially sent. + |
+
{
+ "signature": "ViE96uGbBkl+S8eWqgebi5KdmRht2U8+Rs88yuyMHq1k4h3jUkcDZ6HCqTqdpJ8nrLcdqETyyEiOQyTszJdU05z+LhfE8jerCCdSbL4zeInVkydHh0kcCRWmORye0/EuQ/gLC1UIXwvUsqbUCPnBRhNFXOeXMOPPCzK+d04xjy4QHd1H/bHxgsY3AlTe0gCFT068Zru7OK6w9aQaY44mXnN3OWGmBmoHyFab5TRXLSQNz/9u/Vj646cQMMaI0PPQ30QzGYD0MtzgDZi12m8jMTHAnMkTEcbLaEgaqmaoEnATSpEcspFKNXv2skwk7rsVakMOISpMH3+qC6RzhETA2A==",
+ "topic_urn": "urn:smn:region01:0553db98c800d5192f9bc01232b89622:vpc_status_report_topic",
+ "message_id": "d86c201092574e71a3ca85826652c58b",
+ "signature_version": "v1",
+ "type": "UnsubscribeConfirmation",
+ "message": "{\"enterpriseProjectId\": \"0\", \"eventTime\": \"2019-08-12 22:40:55.040632\", \"chargingMode\": \"postPaid\", \"cloudserviceType\": \"hws.service.type.bandwidth\", \"eventType\": 1, \"regionId\": \"region01\", \"tenantId\": \"057eefe55400d2742f8cc0017870ceef\", \"resourceType\": \"hws.resource.type.bandwidth\", \"resourceSpecCode\": \"19_bgp\", \"resourceSize\": 10, \"resourceId\": \"e091f1b1-08ef-4e2b-a27e-f85e4c19026a\", \"resouceSizeMeasureId\": 15, \"resourceName\": \"elbauto_2019_08_13_06_40_46\"}",
+ "subscribe_url": "https://console.xxx.com/smn/subscription/unsubscribe?subscription_urn=urn:smn:region01:0553db98c800d5192f9bc01232b89622:vpc_status_report_topic:653e212a43884f7188ca656c537e31ce",
+ "signing_cert_url": "https://console.xxx.com/smn/SMN_region01_b3974c411807498bb532b3cd6cd65d91.pem",
+ "timestamp": "2019-08-12T22:40:56Z"
+}
+To ensure message security, SMN provides signature authentication for HTTP/HTTPS subscription confirmation messages, subscription cancellation messages, and notification messages. After receiving HTTP/HTTPS messages, you need to check them based on the signatures.
+After receiving an HTTP/HTTPS message, check it with the following procedure:
+
The request to download the certificate is always sent over HTTPS. When downloading a certificate, you need to verify the identity of the certificate server.
+message +message_id +subject +timestamp +topic_urn +type+
Each parameter occupies a line, with its value following in the next line.
+message +My test message +message_id +88c726942175432bac921eafd0036163 +subject +demo +timestamp +2016-08-15T07:29:16Z +topic_urn +urn:smn:regionId:74dc9e44d0cc4573adfce91cdfdd3ba9:xxxx +type +Notification+
message +message_id +subscribe_url +timestamp +topic_urn +type+
Each parameter occupies a line, with its value following in the next line.
+message +You are invited to subscribe to topic: urn:smn:regionId:d91989905b8449b896f3a4f0ad57222d:demo. To confirm this subscription, Please visit the following SubscribeURL in this message. +message_id +def5c309cbff44d5a870787ed937edf8 +subscribe_url +https://IP address/smn/subscription/confirm?Region ID&Token&Topic URN:demo +timestamp +2016-08-15T07:29:16Z +topic_urn +urn:smn:regionId:d91989905b8449b896f3a4f0ad57222d:demo +type +SubscriptionConfirmation+
Verify signing_cert_url, signature (obtained in A.6.2 HTTP/HTTPS Message Format), and message (contained in the message signature) to check the message validity, as shown in the following:
+private static void isMessageValid(String signing_cert_url,
+ String signature, Map<String, String> message) {
+ InputStream in = null;
+ try {
+ URL url = new URL(signing_cert_url);
+ in = url.openStream();
+ CertificateFactory cf = CertificateFactory.getInstance("X.509");
+ X509Certificate cert = (X509Certificate) cf.generateCertificate(in);
+ Signature sig = Signature.getInstance(cert.getSigAlgName());
+ sig.initVerify(cert.getPublicKey());
+ sig.update(buildSignMessage(message).getBytes("UTF-8"));
+ byte[] sigByte = Base64.getDecoder().decode(signature);
+ if (sig.verify(sigByte)) {
+ System.out.println("Verify success");
+ } else {
+ System.out.println("Verify failed");
+ }
+ } catch (Exception e) {
+ throw new SecurityException("Verify method failed.", e);
+ } finally {
+ if (in != null) {
+ try {
+ in.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
If your Java version is earlier than 8, use the third-party package commons-codec.jar to perform Base64 decoding, and replace byte[] sigByte = Base64.getDecoder().decode(signature); with byte[] sigByte = Base64.decodeBase64(signature); in the preceding code.
+The following is an example of the code to create the message verification signature:
+private static String buildSignMessage(Map<String,String> msg) {
+ String type = msg.get("type");
+ String message = null;
+ if ("Notification".equals(type)){
+ message = buildNotificationMessage(msg);
+ } else if ("SubscriptionConfirmation".equals(type) ||
+ "UnsubscribeConfirmation".equals(type)){
+ message = buildSubscriptionMessage(msg);
+ }
+ return message;
+}
+
+private static String buildSubscriptionMessage(Map<String, String> msg) {
+ String stringMessage = "message\n";
+ stringMessage += msg.get("message") + "\n";
+ stringMessage += "message_id\n";
+ stringMessage += msg.get("message_id") + "\n";
+ stringMessage += "subscribe_url\n";
+ stringMessage += msg.get("subscribe_url") + "\n";
+ stringMessage += "timestamp\n";
+ stringMessage += msg.get("timestamp") + "\n";
+ stringMessage += "topic_urn\n";
+ stringMessage += msg.get("topic_urn") + "\n";
+ stringMessage += "type\n";
+ stringMessage += msg.get("type") + "\n";
+ return stringMessage;
+}
+
+private String buildNotificationMessage(Map<String, Object> msg)
+ {
+ String stringMessage = "message\n";
+ stringMessage += msg.get("message").toString() + "\n";
+ stringMessage += "message_id\n";
+ stringMessage += msg.get("message_id").toString() + "\n";
+ if (msg.get("subject") != null){
+ stringMessage += "subject\n";
+ stringMessage += msg.get("subject").toString() + "\n";
+ }
+ stringMessage += "timestamp\n";
+ stringMessage += msg.get("timestamp").toString() + "\n";
+ stringMessage += "topic_urn\n";
+ stringMessage += msg.get("topic_urn").toString() + "\n";
+ stringMessage += "type\n";
+ stringMessage += msg.get("type").toString() + "\n";
+ return stringMessage;
+ }
+Released On + |
+Description + |
+
|---|---|
2019-09-30 + |
+This issue incorporates the following changes: +Modified the tag character set to support the at sign (@). + |
+
2019-04-10 + |
+Accepted in OTC-4.0/Agile-05.2019 + |
+
2019-03-30 + |
+This issue incorporates the following changes: +Updated the screenshots. + |
+
2019-02-15 + |
+This issue incorporates the following changes: +Changed the length limit of a topic name to 255 characters. + |
+
2018-09-05 + |
+This issue incorporates the following changes: +Updated the screenshots. + |
+
2018-06-30 + |
+This issue incorporates the following changes: +Supported resource tags for topics. +Updated the screenshot for creating a topic. + |
+
2018-06-05 + |
+Accepted in OTC-3.1 + |
+
2018-05-25 + |
+This issue incorporates the following changes: +
|
+
2018-03-30 + |
+This issue incorporates the following changes: +Added the DMS subscription protocol. + |
+
2018-01-30 + |
+This issue incorporates the following changes: +Changed console screenshots. + |
+
2017-08-30 + |
+This issue incorporates the following changes: +Added operations for switching projects. +Changed the screenshots. + |
+
2017-05-30 + |
+This issue incorporates the following changes: +
|
+
2017-03-30 + |
+This issue incorporates the following changes: +
|
+
2016-12-30 + |
+This issue is the first official release. + |
+
For details about the terms involved in this document, see Glossary.
+