Creates a topic.

Authorization

By default, only Alibaba Cloud accounts can call this operation. RAM users can call this operation only after these RAM users are granted related permissions. The following table describes the authorization information of this operation. For more information, see Permission policies and examples.

Item Value
API operation CreateTopic
Action mns:CreateTopic
Resource acs:mns:$region:$accountid:/topics/$topicName

Limits

The name of the topic is a string that can be a maximum of 255 characters in length and can contain letters, digits, and hyphens (-). It must start with a letter or digit.

Request

A request consists of the following parts:

  • Request line

    PUT /topics/$TopicName HTTP/1.1

  • Operation-specific request headers

    None.

  • Request Body

    The request body is in the XML format. It contains the following parameters that are used to create a topic.

    Parameter Type Required Example Description
    MaximumMessageSize Integer No. 10240 The maximum size of a message body that can be sent to the topic.

    Valid values: 1024 to 65536. Unit: bytes.

    Default value: 65536.

    LoggingEnabled Boolean No True Indicates whether the log management feature is enabled for the queue. Valid values:
    Valid values:
    • True: The log management feature is enabled.
    • False: The log management feature is disabled.

    Default value: False.

    Note If you want to use Terraform to manage alicloud_message_service_topic, configure the EnableLogging parameter instead of the LoggingEnabled in the request body.

Response

A response consists of the following parts:

  • HTTP status code

    HTTP/1.1 201 Created

    The name of each topic must be unique in a region within an Alibaba Cloud account. If you create a topic whose name already exists, errors may occur. For example, if the parameters of the two topics are the same, the error code 204 (No Content) is returned. If the parameters of the two topics are different, the error code 409 (Conflict) is returned.

  • Operation-specific response headers
    Parameter Type  Example Description
    Location String http://$AccountId.mns.cn-hangzhou.aliyuncs.com/topics/$TopicName The URL of the topic that was created. Syntax: http://$AccountId.mns.<Region>.aliyuncs.com/topics/$TopicName.

    For more information about common response headers, see Common parameters.

  • Response body

    None.

Examples

Sample requests

PUT /topics/$TopicName HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Tue, 08 Dec 2015 05:57:57 GMT
x-mns-version: 2015-06-06
Authorization:MNS 15B4D3461F177624206A:eCtaUwfGS0oEfznzJEhWFxpf****

<?xml version="1.0" encoding="utf-8"?>
<Topic xmlns="http://mns.aliyuncs.com/doc/v1/">
    <MaximumMessageSize>10240</MaximumMessageSize>
    <LoggingEnabled>True</LoggingEnabled>
</Topic>
            

Sample success responses

HTTP/1.1 201 Created
x-mns-request-id:56667165B2B71C9C1600****
x-mns-version: 2015-06-06
Location: http://$AccountId.mns.cn-hangzhou.aliyuncs.com/topics/$TopicName
            

Error codes

Error code Error message HTTP status code Description
TopicAlreadyExist The topic you want to create is already exists. 409 The error message returned because the specified topic has the same name as an existing topic, but has different parameters from the existing topic.
TopicNameLengthError Topic name length is out of range, should be between 1 and 255. 400 The error message returned because the specified topic name is invalid.