Note:
This is a legacy API which has been hidden and will no longer be updated. We recommend using the new CMQ API 3.0 which is standardized and faster.
This API (PublishMessage) is used to send a message from publish to the specified topic.
https://cmq-topic-{$region}.api.qcloud.com
http://cmq-topic-{$region}.api.tencentyun.com
The above {$region} in the domain name needs to be replaced with a specific region : gz (Guangzhou), sh (Shanghai), bj (Beijing), shjr (Shanghai Financial), szjr (Shenzhen Financial), hk (China Hong Kong), cd (Chengdu), ca (North American), usw (Maxi), sg (Singapore). The region value in the common parameters should be consistent with the region value of the domain name. If there is any inconsistency, the request will be sent to the region specified by the domain name region based on the region value of the domain name.
At any time (including during internal testing), if the public network downstream Traffic is generated by using a public network domain name, Traffic and cost will be charged. Therefore, users of the service on Tencent Cloud are strongly recommended to use it. Private network Domain name, private network will not produce Traffic cost.
The following request parameter list only lists the API request parameters. For other parameters, please see Common Request Parameters page.
Parameter name | Required | Type | Description |
---|---|---|---|
TopicName | Yes | String | Topic's name is unique under the same account in a single region. The name of topic is a string of no more than 64 characters, which must begin with a letter, and the rest can contain letters, numbers and underscores (-). |
MsgBody | Yes | String | Message body. At least 1 byte, the maximum length is limited by the set topic message maximum length attribute. |
MsgTag.n | No | String | Message filter tag. Message label (for message filtering). The number of tags cannot exceed 5, and each label cannot exceed 16 characters. and Subscribe The filterTag parameter of the API is used together. Rules: (1) if filterTag is not set, subscriptions receive all messages from publish to Topic, regardless of whether msgTag is set or not. (2) if the filterTag array has a value, the subscription will receive the message from publish to Topic only if at least one value in the array also exists in the msgTag array (that is, there is an intersection between filterTag and msgTag). (3) if the filterTag array has a value, but msgTag is not set, then no messages from publish to Topic will be received, which can be regarded as a special case of (2). In this case, filterTag and msgTag do not intersect. The overall design idea of the rules is based on the wishes of the subscribers. |
RoutingKey | No | String | Length < = 64 bytes, this field is used to indicate the routing path to send the message, with a maximum of 15 ".", that is, a maximum of 16 phrases. RoutingKey cannot be arbitrarily specified when a message is sent to a exchange of type topic. To meet the above format requirements, a message with routingKey specified by the subscriber will be pushed to all consumers with which the BindingKey can match. This matching situation has two relationships: 1 * (asterisk), which can replace a word (a continuous string of letters); 2 # (pound sign): can match one or more characters. |
Parameter name | Type | Description |
---|---|---|
Code | Int | 0: indicates success. Others: error. For more information, please see Common error code . |
Message | String | Error message. |
RequestId | String | When an internal server error occurs in the request ID, generated by the server, the user can submit this ID to Backend Background to locate the problem. |
MsgId | String | The server generates a unique identity ID for the message. |
Please check Common error code .
Enter:
https://domain/v2/index.php?Action=PublishMessage
&topicName=test-topic-123
&msgBody=helloworld
&<Common request parameters>
Output:
{
"code" : 0,
"message" : "",
"requestId":"14534664555",
"msgId":"123345346"
}
문제 해결에 도움이 되었나요?