Creating a Queue
Last updated: 2019-07-05 12:19:46
1. API Description
This API (CreateQueue) is used to create a new queue under the user's account.
Domain for public network API request: cmq-queue-region.api.qcloud.com
Domain for private network API request: cmq-queue-region.api.tencentyun.com
Whenever (including during alpha test) any public network downstream traffic is generated from the use of a public network domain, a fee will be charged. Hence it is strongly recommended to use private network domains, in which traffic consumption is NOT charged.
- region should be replaced with a specific region: gz (Guangzhou), sh (Shanghai), or bj (Beijing). The region value in the common parameters should be consistent with the region value of the domain. If there is an inconsistency, the request will be sent to the region specified by the domain.
- Public network domain requests both support HTTP and HTTPS. Private network requests only support HTTP.
- Some of the input parameters are optional. If not specified, the default value will be taken.
- All the output parameters will be returned to the user when the request is successful; otherwise, at least code, message, and requestId will be returned.
2. Input Parameters
The following request parameter list only provides API request parameters. For other parameters, refer to Common Request Parameters.
Parameter Name | Required | Type | Description |
---|---|---|---|
queueName | Yes | String | Queue name. This is unique under the same account in one region. The queue name is a string of no more than 64 characters, which can contain letters, numbers, and hyphens (-) and must begin with a letter. |
maxMsgHeapNum | No | Int | Maximum number of messages in the queue. The value range is 1,000,000 - 10,000,000 during beta test, and will be increased to 1,000,000 - 1,000,000,000 when officially launched. The default value is 10,000,000 during beta test, and 100,000,000 when officially launched. |
pollingWaitSeconds | No | Int | Waiting time for messages to be received when using long-polling. The value ranges from 0 to 30 seconds. Default is 0. |
visibilityTimeout | No | Int | Message visibility timeout. Value range is 1-43200 seconds (within 12 hours). Default is 30. |
maxMsgSize | No | Int | Maximum message length. Value range is 1024-65536 Bytes (1-64 K). Default is 65536. |
msgRetentionSeconds | No | Int | Message retention period. Value range is 60-1296000 seconds (1 min-15 days). Default value is 345600 (4 days). |
rewindSeconds | No | Int | Indicate whether the feature of message rewind is enabled for the queue. Value range is 0-msgRetentionSeconds, where 0 means not enabling the feature, and msgRetentionSeconds, which refers to the period for which the message is retained in the queue, is the maximum rewind time. |
## 3. Output Parameters |
Parameter Name | Type | Description |
---|---|---|
code | Int | 0: Succeeded, others: Error. See the table below for specific errors. |
message | String | Error message. |
requestId | String | Request ID generated by server. When there is an internal error on the server, users can submit this ID to the backend to locate the problem. |
queueId | String | Unique ID of the queue. |
Error Code | Module Error Code | Error Message | Description |
---|---|---|---|
4000 | 10020 | Queue name format error | The format of the queue name is incorrect. See the description of the queueName field for the API CreateQueue for the rules. |
4450 | 10220 | Number of queues has reached the limit | The number of queues has reached the upper limit. The number of queues for an account is limited (1,000). When the maximum number is reached, no queue can be created then. |
6040 | 10660 | It will take some time to release resources of previous queue before you create a new one with the same name, please try later | Failed to create a queue with the same name. It will take some time to release resources of the previous queue with the same name. Currently, to ensure data consistency of CMQ, it is not allowed to create a new queue with the same name within ten seconds after a queue is deleted. |
Note: The error codes listed in the above table are specific to this API. If the error code you are looking for is not in the table, you may find it in the Common Error Codes.
4. Example
Input:
https://domain/v2/index.php?Action=CreateQueue &queueName=test-queue-123 &<Common Request Parameters>
Output:
{
"code" : 0,
"message" : "",
"requestId":"14534664555",
"queueId":"queue-ajksdfasdowe"
}