All Products
Search
Document Center

ApsaraMQ for RocketMQ:CreateTopic

更新时间:Dec 11, 2025

Creates a topic in ApsaraMQ for RocketMQ. A topic is the primary container for message transmission and storage. It is used to categorize messages that share the same business logic. In the producer-consumer model, producers send messages to topics, and consumers subscribe to these topics to consume the messages.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

rocketmq:CreateTopic

create

*Topic

acs:rocketmq:{#regionId}:{#accountId}:instance/{#InstanceId}/topic/{#TopicName}

None None

Request syntax

POST /instances/{instanceId}/topics/{topicName} HTTP/1.1

Path Parameters

Parameter

Type

Required

Description

Example

instanceId

string

Yes

The ID of the instance to which the topic belongs.

rmq-cn-7e22ody****

topicName

string

Yes

The name of the topic to create. The name identifies the topic and must be globally unique.

The name must meet the following requirements:

  • The name can contain letters (a-z and A-Z), digits (0-9), underscores (_), and hyphens (-).

  • The name must be 1 to 60 characters in length.

For information about reserved characters, see Parameter limits.

topic_test

Request parameters

Parameter

Type

Required

Description

Example

body

object

No

The information about the topic.

messageType

string

Yes

The message type of the topic to create.

Important The topic type must match the type of messages sent to it. For example, if you create a topic for ordered messages, the topic can be used only to send and receive ordered messages. You cannot use it for other message types.

Valid values:

  • TRANSACTION :

    Transactional message

  • FIFO :

    Ordered message

  • DELAY :

    Scheduled and delayed message

  • NORMAL :

    Normal message

NORMAL

remark

string

No

The remarks on the topic to create.

This is the remark for test.

maxSendTps

integer

No

The maximum transactions per second (TPS) for sending messages.

1500

liteTopicExpiration

integer

No

The time-to-live (TTL) for a lite topic, in minutes. Valid values: 30 to 720. The default value is -1, which indicates that the topic never expires.

60

Response elements

Element

Type

Description

Example

object

Result

requestId

string

The request ID. Each request has a unique ID that can be used to troubleshoot and locate issues.

AF9A8B10-C426-530F-A0DD-96320B39****

success

boolean

Indicates whether the call was successful.

true

data

boolean

The returned result.

true

code

string

The error code.

Topic.Existed

message

string

The error message.

The topic already exists.

httpStatusCode

integer

The HTTP status code.

400

dynamicCode

string

The dynamic error code.

TopicName

dynamicMessage

string

The dynamic error message.

topicName

Examples

Success response

JSON format

{
  "requestId": "AF9A8B10-C426-530F-A0DD-96320B39****",
  "success": true,
  "data": true,
  "code": "Topic.Existed",
  "message": "The topic already exists.",
  "httpStatusCode": 400,
  "dynamicCode": "TopicName",
  "dynamicMessage": "topicName"
}

Error codes

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.