summaryrefslogtreecommitdiff
path: root/data/en_us/ons/2019-02-14/api-docs.php
diff options
context:
space:
mode:
Diffstat (limited to 'data/en_us/ons/2019-02-14/api-docs.php')
-rw-r--r--data/en_us/ons/2019-02-14/api-docs.php8973
1 files changed, 4388 insertions, 4585 deletions
diff --git a/data/en_us/ons/2019-02-14/api-docs.php b/data/en_us/ons/2019-02-14/api-docs.php
index 09b136e..972ee9c 100644
--- a/data/en_us/ons/2019-02-14/api-docs.php
+++ b/data/en_us/ons/2019-02-14/api-docs.php
@@ -1,225 +1,240 @@
<?php return [
'version' => '1.0',
- 'info' => [
- 'style' => 'RPC',
- 'product' => 'Ons',
- 'version' => '2019-02-14',
- ],
+ 'info' => ['style' => 'RPC', 'product' => 'Ons', 'version' => '2019-02-14'],
'directories' => [
[
- 'id' => 121335,
- 'title' => 'Service',
+ 'children' => ['OpenOnsService'],
'type' => 'directory',
- 'children' => [
- 'OpenOnsService',
- ],
+ 'title' => 'Services',
],
[
- 'id' => 121341,
- 'title' => 'Message',
+ 'children' => ['OnsMessageTrace', 'OnsMessageGetByKey', 'OnsMessageDetail'],
'type' => 'directory',
- 'children' => [
- 'OnsMessageTrace',
- 'OnsMessageGetByMsgId',
- 'OnsMessageGetByKey',
- 'OnsMessagePageQueryByTopic',
- 'OnsMessageDetail',
- ],
- ],
- [
- 'id' => 121347,
- 'title' => 'Region',
- 'type' => 'directory',
- 'children' => [
- 'OnsRegionList',
- ],
+ 'title' => 'Messages',
],
[
- 'id' => 121349,
- 'title' => 'Instance',
+ 'children' => ['OnsRegionList'],
'type' => 'directory',
- 'children' => [
- 'OnsInstanceCreate',
- 'OnsInstanceBaseInfo',
- 'OnsInstanceUpdate',
- 'OnsInstanceInServiceList',
- 'OnsInstanceDelete',
- ],
+ 'title' => 'Regions',
],
[
- 'id' => 121355,
- 'title' => 'Topic',
+ 'children' => ['OnsInstanceCreate', 'OnsInstanceBaseInfo', 'OnsInstanceUpdate', 'OnsInstanceInServiceList', 'OnsInstanceDelete'],
'type' => 'directory',
- 'children' => [
- 'OnsTopicCreate',
- 'OnsTopicStatus',
- 'OnsTopicList',
- 'OnsTopicSubDetail',
- 'OnsTopicDelete',
- ],
+ 'title' => 'Instances',
],
[
- 'id' => 121362,
- 'title' => 'Group',
+ 'children' => ['OnsTopicCreate', 'OnsTopicStatus', 'OnsTopicList', 'OnsTopicSubDetail', 'OnsTopicDelete'],
'type' => 'directory',
- 'children' => [
- 'OnsGroupCreate',
- 'OnsGroupConsumerUpdate',
- 'OnsGroupList',
- 'OnsGroupSubDetail',
- 'OnsGroupDelete',
- ],
+ 'title' => 'Topic',
],
[
- 'id' => 121371,
- 'title' => 'Tag',
+ 'children' => ['OnsGroupCreate', 'OnsGroupConsumerUpdate', 'OnsGroupList', 'OnsGroupSubDetail', 'OnsGroupDelete'],
'type' => 'directory',
- 'children' => [
- 'ListTagResources',
- 'TagResources',
- 'UntagResources',
- ],
+ 'title' => 'Group',
],
[
- 'id' => 121375,
- 'title' => 'Consumer',
+ 'children' => ['OnsConsumerStatus', 'OnsConsumerAccumulate', 'OnsConsumerGetConnection', 'OnsMessagePush'],
'type' => 'directory',
- 'children' => [
- 'OnsConsumerStatus',
- 'OnsConsumerAccumulate',
- 'OnsConsumerGetConnection',
- 'OnsConsumerResetOffset',
- 'OnsConsumerTimeSpan',
- 'OnsMessagePush',
- ],
+ 'title' => 'Consumption',
],
[
- 'id' => 121382,
- 'title' => 'Messages tatistics',
+ 'children' => ['OnsTrendGroupOutputTps'],
'type' => 'directory',
- 'children' => [
- 'OnsTrendTopicInputTps',
- 'OnsTrendGroupOutputTps',
- ],
+ 'title' => 'Message sending and receiving statistics',
],
[
- 'id' => 121389,
- 'title' => 'Trace',
+ 'children' => ['OnsTraceQueryByMsgId', 'OnsTraceQueryByMsgKey', 'OnsTraceGetResult'],
'type' => 'directory',
- 'children' => [
- 'OnsTraceQueryByMsgId',
- 'OnsTraceQueryByMsgKey',
- 'OnsTraceGetResult',
- ],
+ 'title' => 'Traces',
],
[
- 'id' => 121393,
- 'title' => 'Dead-letter queues',
+ 'children' => ['OnsDLQMessagePageQueryByGroupId', 'OnsDLQMessageGetById', 'OnsDLQMessageResendById'],
'type' => 'directory',
- 'children' => [
- 'OnsDLQMessagePageQueryByGroupId',
- 'OnsDLQMessageGetById',
- 'OnsDLQMessageResendById',
- ],
+ 'title' => 'Dead-letter messages',
],
[
- 'id' => 187862,
- 'title' => 'Other',
+ 'children' => ['OnsTopicUpdate', 'ListTagResources', 'OnsConsumerResetOffset', 'OnsConsumerTimeSpan', 'OnsMessageGetByMsgId', 'OnsMessagePageQueryByTopic', 'OnsTrendTopicInputTps', 'TagResources', 'UntagResources'],
'type' => 'directory',
- 'children' => [
- 'OnsTopicUpdate',
- ],
+ 'title' => 'Others',
],
],
'components' => [
'schemas' => [],
],
'apis' => [
- 'OpenOnsService' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListTagResources' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get'],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the instance where the tagged resource is located.'."\n"
+ ."\n"
+ .'> If you query tags for a topic or group, you must specify this parameter.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'MQ_INST_188077086902****_BXSuW61e', 'title' => ''],
+ ],
[
- 'APP' => [],
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The resource type. This is an enumeration. Valid values:'."\n"
+ ."\n"
+ .'- **INSTANCE**'."\n"
+ ."\n"
+ .'- **TOPIC**'."\n"
+ ."\n"
+ .'- **GROUP**', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'TOPIC', 'title' => ''],
],
[
- 'PrivateKey' => [],
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The token that is used to start the next page of a paginated query.', 'type' => 'string', 'required' => false, 'example' => 'caeba0****be03f84eb48b699f0a4883', 'title' => ''],
],
[
- 'BearerToken' => [],
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'A list of tags. The list can contain a maximum of 20 elements.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The tag key of the resource.'."\n"
+ ."\n"
+ .'- If you specify this parameter, its value cannot be an empty string.'."\n"
+ ."\n"
+ .'- The value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'CartService', 'title' => ''],
+ 'Value' => ['description' => 'The tag value of the resource.'."\n"
+ ."\n"
+ .'- If you specify this parameter, its value can be an empty string.'."\n"
+ ."\n"
+ .'- The value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'ServiceA', 'title' => ''],
+ ],
+ 'required' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'A list of resource IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the resource to query.'."\n"
+ ."\n"
+ .'- If the resource type is instance, set this parameter to the instance ID.'."\n"
+ ."\n"
+ .'- If the resource type is topic, set this parameter to the topic name.'."\n"
+ ."\n"
+ .'- If the resource type is group, set this parameter to the group ID.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'required' => false,
+ 'example' => 'TopicA',
+ 'maxItems' => 51,
+ 'title' => '',
+ ],
],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [],
- 'parameters' => [],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '8C5B4603-8977-4513-AB60-9C3E2F88****',
- ],
- 'OrderId' => [
- 'description' => 'The ID of the order.'."\n",
- 'type' => 'string',
- 'example' => '2068689****0272',
+ 'NextToken' => ['description' => 'The token that is used to start the next page of a paginated query.', 'type' => 'string', 'example' => 'caeba0****be03f84eb48b699f0a4883', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request. This is a common parameter. Each request has a unique ID. You can use this ID to locate and troubleshoot issues.', 'type' => 'string', 'example' => '301D2CBE-66F8-403D-AEC0-82582478****', 'title' => ''],
+ 'TagResources' => [
+ 'description' => 'A collection of resources and their tags. The collection contains information such as resource IDs, resource types, and tag key-value pairs.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ResourceType' => ['description' => 'The resource type.'."\n"
+ ."\n"
+ .'- ALIYUN::MQ::INSTANCE: The resource is an instance.'."\n"
+ ."\n"
+ .'- ALIYUN::MQ::TOPIC: The resource is a topic.'."\n"
+ ."\n"
+ .'- ALIYUN::MQ::GROUP: The resource is a group.', 'type' => 'string', 'example' => 'ALIYUN::MQ::TOPIC', 'title' => ''],
+ 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'MQ_INST_188077086902****_BXSuW61e', 'title' => ''],
+ 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'ServiceA', 'title' => ''],
+ 'ResourceId' => ['description' => 'The resource ID.', 'type' => 'string', 'example' => 'TopicA', 'title' => ''],
+ 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'CartService', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'OrderOpend',
- 'errorMessage' => '您已开通,请前往控制台使用。',
- ],
- [
- 'errorCode' => 'PermissionDenied',
- 'errorMessage' => '当前子账号无权限,请为子账号授权。',
- ],
- [
- 'errorCode' => 'PriceWanHuaTongSys',
- 'errorMessage' => '询价调用万花筒错误。',
- ],
- ],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8C5B4603-8977-4513-AB60-9C3E2F88****\\",\\n \\"OrderId\\": \\"2068689****0272\\"\\n}","errorExample":""},{"type":"xml","example":"<OpenOnsServiceResponse>\\n<RequestId>8C5B4603-8977-4513-AB60-9C3E2F88****</RequestId>\\n<OrderId>2068689****0272</OrderId>\\n</OpenOnsServiceResponse>","errorExample":""}]',
- 'title' => 'OpenOnsService',
- 'summary' => 'Activates Message Queue for Apache RocketMQ.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'title' => 'ListTagResources',
+ 'summary' => 'Call the ListTagResources operation to query the tags attached to a resource.',
+ 'description' => '><notice>'."\n"
+ ."\n"
+ .'The OpenAPI provided by Alibaba Cloud is a control-plane API used to manage and query resources of Alibaba Cloud services. Integrate this API only on the control plane. Do not use this OpenAPI on the core data link to send or receive messages. Otherwise, threats may occur on the data link.'."\n"
+ ."\n"
+ .'></notice>'."\n"
."\n"
- .'You can call this operation the first time you use ApsaraMQ for RocketMQ. You can use ApsaraMQ for RocketMQ only after the service is activated.'."\n"
+ .'When you call the **ListTagResources** operation, specify at least one of the tag key **Tag.N.Key** or the resource ID **ResourceId.N**. You can query all tags for a resource. You can also query tag values and the resources to which the tags are attached based on a specified tag key.'."\n"
."\n"
- .'The ApsaraMQ for RocketMQ service can be activated only in the China (Hangzhou) region. Service activation is not billed.',
+ .'- If you specify the tag key **Tag.N.Key**, you can query the tag value **Tag.N.Value** and the ID of the attached resource **ResourceId.N**.'."\n"
+ ."\n"
+ .'- If you specify the resource ID **ResourceId.N**, you can query all tag information for the specified resource, including the tag key **Tag.N.Key** and the tag value **Tag.N.Value**.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## Activate ApsaraMQ for RocketMQ in the console'."\n"
+ 'extraInfo' => '## Query resource tags in the console'."\n"
."\n"
- .'You can also activate ApsaraMQ for RocketMQ in the console. For more information, see [Activate ApsaraMQ for RocketMQ](~~169006~~).',
- ],
- 'OnsMessageTrace' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can also query the tags that are attached to a resource in the ApsaraMQ for RocketMQ console.**** For more information, see [Manage tags](~~172713~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:ListTagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0****be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"301D2CBE-66F8-403D-AEC0-82582478****\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::MQ::TOPIC\\",\\n \\"InstanceId\\": \\"MQ_INST_188077086902****_BXSuW61e\\",\\n \\"TagValue\\": \\"ServiceA\\",\\n \\"ResourceId\\": \\"TopicA\\",\\n \\"TagKey\\": \\"CartService\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'OnsConsumerAccumulate' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -227,42 +242,26 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'Topic',
+ 'name' => 'GroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The topic to which the message belongs.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test-mq_topic',
- ],
+ 'schema' => ['description' => 'The ID of the Group that you want to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test_consumer_id', 'title' => ''],
],
[
- 'name' => 'MsgId',
+ 'name' => 'Detail',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the message that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1E05791C117818B4AAC23B1BB0CE****',
- ],
+ 'schema' => ['description' => 'Specifies whether to query the details of each topic. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Queries the details. The details are returned in the **DetailInTopicList** parameter.'."\n"
+ ."\n"
+ .'- **false**: Does not query the details. This is the default value. The **DetailInTopicList** parameter returns empty.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance to which the message you want to query belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
+ 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
],
'responses' => [
@@ -270,73 +269,107 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EAE5BE23-37A1-4354-94D6-E44AE17E****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request. This is a common parameter. Each request has a unique ID. Use this ID to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'CE817BFF-B389-43CD-9419-95011AC9****', 'title' => ''],
'Data' => [
+ 'description' => 'The message accumulation of the specified consumer.',
'type' => 'object',
- 'itemNode' => true,
'properties' => [
- 'MessageTrack' => [
- 'description' => 'The information about the message that is queried.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'TrackType' => [
- 'description' => 'The status of the message. Valid values:'."\n"
- ."\n"
- .'* **CONSUMED**: The message is consumed.'."\n"
- .'* **CONSUMED_BUT_FILTERED**: No consumer group subscribes to the message. The message is filtered out and not consumed.'."\n"
- .'* **NOT_CONSUME_YET**: The message is not consumed.'."\n"
- .'* **NOT_ONLINE**: The consumer group is offline.'."\n"
- .'* **UNKNOWN**: The message is not consumed due to unknown reasons.'."\n",
- 'type' => 'string',
- 'example' => 'CONSUMED',
- ],
- 'ConsumerGroup' => [
- 'description' => 'The ID of the consumer group that subscribes to the topic.'."\n",
- 'type' => 'string',
- 'example' => 'GID_test_group_id',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the instance to which the message you want to query belongs.'."\n",
- 'type' => 'string',
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
+ 'ConsumeTps' => ['description' => 'The total TPS of message consumption for the group of consumer instances that belong to the specified Group ID.', 'type' => 'number', 'format' => 'float', 'example' => '10', 'title' => ''],
+ 'DelayTime' => ['description' => 'The maximum message consumption latency for the Group ID. The value is the longest consumption latency among all topics to which the Group ID subscribes.'."\n"
+ ."\n"
+ .'Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '10000', 'title' => ''],
+ 'LastTimestamp' => ['description' => 'The production time of the most recently consumed message in the group of consumer instances that belong to the specified Group ID.'."\n"
+ ."\n"
+ .'Unit: Unix timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1566231000000', 'title' => ''],
+ 'TotalDiff' => ['description' => 'The number of stacked messages for all topics to which the Group ID subscribes.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''],
+ 'Online' => ['description' => 'Indicates whether a consumer instance is online under this Group ID. If at least one consumer instance is online, the Group ID is considered online. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Online'."\n"
+ ."\n"
+ .'- **false**: Offline', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'DetailInTopicList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DetailInTopicDo' => [
+ 'description' => 'The details of each topic. If the **Detail** parameter in the request is set to **false**, this parameter returns empty.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DelayTime' => ['description' => 'The maximum message consumption latency in this topic. This is the time difference between the ready time of the earliest unconsumed message in the topic and the current time.'."\n"
+ ."\n"
+ .'Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '10000', 'title' => ''],
+ 'TotalDiff' => ['description' => 'The number of stacked messages in the topic.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''],
+ 'LastTimestamp' => ['description' => 'The production time of the most recently consumed message in the topic.'."\n"
+ ."\n"
+ .'Unit: Unix timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1566231000000', 'title' => ''],
+ 'Topic' => ['description' => 'The topic name.', 'type' => 'string', 'example' => 'test-mq-topic', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EAE5BE23-37A1-4354-94D6-E44AE17E****\\",\\n \\"Data\\": {\\n \\"MessageTrack\\": [\\n {\\n \\"TrackType\\": \\"CONSUMED\\",\\n \\"ConsumerGroup\\": \\"GID_test_group_id\\",\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsMessageTraceResponse>\\n<Data>\\n <MessageTrack>\\n <InstanceId>MQ_INST_111111111111_DOxxxxxx</InstanceId>\\n <ConsumerGroup>GID_test_group_id</ConsumerGroup>\\n <TrackType>CONSUMED</TrackType>\\n </MessageTrack>\\n</Data>\\n<RequestId>EAE5BE23-37A1-4354-94D6-E44AE17****</RequestId>\\n</OnsMessageTraceResponse>","errorExample":""}]',
- 'title' => 'OnsMessageTrace',
- 'summary' => 'Queries the consumption status of a message by using the message ID.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
- ."\n"
- .'* You can call this operation to check whether a specified message is consumed. If the message is not consumed, you can troubleshoot the issue based on the returned information.'."\n"
- .'* This operation queries information based on the built-in offset mechanism of ApsaraMQ for RocketMQ. In most cases, the results are correct. If you have reset the consumer offset or cleared accumulated messages, the results may not be correct.',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'title' => 'OnsConsumerAccumulate',
+ 'summary' => 'Queries the message accumulation for a specified group ID. The results include the number of stacked messages and the consumption latency.',
+ 'description' => '><notice>Alibaba Cloud OpenAPI is a management API used to manage and query Alibaba Cloud service resources. Integrate this API only into your management data link. Do not use this API in the core data link for sending and receiving messages to avoid potential threats.></notice>You can use the message accumulation query in a production environment to monitor the consumption progress of a group ID. This outlines the message consumption status and latency. You can query the message accumulation for all topics to which the group ID subscribes, or for each individual topic.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## View the consumption status of a message in the console'."\n"
+ 'extraInfo' => '## View the information about message accumulation in the console'."\n"
."\n"
- .'You can also view the consumption status of a message in the **ApsaraMQ for RocketMQ console**. For more information, see [Query a message trace](~~43357~~).',
- ],
- 'OnsMessageGetByMsgId' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can also view the information about message accumulation in topics to which a consumer group subscribes in the **ApsaraMQ for RocketMQ** console. For more information, see [View the status of consumers](~~94312~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsConsumerAccumulate'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryConsumerAccumulate',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CE817BFF-B389-43CD-9419-95011AC9****\\",\\n \\"Data\\": {\\n \\"ConsumeTps\\": 10,\\n \\"DelayTime\\": 10000,\\n \\"LastTimestamp\\": 1566231000000,\\n \\"TotalDiff\\": 100,\\n \\"Online\\": true,\\n \\"DetailInTopicList\\": {\\n \\"DetailInTopicDo\\": [\\n {\\n \\"DelayTime\\": 10000,\\n \\"TotalDiff\\": 100,\\n \\"LastTimestamp\\": 1566231000000,\\n \\"Topic\\": \\"test-mq-topic\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]',
+ ],
+ 'OnsConsumerGetConnection' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -346,40 +379,19 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
+ 'abilityTreeCode' => '14917',
+ 'abilityTreeNodes' => ['FEATUREons0MOUAZ'],
],
'parameters' => [
[
- 'name' => 'MsgId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the message that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1E0578FE110F18B4AAC235C05F2*****',
- ],
- ],
- [
- 'name' => 'Topic',
+ 'name' => 'GroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The topic that contains the message you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test-mq_topic',
- ],
+ 'schema' => ['description' => 'The group ID to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test_consumer_id', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance to which the message you want to query belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
+ 'schema' => ['description' => 'The ID of the instance to which the group belongs.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
],
'responses' => [
@@ -387,320 +399,191 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****',
- ],
+ 'RequestId' => ['description' => 'The request ID. This is a common parameter. Each request has a unique ID. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => 'DE4140C7-F42D-473D-A5FF-B1E31692****', 'title' => ''],
'Data' => [
- 'description' => 'The data returned.'."\n",
+ 'description' => 'The data returned.',
'type' => 'object',
'properties' => [
- 'StoreSize' => [
- 'description' => 'The size of the message.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '407',
- ],
- 'ReconsumeTimes' => [
- 'description' => 'The number of retries that were performed to send the message to consumers.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'StoreTimestamp' => [
- 'description' => 'The timestamp that indicates when the ApsaraMQ for RocketMQ broker stored the message.',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570761026708',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the instance'."\n",
- 'type' => 'string',
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
- 'MsgId' => [
- 'description' => 'The ID of the message.'."\n",
- 'type' => 'string',
- 'example' => '1E0578FE110F18B4AAC235C0C8460BA2',
- ],
- 'StoreHost' => [
- 'description' => 'The ApsaraMQ for RocketMQ broker that stores the message.',
- 'type' => 'string',
- 'example' => '11.220.***.***:10911',
- ],
- 'Topic' => [
- 'description' => 'The topic to which the message belongs.'."\n",
- 'type' => 'string',
- 'example' => 'test-mq_topic',
- ],
- 'PropertyList' => [
+ 'ConnectionList' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'MessageProperty' => [
- 'description' => 'The attributes of the message.'."\n",
+ 'ConnectionDo' => [
+ 'description' => 'The connection information for the specified group ID.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Value' => [
- 'description' => 'The value of the attribute.'."\n",
- 'type' => 'string',
- 'example' => 'TagA',
- ],
- 'Name' => [
- 'description' => 'The name of the attribute. Valid values:'."\n"
- ."\n"
- .'* **TRACE_ON**: indicates whether a trace of the message exists.'."\n"
- .'* **KEYS**: indicates the key of the message.'."\n"
- .'* **TAGS**: indicates the tag that is attached to the message.'."\n"
- .'* **INSTANCE_ID**: indicates the ID of the instance which contains the message.'."\n"
- ."\n"
- .'For information about the terms that are used in Message Queue for Apache RocketMQ, see [Terms](~~29533~~).'."\n",
- 'type' => 'string',
- 'example' => 'TAGS',
- ],
+ 'Version' => ['description' => 'The version of the consumer client.', 'type' => 'string', 'example' => 'V4_3_6', 'title' => ''],
+ 'ClientAddr' => ['description' => 'The address and port of the consumer instance.', 'type' => 'string', 'example' => '30.5.121.**', 'title' => ''],
+ 'Language' => ['description' => 'The programming language of the consumer application.', 'type' => 'string', 'example' => 'JAVA', 'title' => ''],
+ 'ClientId' => ['description' => 'The ID of the consumer instance.', 'type' => 'string', 'example' => '30.5.121.**@24813#-1999745829#-1737591554#453111174894656', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'BornTimestamp' => [
- 'description' => 'The timestamp that indicates when the message was produced.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570761026630',
- ],
- 'BodyCRC' => [
- 'description' => 'The cyclic redundancy check (CRC) value of the message body.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '914112295',
- ],
- 'BornHost' => [
- 'description' => 'The producer instance that generated the message.'."\n",
- 'type' => 'string',
- 'example' => '42.120.**.**:64646',
- ],
+ 'MessageModel' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\",\\n \\"Data\\": {\\n \\"StoreSize\\": 407,\\n \\"ReconsumeTimes\\": 1,\\n \\"StoreTimestamp\\": 1570761026708,\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\",\\n \\"MsgId\\": \\"1E0578FE110F18B4AAC235C0C8460BA2\\",\\n \\"StoreHost\\": \\"11.220.***.***:10911\\",\\n \\"Topic\\": \\"test-mq_topic\\",\\n \\"PropertyList\\": {\\n \\"MessageProperty\\": [\\n {\\n \\"Value\\": \\"TagA\\",\\n \\"Name\\": \\"TAGS\\"\\n }\\n ]\\n },\\n \\"BornTimestamp\\": 1570761026630,\\n \\"BodyCRC\\": 914112295,\\n \\"BornHost\\": \\"42.120.**.**:64646\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsMessageGetByMsgIdResponse>\\n<Data>\\n <MsgId>1E0578FE110F18B4AAC235C0C8460BA2</MsgId>\\n <InstanceId>MQ_INST_111111111111_DOxxxxxx</InstanceId>\\n <ReconsumeTimes>1</ReconsumeTimes>\\n <BornHost>42.120.**.**:64646</BornHost>\\n <BodyCRC>914112295</BodyCRC>\\n <StoreHost>11.220.***.***:10911</StoreHost>\\n <StoreTimestamp>1570761026708</StoreTimestamp>\\n <BornTimestamp>1570761026630</BornTimestamp>\\n <Topic>test-mq_topic</Topic>\\n <StoreSize>407</StoreSize>\\n <PropertyList>\\n <MessageProperty>\\n <Name>TAGS</Name>\\n <Value>TagA</Value>\\n </MessageProperty>\\n </PropertyList>\\n</Data>\\n<RequestId>A07E3902-B92E-44A6-B6C5-6AA111111****</RequestId>\\n</OnsMessageGetByMsgIdResponse>","errorExample":""}]',
- 'title' => 'OnsMessageGetByMsgId',
- 'summary' => 'Queries the information about a message by specifying the message ID and determines whether the message has been consumed.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'title' => 'OnsConsumerGetConnection',
+ 'summary' => 'Queries the connections of clients in a specified group.',
+ 'description' => '><notice>'."\n"
."\n"
- .'* If a message is not consumed as expected, you can call this operation to query the information about the message for troubleshooting.'."\n"
- .'* This operation uses the exact match method to query a message based on the message ID. You can obtain the message ID from the SendResult parameter that is returned after the message is sent. You must store the returned information after each message is sent. The queried information about a message includes the point in time when the message was sent, the broker on which the message is stored, and the attributes of the message such as the message key and tag.'."\n",
+ .'Alibaba Cloud OpenAPI is a management API used to manage and query Alibaba Cloud service resources. Integrate this API for management purposes only. Do not use this API on the core data link for sending and receiving messages. Using this API on the core data link can pose security risks.'."\n"
+ ."\n"
+ .'></notice>'."\n"
+ ."\n"
+ .'This operation retrieves the connection information of clients in a specified group when message consumption is abnormal. You can then check the consumer status to diagnose the cause.',
+ 'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## View the information about a message in the console'."\n"
+ 'extraInfo' => '## View the client connection status of a consumer group in the console'."\n"
."\n"
- .'You can also view the information about a message in the Message Queue for Apache RocketMQ console.**** For more information, see [Query a message](~~29540~~).'."\n",
- ],
- 'OnsMessageGetByKey' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can also view the client connection status of a specific consumer group in the ApsaraMQ for RocketMQ console.**** For more information, see [View the status of consumers](~~94312~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsConsumerGetConnection'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryConsumerConnection',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DE4140C7-F42D-473D-A5FF-B1E31692****\\",\\n \\"Data\\": {\\n \\"ConnectionList\\": {\\n \\"ConnectionDo\\": [\\n {\\n \\"Version\\": \\"V4_3_6\\",\\n \\"ClientAddr\\": \\"30.5.121.**\\",\\n \\"Language\\": \\"JAVA\\",\\n \\"ClientId\\": \\"30.5.121.**@24813#-1999745829#-1737591554#453111174894656\\"\\n }\\n ]\\n },\\n \\"MessageModel\\": \\"\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'OnsConsumerResetOffset' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the consumer group whose dead-letter message you want to query.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test_consumer_id', 'title' => ''],
+ ],
+ [
'name' => 'Topic',
'in' => 'query',
- 'schema' => [
- 'description' => 'The topic that contains the messages that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test-mq_topic',
- ],
+ 'schema' => ['description' => 'The name of the topic for which you want to reset the consumer offset.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test-mq-topic', 'title' => ''],
],
[
- 'name' => 'Key',
+ 'name' => 'Type',
'in' => 'query',
- 'schema' => [
- 'description' => 'The key of the messages that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'messageKey1',
- ],
+ 'schema' => ['description' => 'The method that you want to use to clear accumulated messages. Valid values:'."\n"
+ ."\n"
+ .'* **0:** All accumulated messages are cleared. Messages that are not consumed are ignored. Consumers in the specified consumer group consume only messages that are published to the topic after the specified point in time.'."\n"
+ ."\n"
+ .'If "reconsumeLater" is returned, the accumulated messages are not cleared because the system is retrying to resend the messages to consumers.'."\n"
+ ."\n"
+ .'* **1:** The messages that were published to the topic before the specified point in time are cleared. You must specify a point in time. Consumers in the specified consumer group consume only the messages that are published to the topic after the specified point in time.'."\n"
+ ."\n"
+ .'You can specify a point in time from the earliest point in time when a message was published to the topic to the most recent point in time when a message was published to the topic. Points in time that are not within the allowed time range are invalid.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'ResetTimestamp',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The timestamp to which you want to reset the consumer offset. This parameter takes effect only when the **Type** parameter is set to **1**. Unit: milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1591153871000', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance to which the messages that you want to query belong.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
+ 'schema' => ['description' => 'The ID of the instance to which the consumer group belongs.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The result of the request.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****',
- ],
- 'Data' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'OnsRestMessageDo' => [
- 'description' => 'The list of returned results.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'StoreSize' => [
- 'description' => 'The size of the message.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '406',
- ],
- 'ReconsumeTimes' => [
- 'description' => 'The number of retries that were performed to send the message to consumers.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'StoreTimestamp' => [
- 'description' => 'The timestamp that indicates when the ApsaraMQ for RocketMQ broker stored the message.',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570760999811',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the instance'."\n",
- 'type' => 'string',
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
- 'MsgId' => [
- 'description' => 'The ID of the message.'."\n",
- 'type' => 'string',
- 'example' => '1E0578FE110F18B4AAC235C05F2*****',
- ],
- 'StoreHost' => [
- 'description' => 'The ApsaraMQ for RocketMQ broker that stores the message.',
- 'type' => 'string',
- 'example' => '11.193.***.***:10911',
- ],
- 'Topic' => [
- 'description' => 'The topic to which the message belongs.'."\n",
- 'type' => 'string',
- 'example' => 'test-mq_topic',
- ],
- 'PropertyList' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'MessageProperty' => [
- 'description' => 'The attributes of the message.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Value' => [
- 'description' => 'The value of the attribute.'."\n",
- 'type' => 'string',
- 'example' => 'TagA',
- ],
- 'Name' => [
- 'description' => 'The name of the attribute. Valid values:'."\n"
- ."\n"
- .'- **TRACE_ON**: indicates whether the message trace exists.'."\n"
- ."\n"
- .'- **KEYS**: indicates the key of the message.'."\n"
- ."\n"
- .'- **TAGS**: indicates the tag that is attached to the message.'."\n"
- ."\n"
- .'- **INSTANCE_ID**: indicates the ID of the instance that contains the message.'."\n"
- ."\n"
- .'For information about the terms that are used in ApsaraMQ for RocketMQ, see [Terms](~~29533~~).',
- 'type' => 'string',
- 'example' => 'TAGS',
- ],
- ],
- ],
- ],
- ],
- ],
- 'BornTimestamp' => [
- 'description' => 'The timestamp that indicates when the message was produced.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570760999721',
- ],
- 'BodyCRC' => [
- 'description' => 'The cyclic redundancy check (CRC) value of the message body.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '914112295',
- ],
- 'BornHost' => [
- 'description' => 'The producer client that generated the message.'."\n",
- 'type' => 'string',
- 'example' => '42.120.***.***:59270',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n", 'type' => 'string', 'example' => 'D52C68F8-EC5D-4294-BFFF-1A6A25AF****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\",\\n \\"Data\\": {\\n \\"OnsRestMessageDo\\": [\\n {\\n \\"StoreSize\\": 406,\\n \\"ReconsumeTimes\\": 1,\\n \\"StoreTimestamp\\": 1570760999811,\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\",\\n \\"MsgId\\": \\"1E0578FE110F18B4AAC235C05F2*****\\",\\n \\"StoreHost\\": \\"11.193.***.***:10911\\",\\n \\"Topic\\": \\"test-mq_topic\\",\\n \\"PropertyList\\": {\\n \\"MessageProperty\\": [\\n {\\n \\"Value\\": \\"TagA\\",\\n \\"Name\\": \\"TAGS\\"\\n }\\n ]\\n },\\n \\"BornTimestamp\\": 1570760999721,\\n \\"BodyCRC\\": 914112295,\\n \\"BornHost\\": \\"42.120.***.***:59270\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsMessageGetByKeyResponse>\\n<Data>\\n <MsgId>1E0578FE110F18B4AAC235C05F2*****</MsgId>\\n <InstanceId>MQ_INST_111111111111_DOxxxxxx</InstanceId>\\n <ReconsumeTimes>1</ReconsumeTimes>\\n <BornHost>42.120.**.**:64646</BornHost>\\n <BodyCRC>914112295</BodyCRC>\\n <StoreHost>11.220.***.***:10911</StoreHost>\\n <StoreTimestamp>1570761026708</StoreTimestamp>\\n <BornTimestamp>1570761026630</BornTimestamp>\\n <Topic>test-mq_topic</Topic>\\n <StoreSize>407</StoreSize>\\n <PropertyList>\\n <MessageProperty>\\n <Name>TAGS</Name>\\n <Value>TagA</Value>\\n </MessageProperty>\\n </PropertyList>\\n</Data>\\n<RequestId>A07E3902-B92E-44A6-B6C5-6AA111111****</RequestId>\\n</OnsMessageGetByKeyResponse>","errorExample":""}]',
- 'title' => 'OnsMessageGetByKey',
- 'summary' => 'Queries messages by using a specified topic and message key.',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D52C68F8-EC5D-4294-BFFF-1A6A25AF****\\"\\n}","errorExample":""},{"type":"xml","example":"<OnsConsumerResetOffsetResponse>\\r\\n <RequestId>D52C68F8-EC5D-4294-BFFF-1A6A25AF****</RequestId>\\r\\n</OnsConsumerResetOffsetResponse>","errorExample":""}]',
+ 'title' => 'OnsConsumerResetOffset',
+ 'summary' => 'Resets a consumer offset to a specified timestamp for a consumer group.',
'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
."\n"
- .'* This operation uses the fuzzy match method to query messages based on a specified message key. The same message key may be used by multiple messages. Therefore, the returned result may contain information about multiple messages.'."\n"
- ."\n"
- .'* This operation can be used in scenarios in which you cannot obtain the IDs of the messages that you want to query. You can perform the following steps to query the information about messages:'."\n"
+ .'You can call this operation to clear accumulated messages or reset a consumer offset to a specified timestamp. You can use one of the following methods to clear accumulated messages:'."\n"
."\n"
- .' 1. Call this operation to query message IDs.'."\n"
- .' 2. Call the **OnsMessageGetByMsgId** operation that uses the exact match method to query the details of a specified message. For more information about the **OnsMessageGetByMsgId** operation, see [OnsMessageGetByMsgId](~~29607~~).'."\n",
+ .'* Clear all accumulated messages in a specified topic.'."\n"
+ .'* Clear the messages that were published to the specified topic before a specified point in time.'."\n",
+ 'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## View the information about a message in the console'."\n"
+ 'extraInfo' => '## Reset the consumer offset of a consumer group in the console'."\n"
."\n"
- .'You can also view the information about messages in the ApsaraMQ for RocketMQ console.**** For more information, see [Query a message](~~29540~~).',
- ],
- 'OnsMessagePageQueryByTopic' => [
- 'summary' => 'Queries all messages that are stored in a specified topic within a specified time range by page.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can also reset the consumer offset for a consumer group in the ApsaraMQ for RocketMQ console.**** For more information, see [Reset consumer offsets](~~63390~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsConsumerResetOffset'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:ResetConsumerOffset',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ ],
+ 'OnsConsumerStatus' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -710,249 +593,343 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREons0MOUAZ'],
],
'parameters' => [
[
- 'name' => 'Topic',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the topic whose messages you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test-mq_topic',
- ],
- ],
- [
- 'name' => 'BeginTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The beginning of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds. If you specify a valid value for the **TaskId** parameter in the request, this parameter does not take effect. The system uses the value of the BeginTime parameter that you specified in the request when you created the specified query task.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1570723200000',
- ],
- ],
- [
- 'name' => 'EndTime',
+ 'name' => 'GroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The end of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds. If you specify a valid value for the **TaskId** parameter in the request, this parameter does not take effect. The system uses the value of the EndTime parameter that you specified in the request when you created the specified query task.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1570809600000',
- ],
+ 'schema' => ['description' => 'The group ID of the consumer to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test_group_id', 'title' => ''],
],
[
- 'name' => 'TaskId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the query task. The first time you call this operation to query the information about messages in a specified topic within a specified time range, this parameter is not required. This parameter is required in subsequent queries for messages on a specified page. You can obtain the task ID from the returned result of the first query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0BC1310300002A9F000021E4D7A48346',
- ],
- ],
- [
- 'name' => 'CurrentPage',
+ 'name' => 'Detail',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Pages start from page 1. Valid values: 1 to 50.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '2',
- ],
+ 'schema' => ['description' => 'Whether to return detailed information. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Return detailed information, including **ConsumerConnectionInfoList** and **DetailInTopicList**.'."\n"
+ ."\n"
+ .'- **false**: Default. Do not return detailed information. **ConsumerConnectionInfoList** and **DetailInTopicList** are empty.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'NeedJstack',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Valid values: 5 to 50. Default value: 20. If you specify a valid value for the **TaskId** parameter in the request, this parameter does not take effect. The system uses the value of the PageSize parameter that you specified in the request for creating the query task.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '5',
- ],
+ 'schema' => ['description' => 'Whether to print Jstack information. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Print Jstack information. Retrieve stack trace from the **Jstack** response field.'."\n"
+ ."\n"
+ .'> To print Jstack information, set the **Detail** request parameter to **true**.'."\n"
+ ."\n"
+ .'- **false**: Default. Do not print Jstack information. The **Jstack** response field is empty.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance to which the message you want to query belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
+ 'schema' => ['description' => 'The instance ID associated with the group ID to query.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The data returned.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '5DC2A47E-2B31-4722-96C8-FA59C9*****',
- ],
- 'MsgFoundDo' => [
- 'description' => 'The information about the message that is queried.'."\n",
+ 'RequestId' => ['description' => 'A common parameter. Each request has a unique ID. Use it to locate and troubleshoot issues.', 'type' => 'string', 'example' => '10EDC518-10E7-4B34-92FB-171235FA****', 'title' => ''],
+ 'Data' => [
+ 'description' => 'The query result.',
'type' => 'object',
'properties' => [
- 'CurrentPage' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
+ 'ConsumeTps' => ['description' => 'Total consumption TPS.', 'type' => 'number', 'format' => 'float', 'example' => '0', 'title' => ''],
+ 'ConsumeModel' => ['description' => 'The consumption model. Valid values:'."\n"
+ ."\n"
+ .'- **CLUSTERING**: Clustering consumption mode'."\n"
+ ."\n"
+ .'- **BROADCASTING**: Broadcasting consumption mode'."\n"
+ ."\n"
+ .'For more information about these subscription modes, see [Clustering and broadcasting consumption](~~43163~~).', 'type' => 'string', 'example' => 'CLUSTERING', 'title' => ''],
+ 'ConnectionSet' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ConnectionDo' => [
+ 'description' => 'Information about currently online clients in the cluster.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RemoteIP' => ['description' => 'The host IP address or public IP address.', 'type' => 'string', 'example' => '42.120.74.**', 'title' => ''],
+ 'Version' => ['description' => 'The consumer version.', 'type' => 'string', 'example' => 'V4_3_6_SNAPSHOT', 'title' => ''],
+ 'ClientAddr' => ['description' => 'The address and port of the consumer instance.', 'type' => 'string', 'example' => '30.5.121.**', 'title' => ''],
+ 'Language' => ['description' => 'The consumer language.', 'type' => 'string', 'example' => 'JAVA', 'title' => ''],
+ 'ClientId' => ['description' => 'The ID of the consumer instance.', 'type' => 'string', 'example' => '30.5.121.**@25560#-1999745829#-1737591554#458773089270275', 'title' => ''],
+ 'Diff' => ['type' => 'integer', 'format' => 'int64', 'example' => '100', 'description' => '', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'MsgFoundList' => [
+ 'TotalDiff' => ['description' => 'Total message accumulation across the cluster.', 'type' => 'integer', 'format' => 'int64', 'example' => '197', 'title' => ''],
+ 'ConsumerConnectionInfoList' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'OnsRestMessageDo' => [
- 'description' => 'The information about messages on the returned page. The information that is contained in this parameter is the same as the information that is returned by the [OnsMessageGetByMsgId](~~29607~~) operation.'."\n",
+ 'ConsumerConnectionInfoDo' => [
+ 'description' => 'Detailed information about online clients in the cluster, including Jstack and consumption RT. To get this information, set the **Detail** request parameter to **true**. Otherwise, the response is empty.',
'type' => 'array',
'items' => [
+ 'description' => 'test, this content is not published to ICMS',
'type' => 'object',
'properties' => [
- 'StoreSize' => [
- 'description' => 'The size of the message. Unit: KB.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '406',
- ],
- 'ReconsumeTimes' => [
- 'description' => 'The number of retries that were performed to send the message to consumers.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'StoreTimestamp' => [
- 'description' => 'The time when the ApsaraMQ for RocketMQ broker stored the message. The value is a UNIX timestamp that represents the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570760999811',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the instance'."\n",
- 'type' => 'string',
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
- 'MsgId' => [
- 'description' => 'The ID of the message.'."\n",
- 'type' => 'string',
- 'example' => '1E0578FE110F18B4AAC235C05F2*****',
- ],
- 'StoreHost' => [
- 'description' => 'The ApsaraMQ for RocketMQ broker that stores the message.',
- 'type' => 'string',
- 'example' => '11.193.***.***:10911',
- ],
- 'Topic' => [
- 'description' => 'The topic to which the message belongs.'."\n",
- 'type' => 'string',
- 'example' => 'test-mq_topic',
+ 'ConsumeModel' => ['description' => 'The consumption model. Valid values:'."\n"
+ ."\n"
+ .'- **CLUSTERING**: Clustering consumption mode'."\n"
+ ."\n"
+ .'- **BROADCASTING**: Broadcasting consumption mode'."\n"
+ ."\n"
+ .'For more information about these subscription modes, see [Clustering and broadcasting consumption](~~43163~~).', 'type' => 'string', 'example' => 'CLUSTERING', 'title' => ''],
+ 'RunningDataList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ConsumerRunningDataDo' => [
+ 'description' => 'Real-time status statistics.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Rt' => ['description' => 'Consumption response time (RT), in milliseconds.', 'type' => 'number', 'format' => 'float', 'example' => '0', 'title' => ''],
+ 'Topic' => ['description' => 'The name of the subscribed topic.', 'type' => 'string', 'example' => 'test-mq_topic', 'title' => ''],
+ 'FailedCountPerHour' => ['description' => 'Number of messages that failed to consume per hour.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''],
+ 'OkTps' => ['description' => 'TPS for successfully consumed messages.', 'type' => 'number', 'format' => 'float', 'example' => '0', 'title' => ''],
+ 'FailedTps' => ['description' => 'TPS for messages that failed to consume.', 'type' => 'number', 'format' => 'float', 'example' => '0', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'PropertyList' => [
+ 'SubscriptionSet' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'MessageProperty' => [
- 'description' => 'The attributes of the message.'."\n",
+ 'SubscriptionData' => [
+ 'description' => 'The collection of subscription relationships.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Value' => [
- 'description' => 'The value of the attribute.'."\n",
- 'type' => 'string',
- 'example' => 'TagA',
- ],
- 'Name' => [
- 'description' => 'The name of the attribute. Valid values:'."\n"
- ."\n"
- .'* **TRACE_ON**: indicates whether a trace of the message exists.'."\n"
- .'* **KEYS**: indicates the key of the message.'."\n"
- .'* **TAGS**: indicates the tag of the message.'."\n"
- .'* **INSTANCE_ID**: indicates the ID of the instance that contains the message.'."\n"
- ."\n"
- .'For information about the terms that are used in ApsaraMQ for RocketMQ see [Terms](~~29533~~).',
- 'type' => 'string',
- 'example' => 'TAGS',
+ 'SubString' => ['description' => 'The tag expression used to subscribe to the topic.', 'type' => 'string', 'example' => '*', 'title' => ''],
+ 'SubVersion' => ['description' => 'The subscription relationship version number. This is an auto-incrementing long integer.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570701364301', 'title' => ''],
+ 'Topic' => ['description' => 'The name of the subscribed topic.', 'type' => 'string', 'example' => 'test-mq_topic', 'title' => ''],
+ 'TagsSet' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Tag' => [
+ 'description' => 'The collection of subscribed tags.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The collection of subscribed tags.', 'type' => 'string', 'example' => 'ff', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'BornTimestamp' => [
- 'description' => 'The time when the message was generated. The value is a UNIX timestamp that represents the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570760999721',
- ],
- 'BodyCRC' => [
- 'description' => 'The cyclic redundancy check (CRC) value of the message body.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '914112295',
- ],
- 'BornHost' => [
- 'description' => 'The producer client that generated the message.'."\n",
- 'type' => 'string',
- 'example' => '42.120.***.***:59270',
+ 'Jstack' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ThreadTrackDo' => [
+ 'description' => 'Jstack stack trace. To get Jstack information, set the **NeedJstack** request parameter to **true**. Otherwise, the response is empty.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'test—this content is not published to ICMS',
+ 'type' => 'object',
+ 'properties' => [
+ 'TrackList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Track' => [
+ 'description' => 'The Jstack stack trace string.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The Jstack stack trace string.', 'type' => 'string', 'example' => 'TID: 52 STATE: WAITING', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Thread' => ['description' => 'The thread name.', 'type' => 'string', 'example' => 'ConsumeMessageThread_0', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'LastTimeStamp' => ['description' => 'The timestamp of the last consumption.'."\n"
+ ."\n"
+ .'This value uses millisecond-level Unix timestamps.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570701368114', 'title' => ''],
+ 'StartTimeStamp' => ['description' => 'The timestamp when consumption started.'."\n"
+ ."\n"
+ .'This value uses millisecond-level Unix timestamps.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570701361528', 'title' => ''],
+ 'Language' => ['description' => 'The client language.', 'type' => 'string', 'example' => 'JAVA', 'title' => ''],
+ 'ClientId' => ['description' => 'The ID of the consumer instance.', 'type' => 'string', 'example' => '30.5.**.**@25560#-1999745829#-1737591554#458773089270275', 'title' => ''],
+ 'Connection' => ['description' => 'The connection information.', 'type' => 'string', 'example' => '**', 'title' => ''],
+ 'Version' => ['description' => 'The client version number.', 'type' => 'string', 'example' => 'V4_3_6', 'title' => ''],
+ 'ConsumeType' => ['description' => 'The message consumption mode. Valid values:'."\n"
+ ."\n"
+ .'- **PUSH**: ApsaraMQ for RocketMQ pushes messages to consumers.'."\n"
+ ."\n"
+ .'- **PULL**: Consumers pull messages from ApsaraMQ for RocketMQ.', 'type' => 'string', 'example' => 'PUSH', 'title' => ''],
+ 'ThreadCount' => ['description' => 'The number of consumption threads.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'MaxPageCount' => [
- 'description' => 'The total number of returned pages.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '400',
- ],
- 'TaskId' => [
- 'description' => 'The ID of the query task. The first time you call this operation to query the messages that are sent to a specified consumer group within a specified time range, this parameter is returned. You can use the task ID to query the details of messages on other returned pages.'."\n",
- 'type' => 'string',
- 'example' => '0BC1310300002A9F000021E4D7A48346',
+ 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
+ 'DetailInTopicList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DetailInTopicDo' => [
+ 'description' => 'Consumption details for each topic. To get this information, set the **Detail** request parameter to **true**. Otherwise, the response is empty.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DelayTime' => ['description' => 'The consumption delay time for the specified topic, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''],
+ 'TotalDiff' => ['description' => 'The total message accumulation for the topic.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''],
+ 'LastTimestamp' => ['description' => 'The timestamp of the last consumption.'."\n"
+ ."\n"
+ .'This value uses millisecond-level Unix timestamps.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570701259403', 'title' => ''],
+ 'Topic' => ['description' => 'The topic name.', 'type' => 'string', 'example' => 'test-mq_topic', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'SubscriptionSame' => ['description' => 'Whether subscription relationships are consistent.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'DelayTime' => ['description' => 'The maximum consumption delay time across all topics subscribed to by the specified group ID, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '100857', 'title' => ''],
+ 'LastTimestamp' => ['description' => 'The timestamp of the last consumption.'."\n"
+ ."\n"
+ .'This value uses millisecond-level Unix timestamps.', 'type' => 'integer', 'format' => 'int64', 'example' => '1566883844954', 'title' => ''],
+ 'Online' => ['description' => 'Whether the client is online.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'RebalanceOK' => ['description' => 'Whether rebalancing is normal. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Normal'."\n"
+ ."\n"
+ .'- **false**: Abnormal', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5DC2A47E-2B31-4722-96C8-FA59C9*****\\",\\n \\"MsgFoundDo\\": {\\n \\"CurrentPage\\": 1,\\n \\"MsgFoundList\\": {\\n \\"OnsRestMessageDo\\": [\\n {\\n \\"StoreSize\\": 406,\\n \\"ReconsumeTimes\\": 1,\\n \\"StoreTimestamp\\": 1570760999811,\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\",\\n \\"MsgId\\": \\"1E0578FE110F18B4AAC235C05F2*****\\",\\n \\"StoreHost\\": \\"11.193.***.***:10911\\",\\n \\"Topic\\": \\"test-mq_topic\\",\\n \\"PropertyList\\": {\\n \\"MessageProperty\\": [\\n {\\n \\"Value\\": \\"TagA\\",\\n \\"Name\\": \\"TAGS\\"\\n }\\n ]\\n },\\n \\"BornTimestamp\\": 1570760999721,\\n \\"BodyCRC\\": 914112295,\\n \\"BornHost\\": \\"42.120.***.***:59270\\"\\n }\\n ]\\n },\\n \\"MaxPageCount\\": 400,\\n \\"TaskId\\": \\"0BC1310300002A9F000021E4D7A48346\\"\\n }\\n}","type":"json"}]',
- 'title' => 'OnsMessagePageQueryByTopic',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'title' => 'OnsConsumerStatus',
+ 'summary' => 'This operation queries detailed status data for a specified group ID, including subscription relationship checks, consumption TPS statistics, load balancing status, and consumer-side connections.',
+ 'description' => '><notice>'."\n"
."\n"
- .'* If you do not know the ID or key of a message that you want to query, you can call this operation to query all messages that are stored in the topic within a specified time range. The results are displayed by page.'."\n"
+ .'Alibaba Cloud OpenAPIs are management APIs. They manage and query Alibaba Cloud resources. Use them only in management workflows. Do not rely on OpenAPIs in core message publishing or consuming workflows. Doing so may introduce risks.'."\n"
."\n"
- .'* We recommend that you specify a short time range to query messages. If you specify a long time range, a large number of messages are returned. In this case, you cannot find the message that you want to query in an efficient manner. You can perform the following steps to query messages:'."\n"
+ .'></notice>'."\n"
."\n"
- .' 1. Perform a paged query by specifying the topic, start time, end time, and number of entries to return on each page. If the topic contains messages, the information about the messages on the first page, total number of pages, and task ID are returned by default.'."\n"
- .' 2. Specify the task ID and a page number to call this operation again to query the messages on the specified page. The BeginTime, EndTime, and PageSize parameters do not take effect. By default, the system uses the values of these parameters that you specified in the request when you created the specified query task.'."\n",
+ .'- You can use this operation to troubleshoot abnormal consumption after you confirm message accumulation or client online status. The response helps you verify the consistency of subscription relationships for a specified group ID, confirm normal load balancing, and retrieve Jstack information for online clients.'."\n"
+ ."\n"
+ .'- This operation calls many backend interfaces to aggregate data, which can cause it to run slowly. Therefore, avoid frequent calls.',
+ 'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- ],
- 'OnsMessageDetail' => [
- 'summary' => 'Queries the details of a message.',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'extraInfo' => '## View the details of a consumer group in the console'."\n"
+ ."\n"
+ .'You can also view the details of a consumer group in the **ApsaraMQ for RocketMQ** console. For more information, see [View the status of consumers](~~94312~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsConsumerStatus'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryConsumerStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"10EDC518-10E7-4B34-92FB-171235FA****\\",\\n \\"Data\\": {\\n \\"ConsumeTps\\": 0,\\n \\"ConsumeModel\\": \\"CLUSTERING\\",\\n \\"ConnectionSet\\": {\\n \\"ConnectionDo\\": [\\n {\\n \\"RemoteIP\\": \\"42.120.74.**\\",\\n \\"Version\\": \\"V4_3_6_SNAPSHOT\\",\\n \\"ClientAddr\\": \\"30.5.121.**\\",\\n \\"Language\\": \\"JAVA\\",\\n \\"ClientId\\": \\"30.5.121.**@25560#-1999745829#-1737591554#458773089270275\\",\\n \\"Diff\\": 100\\n }\\n ]\\n },\\n \\"TotalDiff\\": 197,\\n \\"ConsumerConnectionInfoList\\": {\\n \\"ConsumerConnectionInfoDo\\": [\\n {\\n \\"ConsumeModel\\": \\"CLUSTERING\\",\\n \\"RunningDataList\\": {\\n \\"ConsumerRunningDataDo\\": [\\n {\\n \\"Rt\\": 0,\\n \\"Topic\\": \\"test-mq_topic\\",\\n \\"FailedCountPerHour\\": 0,\\n \\"OkTps\\": 0,\\n \\"FailedTps\\": 0\\n }\\n ]\\n },\\n \\"SubscriptionSet\\": {\\n \\"SubscriptionData\\": [\\n {\\n \\"SubString\\": \\"*\\",\\n \\"SubVersion\\": 1570701364301,\\n \\"Topic\\": \\"test-mq_topic\\",\\n \\"TagsSet\\": {\\n \\"Tag\\": [\\n \\"ff\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"Jstack\\": {\\n \\"ThreadTrackDo\\": [\\n {\\n \\"TrackList\\": {\\n \\"Track\\": [\\n \\"TID: 52 STATE: WAITING\\"\\n ]\\n },\\n \\"Thread\\": \\"ConsumeMessageThread_0\\"\\n }\\n ]\\n },\\n \\"LastTimeStamp\\": 1570701368114,\\n \\"StartTimeStamp\\": 1570701361528,\\n \\"Language\\": \\"JAVA\\",\\n \\"ClientId\\": \\"30.5.**.**@25560#-1999745829#-1737591554#458773089270275\\",\\n \\"Connection\\": \\"**\\",\\n \\"Version\\": \\"V4_3_6\\",\\n \\"ConsumeType\\": \\"PUSH\\",\\n \\"ThreadCount\\": 20\\n }\\n ]\\n },\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\",\\n \\"DetailInTopicList\\": {\\n \\"DetailInTopicDo\\": [\\n {\\n \\"DelayTime\\": 0,\\n \\"TotalDiff\\": 0,\\n \\"LastTimestamp\\": 1570701259403,\\n \\"Topic\\": \\"test-mq_topic\\"\\n }\\n ]\\n },\\n \\"SubscriptionSame\\": true,\\n \\"DelayTime\\": 100857,\\n \\"LastTimestamp\\": 1566883844954,\\n \\"Online\\": true,\\n \\"RebalanceOK\\": true\\n }\\n}","type":"json"}]',
+ ],
+ 'OnsConsumerTimeSpan' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -960,309 +937,110 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'InstanceId',
+ 'name' => 'GroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for RocketMQ Instance.',
- 'type' => 'string',
- 'required' => true,
- 'enumValueTitles' => [],
- 'example' => 'MQ_INST_184681981******_BXig0x6A',
- ],
+ 'schema' => ['description' => 'The ID of the consumer group whose reset time range you want to query.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test_group_id', 'title' => ''],
],
[
'name' => 'Topic',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the topic in which the message you want to query is stored.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'test-mq_topic',
- ],
+ 'schema' => ['description' => 'The topic to which the consumer group subscribes.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test-mq_topic', 'title' => ''],
],
[
- 'name' => 'MsgId',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the message that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1E0578FE110F18B4AAC235C0******',
- ],
+ 'schema' => ['description' => 'The ID of the instance to which the consumer group belongs.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
],
'responses' => [
200 => [
- 'headers' => [],
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EAE5BE23-37A1-4354-94D6-E44AE17E****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n", 'type' => 'string', 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****', 'title' => ''],
'Data' => [
'description' => 'The data returned.'."\n",
'type' => 'object',
'properties' => [
- 'StoreSize' => [
- 'description' => 'The size of the message. Unit: KB.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'ReconsumeTimes' => [
- 'description' => 'The number of retries that ApsaraMQ for RocketMQ performed to send the message to consumers.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '0',
- ],
- 'StoreTimestamp' => [
- 'description' => 'The timestamp that indicates the point in time when the ApsaraMQ for RocketMQ broker stored the message. Unit: milliseconds.',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570761026708',
- ],
- 'Body' => [
- 'description' => 'The string that is obtained after the message body is encrypted by using the Base 64 algorithm.'."\n",
- 'type' => 'string',
- 'example' => 'aGVsbG8=',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the ApsaraMQ for RocketMQ Instance.',
- 'type' => 'string',
- 'example' => 'MQ_INST_184681981******_BXig0x6A',
- ],
- 'MsgId' => [
- 'description' => 'The ID of the message.'."\n",
- 'type' => 'string',
- 'example' => '1E0578FE110F18B4AAC235C05F2*****',
- ],
- 'StoreHost' => [
- 'description' => 'The ApsaraMQ for RocketMQ broker that stores the message.',
- 'type' => 'string',
- 'example' => '11.220.***.***:10911',
- ],
- 'Topic' => [
- 'description' => 'The topic to which the message belongs.'."\n",
- 'type' => 'string',
- 'example' => 'test-mq_topic',
- ],
- 'PropertyList' => [
- 'description' => 'The attributes of the message.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Value' => [
- 'description' => 'The value of the attribute.'."\n",
- 'type' => 'string',
- 'example' => 'MSG_REGION',
- ],
- 'Name' => [
- 'description' => 'The name of the attribute. Valid values:'."\n"
- ."\n"
- .'* **TRACE_ON**: indicates whether the trace of the message exists.'."\n"
- .'* **MSG_REGION**: The region ID of the instance to which the topic belongs.'."\n"
- .'* **\\__MESSAGE_DECODED_TIME**: The time when the message was decoded.'."\n"
- .'* **\\__BORNHOST**: The IP address of the producer client.'."\n"
- .'* **UNIQ_KEY**: The ID of the message.'."\n"
- ."\n"
- .'For information about the terms that are used in ApsaraMQ for RocketMQ, see [Terms](~~29533~~).',
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- ],
- ],
- ],
- 'BornTimestamp' => [
- 'description' => 'The timestamp that indicates the point in time when the message was generated. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570761026630',
- ],
- 'BodyCRC' => [
- 'description' => 'The cyclic redundancy check (CRC) value of the message body.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '907060870',
- ],
- 'BornHost' => [
- 'description' => 'The producer instance that generated the message.'."\n",
- 'type' => 'string',
- 'example' => '42.120.**.**:64646',
- ],
- 'BodyStr' => [
- 'description' => 'The information about the message body.'."\n",
- 'type' => 'string',
- 'example' => 'hello',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EAE5BE23-37A1-4354-94D6-E44AE17E****\\",\\n \\"Data\\": {\\n \\"StoreSize\\": 2,\\n \\"ReconsumeTimes\\": 0,\\n \\"StoreTimestamp\\": 1570761026708,\\n \\"Body\\": \\"aGVsbG8=\\",\\n \\"InstanceId\\": \\"MQ_INST_184681981******_BXig0x6A\\",\\n \\"MsgId\\": \\"1E0578FE110F18B4AAC235C05F2*****\\",\\n \\"StoreHost\\": \\"11.220.***.***:10911\\",\\n \\"Topic\\": \\"test-mq_topic\\",\\n \\"PropertyList\\": [\\n {\\n \\"Value\\": \\"MSG_REGION\\",\\n \\"Name\\": \\"cn-hangzhou\\"\\n }\\n ],\\n \\"BornTimestamp\\": 1570761026630,\\n \\"BodyCRC\\": 907060870,\\n \\"BornHost\\": \\"42.120.**.**:64646\\",\\n \\"BodyStr\\": \\"hello\\"\\n }\\n}","type":"json"}]',
- 'title' => 'OnsMessageDetail',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n",
- ],
- 'OnsRegionList' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
- ],
- ],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- ],
- 'parameters' => [],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '72D14A84-45E5-4E01-A6DB-F63C4721****',
- ],
- 'Data' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'RegionDo' => [
- 'description' => 'The returned data.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'UpdateTime' => [
- 'description' => 'The time when the instance was updated.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1411623866000',
- ],
- 'RegionName' => [
- 'description' => 'The region name.'."\n",
- 'type' => 'string',
- 'example' => 'China (Hangzhou)'."\n",
- ],
- 'ChannelName' => [
- 'description' => 'The channel name.'."\n",
- 'type' => 'string',
- 'example' => 'ALIYUN',
- ],
- 'CreateTime' => [
- 'description' => 'The time when the instance was created.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1411623866000',
- ],
- 'Id' => [
- 'description' => 'The instance ID.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
- ],
- 'OnsRegionId' => [
- 'description' => 'The region ID.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- ],
- ],
- ],
+ 'MaxTimeStamp' => ['description' => 'The point in time when the most recently stored message was published to the topic.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570761026804', 'title' => ''],
+ 'ConsumeTimeStamp' => ['description' => 'The most recent point in time when a message in the topic was consumed by the customer group.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1570761026400', 'title' => ''],
+ 'Topic' => ['description' => 'The name of the topic that you want to query.'."\n", 'type' => 'string', 'example' => 'test-mq_topic', 'title' => ''],
+ 'MinTimeStamp' => ['description' => 'The point in time when the earliest stored message was published to the topic.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570701231122', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the instance to which the consumer group belongs.'."\n", 'type' => 'string', 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"72D14A84-45E5-4E01-A6DB-F63C4721****\\",\\n \\"Data\\": {\\n \\"RegionDo\\": [\\n {\\n \\"UpdateTime\\": 1411623866000,\\n \\"RegionName\\": \\"华东1(杭州)\\",\\n \\"ChannelName\\": \\"ALIYUN\\",\\n \\"CreateTime\\": 1411623866000,\\n \\"Id\\": 1,\\n \\"OnsRegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsRegionListResponse>\\n<Data>\\n <RegionDo>\\n <RegionName>公网</RegionName>\\n <OnsRegionId>mq-internet-access</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>华北1(青岛)</RegionName>\\n <OnsRegionId>cn-qingdao</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>华南1(深圳)</RegionName>\\n <OnsRegionId>cn-shenzhen</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>华东1(杭州)</RegionName>\\n <OnsRegionId>cn-hangzhou</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>华北2(北京)</RegionName>\\n <OnsRegionId>cn-beijing</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>华东2(上海)</RegionName>\\n <OnsRegionId>cn-shanghai</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>西南1(成都)</RegionName>\\n <OnsRegionId>cn-chengdu</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>华北3(张家口)</RegionName>\\n <OnsRegionId>cn-zhangjiakou</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>华北5(呼和浩特)</RegionName>\\n <OnsRegionId>cn-huhehaote</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>中国(香港)</RegionName>\\n <OnsRegionId>cn-hongkong</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>新加坡</RegionName>\\n <OnsRegionId>ap-southeast-1</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>日本(东京)</RegionName>\\n <OnsRegionId>ap-northeast-1</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>马来西亚(吉隆坡)</RegionName>\\n <OnsRegionId>ap-southeast-3</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>印度(孟买)</RegionName>\\n <OnsRegionId>ap-south-1</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>阿联酋(迪拜)</RegionName>\\n <OnsRegionId>me-east-1</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>德国(法兰克福)</RegionName>\\n <OnsRegionId>eu-central-1</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>美国(硅谷)</RegionName>\\n <OnsRegionId>us-west-1</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>美国(弗吉尼亚)</RegionName>\\n <OnsRegionId>us-east-1</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>澳大利亚(悉尼)</RegionName>\\n <OnsRegionId>ap-southeast-2</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>英国(伦敦)</RegionName>\\n <OnsRegionId>eu-west-1</OnsRegionId>\\n </RegionDo>\\n <RegionDo>\\n <RegionName>印度尼西亚(雅加达)</RegionName>\\n <OnsRegionId>ap-southeast-5</OnsRegionId>\\n </RegionDo>\\n</Data>\\n<RequestId>72D14A84-45E5-4E01-A6DB-F63C4721****</RequestId>\\n</OnsRegionListResponse>","errorExample":""}]',
- 'title' => 'OnsRegionList',
- 'summary' => 'Queries regions where Message Queue for Apache RocketMQ is available.',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\",\\n \\"Data\\": {\\n \\"MaxTimeStamp\\": 1570761026804,\\n \\"ConsumeTimeStamp\\": 1570761026400,\\n \\"Topic\\": \\"test-mq_topic\\",\\n \\"MinTimeStamp\\": 1570701231122,\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsConsumerTimeSpanResponse>\\n<Data>\\n <MinTimeStamp>1570701231122</MinTimeStamp>\\n <ConsumeTimeStamp>1570761026400</ConsumeTimeStamp>\\n <InstanceId>MQ_INST_111111111111_DOxxxxxx</InstanceId>\\n <Topic>test-mq_topic</Topic>\\n <MaxTimeStamp>1570761026804</MaxTimeStamp>\\n</Data>\\n<RequestId>A07E3902-B92E-44A6-B6C5-6AA111111****</RequestId>\\n</OnsConsumerTimeSpanResponse>","errorExample":""}]',
+ 'title' => 'OnsConsumerTimeSpan',
+ 'summary' => 'Queries the time range within which you can specify a point in time to reset the consumer offset for a specified topic. The time range is from the point in time when the earliest stored message was published to the topic to the point in time when the most recently stored message was published to the topic.',
'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
."\n"
- .'When you use an SDK to access and manage a ApsaraMQ for RocketMQ instance, you must sequentially specify the information about two regions. You can query the information about the second region by calling the OnsRegionList operation. You must apply for a public endpoint in the following scenarios:'."\n"
- ."\n"
- .'* Connect your application to ApsaraMQ for RocketMQ: Select the nearest API gateway endpoint based on the region where your application is deployed, and enter the corresponding **region ID**. The **regionId** is used to access Alibaba Cloud API Gateway because ApsaraMQ for RocketMQ instances provide API services by using the OpenAPI Explorer platform, which is also called POP.'."\n"
- .'* Access a region to manage its resources: Specify a region where you want to manage ApsaraMQ for RocketMQ resources and enter the region ID. You can call the **OnsRegionList** operation to query a region ID.',
+ .'You can call this operation to query the point in time when the earliest stored message was published to a specified topic and the point in time when the most recently stored message was published to the specified topic. You can also call this operation to query the most recent point in time when a message in the topic was consumed. This operation is usually used with the \\*\\*OnsConsumerAccumulate\\*\\* operation to display the overview of the consumption progress.'."\n",
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'OnsInstanceCreate' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsConsumerTimeSpan'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryConsumerTimeSpan',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ ],
+ 'OnsDLQMessageGetById' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'abilityTreeCode' => '14930',
- 'abilityTreeNodes' => [
- 'FEATUREonsWNMPZ3',
- ],
- 'tenantRelevance' => 'publicInformation',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'Remark',
+ 'name' => 'MsgId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Description'."\n",
- ],
+ 'schema' => ['description' => 'The ID of the message to query. This is the message ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '0BC16699165C03B925DB8A404E2D****', 'title' => ''],
],
[
- 'name' => 'InstanceName',
+ 'name' => 'GroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the instance. The name must meet the following rules:'."\n"
- ."\n"
- .'* The name of the instance must be unique in the region where the instance is deployed.'."\n"
- .'* The name must be 3 to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'Test instance'."\n",
- ],
+ 'schema' => ['description' => 'The group ID of the consumer.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test_group_id', 'title' => ''],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the instance to which the message belongs.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
],
'responses' => [
@@ -1270,59 +1048,104 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request. This is a common parameter. Each request has a unique ID.', 'type' => 'string', 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****', 'title' => ''],
'Data' => [
- 'description' => 'The result returned.'."\n",
+ 'description' => 'The query results.',
'type' => 'object',
'properties' => [
- 'InstanceId' => [
- 'description' => 'The ID of the instance that you created.'."\n",
- 'type' => 'string',
- 'example' => 'MQ_INST_188077086902****_BXSuW61e',
- ],
- 'InstanceType' => [
- 'description' => 'The edition of the instance that you created. Valid value:'."\n"
- ."\n"
- .'* **1**: Standard Edition instances'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
+ 'StoreSize' => ['description' => 'The message size. Unit: KB.', 'type' => 'integer', 'format' => 'int32', 'example' => '407', 'title' => ''],
+ 'ReconsumeTimes' => ['description' => 'The number of times the message has been retried.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'StoreTimestamp' => ['description' => 'The timestamp when the message was stored on the server-side. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570761026708', 'title' => ''],
+ 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
+ 'MsgId' => ['description' => 'The message ID.', 'type' => 'string', 'example' => '0BC16699165C03B925DB8A404E2D****', 'title' => ''],
+ 'StoreHost' => ['description' => 'The server instance that stores the message.', 'type' => 'string', 'example' => '11.220.***.***:10911', 'title' => ''],
+ 'Topic' => ['description' => 'The topic of the message.', 'type' => 'string', 'example' => 'test-mq_topic', 'title' => ''],
+ 'PropertyList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'MessageProperty' => [
+ 'description' => 'The list of message attributes.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Value' => ['description' => 'The value of the message attribute.', 'type' => 'string', 'example' => 'TagA', 'title' => ''],
+ 'Name' => ['description' => 'The message attribute. Valid values:'."\n"
+ ."\n"
+ .'- **TRACE\\_ON**: Indicates whether a message trace exists.'."\n"
+ ."\n"
+ .'- **KEYS**: The key of the message.'."\n"
+ ."\n"
+ .'- **TAGS**: The tag of the message.'."\n"
+ ."\n"
+ .'- **INSTANCE\\_ID**: The ID of the instance to which the message belongs.'."\n"
+ ."\n"
+ .'For more information, see [Terms](~~29533~~).', 'type' => 'string', 'example' => 'TAGS', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'BornTimestamp' => ['description' => 'The timestamp when the message was generated. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570761026630', 'title' => ''],
+ 'BodyCRC' => ['description' => 'The cyclic redundancy check (CRC) value of the message body.', 'type' => 'integer', 'format' => 'int32', 'example' => '914112295', 'title' => ''],
+ 'BornHost' => ['description' => 'The producer instance that generated the message.', 'type' => 'string', 'example' => '42.120.**.**:64646', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\",\\n \\"Data\\": {\\n \\"InstanceId\\": \\"MQ_INST_188077086902****_BXSuW61e\\",\\n \\"InstanceType\\": 1\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsInstanceCreateResponse>\\n<Data>\\n <InstanceId>MQ_INST_188077086902****_BXSuW61e</InstanceId>\\n <InstanceType>1</InstanceType>\\n</Data>\\n<RequestId>A07E3902-B92E-44A6-B6C5-6AA111111****</RequestId>\\n</OnsInstanceCreateResponse>","errorExample":""}]',
- 'title' => 'OnsInstanceCreate',
- 'summary' => 'Creates a Message Queue for Apache RocketMQ instance.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
- ."\n"
- .'An instance is a virtual machine (VM) that can be used to store information about the topics and groups of ApsaraMQ for RocketMQ. You can call this operation when you need to create service resources for the business that you want to launch. Before you call this operation, take note of the following limits:'."\n"
- ."\n"
- .'* A maximum of eight ApsaraMQ for RocketMQ instances can be deployed in each region.'."\n"
- .'* This operation can be called to create only a Standard Edition instance. You can use the ApsaraMQ for RocketMQ console to create Standard Edition instances and Enterprise Platinum Edition instances. For information about how to create ApsaraMQ for RocketMQ instances, see [Manage instances](~~200153~~).',
- 'requestParamsDescription' => ' ',
+ 'title' => 'OnsDLQMessageGetById',
+ 'summary' => 'Queries a specific dead-letter message by its message ID. The returned information includes the storage time, message body, key, and tag.',
+ 'description' => '><notice>Alibaba Cloud OpenAPI is a management API used to manage and query resources for Alibaba Cloud services. Integrate OpenAPI only for management purposes. Do not use OpenAPI for core data links that send and receive messages, because this can introduce threats to the data links.></notice>'."\n"
+ .'Querying a dead-letter message by its message ID is a term query. You can obtain the message ID from the SendResult of a successful send operation or from a batch query API call. The query returns attributes of the dead-letter message, such as its storage time, message body, key, and tag.',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## Create an instance in the console'."\n"
+ 'extraInfo' => '## View the information about a dead-letter message in the console'."\n"
."\n"
- .'You can also create an instance in the **ApsaraMQ for RocketMQ console**. For information about how to create an instance in the ApsaraMQ for RocketMQ console, see [Manage instances](~~200153~~).',
- ],
- 'OnsInstanceBaseInfo' => [
- 'summary' => 'Queries the basic information of a Message Queue for Apache RocketMQ instance and the endpoint that a client uses to connect to the Message Queue for Apache RocketMQ instance to send and receive messages.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can also view the information about a dead-letter message in the ApsaraMQ for RocketMQ console. For more information, see [Dead-letter queues](~~87277~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsDLQMessageGetById'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryDLQMessage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\",\\n \\"Data\\": {\\n \\"StoreSize\\": 407,\\n \\"ReconsumeTimes\\": 1,\\n \\"StoreTimestamp\\": 1570761026708,\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\",\\n \\"MsgId\\": \\"0BC16699165C03B925DB8A404E2D****\\",\\n \\"StoreHost\\": \\"11.220.***.***:10911\\",\\n \\"Topic\\": \\"test-mq_topic\\",\\n \\"PropertyList\\": {\\n \\"MessageProperty\\": [\\n {\\n \\"Value\\": \\"TagA\\",\\n \\"Name\\": \\"TAGS\\"\\n }\\n ]\\n },\\n \\"BornTimestamp\\": 1570761026630,\\n \\"BodyCRC\\": 914112295,\\n \\"BornHost\\": \\"42.120.**.**:64646\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'OnsDLQMessagePageQueryByGroupId' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -1330,249 +1153,45 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREonsHF2FLP',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'InstanceId',
+ 'name' => 'GroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'MQ_INST_138015630679****_BAAy1Hac',
- ],
+ 'schema' => ['description' => 'The ID of the consumer group to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test_group_id', 'title' => ''],
],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'InstanceBaseInfo' => [
- 'description' => 'The information about the instance.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Endpoints' => [
- 'description' => 'The endpoints used to access ApsaraMQ for RocketMQ over different protocols.',
- 'type' => 'object',
- 'properties' => [
- 'TcpEndpoint' => [
- 'description' => 'The private TCP endpoint of the instance.'."\n",
- 'type' => 'string',
- 'example' => 'http://MQ_INST_138015630679****_BAAy1Hac.cn-chengdu.mq-internal.aliyuncs.com:8080',
- ],
- 'TcpInternetEndpoint' => [
- 'description' => 'The public TCP endpoint of the instance.'."\n"
- ."\n"
- .'* Only instances that are deployed in the China (Chengdu), China (Qingdao), or China (Shenzhen) region can be accessed by using public TCP endpoints.'."\n"
- ."\n"
- .'* Before you use a public TCP endpoint, make sure that your client SDK meets the following requirements:'."\n"
- ."\n"
- .' * TCP client SDK for Java: V2.0.0.Final or later For more information, see [Release notes for the SDK for Java](~~325569~~).'."\n"
- .' * TCP client SDK for C++: V3.0.0 or later For more information, see [Release notes for the SDK for C++](~~325570~~).'."\n"
- ."\n"
- .'* You are charged for Internet traffic when you use a public TCP endpoint. For more information, see [Internet traffic fee](~~325571~~).'."\n",
- 'type' => 'string',
- 'example' => 'http://MQ_INST_138015630679****_BAAy1Hac.mq.cn-chengdu.aliyuncs.com:80',
- ],
- 'HttpInternetEndpoint' => [
- 'description' => 'The public HTTP endpoint of the instance.'."\n",
- 'type' => 'string',
- 'example' => 'http://138015630679****.mqrest.cn-chengdu.aliyuncs.com',
- ],
- 'HttpInternalEndpoint' => [
- 'description' => 'The private HTTP endpoint of the instance.'."\n",
- 'type' => 'string',
- 'example' => 'http://138015630679****.mqrest.cn-chengdu-internal.aliyuncs.com',
- ],
- 'HttpInternetSecureEndpoint' => [
- 'description' => 'The public HTTPS endpoint of the instance.'."\n",
- 'type' => 'string',
- 'example' => 'https://138015630679****.mqrest.cn-chengdu.aliyuncs.com',
- ],
- ],
- ],
- 'IndependentNaming' => [
- 'description' => 'Indicates whether the instance uses a namespace. Valid values:'."\n"
- ."\n"
- .'* **true**: The instance uses a separate namespace. The name of each resource must be unique in the instance. The names of resources in different instances can be the same.'."\n"
- .'* **false**: The instance does not use a separate namespace. The name of each resource must be globally unique within the instance and across all instances.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'MaxTps' => [
- 'description' => 'The maximum messaging transactions per second (TPS). Valid values: 5000, 10000, 20000, 50000, 100000, 200000, 300000, 500000, 800000, and 1000000.'."\n"
- ."\n"
- .'You can view the details about messaging TPS on the buy page of ApsaraMQ for RocketMQ.'."\n"
- ."\n"
- .'> This parameter is available only to the ApsaraMQ for RocketMQ Enterprise Platinum Edition instances.',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '10000',
- ],
- 'Remark' => [
- 'description' => 'The description of the instance.'."\n",
- 'type' => 'string',
- 'example' => 'ons-cn-m7r1r5f****',
- ],
- 'InstanceName' => [
- 'description' => 'The name of the instance.'."\n"
- ."\n"
- .'The name must be 3 to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'ReleaseTime' => [
- 'description' => 'The time when the Enterprise Platinum Edition instance expires.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1603555200000',
- ],
- 'TopicCapacity' => [
- 'description' => 'The maximum number of topics that can be created on the instance. Valid values: 25, 50, 100, 300, and 500.'."\n"
- ."\n"
- .'> This parameter is available only to the ApsaraMQ for RocketMQ Enterprise Platinum Edition instances.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '50',
- ],
- 'InstanceStatus' => [
- 'description' => 'The status of the instance. Valid values:'."\n"
- ."\n"
- .'* **0**: The instance is being deployed. This value is valid only for Enterprise Platinum Edition instances.'."\n"
- .'* **2**: The instance has overdue payments. This value is valid only for Standard Edition instances.'."\n"
- .'* **5**: The instance is running. This value is valid for Standard Edition instances and Enterprise Platinum Edition instances.'."\n"
- .'* **7**: The instance is being upgraded and is running. This value is valid only for Enterprise Platinum Edition instances.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '5',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the instance'."\n",
- 'type' => 'string',
- 'example' => 'MQ_INST_138015630679****_BAAy1Hac',
- ],
- 'InstanceType' => [
- 'description' => 'The instance type. Valid values:'."\n"
- ."\n"
- .'* **1**: Standard Edition instances that use the pay-as-you-go billing method.'."\n"
- .'* **2**: Enterprise Platinum Edition instances that use the subscription billing method.'."\n"
- ."\n"
- .'For information about the editions and specifications of ApsaraMQ for RocketMQ instances, see [Instance editions](~~185261~~).',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'CreateTime' => [
- 'description' => 'The time when the instance was created. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'string',
- 'example' => '1570701259403',
- ],
- 'spInstanceId' => [
- 'description' => 'The commodity ID of the instance.'."\n",
- 'type' => 'string',
- 'example' => 'ons-cn-m7r1r5f****',
- ],
- 'spInstanceType' => [
- 'description' => 'The commodity type of the instance.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'enumValueTitles' => [
- 1 => '',
- '',
- ],
- 'example' => '1',
- ],
- 'SupportClassic' => [
- 'title' => '是否支持经典网络'."\n"
- .'0:未知'."\n"
- .'1:支持'."\n"
- .'2:不支持',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- ],
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '6CC46974-65E8-4C20-AB07-D20D102E****',
- ],
- ],
- ],
+ [
+ 'name' => 'BeginTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The start of the time range to query. This value is a UNIX timestamp in milliseconds.'."\n"
+ .'If you specify `TaskId` to retrieve more pages, this parameter is ignored. The start time from the first query is used.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1570723200000', 'title' => ''],
],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"InstanceBaseInfo\\": {\\n \\"Endpoints\\": {\\n \\"TcpEndpoint\\": \\"http://MQ_INST_138015630679****_BAAy1Hac.cn-chengdu.mq-internal.aliyuncs.com:8080\\",\\n \\"TcpInternetEndpoint\\": \\"http://MQ_INST_138015630679****_BAAy1Hac.mq.cn-chengdu.aliyuncs.com:80\\",\\n \\"HttpInternetEndpoint\\": \\"http://138015630679****.mqrest.cn-chengdu.aliyuncs.com\\",\\n \\"HttpInternalEndpoint\\": \\"http://138015630679****.mqrest.cn-chengdu-internal.aliyuncs.com\\",\\n \\"HttpInternetSecureEndpoint\\": \\"https://138015630679****.mqrest.cn-chengdu.aliyuncs.com\\"\\n },\\n \\"IndependentNaming\\": true,\\n \\"MaxTps\\": 10000,\\n \\"Remark\\": \\"ons-cn-m7r1r5f****\\",\\n \\"InstanceName\\": \\"test\\",\\n \\"ReleaseTime\\": 1603555200000,\\n \\"TopicCapacity\\": 50,\\n \\"InstanceStatus\\": 5,\\n \\"InstanceId\\": \\"MQ_INST_138015630679****_BAAy1Hac\\",\\n \\"InstanceType\\": 2,\\n \\"CreateTime\\": \\"1570701259403\\",\\n \\"spInstanceId\\": \\"ons-cn-m7r1r5f****\\",\\n \\"spInstanceType\\": 1,\\n \\"SupportClassic\\": 2\\n },\\n \\"RequestId\\": \\"6CC46974-65E8-4C20-AB07-D20D102E****\\"\\n}","errorExample":""},{"type":"xml","example":"<OnsInstanceBaseInfoResponse>\\n <InstanceBaseInfo>\\n <Endpoints>\\n <TcpEndpoint>http://MQ_INST_138015630679****_BAAy1Hac.cn-chengdu.mq-internal.aliyuncs.com:8080</TcpEndpoint>\\n <HttpInternetEndpoint>http://138015630679****.mqrest.cn-chengdu.aliyuncs.com</HttpInternetEndpoint>\\n <HttpInternalEndpoint>http://138015630679****.mqrest.cn-chengdu-internal.aliyuncs.com</HttpInternalEndpoint>\\n <HttpInternetSecureEndpoint>https://138015630679****.mqrest.cn-chengdu.aliyuncs.com</HttpInternetSecureEndpoint>\\n <TcpInternetEndpoint>http://MQ_INST_138015630679****_BAAy1Hac.mq.cn-chengdu.aliyuncs.com:80</TcpInternetEndpoint>\\n </Endpoints>\\n <IndependentNaming>true</IndependentNaming>\\n <MaxTps>10000</MaxTps>\\n <Remark>onspre-cn-m7r1r5f****</Remark>\\n <InstanceName>test</InstanceName>\\n <ReleaseTime>1603555200000</ReleaseTime>\\n <TopicCapacity>50</TopicCapacity>\\n <InstanceStatus>5</InstanceStatus>\\n <InstanceId>MQ_INST_138015630679****_BAAy1Hac</InstanceId>\\n <InstanceType>2</InstanceType>\\n </InstanceBaseInfo>\\n <RequestId>6CC46974-65E8-4C20-AB07-D20D102E****</RequestId>\\n</OnsInstanceBaseInfoResponse>","errorExample":""}]',
- 'title' => 'OnsInstanceBaseInfo',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
- ."\n"
- .'To send and receive messages, a client must be connected to a ApsaraMQ for RocketMQ instance by using an endpoint. You can call this operation to query the endpoints of the instance.',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'OnsInstanceUpdate' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
[
- 'AK' => [],
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The end of the time range to query. This value is a UNIX timestamp in milliseconds.'."\n"
+ .'If you specify `TaskId` to retrieve more pages, this parameter is ignored. The end time from the first query is used.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1570809600000', 'title' => ''],
],
- ],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [],
- 'parameters' => [
[
- 'name' => 'Remark',
+ 'name' => 'TaskId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The updated description of the instance. If you do not configure this parameter, the instance description remains unchanged.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Updateddescription'."\n",
- ],
+ 'schema' => ['description' => 'The ID of the query task. Omit this parameter for the first query. For subsequent queries, use the task ID returned by the previous query.', 'type' => 'string', 'required' => false, 'example' => '0BC1310300002A9F000021E4D7A48346', 'title' => ''],
],
[
- 'name' => 'InstanceName',
+ 'name' => 'CurrentPage',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new name of the instance. The name must meet the following rules:'."\n"
- ."\n"
- .'* The name of the instance must be unique in the region where the instance is deployed.'."\n"
- .'* The name must be 3 to 64 characters in length and can contain letters, digits, hyphens (-), underscores (\\_), and Chinese characters.'."\n"
- .'* If you do not configure this parameter, the instance name remains unchanged.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'Updatedname'."\n",
- ],
+ 'schema' => ['description' => 'The page number to return. Pages start from 1. The value can be up to 50 and must not exceed the total number of pages.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '2', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of messages to return on each page. Default value: 20. Minimum value: 5. Maximum value: 50.'."\n"
+ .'If you specify `TaskId` to retrieve more pages, this parameter is ignored. The page size from the first query is used.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance whose name or description you want to update.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'MQ_INST_188077086902****_BXSuW61e',
- ],
+ 'schema' => ['description' => 'The ID of the instance that contains the message.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
],
'responses' => [
@@ -1580,96 +1199,164 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****',
+ 'RequestId' => ['description' => 'The request ID. Each request has a unique ID. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => 'B00CD3C8-D81E-4A41-85E2-38F19252****', 'title' => ''],
+ 'MsgFoundDo' => [
+ 'description' => 'The query result.',
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ 'MsgFoundList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'OnsRestMessageDo' => [
+ 'description' => 'The list of messages on the current page. The data type is the same as the data type of the response to the [OnsDLQMessageGetById](~~112667~~) operation.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'StoreSize' => ['description' => 'The message size in KB.', 'type' => 'integer', 'format' => 'int32', 'example' => '406', 'title' => ''],
+ 'ReconsumeTimes' => ['description' => 'The number of times the message has been reconsumed.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'StoreTimestamp' => ['description' => 'The UNIX timestamp for when the message was stored on the server.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570760999811', 'title' => ''],
+ 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
+ 'MsgId' => ['description' => 'The message ID.', 'type' => 'string', 'example' => '1E0578FE110F18B4AAC235C05F2*****', 'title' => ''],
+ 'StoreHost' => ['description' => 'The server that stores the message.', 'type' => 'string', 'example' => '11.193.***.***:10911', 'title' => ''],
+ 'Topic' => ['description' => 'The topic of the message.', 'type' => 'string', 'example' => 'test-mq_topic', 'title' => ''],
+ 'PropertyList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'MessageProperty' => [
+ 'description' => 'A list of message properties.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Value' => ['description' => 'The value of the message property.', 'type' => 'string', 'example' => 'TagA', 'title' => ''],
+ 'Name' => ['description' => 'The message property. Valid values:'."\n"
+ ."\n"
+ .'- **TRACE\\_ON**: Indicates whether a message trace exists.'."\n"
+ ."\n"
+ .'- **KEYS**: The key of the message.'."\n"
+ ."\n"
+ .'- **TAGS**: The tag of the message.'."\n"
+ ."\n"
+ .'- **INSTANCE\\_ID**: The ID of the instance that contains the message.'."\n"
+ ."\n"
+ .'For more information, see [Terms](~~29533~~).', 'type' => 'string', 'example' => 'TAGS', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'BornTimestamp' => ['description' => 'The UNIX timestamp for when the message was produced.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570760999721', 'title' => ''],
+ 'BodyCRC' => ['description' => 'The cyclic redundancy check (CRC) value of the message body.', 'type' => 'integer', 'format' => 'int32', 'example' => '914112295', 'title' => ''],
+ 'BornHost' => ['description' => 'The producer that generated the message.', 'type' => 'string', 'example' => '42.120.***.***:59270', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'MaxPageCount' => ['description' => 'The total number of pages available.', 'type' => 'integer', 'format' => 'int64', 'example' => '400', 'title' => ''],
+ 'TaskId' => ['description' => 'The ID of the query task. This ID is returned on the first query. Use this ID to retrieve subsequent pages.', 'type' => 'string', 'example' => '0BC1310300002A9F000021E4D7A48346', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\"\\n}","errorExample":""},{"type":"xml","example":"<OnsInstanceUpdateResponse>\\r\\n<RequestId>A07E3902-B92E-44A6-B6C5-6AA111111****</RequestId>\\r\\n</OnsInstanceUpdateResponse>","errorExample":""}]',
- 'title' => 'OnsInstanceUpdate',
- 'summary' => 'Updates the name and description of a Message Queue for Apache RocketMQ instance.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'title' => 'OnsDLQMessagePageQueryByGroupId',
+ 'summary' => 'Queries dead-letter messages by page for a specified Group ID and time range.',
+ 'description' => '><notice>'."\n"
."\n"
- .'A maximum of eight ApsaraMQ for RocketMQ instances can be deployed in each region.',
- 'requestParamsDescription' => ' ',
+ .'Alibaba Cloud OpenAPI is a management API. You can use it to manage and query Alibaba Cloud service resources. Integrate this API for management purposes only. Do not use this API for core data links that send and receive messages because this can create security threats.'."\n"
+ ."\n"
+ .'></notice>'."\n"
+ ."\n"
+ .'- Querying dead-letter messages by Group ID is a paged range query. This method applies only to scenarios in which you query messages without specifying a message ID.'."\n"
+ ."\n"
+ .'- When you query dead-letter messages by Group ID, specify a time range that is as short as possible. A long time range can return too many messages and make it difficult to identify issues. The call flow is as follows:'."\n"
+ ."\n"
+ .' 1. For the first paged query, specify the Group ID, start time, end time, and the number of messages per page. If messages are found, the API returns the messages on the first page, the total number of pages, and a query task ID.'."\n"
+ ."\n"
+ .' 2. Use the returned query task ID to retrieve more pages of messages. In subsequent requests, specify the query task ID and the page number. The start time, end time, and number of messages per page in these requests are ignored because the values from the first query are used.',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## Update the name and description of an instance in the console'."\n"
+ 'extraInfo' => '## View dead-letter messages in the console'."\n"
."\n"
- .'You can also update the name and description of an instance in the **ApsaraMQ for RocketMQ console**. For more information, see [Manage instances](~~200153~~).',
- ],
- 'OnsInstanceInServiceList' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can also view the dead-letter messages of a consumer group in the ApsaraMQ for RocketMQ console.**** For more information, see [Dead-letter queues](~~87277~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsDLQMessagePageQueryByGroupId'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryDLQMessage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B00CD3C8-D81E-4A41-85E2-38F19252****\\",\\n \\"MsgFoundDo\\": {\\n \\"CurrentPage\\": 1,\\n \\"MsgFoundList\\": {\\n \\"OnsRestMessageDo\\": [\\n {\\n \\"StoreSize\\": 406,\\n \\"ReconsumeTimes\\": 1,\\n \\"StoreTimestamp\\": 1570760999811,\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\",\\n \\"MsgId\\": \\"1E0578FE110F18B4AAC235C05F2*****\\",\\n \\"StoreHost\\": \\"11.193.***.***:10911\\",\\n \\"Topic\\": \\"test-mq_topic\\",\\n \\"PropertyList\\": {\\n \\"MessageProperty\\": [\\n {\\n \\"Value\\": \\"TagA\\",\\n \\"Name\\": \\"TAGS\\"\\n }\\n ]\\n },\\n \\"BornTimestamp\\": 1570760999721,\\n \\"BodyCRC\\": 914112295,\\n \\"BornHost\\": \\"42.120.***.***:59270\\"\\n }\\n ]\\n },\\n \\"MaxPageCount\\": 400,\\n \\"TaskId\\": \\"0BC1310300002A9F000021E4D7A48346\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'OnsDLQMessageResendById' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'abilityTreeCode' => '14932',
- 'abilityTreeNodes' => [
- 'FEATUREonsICR0M4',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'Tag',
+ 'name' => 'MsgId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The tags that you want to attach to the instance. You can attach up to 20 tags to the instance.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key. This parameter is not required. If you configure this parameter, you must also configure **Value**.**** If you configure Key and Value in a request, this operation queries only the instances that use the specified tags. If you do not configure these parameters in a request, this operation queries all instances that you can access.'."\n"
- ."\n"
- .'* The value of this parameter cannot be an empty string.'."\n"
- .'* The tag key can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag key cannot contain `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'CartService',
- ],
- 'Value' => [
- 'description' => 'The tag value. This parameter is not required. If you configure this parameter, you must also configure **Key**.**** If you configure Key and Value in a request, this operation queries only the instances that use the specified tags. If you do not configure these parameters in a request, this operation queries all instances that you can access.'."\n"
- ."\n"
- .'* The value of this parameter can be an empty string.'."\n"
- .'* The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `acs:` or `aliyun`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'SericeA',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 21,
- ],
+ 'schema' => ['description' => 'The ID of the message to query. This is the message ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '0BC16699343051CD9F1D798E7734****', 'title' => ''],
],
[
- 'name' => 'NeedResourceInfo',
+ 'name' => 'GroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether you want the resource information to be returned.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'schema' => ['description' => 'The group ID of the consumer to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test_group_id', 'title' => ''],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the instance that contains the message to query.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_188077086902****_BXSuW61e', 'title' => ''],
],
],
'responses' => [
@@ -1677,141 +1364,77 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '0598E46F-DB06-40E2-AD7B-C45923EE****',
- ],
+ 'RequestId' => ['description' => 'The request ID. This is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => 'D94CC769-4DC3-4690-A868-9D0631B1****', 'title' => ''],
'Data' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'InstanceVO' => [
- 'description' => 'The returned information about the queried instances.'."\n",
+ 'MsgId' => [
+ 'description' => 'The list of messages that are returned.',
'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'IndependentNaming' => [
- 'description' => 'Indicates whether a namespace is used for the instance. Valid values:'."\n"
- ."\n"
- .'* **true**: A separate namespace is used for the instance. The identifier of each resource in the instance must be unique within the instance. However, the identifier of a resource in the instance can be the same as the identifier of a resource in another instance that uses a different namespace.'."\n"
- .'* **false**: A separate namespace is not used for the instance. The name of each resource must be globally unique within the instance and across all instances.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'InstanceName' => [
- 'description' => 'The instance name.'."\n"
- ."\n"
- .'The name must be 3 to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n",
- 'type' => 'string',
- 'example' => 'test1',
- ],
- 'ReleaseTime' => [
- 'description' => 'The time when the instance expires. If the instance is of Enterprise Platinum Edition, this parameter is returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1551024000000',
- ],
- 'InstanceStatus' => [
- 'description' => 'The instance status. Valid values:'."\n"
- ."\n"
- .'* **0**: The instance is being deployed. This value is valid only for Enterprise Platinum Edition instances.'."\n"
- .'* **2**: The instance has overdue payments. This value is valid only for Standard Edition instances.'."\n"
- .'* **5**: The instance is running. This value is valid only for Standard Edition instances and Enterprise Platinum Edition instances.'."\n"
- .'* **7**: The instance is being upgraded and is running. This value is valid only for Enterprise Platinum Edition instances.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '5',
- ],
- 'Tags' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'Tag' => [
- 'description' => 'The tags that are attached to the instance.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n",
- 'type' => 'string',
- 'example' => 'CartService',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n",
- 'type' => 'string',
- 'example' => 'ServiceA',
- ],
- ],
- ],
- ],
- ],
- ],
- 'InstanceId' => [
- 'description' => 'The instance ID.'."\n",
- 'type' => 'string',
- 'example' => 'MQ_INST_188077086902****_BXSuW61e',
- ],
- 'InstanceType' => [
- 'description' => 'The instance type. Valid values:'."\n"
- ."\n"
- .'* **1**: Standard Edition'."\n"
- .'* **2**: Enterprise Platinum Edition'."\n"
- ."\n"
- .'For information about the instance editions and the differences between the editions, see [Instance editions](~~185261~~).'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'CreateTime' => [
- 'description' => 'The time when the instance was created. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1640847284000',
- ],
- 'TopicCount' => [
- 'description' => 'The number of topics.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'GroupCount' => [
- 'description' => 'The number of consumer groups.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '3',
- ],
- ],
- ],
+ 'items' => ['description' => 'The message ID.', 'type' => 'string', 'example' => '0BC16699343051CD9F1D798E7734****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0598E46F-DB06-40E2-AD7B-C45923EE****\\",\\n \\"Data\\": {\\n \\"InstanceVO\\": [\\n {\\n \\"IndependentNaming\\": true,\\n \\"InstanceName\\": \\"test1\\",\\n \\"ReleaseTime\\": 1551024000000,\\n \\"InstanceStatus\\": 5,\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"CartService\\",\\n \\"Value\\": \\"ServiceA\\"\\n }\\n ]\\n },\\n \\"InstanceId\\": \\"MQ_INST_188077086902****_BXSuW61e\\",\\n \\"InstanceType\\": 2,\\n \\"CreateTime\\": 1640847284000,\\n \\"TopicCount\\": 1,\\n \\"GroupCount\\": 3\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsInstanceInServiceListResponse>\\n<RequestId>0598E46F-DB06-40E2-AD7B-C45923EE****</RequestId>\\n<Data>\\n <InstanceVO>\\n <InstanceName>test1</InstanceName>\\n <InstanceId>MQ_INST_188077086902****_BXSuW61e</InstanceId>\\n <ReleaseTime>1551024000000</ReleaseTime>\\n <InstanceStatus>5</InstanceStatus>\\n <IndependentNaming>true</IndependentNaming>\\n <InstanceType>2</InstanceType>\\n <Tags>\\n <Tag>\\n <Value>ServiceA</Value>\\n <Key>CartService</Key>\\n </Tag>\\n </Tags>\\n </InstanceVO>\\n</Data>\\n</OnsInstanceInServiceListResponse>","errorExample":""}]',
- 'title' => 'OnsInstanceInServiceList',
- 'summary' => 'Queries all Message Queue for Apache RocketMQ instances in a specified region within the current account.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n",
+ 'title' => 'OnsDLQMessageResendById',
+ 'summary' => 'Resends a dead-letter message specified by a message ID to allow a consumer to consume the message again.',
+ 'description' => '><notice>'."\n"
+ ."\n"
+ .'The OpenAPI provided by Alibaba Cloud is a management API. You can use it to manage and query resources of Alibaba Cloud services. Integrate OpenAPI for management purposes only. Do not use OpenAPI for core data links that send and receive messages. This practice can introduce threats to your data links.'."\n"
+ ."\n"
+ .'></notice>'."\n"
+ ."\n"
+ .'- If a dead-letter message that has reached the maximum number of retries fails to be consumed after being resent, a new message with the same message ID is added to the dead-letter queue. You can check the result on the dead-letter queue query page in the console or by calling a management API. The number of times a message with the same message ID appears indicates the number of failed consumption attempts after the message was resent.'."\n"
+ ."\n"
+ .'- A dead-letter message is a message that failed to be consumed after multiple retries. This usually indicates an issue with the consumption logic. You must identify the cause of the repeated consumption failures before you call this operation to resend the message.'."\n"
+ ."\n"
+ .'- Message Queue for Apache RocketMQ does not track the status of resent dead-letter messages. Messages that are successfully consumed after being resent are not removed from the dead-letter queue. You must determine whether a message needs to be resent. Avoid resending messages unnecessarily to prevent duplicate consumption.',
'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'OnsInstanceDelete' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseParamsDescription' => '> If a message fails to be resent, its message ID is returned.',
+ 'extraInfo' => '## Send a dead-letter message to a consumer group in the console'."\n"
+ ."\n"
+ .'You can also send a dead-letter message to a consumer group for consumption in the ApsaraMQ for RocketMQ console. For more information, see [Dead-letter queues](~~87277~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsDLQMessageResendById'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:ResendDLQMessage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D94CC769-4DC3-4690-A868-9D0631B1****\\",\\n \\"Data\\": {\\n \\"MsgId\\": [\\n \\"0BC16699343051CD9F1D798E7734****\\"\\n ]\\n }\\n}","type":"json"}]',
+ ],
+ 'OnsGroupConsumerUpdate' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -1822,15 +1445,25 @@
'systemTags' => [],
'parameters' => [
[
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The group ID to configure.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test_groupId', 'title' => ''],
+ ],
+ [
+ 'name' => 'ReadEnable',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether the consumer cluster for the group ID has permission to read messages. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The consumer cluster has permission to read messages.'."\n"
+ ."\n"
+ .'- **false**: The consumer cluster does not have permission to read messages.'."\n"
+ ."\n"
+ .'Default value: **true**.', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'true', 'title' => ''],
+ ],
+ [
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'MQ_INST_188077086902****_BXSuW61e',
- ],
+ 'schema' => ['description' => 'The ID of the instance to which the group ID belongs.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
],
'responses' => [
@@ -1838,38 +1471,53 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request. This is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot and locate issues.', 'type' => 'string', 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\"\\n}","errorExample":""},{"type":"xml","example":"<OnsInstanceDeleteResponse>\\r\\n<RequestId>A07E3902-B92E-44A6-B6C5-6AA111111****</RequestId>\\r\\n</OnsInstanceDeleteResponse>","errorExample":""}]',
- 'title' => 'OnsInstanceDelete',
- 'summary' => 'Deletes a Message Queue for Apache RocketMQ instance.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'title' => 'OnsGroupConsumerUpdate',
+ 'summary' => 'Sets the message read permission for the consumer cluster that corresponds to a specified group ID. This operation is typically used to prevent a specific consumer group from reading messages.',
+ 'description' => '><notice>'."\n"
+ ."\n"
+ .'Alibaba Cloud OpenAPI is a control-plane API used to manage and query Alibaba Cloud service resources. Integrate OpenAPI only on the control plane. Do not depend on OpenAPI for core data links that send and receive messages. This can introduce threats to your data links.'."\n"
."\n"
- .'* You can call this operation when you need to reclaim resources. For example, after you unpublish an application, you can reclaim the resources that were used for the application. An instance can be deleted only when the instance does not contain topics and groups.'."\n"
- .'* After an instance is deleted, the instance cannot be restored. Exercise caution when you call this operation.'."\n",
+ .'></notice>',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## Delete an instance in the console'."\n"
- ."\n"
- .'You can also delete an instance in the ApsaraMQ for RocketMQ console.**** For information about how to delete an instance in the ApsaraMQ for RocketMQ console, see [Manage instances](~~200153~~).',
- ],
- 'OnsTopicCreate' => [
- 'summary' => 'Creates a topic.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsGroupConsumerUpdate'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'mq:UpdateGroupConsumer',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\"\\n}","type":"json"}]',
+ ],
+ 'OnsGroupCreate' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -1877,217 +1525,176 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [],
+ 'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
- 'name' => 'Topic',
+ 'name' => 'GroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the topic that you want to create. The name must meet the following rules:'."\n"
- ."\n"
- .'* The name must be 3 to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n"
- .'* The topic name cannot start with CID or GID because CID and GID are reserved prefixes for group IDs.'."\n"
- .'* If the ApsaraMQ for RocketMQ instance in which you want to create the topic uses a namespace, the topic name must be unique in the instance. The topic name cannot be the same as an existing topic name or a group ID in the instance. The topic name can be the same as a topic name or a group ID in another instance that uses a different namespace. For example, if Instance A and Instance B use different namespaces, a topic name in Instance A can be the same as a topic name or a group ID in Instance B.'."\n"
- .'* If the instance in which you want to create the topic does not use a namespace, the topic name must be globally unique across instances and regions. The topic name cannot be the same as an existing topic name or group ID in all ApsaraMQ for RocketMQ instances that belong to your Alibaba Cloud account.'."\n"
- ."\n"
- .'> To check whether an instance uses a namespace, log on to the ApsaraMQ for RocketMQ console, go to the **Instance Details** page, and then view the value of the Namespace field in the **Basic Information** section.',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The ID of the consumer group that you want to create. The value must meet the following requirements:'."\n"
+ ."\n"
+ .'- The value must be 2 to 64 characters in length and can contain only letters, digits, hyphens (-), and underscores (\\_).'."\n"
+ ."\n"
+ .'- If the instance for which you want to create the group has a namespace, the group ID must be unique within the instance. It cannot be the same as an existing group ID or topic name in the instance. Group IDs can be the same across different instances. For example, a group ID in Instance A can be the same as a group ID or a topic name in Instance B.'."\n"
+ ."\n"
+ .'- If the instance for which you want to create the group does not have a namespace, the group ID must be globally unique across all instances and regions. It cannot be the same as any existing group ID or topic name.'."\n"
+ ."\n"
+ .'> * The group ID cannot be changed after the group is created.'."\n"
+ ."\n"
+ .'- To check whether an instance has a namespace, go to the **Basic Information** section on the **Instance Details** page in the ApsaraMQ for RocketMQ console.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test_groupId', 'title' => ''],
],
[
- 'name' => 'MessageType',
+ 'name' => 'Remark',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of messages that you want to publish to the topic. Valid values:'."\n"
- ."\n"
- .'* **0**: normal messages'."\n"
- .'* **1**: partitionally ordered messages'."\n"
- .'* **2**: globally ordered messages'."\n"
- .'* **4**: transactional messages'."\n"
- .'* **5**: scheduled or delayed messages'."\n"
- ."\n"
- .'For more information about message types, see [Message types](~~155952~~).'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '0',
- ],
+ 'schema' => ['description' => 'The remarks on the group.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
[
- 'name' => 'Remark',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the topic that you want to create.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Test'."\n",
- ],
+ 'schema' => ['description' => 'The ID of the instance to which the group belongs.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'GroupType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance in which you want to create the topic.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_188077086902****_BXSuW61e',
- ],
+ 'schema' => ['description' => 'The protocol to which the group ID applies. Group IDs for the TCP and HTTP protocols cannot be used interchangeably. Create a separate group ID for each protocol. Valid values:'."\n"
+ ."\n"
+ .'- **tcp**: This is the default value. The created group ID applies only to message sending and receiving over the TCP protocol.'."\n"
+ ."\n"
+ .'- **http**: The created group ID applies only to message sending and receiving over the HTTP protocol.', 'type' => 'string', 'required' => false, 'default' => 'tcp', 'example' => 'tcp', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The data returned.'."\n",
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'B6949B58-223E-4B75-B4FE-7797C15E****',
- ],
+ 'RequestId' => ['description' => 'A common parameter. The ID of the request is unique for each request. Use this ID to troubleshoot and locate issues.', 'type' => 'string', 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => '%s',
- 'errorMessage' => '%s, please check and retry later',
- ],
+ ['errorCode' => '%s', 'errorMessage' => '%s, please check and retry later', 'description' => ''],
+ ['errorCode' => 'Group.NumLimited', 'errorMessage' => 'group count exceed limit.', 'description' => 'The number of gid exceeds the limit.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B6949B58-223E-4B75-B4FE-7797C15E****\\"\\n}","errorExample":""},{"type":"xml","example":"<OnsTopicCreateResponse>\\r\\n<RequestId>B6949B58-223E-4B75-B4FE-7797C15E****</RequestId>\\r\\n</OnsTopicCreateResponse>","errorExample":""}]',
- 'title' => 'OnsTopicCreate',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
- ."\n"
- .'When you want to release a new application or expand your business, you can call this operation to create a topic based on your business requirements.'."\n",
+ 'title' => 'OnsGroupCreate',
+ 'summary' => 'Creates a client group ID.',
+ 'description' => '><notice>Alibaba Cloud OpenAPI is a management API. You can use it to manage and query Alibaba Cloud service resources. Integrate this API for management purposes only. Do not use this API for core data links to send and receive messages because this can introduce security threats.></notice>This operation is typically used to create a new group for deploying new applications or implementing business logic.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## Create a topic in the console'."\n"
+ 'extraInfo' => '## Create a consumer group in the console'."\n"
."\n"
- .'You can also create a topic in the ApsaraMQ for RocketMQ console.**** For more information, see [Manage topics](~~199535~~).',
- ],
- 'OnsTopicStatus' => [
- 'summary' => 'Queries the total number of messages in a topic and the status of the topic.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can also create a consumer group in the ApsaraMQ for RocketMQ console.**** For more information, see [Manage groups](~~200386~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsGroupCreate'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'mq:CreateGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\"\\n}","type":"json"}]',
+ ],
+ 'OnsGroupDelete' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREons8BETJT',
- ],
- ],
+ 'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
- 'name' => 'Topic',
+ 'name' => 'GroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the topic that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The ID of the group that you want to delete.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test_groupId', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance that contains the topic you want to query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_188077086902****_BXSuW61e',
- ],
+ 'schema' => ['description' => 'The ID of the instance to which the group that you want to delete belongs.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The message returned.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '427EE49D-D762-41FB-8F3D-9BAC96C3****',
- ],
- 'Data' => [
- 'description' => 'The data structure of the queried topic.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Perm' => [
- 'description' => 'Indicates the operations that you can perform on the topic. Valid values:'."\n"
- ."\n"
- .'* **2**: You can publish messages to the topic.'."\n"
- .'* **4**: You can subscribe to the topic.'."\n"
- .'* **6**: You can publish messages to and subscribe to the topic.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '6',
- ],
- 'LastTimeStamp' => [
- 'description' => 'The point in time when the latest message is ready in the topic. If no message exists in the topic, the return value of this parameter is 0.'."\n"
- ."\n"
- .'The value of this parameter is a UNIX timestamp in milliseconds.'."\n"
- ."\n"
- .'For information about the definition of ready messages and ready time, see [Terms](~~29533~~).'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570864984364',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of messages in all partitions of the topic.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '2310',
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID. This ID is unique to each request. Use this ID to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"427EE49D-D762-41FB-8F3D-9BAC96C3****\\",\\n \\"Data\\": {\\n \\"Perm\\": 6,\\n \\"LastTimeStamp\\": 1570864984364,\\n \\"TotalCount\\": 2310\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsTopicStatusResponse>\\n<Data>\\n <Perm>6</Perm>\\n <TotalCount>2310</TotalCount>\\n <LastTimeStamp>1570864984364</LastTimeStamp>\\n</Data>\\n<RequestId>427EE49D-D762-41FB-8F3D-9BAC96C3****</RequestId>\\n</OnsTopicStatusResponse>","errorExample":""}]',
- 'title' => 'OnsTopicStatus',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'title' => 'OnsGroupDelete',
+ 'summary' => 'You can call the OnsGroupDelete operation to delete a group.',
+ 'description' => '><notice>'."\n"
+ ."\n"
+ .'- The OpenAPI provided by Alibaba Cloud are management APIs. Use these APIs to manage and query resources of Alibaba Cloud services. Integrate these APIs only on the management data link. Do not use OpenAPI on the core data link for sending and receiving messages because this can introduce threats to the data link.'."\n"
."\n"
- .'You can determine the resource usage of a topic based on the information that is returned by this operation. The returned information includes the total number of messages in the topic and the most recent point in time when a message was published to the topic.'."\n",
+ .'- After a group is deleted, the consumer instances identified by the group ID immediately stop receiving messages. Call this operation with caution.'."\n"
+ ."\n"
+ .'This operation is typically used for resource revocation, such as when an application is unpublished. When a group is deleted, the system revokes resources in the background. This process is slow. Do not immediately recreate a group after you delete it. If the deletion fails, handle the failure based on the returned error code.'."\n"
+ ."\n"
+ .'></notice>',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'OnsTopicList' => [
- 'summary' => 'Queries the information about topics that belong to the current account.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'extraInfo' => '## Delete a group in the console'."\n"
+ ."\n"
+ .'You can also delete a group in the **ApsaraMQ for RocketMQ console**. For more information, see [Manage groups](~~200386~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsGroupDelete'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'mq:DeleteGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\"\\n}","type":"json"}]',
+ ],
+ 'OnsGroupList' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2095,221 +1702,177 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREonsXSOU1Y',
- ],
- ],
+ 'systemTags' => ['operationType' => 'list'],
'parameters' => [
[
- 'name' => 'Topic',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the topic that you want to query. This parameter is required if you want to query a specific topic. If you do not include this parameter in a request, all topics that you can access are queried.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The ID of the instance to which the Group IDs belong.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'GroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance that contains the topics you want to query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_188077086902****_BXSuW61e',
- ],
+ 'schema' => ['description' => 'Specify a Group ID to perform a fuzzy query. If you leave this parameter empty, all Group IDs are queried.'."\n"
+ ."\n"
+ .'If you enter GID\\_ABC, a fuzzy query is performed by matching prefixes and suffixes. All Group IDs that contain \\*GID\\_ABC\\* are returned, such as GID\\_test\\_GID\\_ABC\\_123 and GID\\_ABC\\_356.', 'type' => 'string', 'required' => false, 'example' => 'GID_test_group_id', 'title' => ''],
+ ],
+ [
+ 'name' => 'GroupType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The protocol that the queried Group IDs support. Group IDs for the TCP protocol and the HTTP protocol cannot be shared. You must create them separately. Valid values:'."\n"
+ ."\n"
+ .'- **tcp**: This is the default value. It indicates that the Group ID applies only to sending and receiving messages over the TCP protocol.'."\n"
+ ."\n"
+ .'- **http**: Indicates that the Group ID applies only to sending and receiving messages over the HTTP protocol.', 'type' => 'string', 'required' => false, 'default' => 'tcp', 'example' => 'tcp', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
- 'allowEmptyValue' => false,
'style' => 'repeatList',
'schema' => [
- 'description' => 'The list of tags that are attached to the topic. A maximum of 20 tags can be included in the list.'."\n",
+ 'description' => 'The list of tags that are attached to the Group ID. The number of elements in the list cannot exceed 20.',
'type' => 'array',
'items' => [
- 'description' => 'The tags to be returned.'."\n",
'type' => 'object',
'properties' => [
- 'Key' => [
- 'description' => 'The key of the tag that is attached to the topics you want to query. This parameter is not required. If you configure this parameter, you must also configure the **Value** parameter.**** If you include the Key and Value parameters in a request, this operation queries only the topics that use the specified tag. If you do not include these parameters in a request, this operation queries all topics that you can access.'."\n"
- ."\n"
- .'* The value of this parameter cannot be an empty string.'."\n"
- .'* A tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'CartService',
- ],
- 'Value' => [
- 'description' => 'The value of the tag that is attached to the topics you want to query. This parameter is not required. If you configure this parameter, you must also configure the **Key** parameter.**** If you include the Key and Value parameters in a request, this operation queries only the topics that use the specified tag. If you do not include these parameters in a request, this operation queries all topics that you can access.'."\n"
- ."\n"
- .'* The value of this parameter can be an empty string.'."\n"
- .'* A tag key can be up to 128 characters in length and cannot contain `http://` or `https://`. It cannot start with `acs:` or `aliyun`.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ServiceA',
- ],
+ 'Key' => ['description' => 'The tag key of the Group ID. Specify both **Key** and **Value**, or leave both empty. If both are specified, the system filters for matching Group IDs. If both are left empty, all Group IDs are queried.'."\n"
+ ."\n"
+ .'- If you specify this parameter, its value cannot be an empty string.'."\n"
+ ."\n"
+ .'- The value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => true, 'example' => 'CartService', 'title' => ''],
+ 'Value' => ['description' => 'The tag value of the Group ID. Specify both **Key** and **Value**, or leave both empty. If both are specified, the system filters for matching Group IDs. If both are left empty, all Group IDs are queried.'."\n"
+ ."\n"
+ .'- If you specify this parameter, its value can be an empty string.'."\n"
+ ."\n"
+ .'- The value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => true, 'example' => 'ServiceA', 'title' => ''],
],
'required' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The data returned.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '4A978869-7681-4529-B470-107E1379****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request. This is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '16996623-AC4A-43AF-9248-FD9D2D75****', 'title' => ''],
'Data' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'PublishInfoDo' => [
- 'description' => 'The information about the topics.'."\n",
+ 'SubscribeInfoDo' => [
+ 'description' => 'The set of subscription relationships that are returned.',
'type' => 'array',
'items' => [
- 'description' => 'The information about a topic that is queried.'."\n",
'type' => 'object',
'properties' => [
- 'MessageType' => [
- 'description' => 'The message type. Valid values:'."\n"
- ."\n"
- .'* **0**: normal messages'."\n"
- .'* **1**: partitionally ordered messages'."\n"
- .'* **2**: globally ordered messages'."\n"
- .'* **4**: transactional messages'."\n"
- .'* **5**: scheduled or delayed messages'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '0',
- ],
- 'RelationName' => [
- 'description' => 'The relationship between the current account and the topic. The value of this parameter indicates whether the current account is the owner of the topic, and whether the current account can subscribe or publish messages to the topic. the topic.'."\n",
- 'type' => 'string',
- 'example' => 'Publish and subscribe'."\n",
- ],
- 'Owner' => [
- 'description' => 'The user ID of the topic owner. The value of this parameter is an Alibaba account ID.'."\n",
- 'type' => 'string',
- 'example' => '138015630679****',
- ],
- 'IndependentNaming' => [
- 'description' => 'Indicates whether the instance that contains the topic uses a namespace. Valid values:'."\n"
- ."\n"
- .'* **true**: The instance uses a separate namespace. The name of each resource must be unique in the instance. The names of resources in different instances can be the same.'."\n"
- .'* **false**: The instance does not use a separate namespace. The name of each resource must be globally unique within an instance and across all instances.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'Remark' => [
- 'description' => 'The description of the topic.'."\n",
- 'type' => 'string',
- 'example' => 'Test'."\n",
- ],
- 'Relation' => [
- 'description' => 'Indicates the relationship between the current account and the topic. Valid values:'."\n"
- ."\n"
- .'* **1**: The current account is the owner of the topic.'."\n"
- .'* **2**: The current account can publish messages to the topic.'."\n"
- .'* **4**: The current account can subscribe to the topic.'."\n"
- .'* **6**: The current account can publish messages to and subscribe to the topic.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '6',
- ],
- 'CreateTime' => [
- 'description' => 'The time when the topic was created.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570700947000',
- ],
- 'Topic' => [
- 'description' => 'The topic name.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
+ 'Owner' => ['description' => 'The owner of the publish information.', 'type' => 'string', 'example' => '138015630679****', 'title' => ''],
+ 'UpdateTime' => ['description' => 'The time when the Group ID was updated.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570700979000', 'title' => ''],
+ 'IndependentNaming' => ['description' => 'Indicates whether the instance has a namespace. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The instance has an independent namespace. The resource name must be unique within the instance. The resource name can be the same across instances.'."\n"
+ ."\n"
+ .'- **false**: The instance does not have an independent namespace. The resource name must be globally unique within or across instances.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'GroupId' => ['description' => 'The Group ID, which is the ID of the consumer group.', 'type' => 'string', 'example' => 'GID_test_group_id', 'title' => ''],
+ 'Remark' => ['description' => 'The remarks.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time when the Group ID was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1568896605000', 'title' => ''],
'Tags' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Tag' => [
- 'description' => 'The tags that are attached to the topic.'."\n",
+ 'description' => 'The tags that are attached to the Group ID.',
'type' => 'array',
'items' => [
- 'description' => 'The information about the tags.'."\n",
'type' => 'object',
'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n",
- 'type' => 'string',
- 'example' => 'CartService',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n",
- 'type' => 'string',
- 'example' => 'SrviceA',
- ],
+ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'CartService', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'ServiceA', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'InstanceId' => [
- 'description' => 'The ID of the instance that contains the topic.'."\n",
- 'type' => 'string',
- 'example' => 'MQ_INST_188077086902****_BXSuW61e',
- ],
- 'ServiceStatus' => [
- 'description' => 'The status of the topic that is asynchronously created. Valid values:'."\n"
- ."\n"
- .'* **0**: The topic is being created.'."\n"
- .'* **1**: The topic is being used.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '0',
- ],
+ 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
+ 'GroupType' => ['description' => 'The protocol that the queried Group IDs support. Group IDs for the TCP protocol and the HTTP protocol cannot be shared. You must create them separately. Valid values:'."\n"
+ ."\n"
+ .'- **tcp**: Indicates that the Group ID applies only to sending and receiving messages over the TCP protocol.'."\n"
+ ."\n"
+ .'- **http**: Indicates that the Group ID applies only to sending and receiving messages over the HTTP protocol.', 'type' => 'string', 'example' => 'tcp', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4A978869-7681-4529-B470-107E1379****\\",\\n \\"Data\\": {\\n \\"PublishInfoDo\\": [\\n {\\n \\"MessageType\\": 0,\\n \\"RelationName\\": \\"授权发布/订阅\\",\\n \\"Owner\\": \\"138015630679****\\",\\n \\"IndependentNaming\\": true,\\n \\"Remark\\": \\"测试\\",\\n \\"Relation\\": 6,\\n \\"CreateTime\\": 1570700947000,\\n \\"Topic\\": \\"test\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"CartService\\",\\n \\"Value\\": \\"SrviceA\\"\\n }\\n ]\\n },\\n \\"InstanceId\\": \\"MQ_INST_188077086902****_BXSuW61e\\",\\n \\"ServiceStatus\\": 0\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsTopicListResponse>\\n <RequestId>4A978869-7681-4529-B470-107E1379****</RequestId>\\n <Data>\\n <MessageType>0</MessageType>\\n <RelationName>授权发布/订阅</RelationName>\\n <Owner>138015630679****</Owner>\\n <IndependentNaming>true</IndependentNaming>\\n <Remark>测试</Remark>\\n <Relation>6</Relation>\\n <CreateTime>1570700947000</CreateTime>\\n <Topic>test</Topic>\\n <Tags>\\n <Key>CartService</Key>\\n <Value>SrviceA</Value>\\n </Tags>\\n <InstanceId>MQ_INST_188077086902****_BXSuW61e</InstanceId>\\n <ServiceStatus>0</ServiceStatus>\\n </Data>\\n</OnsTopicListResponse>","errorExample":""}]',
- 'title' => 'OnsTopicList',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'title' => 'OnsGroupList',
+ 'summary' => 'Queries all Group IDs in a specified instance.',
+ 'description' => '><notice>'."\n"
+ ."\n"
+ .'Alibaba Cloud OpenAPI is a management API used to manage and query resources of Alibaba Cloud services. Integrate OpenAPI only into management data links. Do not rely on OpenAPI in core data links for sending and receiving messages because this can create threats to your data links.'."\n"
."\n"
- .'This operation returns the basic information about topics and does not return the details of topics.'."\n",
+ .'></notice>',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'OnsTopicSubDetail' => [
- 'summary' => 'Queries the online consumer groups that subscribe to a specified topic.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsGroupList'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'mq:ListGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"16996623-AC4A-43AF-9248-FD9D2D75****\\",\\n \\"Data\\": {\\n \\"SubscribeInfoDo\\": [\\n {\\n \\"Owner\\": \\"138015630679****\\",\\n \\"UpdateTime\\": 1570700979000,\\n \\"IndependentNaming\\": true,\\n \\"GroupId\\": \\"GID_test_group_id\\",\\n \\"Remark\\": \\"test\\",\\n \\"CreateTime\\": 1568896605000,\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"CartService\\",\\n \\"Value\\": \\"ServiceA\\"\\n }\\n ]\\n },\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\",\\n \\"GroupType\\": \\"tcp\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ ],
+ 'OnsGroupSubDetail' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2317,37 +1880,17 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '14953',
- 'abilityTreeNodes' => [
- 'FEATUREons8BETJT',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance that contains the topic you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
+ 'schema' => ['description' => 'The ID of the instance to which the group belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
[
- 'name' => 'Topic',
+ 'name' => 'GroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the topic that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The ID of the group that you want to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test_group_id', 'title' => ''],
],
],
'responses' => [
@@ -2355,13 +1898,9 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '87B6207F-2908-42B5-A134-84956DCA****',
- ],
+ 'RequestId' => ['description' => 'A common parameter. The ID of the request. Each request has a unique ID. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '3364E875-013B-442A-BC3C-C1A84DC6****', 'title' => ''],
'Data' => [
- 'description' => 'The data returned.'."\n",
+ 'description' => 'The returned Data object.',
'type' => 'object',
'properties' => [
'SubscriptionDataList' => [
@@ -2369,105 +1908,106 @@
'itemNode' => true,
'properties' => [
'SubscriptionDataList' => [
- 'description' => 'The information about the online consumer groups that subscribe to the topic.'."\n",
+ 'description' => 'Data cannot be queried if the consumer instances of the specified group ID are offline.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'GroupId' => [
- 'description' => 'The ID of the consumer group that subscribes to the topic.'."\n",
- 'type' => 'string',
- 'example' => 'GID_test',
- ],
- 'MessageModel' => [
- 'description' => 'The consumption mode. Valid values:'."\n"
- ."\n"
- .'* **CLUSTERING**: the clustering consumption mode'."\n"
- .'* **BROADCASTING**: the broadcasting consumption mode'."\n"
- ."\n"
- .'For more information about consumption modes, see [Clustering consumption and broadcasting consumption](~~43163~~).'."\n",
- 'type' => 'string',
- 'example' => 'CLUSTERING',
- ],
- 'SubString' => [
- 'description' => 'The expression based on which consumers in the consumer group subscribe to the topic.'."\n",
- 'type' => 'string',
- 'example' => '*',
- ],
- 'Online' => [
- 'title' => '是否在线',
- 'description' => 'Indicates whether the consumer group is online.',
- 'type' => 'string',
- 'example' => 'true',
- ],
+ 'SubString' => ['description' => 'The subscription expression.', 'type' => 'string', 'example' => '*', 'title' => ''],
+ 'Topic' => ['description' => 'The topic to which the group subscribes.', 'type' => 'string', 'example' => 'test-mq_topic', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'Topic' => [
- 'description' => 'The topic name.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
+ 'GroupId' => ['description' => 'The ID of the group that you want to query.', 'type' => 'string', 'example' => 'GID_test_group_id', 'title' => ''],
+ 'MessageModel' => ['description' => 'The consumption pattern. Valid values:'."\n"
+ ."\n"
+ .'- **CLUSTERING**: clustering consumption'."\n"
+ ."\n"
+ .'- **BROADCASTING**: broadcasting consumption'."\n"
+ ."\n"
+ .'For more information about consumption patterns, see [Clustering consumption and broadcasting consumption](~~43163~~).', 'type' => 'string', 'example' => 'CLUSTERING', 'title' => ''],
+ 'Online' => ['description' => 'Indicates whether the consumer is online.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"87B6207F-2908-42B5-A134-84956DCA****\\",\\n \\"Data\\": {\\n \\"SubscriptionDataList\\": {\\n \\"SubscriptionDataList\\": [\\n {\\n \\"GroupId\\": \\"GID_test\\",\\n \\"MessageModel\\": \\"CLUSTERING\\",\\n \\"SubString\\": \\"*\\",\\n \\"Online\\": \\"true\\"\\n }\\n ]\\n },\\n \\"Topic\\": \\"test\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsTopicSubDetailResponse>\\n<Data>\\n <Topic>test</Topic>\\n <SubscriptionDataList>\\n <SubscriptionDataList>\\n <SubString>*</SubString>\\n <MessageModel>CLUSTERING</MessageModel>\\n <GroupId>GID_test</GroupId>\\n </SubscriptionDataList>\\n </SubscriptionDataList>\\n</Data>\\n<RequestId>87B6207F-2908-42B5-A134-84956DCA****</RequestId>\\n</OnsTopicSubDetailResponse>","errorExample":""}]',
- 'title' => 'OnsTopicSubDetail',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'title' => 'OnsGroupSubDetail',
+ 'summary' => 'Queries the topics to which a group subscribes. The query fails if the consumer instances for the specified group ID are offline.',
+ 'description' => '><notice>'."\n"
."\n"
- .'You can call this operation to query the online consumer groups that subscribe to a specified topic. If all consumers in a group are offline, the information about the group is not returned.'."\n",
+ .'The OpenAPI provided by Alibaba Cloud is a management API used to manage and query resources of Alibaba Cloud services. We recommend that you integrate OpenAPI only in management data links. Do not use OpenAPI in core data links for sending and receiving messages. This may pose risks to the data links.'."\n"
+ ."\n"
+ .'></notice>',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## View consumer groups that subscribe to a topic in the console'."\n"
+ 'extraInfo' => '## Query the topics to which a consumer group subscribe in the console'."\n"
."\n"
- .'You can also view the information about the online consumer groups that subscribe to a topic in the **Message Queue for Apache RocketMQ console**. For more information, see [View subscriptions](~~90592~~).'."\n",
- ],
- 'OnsTopicDelete' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can also query the topics to which a consumer group subscribe in the ApsaraMQ for RocketMQ console.**** For more information, see [Query subscriptions](~~90592~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsGroupSubDetail'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryGroupSubDetail',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3364E875-013B-442A-BC3C-C1A84DC6****\\",\\n \\"Data\\": {\\n \\"SubscriptionDataList\\": {\\n \\"SubscriptionDataList\\": [\\n {\\n \\"SubString\\": \\"*\\",\\n \\"Topic\\": \\"test-mq_topic\\"\\n }\\n ]\\n },\\n \\"GroupId\\": \\"GID_test_group_id\\",\\n \\"MessageModel\\": \\"CLUSTERING\\",\\n \\"Online\\": true\\n }\\n}","type":"json"}]',
+ ],
+ 'OnsInstanceBaseInfo' => [
+ 'summary' => 'Queries the basic information about an instance and its endpoints for sending and receiving messages.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREonsHF2FLP'],
+ ],
'parameters' => [
[
- 'name' => 'Topic',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the topic that you want to delete.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
- ],
- [
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance to which the topic you want to delete belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_188077086902****_BXSuW61e',
- ],
+ 'schema' => ['description' => 'The ID of the instance to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MQ_INST_138015630679****_BAAy1Hac', 'title' => ''],
],
],
'responses' => [
@@ -2475,36 +2015,130 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '4189D4A6-231A-4028-8D89-F66A76C1****',
+ 'InstanceBaseInfo' => [
+ 'description' => 'The instance information object.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Endpoints' => [
+ 'description' => 'The endpoints for different protocols.',
+ 'type' => 'object',
+ 'properties' => [
+ 'TcpEndpoint' => ['description' => 'The internal endpoint for the TCP protocol.', 'type' => 'string', 'example' => 'http://MQ_INST_138015630679****_BAAy1Hac.cn-chengdu.mq-internal.aliyuncs.com:8080', 'title' => ''],
+ 'TcpInternetEndpoint' => ['description' => 'The public endpoint for the TCP protocol.'."\n"
+ ."\n"
+ .'- Only instances in the China (Chengdu), China (Qingdao), and China (Shenzhen) regions support public endpoints for the TCP protocol.'."\n"
+ ."\n"
+ .'- To use the public endpoint for the TCP protocol, upgrade the client software development kit (SDK) to one of the following versions:'."\n"
+ ."\n"
+ .' - Java SDK for TCP: 2.0.0.Final or later. For more information, see [the Java SDK Version Guide](~~325569~~).'."\n"
+ ."\n"
+ .' - C++ SDK for TCP: 3.0.0 or later. For more information, see [the C++ SDK Version Guide](~~325570~~).'."\n"
+ ."\n"
+ .'- Data transfer costs are incurred when you use the public endpoint for the TCP protocol. For more information, see [Data transfer cost](~~325571~~).', 'type' => 'string', 'example' => 'http://MQ_INST_138015630679****_BAAy1Hac.mq.cn-chengdu.aliyuncs.com:80', 'title' => ''],
+ 'HttpInternetEndpoint' => ['description' => 'The public endpoint for the HTTP protocol.', 'type' => 'string', 'example' => 'http://138015630679****.mqrest.cn-chengdu.aliyuncs.com', 'title' => ''],
+ 'HttpInternalEndpoint' => ['description' => 'The internal endpoint for the HTTP protocol.', 'type' => 'string', 'example' => 'http://138015630679****.mqrest.cn-chengdu-internal.aliyuncs.com', 'title' => ''],
+ 'HttpInternetSecureEndpoint' => ['description' => 'The public endpoint for the HTTPS protocol.', 'type' => 'string', 'example' => 'https://138015630679****.mqrest.cn-chengdu.aliyuncs.com', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'IndependentNaming' => ['description' => 'Indicates whether the instance has a namespace. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The instance has an independent namespace. The resource names must be unique within the instance. The resource names can be the same across instances.'."\n"
+ ."\n"
+ .'- **false**: The instance does not have an independent namespace. The resource names must be globally unique.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'MaxTps' => ['description' => 'The maximum Transactions Per Second (TPS) for sending and receiving messages. Valid values:'."\n"
+ .'5000, 10000, 20000, 50000, 100000, 200000, 300000, 500000, 800000, and 1000000.'."\n"
+ ."\n"
+ .'For more information, see the instance purchase page.'."\n"
+ ."\n"
+ .'> This parameter is applicable only to ApsaraMQ for RocketMQ Platinum Edition instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '10000', 'title' => ''],
+ 'Remark' => ['description' => 'The remarks on the instance.', 'type' => 'string', 'example' => 'ons-cn-m7r1r5f****', 'title' => ''],
+ 'InstanceName' => ['description' => 'The name of the instance.'."\n"
+ ."\n"
+ .'The name must be 3 to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'ReleaseTime' => ['description' => 'The time when the Platinum edition instance expires.', 'type' => 'integer', 'format' => 'int64', 'example' => '1603555200000', 'title' => ''],
+ 'TopicCapacity' => ['description' => 'The maximum number of topics that can be created on the instance. Valid values:'."\n"
+ .'25, 50, 100, 300, and 500.'."\n"
+ ."\n"
+ .'> This parameter is applicable only to ApsaraMQ for RocketMQ Platinum Edition instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''],
+ 'InstanceStatus' => ['description' => 'The status of the instance. Valid values:'."\n"
+ ."\n"
+ .'- **0**: The Platinum Edition instance is being deployed.'."\n"
+ ."\n"
+ .'- **2**: The payment for the Standard Edition instance is overdue.'."\n"
+ ."\n"
+ .'- **5**: The Standard Edition or Platinum Edition instance is in service.'."\n"
+ ."\n"
+ .'- **7**: The Platinum Edition instance is being upgraded and is available.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'MQ_INST_138015630679****_BAAy1Hac', 'title' => ''],
+ 'InstanceType' => ['description' => 'The type of the instance. Valid values:'."\n"
+ ."\n"
+ .'- **1**: Standard Edition (pay-as-you-go) instance'."\n"
+ ."\n"
+ .'- **2**: Platinum Edition (subscription) instance'."\n"
+ ."\n"
+ .'For more information about the types and specifications of ApsaraMQ for RocketMQ instances, see [Instance types](~~185261~~).', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time when the instance was created.'."\n"
+ .'The value of this parameter is a UNIX timestamp in milliseconds.', 'type' => 'string', 'example' => '1570701259403', 'title' => ''],
+ 'spInstanceId' => ['description' => 'The commodity ID of the instance.', 'type' => 'string', 'example' => 'ons-cn-m7r1r5f****', 'title' => ''],
+ 'spInstanceType' => [
+ 'description' => 'The sales type of the instance.',
+ 'enumValueTitles' => [1 => 'Standard Edition (pay-as-you-go) instance', 'Platinum Edition (subscription) instance'],
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ 'title' => '',
+ ],
+ 'SupportClassic' => ['type' => 'integer', 'format' => 'int32', 'example' => '2', 'description' => '', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The common parameter. Each request has a unique ID that you can use to troubleshoot issues.', 'type' => 'string', 'example' => '6CC46974-65E8-4C20-AB07-D20D102E****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4189D4A6-231A-4028-8D89-F66A76C1****\\"\\n}","errorExample":""},{"type":"xml","example":"<OnsTopicDeleteResponse>\\r\\n<RequestId>4189D4A6-231A-4028-8D89-F66A76C1****</RequestId>\\r\\n</OnsTopicDeleteResponse>","errorExample":""}]',
- 'title' => 'OnsTopicDelete',
- 'summary' => 'Deletes a topic.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur. - After you delete the topic, the publishing and subscription relationships that are constructed based on the topic are cleared. Exercise caution when you call this operation.'."\n"
+ 'title' => 'OnsInstanceBaseInfo',
+ 'description' => '><notice>'."\n"
."\n"
- .'You can call this operation to delete a topic when you need to reclaim the resources from the topic. For example, after an application is brought offline, you can delete the topics that are used for the application. After you delete a topic, the backend of ApsaraMQ for RocketMQ reclaims the resources from the topic. The system requires a long period of time to reclaim the resources. After you delete a topic, we recommend that you do not create a topic that uses the same name as the deleted topic within a short period of time. If the system fails to delete the specified topic, troubleshoot the issue based on the error code.',
- 'requestParamsDescription' => ' ',
- 'extraInfo' => '## Delete a topic in the console'."\n"
+ .'The OpenAPI provided by Alibaba Cloud is a management API that is used to manage and query Alibaba Cloud service resources. Integrate OpenAPI for management purposes only. Do not use OpenAPI for core data links that send and receive messages. This can create security threats to your data links.'."\n"
."\n"
- .'You can also delete a topic in the **ApsaraMQ for RocketMQ console**. For more information, see [Manage topics](~~199535~~).',
- ],
- 'OnsGroupCreate' => [
- 'summary' => 'Creates a consumer group.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'></notice>'."\n"
+ ."\n"
+ .'Clients connect to ApsaraMQ for RocketMQ through endpoints to send and receive messages. You can call this operation to query the endpoints of an instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsInstanceBaseInfo'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryInstanceBaseInfo',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"InstanceBaseInfo\\": {\\n \\"Endpoints\\": {\\n \\"TcpEndpoint\\": \\"http://MQ_INST_138015630679****_BAAy1Hac.cn-chengdu.mq-internal.aliyuncs.com:8080\\",\\n \\"TcpInternetEndpoint\\": \\"http://MQ_INST_138015630679****_BAAy1Hac.mq.cn-chengdu.aliyuncs.com:80\\",\\n \\"HttpInternetEndpoint\\": \\"http://138015630679****.mqrest.cn-chengdu.aliyuncs.com\\",\\n \\"HttpInternalEndpoint\\": \\"http://138015630679****.mqrest.cn-chengdu-internal.aliyuncs.com\\",\\n \\"HttpInternetSecureEndpoint\\": \\"https://138015630679****.mqrest.cn-chengdu.aliyuncs.com\\"\\n },\\n \\"IndependentNaming\\": true,\\n \\"MaxTps\\": 10000,\\n \\"Remark\\": \\"ons-cn-m7r1r5f****\\",\\n \\"InstanceName\\": \\"test\\",\\n \\"ReleaseTime\\": 1603555200000,\\n \\"TopicCapacity\\": 50,\\n \\"InstanceStatus\\": 5,\\n \\"InstanceId\\": \\"MQ_INST_138015630679****_BAAy1Hac\\",\\n \\"InstanceType\\": 2,\\n \\"CreateTime\\": \\"1570701259403\\",\\n \\"spInstanceId\\": \\"ons-cn-m7r1r5f****\\",\\n \\"spInstanceType\\": 1,\\n \\"SupportClassic\\": 2\\n },\\n \\"RequestId\\": \\"6CC46974-65E8-4C20-AB07-D20D102E****\\"\\n}","type":"json"}]',
+ ],
+ 'OnsInstanceCreate' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2514,112 +2148,86 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
+ 'abilityTreeCode' => '14930',
+ 'abilityTreeNodes' => ['FEATUREonsWNMPZ3'],
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'GroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the consumer group that you want to create. The group ID must meet the following rules:'."\n"
- ."\n"
- .'* The group ID must be 2 to 64 characters in length and can contain only letters, digits, hyphens (-), and underscores (\\_).'."\n"
- .'* If the ApsaraMQ for RocketMQ instance in which you want to create the consumer group uses a namespace, the group ID must be unique in the instance. The group ID cannot be the same as an existing group ID or a topic name in the instance. The group ID can be the same as a group ID or a topic name in another instance that uses a different namespace. For example, if Instance A and Instance B use different namespaces, a group ID in Instance A can be the same as a group ID or a topic name in Instance B.'."\n"
- .'* If the instance does not use a namespace, the group ID must be globally unique across instances and regions. The group ID cannot be the same as an existing group ID or topic name in ApsaraMQ for RocketMQ instances that belong to your Alibaba Cloud account.'."\n"
- ."\n"
- .'> '."\n"
- ."\n"
- .'* After the consumer group is created, the group ID cannot be changed.'."\n"
- ."\n"
- .'* To check whether an instance uses a namespace, log on to the ApsaraMQ for RocketMQ console, go to the **Instance Details** page, and then view the value of the Namespace field in the **Basic Information** section.',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test_groupId',
- ],
- ],
- [
'name' => 'Remark',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the consumer group.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The description of the instance.', 'type' => 'string', 'required' => false, 'example' => '备注说明', 'title' => ''],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'InstanceName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance in which you want to create the consumer group.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
- ],
- [
- 'name' => 'GroupType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The protocol over which clients in the consumer group communicate with the ApsaraMQ for RocketMQ broker. All clients in a consumer group communicate with the ApsaraMQ for RocketMQ broker over the same protocol. You must create different groups for TCP clients and HTTP clients. Valid values:'."\n"
- ."\n"
- .'* **tcp**: Clients in the consumer group consume messages over TCP. This is the default value.'."\n"
- .'* **http**: Clients in the consumer group consume messages over HTTP.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tcp',
- 'default' => 'tcp',
- ],
+ 'schema' => ['description' => 'The name of the instance. The name must meet the following requirements:'."\n"
+ ."\n"
+ .'- The instance name must be unique in the region where the instance is deployed.'."\n"
+ ."\n"
+ .'- The name must be 3 to 64 characters in length and can contain Chinese characters, letters, digits, hyphens (-), and underscores (\\_).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '测试实例', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The data returned.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****',
+ 'RequestId' => ['description' => 'The ID of the request. This ID is unique to each request. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****', 'title' => ''],
+ 'Data' => [
+ 'description' => 'The data returned.',
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceId' => ['description' => 'The ID of the created instance.', 'type' => 'string', 'example' => 'MQ_INST_188077086902****_BXSuW61e', 'title' => ''],
+ 'InstanceType' => ['description' => 'The type of the created instance. Valid value:'."\n"
+ ."\n"
+ .'- **1**: standard instance', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => '%s',
- 'errorMessage' => '%s, please check and retry later',
- ],
- [
- 'errorCode' => 'Group.NumLimited',
- 'errorMessage' => 'group count exceed limit.',
- ],
- ],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\"\\n}","errorExample":""},{"type":"xml","example":"<OnsGroupCreateResponse>\\r\\n<RequestId>A07E3902-B92E-44A6-B6C5-6AA111111****</RequestId>\\r\\n</OnsGroupCreateResponse>","errorExample":""}]',
- 'title' => 'OnsGroupCreate',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'title' => 'OnsInstanceCreate',
+ 'summary' => 'Call the OnsInstanceCreate operation to create an instance.',
+ 'description' => '><notice>Alibaba Cloud OpenAPI is a management API. You can use it to manage and query Alibaba Cloud service resources. Integrate OpenAPI for management purposes only. Do not use OpenAPI for core data links that send and receive messages because this can introduce security threats to your data links.></notice> An instance is a virtual machine resource for ApsaraMQ for RocketMQ that stores topic and group information. This operation is typically used to create a service resource when you publish a new service.'."\n"
."\n"
- .'When you release a new application or implement new business logic, you need new consumer groups. You can call this operation to create a consumer group.'."\n",
+ .'This operation supports only the creation of standard instances. It does not support Platinum instances. The ApsaraMQ for RocketMQ console supports the creation of both standard and Platinum instances. For more information, see [Instance management](~~200153~~).',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## Create a consumer group in the console'."\n"
+ 'extraInfo' => '## Create an instance in the console'."\n"
."\n"
- .'You can also create a consumer group in the ApsaraMQ for RocketMQ console.**** For more information, see [Manage groups](~~200386~~).',
- ],
- 'OnsGroupConsumerUpdate' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can also create an instance in the **ApsaraMQ for RocketMQ console**. For information about how to create an instance in the ApsaraMQ for RocketMQ console, see [Manage instances](~~200153~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsInstanceCreate'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'mq:CreateInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\",\\n \\"Data\\": {\\n \\"InstanceId\\": \\"MQ_INST_188077086902****_BXSuW61e\\",\\n \\"InstanceType\\": 1\\n }\\n}","type":"json"}]',
+ ],
+ 'OnsInstanceDelete' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2630,42 +2238,9 @@
'systemTags' => [],
'parameters' => [
[
- 'name' => 'GroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the consumer group for which you want to configure read permissions.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test_groupId',
- ],
- ],
- [
- 'name' => 'ReadEnable',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to authorize the consumer group to read messages. Valid values:'."\n"
- ."\n"
- .'* **true**: The consumer group can read messages.'."\n"
- .'* **false**: The consumer group cannot read messages.'."\n"
- ."\n"
- .'Default value: **true**.'."\n",
- 'type' => 'boolean',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'true',
- ],
- ],
- [
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance to which the consumer group you want to configure belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
+ 'schema' => ['description' => 'The ID of the instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MQ_INST_188077086902****_BXSuW61e', 'title' => ''],
],
],
'responses' => [
@@ -2673,34 +2248,58 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****',
- ],
+ 'RequestId' => ['description' => 'The request ID. This ID is unique to each request. Use it to troubleshoot and locate issues.', 'type' => 'string', 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\"\\n}","errorExample":""},{"type":"xml","example":"<OnsGroupConsumerUpdateResponse>\\r\\n<RequestId>A07E3902-B92E-44A6-B6C5-6AA111111****</RequestId>\\r\\n</OnsGroupConsumerUpdateResponse>","errorExample":""}]',
- 'title' => 'OnsGroupConsumerUpdate',
- 'summary' => 'Configures read permissions on messages for a consumer group that is identified by a group ID.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'title' => 'OnsInstanceDelete',
+ 'summary' => 'Call the OnsInstanceDelete operation to delete an ApsaraMQ for RocketMQ instance.',
+ 'description' => '><notice>'."\n"
+ ."\n"
+ .'The OpenAPI provided by Alibaba Cloud is a management API. Use this API only to manage and query resources of Alibaba Cloud services. Do not use OpenAPI for core data links that send and receive messages because this can pose a threat to your data links.'."\n"
."\n"
- .'You can call this operation to configure the permissions for a consumer group to read messages based on a specified region of ApsaraMQ for RocketMQ and a specified group ID. You can call this operation in scenarios in which you want to forbid consumers in a specific group from reading messages.',
+ .'></notice>'."\n"
+ ."\n"
+ .'- This operation is typically used to revoke resources when you unpublish an application. You can delete an instance only if it does not contain any topics or groups.'."\n"
+ ."\n"
+ .'- After an instance is deleted, it cannot be recovered. Call this operation with caution.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'OnsGroupList' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'extraInfo' => '## Delete an instance in the console'."\n"
+ ."\n"
+ .'You can also delete an instance in the ApsaraMQ for RocketMQ console.**** For information about how to delete an instance in the ApsaraMQ for RocketMQ console, see [Manage instances](~~200153~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsInstanceDelete'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'mq:DeleteInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\"\\n}","type":"json"}]',
+ ],
+ 'OnsInstanceInServiceList' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2710,318 +2309,173 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
+ 'abilityTreeCode' => '14932',
+ 'abilityTreeNodes' => ['FEATUREonsICR0M4'],
],
'parameters' => [
[
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance to which the consumer group you want to query belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
- ],
- [
- 'name' => 'GroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'This parameter is required only when you query specific consumer groups by using the fuzzy search method. If this parameter is not configured, the system queries all consumer groups that can be accessed by the current account.'."\n"
- ."\n"
- .'If you set this parameter to GID_ABC, the information about the consumer groups whose IDs contain GID_ABC is returned. For example, the information about the GID_test_GID_ABC\\_123 and GID_ABC\\_356 consumer groups is returned.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'GID_test_group_id',
- ],
- ],
- [
- 'name' => 'GroupType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The protocol over which the queried consumer group publishes and subscribes to messages. All clients in a consumer group communicate with the ApsaraMQ for RocketMQ broker over the same protocol. You must create different consumer groups for TCP clients and HTTP clients. Valid values:'."\n"
- ."\n"
- .'* **tcp**: specifies that the consumer group publishes or subscribes to messages over TCP. This value is the default value.'."\n"
- .'* **http**: specifies that the consumer group publishes or subscribes to messages over HTTP.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tcp',
- 'default' => 'tcp',
- ],
- ],
- [
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The list of tags that are attached to the consumer group. A maximum of 20 tags can be included in the list.'."\n",
+ 'description' => 'A list of tags attached to the instance. The list can contain up to 20 elements.',
'type' => 'array',
'items' => [
+ 'description' => 'A tag attached to the instance.',
'type' => 'object',
'properties' => [
- 'Key' => [
- 'description' => 'The key of the tag that is attached to the consumer group. This parameter is not required. If you configure this parameter, you must configure the **Key** parameter.**** If you configure both the Key and Value parameters, the consumer groups are filtered based on the specified tag. If you do not configure these parameters, all consumer groups are queried.'."\n"
- ."\n"
- .'* The value of this parameter cannot be an empty string.'."\n"
- .'* The tag value must be 1 to 128 characters in length and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'CartService',
- ],
- 'Value' => [
- 'description' => 'The value of the tag that is attached to the group. This parameter is not required. If you configure this parameter, you must configure the **Key** parameter.**** If you configure both the Key and Value parameters, the consumer groups are filtered based on the specified tag. If you do not configure these parameters, all consumer groups are queried.'."\n"
- ."\n"
- .'* The value of this parameter can be an empty string.'."\n"
- .'* The tag key must be 1 to 128 characters in length and cannot contain `http://` or `https://`. It cannot start with `acs:` or `aliyun`.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ServiceA',
- ],
+ 'Key' => ['description' => 'The tag key. Specify both **Key** and **Value** to filter instances by tag. Omit both to query all instances.'."\n"
+ ."\n"
+ .'- This parameter cannot be an empty string.'."\n"
+ ."\n"
+ .'- The tag key can be up to 128 characters long. It cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'CartService', 'title' => ''],
+ 'Value' => ['description' => 'The tag value. Specify both **Key** and **Value** to filter instances by tag. Omit both to query all instances.'."\n"
+ ."\n"
+ .'- This parameter can be an empty string.'."\n"
+ ."\n"
+ .'- The tag value can be up to 128 characters long. It cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'SericeA', 'title' => ''],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
],
],
+ [
+ 'name' => 'NeedResourceInfo',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to return resource statistics. The statistics include the number of topics and groups in the instance.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
+ ],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '16996623-AC4A-43AF-9248-FD9D2D75****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request. This is a common parameter. Each request has a unique ID. Use this ID to troubleshoot and locate issues.', 'type' => 'string', 'example' => '0598E46F-DB06-40E2-AD7B-C45923EE****', 'title' => ''],
'Data' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'SubscribeInfoDo' => [
- 'description' => 'The returned list of subscriptions.'."\n",
+ 'InstanceVO' => [
+ 'description' => 'A list of all published instances.',
'type' => 'array',
'items' => [
+ 'description' => 'A list of all published instances.',
'type' => 'object',
'properties' => [
- 'Owner' => [
- 'description' => 'The Alibaba Cloud account ID of the user who created the consumer group.'."\n",
- 'type' => 'string',
- 'example' => '138015630679****',
- ],
- 'UpdateTime' => [
- 'description' => 'The most recent point in time when the consumer group was updated.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570700979000',
- ],
- 'IndependentNaming' => [
- 'description' => 'Indicates whether the instance uses a namespace. Valid values:'."\n"
- ."\n"
- .'* **true**: The instance uses a separate namespace. The name of each resource must be unique in the instance. The names of resources in different instances can be the same.'."\n"
- .'* **false**: The instance does not use a separate namespace. The name of each resource must be globally unique within the instance and across all instances.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'GroupId' => [
- 'description' => 'The ID of the consumer group.'."\n",
- 'type' => 'string',
- 'example' => 'GID_test_group_id',
- ],
- 'Remark' => [
- 'description' => 'The description of the consumer group.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'CreateTime' => [
- 'description' => 'The point in time when the consumer group was created.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1568896605000',
- ],
+ 'IndependentNaming' => ['description' => 'Indicates whether the instance has a namespace. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The instance has an independent namespace. Resource names must be unique within the instance, but can be the same as resource names in other instances.'."\n"
+ ."\n"
+ .'- **false**: The instance does not have an independent namespace. Resource names must be globally unique within the instance and across all instances.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'InstanceName' => ['description' => 'The name of the instance.', 'type' => 'string', 'example' => 'test1', 'title' => ''],
+ 'ReleaseTime' => ['description' => 'The expiration time of the Platinum instance.', 'type' => 'integer', 'format' => 'int64', 'example' => '1551024000000', 'title' => ''],
+ 'InstanceStatus' => ['description' => 'The status of the instance. Valid values:'."\n"
+ ."\n"
+ .'- **0**: The Platinum instance is being deployed.'."\n"
+ ."\n"
+ .'- **2**: The payment for the standard instance is overdue.'."\n"
+ ."\n"
+ .'- **5**: The standard or Platinum instance is in service.'."\n"
+ ."\n"
+ .'- **7**: The Platinum instance is being upgraded and is available.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''],
'Tags' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Tag' => [
- 'description' => 'The tags that are attached to the consumer group.'."\n",
+ 'description' => 'The tags attached to the instance.',
'type' => 'array',
'items' => [
+ 'description' => 'The tags attached to the instance.',
'type' => 'object',
'properties' => [
- 'Key' => [
- 'description' => 'The key of the tag that is attached to the consumer group.'."\n",
- 'type' => 'string',
- 'example' => 'CartService',
- ],
- 'Value' => [
- 'description' => 'The value of the tag that is attached to the consumer group.'."\n",
- 'type' => 'string',
- 'example' => 'ServiceA',
- ],
+ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'CartService', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'ServiceA', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'InstanceId' => [
- 'description' => 'The ID of the instance'."\n",
- 'type' => 'string',
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
- 'GroupType' => [
- 'description' => 'The protocol over which the queried consumer group publishes and subscribes to messages. All clients in a consumer group communicate with the ApsaraMQ for RocketMQ broker over the same protocol. You must create different consumer groups for TCP clients and HTTP clients. Valid values:'."\n"
- ."\n"
- .'* **tcp**: indicates that the consumer group publishes and subscribes to messages over TCP.'."\n"
- .'* **http**: indicates that the consumer group publishes and subscribes to messages over HTTP.',
- 'type' => 'string',
- 'example' => 'tcp',
- ],
+ 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'MQ_INST_188077086902****_BXSuW61e', 'title' => ''],
+ 'InstanceType' => ['description' => 'The type of the instance. Valid values:'."\n"
+ ."\n"
+ .'- **1**: Standard instance'."\n"
+ ."\n"
+ .'- **2**: Platinum instance'."\n"
+ ."\n"
+ .'For information about the specifications and differences between instance types, see [Instance types](~~185261~~).', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time when the instance was created.'."\n"
+ .'This value is a UNIX timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1640847284000', 'title' => ''],
+ 'TopicCount' => ['description' => 'The number of topics.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'GroupCount' => ['description' => 'The number of consumer groups.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"16996623-AC4A-43AF-9248-FD9D2D75****\\",\\n \\"Data\\": {\\n \\"SubscribeInfoDo\\": [\\n {\\n \\"Owner\\": \\"138015630679****\\",\\n \\"UpdateTime\\": 1570700979000,\\n \\"IndependentNaming\\": true,\\n \\"GroupId\\": \\"GID_test_group_id\\",\\n \\"Remark\\": \\"test\\",\\n \\"CreateTime\\": 1568896605000,\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"CartService\\",\\n \\"Value\\": \\"ServiceA\\"\\n }\\n ]\\n },\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\",\\n \\"GroupType\\": \\"tcp\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsGroupListResponse>\\n<RequestId>16996623-AC4A-43AF-9248-FD9D2D75****</RequestId>\\n<Data>\\n <SubscribeInfoDo>\\n <Owner>138015630679****</Owner>\\n <GroupType>tcp</GroupType>\\n <InstanceId>MQ_INST_111111111111_DOxxxxxx</InstanceId>\\n <CreateTime>1568896605000</CreateTime>\\n <UpdateTime>1570700979000</UpdateTime>\\n <IndependentNaming>true</IndependentNaming>\\n <GroupId>GID_test_group_id</GroupId>\\n <Remark>test</Remark>\\n <Tags>\\n <Tag>\\n <Value>ServiceA</Value>\\n <Key>CartService</Key>\\n </Tag>\\n </Tags>\\n </SubscribeInfoDo>\\n</Data>\\n</OnsGroupListResponse>","errorExample":""}]',
- 'title' => 'OnsGroupList',
- 'summary' => 'Queries one or more group IDs.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n",
+ 'title' => 'OnsInstanceInServiceList',
+ 'summary' => 'Queries all ApsaraMQ for RocketMQ 4.x instances in a specified region.',
+ 'description' => '><notice>'."\n"
+ ."\n"
+ .'The OpenAPI provided by Alibaba Cloud is a management Application Programming Interface (API). Use this API to manage and query resources for Alibaba Cloud services. Integrate the API for management purposes only. Do not rely on the API for core data links that send and receive messages. This can introduce threats to your data links.'."\n"
+ ."\n"
+ .'></notice>',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'OnsGroupSubDetail' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
- ],
- ],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
- 'parameters' => [
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance to which the consumer group you want to query belongs.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
- ],
- [
- 'name' => 'GroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the consumer group that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test_group_id',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '3364E875-013B-442A-BC3C-C1A84DC6****',
- ],
- 'Data' => [
- 'description' => 'The data returned.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'SubscriptionDataList' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'SubscriptionDataList' => [
- 'description' => 'The topics to which consumers in the consumer group subscribe. If all consumers in the specified group are offline, no topics are returned.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'SubString' => [
- 'description' => 'The expression based on which consumers in the consumer group subscribe to the topic.'."\n",
- 'type' => 'string',
- 'example' => '*',
- ],
- 'Topic' => [
- 'description' => 'The name of the topic to which consumers in the consumer group subscribe.'."\n",
- 'type' => 'string',
- 'example' => 'test-mq_topic',
- ],
- ],
- ],
- ],
- ],
- ],
- 'GroupId' => [
- 'description' => 'The ID of the consumer group that you want to query.'."\n",
- 'type' => 'string',
- 'example' => 'GID_test_group_id',
- ],
- 'MessageModel' => [
- 'description' => 'The consumption mode. Valid values:'."\n"
- ."\n"
- .'* **CLUSTERING**: the clustering consumption mode'."\n"
- .'* **BROADCASTING**: the broadcasting consumption mode'."\n"
- ."\n"
- .'For more information about consumption modes, see [Clustering consumption and broadcasting consumption](~~43163~~).'."\n",
- 'type' => 'string',
- 'example' => 'CLUSTERING',
- ],
- 'Online' => [
- 'description' => 'Indicates whether consumers in the group are online.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- ],
- ],
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsInstanceInServiceList'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'mq:QueryInstanceBaseInfo',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
],
],
+ 'additionalActions' => [],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3364E875-013B-442A-BC3C-C1A84DC6****\\",\\n \\"Data\\": {\\n \\"SubscriptionDataList\\": {\\n \\"SubscriptionDataList\\": [\\n {\\n \\"SubString\\": \\"*\\",\\n \\"Topic\\": \\"test-mq_topic\\"\\n }\\n ]\\n },\\n \\"GroupId\\": \\"GID_test_group_id\\",\\n \\"MessageModel\\": \\"CLUSTERING\\",\\n \\"Online\\": true\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsGroupSubDetailResponse>\\n<Data>\\n <MessageModel>CLUSTERING</MessageModel>\\n <Online>true</Online>\\n <SubscriptionDataList>\\n <SubscriptionDataList>\\n <SubString>*</SubString>\\n <Topic>test-mq_topic</Topic>\\n </SubscriptionDataList>\\n </SubscriptionDataList>\\n <GroupId>GID_test_group_id</GroupId>\\n</Data>\\n<RequestId>3364E875-013B-442A-BC3C-C1A84DC6****</RequestId>\\n</OnsGroupSubDetailResponse>","errorExample":""}]',
- 'title' => 'OnsGroupSubDetail',
- 'summary' => 'Queries all topics to which a specified consumer group subscribes. If no consumer instance in the consumer group is online, no data is returned.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => '## Query the topics to which a consumer group subscribe in the console'."\n"
- ."\n"
- .'You can also query the topics to which a consumer group subscribe in the ApsaraMQ for RocketMQ console.**** For more information, see [Query subscriptions](~~90592~~).',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0598E46F-DB06-40E2-AD7B-C45923EE****\\",\\n \\"Data\\": {\\n \\"InstanceVO\\": [\\n {\\n \\"IndependentNaming\\": true,\\n \\"InstanceName\\": \\"test1\\",\\n \\"ReleaseTime\\": 1551024000000,\\n \\"InstanceStatus\\": 5,\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"CartService\\",\\n \\"Value\\": \\"ServiceA\\"\\n }\\n ]\\n },\\n \\"InstanceId\\": \\"MQ_INST_188077086902****_BXSuW61e\\",\\n \\"InstanceType\\": 2,\\n \\"CreateTime\\": 1640847284000,\\n \\"TopicCount\\": 1,\\n \\"GroupCount\\": 3\\n }\\n ]\\n }\\n}","type":"json"}]',
],
- 'OnsGroupDelete' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'OnsInstanceUpdate' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -3029,31 +2483,28 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- ],
+ 'systemTags' => [],
'parameters' => [
[
- 'name' => 'GroupId',
+ 'name' => 'Remark',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the consumer group that you want to delete.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test_groupId',
- ],
+ 'schema' => ['description' => 'The updated description of the instance. If you leave this parameter empty, the description is not updated.', 'type' => 'string', 'required' => false, 'example' => '备注更新', 'title' => ''],
+ ],
+ [
+ 'name' => 'InstanceName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The updated name of the instance. The name must meet the following requirements:'."\n"
+ ."\n"
+ .'- The instance name must be unique in the region where the instance is deployed.'."\n"
+ ."\n"
+ .'- The name must be 3 to 64 characters in length and can contain Chinese characters, letters, digits, hyphens (-), and underscores (\\_).'."\n"
+ ."\n"
+ .'- If you leave this parameter empty, the name is not updated.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '名字更新', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for RocketMQ instance to which the specified consumer group belongs.',
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
+ 'schema' => ['description' => 'The ID of the instance whose name or description you want to update.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MQ_INST_188077086902****_BXSuW61e', 'title' => ''],
],
],
'responses' => [
@@ -3061,39 +2512,54 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request. This ID is unique to each request. Use this ID to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\"\\n}","errorExample":""},{"type":"xml","example":"<OnsGroupDeleteResponse>\\r\\n<RequestId>A07E3902-B92E-44A6-B6C5-6AA111111****</RequestId>\\r\\n</OnsGroupDeleteResponse>","errorExample":""}]',
- 'title' => 'OnsGroupDelete',
- 'summary' => 'Deletes a consumer group.',
- 'description' => '> '."\n"
+ 'title' => 'OnsInstanceUpdate',
+ 'summary' => 'You can call the OnsInstanceUpdate operation to update the name and description of an instance.',
+ 'description' => '><notice>'."\n"
."\n"
- .'* API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
- .'* After you delete a group, the consumers in the group immediately stop receiving messages. Exercise caution when you call this operation.'."\n"
+ .'The OpenAPI provided by Alibaba Cloud is a management API. You can use this API to manage and query resources for Alibaba Cloud services. Integrate OpenAPI for management purposes only. Do not use OpenAPI for core data links that send or receive messages. This helps prevent potential threats to your data links.'."\n"
."\n"
- .'You can call this operation to delete a group when you need to reclaim the resources of the group. For example, after an application is brought offline, you can delete the groups that are used for the application. After you delete a group, the backend of ApsaraMQ for RocketMQ reclaims the resources of the group. The system requires a long period of time to reclaim the resources. We recommend that you do not create a group that uses the same name as a deleted group immediately after you delete the group. If the system fails to delete the specified group, troubleshoot the issue based on the error code.',
+ .'></notice>',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## Delete a group in the console'."\n"
+ 'extraInfo' => '## Update the name and description of an instance in the console'."\n"
."\n"
- .'You can also delete a group in the **ApsaraMQ for RocketMQ console**. For more information, see [Manage groups](~~200386~~).',
- ],
- 'ListTagResources' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can also update the name and description of an instance in the **ApsaraMQ for RocketMQ console**. For more information, see [Manage instances](~~200153~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsInstanceUpdate'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'mq:UpdateInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\"\\n}","type":"json"}]',
+ ],
+ 'OnsMessageDetail' => [
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -3101,402 +2567,307 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'schema' => [
- 'description' => 'The ID of the ApsaraMQ for RocketMQ instance to which the resource whose tags you want to query belongs.'."\n"
- ."\n"
- .'> This parameter is required when you query the tags of a topic or a group.',
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'MQ_INST_188077086902****_BXSuW61e',
- ],
- ],
- [
- 'name' => 'ResourceType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the resource whose tags you want to query. Valid values:'."\n"
- ."\n"
- .'* **INSTANCE**'."\n"
- .'* **TOPIC**'."\n"
- .'* **GROUP**'."\n",
+ 'description' => 'The ID of the ApsaraMQ for RocketMQ instance.',
+ 'enumValueTitles' => [],
'type' => 'string',
'required' => true,
- 'docRequired' => true,
- 'example' => 'TOPIC',
- ],
- ],
- [
- 'name' => 'NextToken',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The token that determines the start point of the next query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'caeba0****be03f84eb48b699f0a4883',
+ 'example' => 'MQ_INST_184681981******_BXig0x6A',
+ 'title' => '',
],
],
[
- 'name' => 'Tag',
+ 'name' => 'Topic',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The tags that you want to query. A maximum of 20 tags can be included in the list.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The key of the tag that you want to detach from the resource.'."\n"
- ."\n"
- .'* If you include this parameter in a request, the value of this parameter cannot be an empty string.'."\n"
- .'* The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'CartService',
- ],
- 'Value' => [
- 'description' => 'The value of the tag that you want to query.'."\n"
- ."\n"
- .'* The value of this parameter can be an empty string.'."\n"
- .'* The tag key must be 1 to 128 characters in length and cannot contain `http://` or `https://`. It cannot start with `acs:` or `aliyun`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ServiceA',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 21,
- ],
+ 'schema' => ['description' => 'The topic of the message to query.', 'type' => 'string', 'required' => true, 'example' => 'test-mq_topic', 'title' => ''],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'MsgId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The list of resource IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the resource whose tags you want to query.'."\n"
- ."\n"
- .'* If the resource is a ApsaraMQ for RocketMQ instance, set the value of this parameter to the ID of the instance.'."\n"
- .'* If the resource is a topic, set the value of this parameter to the name of the topic.'."\n"
- .'* If the resource is a group, set the value of this parameter to the ID of the group.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
- 'required' => false,
- 'example' => 'TopicA',
- 'maxItems' => 51,
- ],
+ 'schema' => ['description' => 'The ID of the message to query. This is the message ID.', 'type' => 'string', 'required' => true, 'example' => '1E0578FE110F18B4AAC235C0******', 'title' => ''],
],
],
'responses' => [
200 => [
+ 'headers' => [],
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'NextToken' => [
- 'description' => 'The token that determines the start point of the next query.'."\n",
- 'type' => 'string',
- 'example' => 'caeba0****be03f84eb48b699f0a4883',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '301D2CBE-66F8-403D-AEC0-82582478****',
- ],
- 'TagResources' => [
- 'description' => 'Details of the resource and tags, including the resource ID, the resource type, tag keys, and tag values.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'ResourceType' => [
- 'description' => 'The type of the resource whose tags you want to query.'."\n"
- ."\n"
- .'* ALIYUN::MQ::INSTANCE: indicates that the resource is a ApsaraMQ for RocketMQ instance.'."\n"
- .'* ALIYUN::MQ::TOPIC: indicates that the resource is a topic.'."\n"
- .'* ALIYUN::MQ::GROUP: indicates that the resource is a group.',
- 'type' => 'string',
- 'example' => 'ALIYUN::MQ::TOPIC',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the instance'."\n",
- 'type' => 'string',
- 'example' => 'MQ_INST_188077086902****_BXSuW61e',
- ],
- 'TagValue' => [
- 'description' => 'The tag value.'."\n",
- 'type' => 'string',
- 'example' => 'ServiceA',
- ],
- 'ResourceId' => [
- 'description' => 'Indicates the ID of the resource.'."\n",
- 'type' => 'string',
- 'example' => 'TopicA',
- ],
- 'TagKey' => [
- 'description' => 'The tag key.'."\n",
- 'type' => 'string',
- 'example' => 'CartService',
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'A common parameter. The ID of the request. Each request has a unique ID. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => 'EAE5BE23-37A1-4354-94D6-E44AE17E****'],
+ 'Data' => [
+ 'description' => 'The query result.',
+ 'type' => 'object',
+ 'properties' => [
+ 'StoreSize' => ['description' => 'The size of the message. Unit: KB.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'ReconsumeTimes' => ['description' => 'The number of times the message consumption is retried.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
+ 'StoreTimestamp' => ['description' => 'The UNIX timestamp when the message was stored on the server-side. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570761026708', 'title' => ''],
+ 'Body' => ['description' => 'The message body, which is a Base64-encoded string.', 'type' => 'string', 'example' => 'aGVsbG8=', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the ApsaraMQ for RocketMQ instance.', 'type' => 'string', 'example' => 'MQ_INST_184681981******_BXig0x6A', 'title' => ''],
+ 'MsgId' => ['description' => 'The message ID.', 'type' => 'string', 'example' => '1E0578FE110F18B4AAC235C05F2*****', 'title' => ''],
+ 'StoreHost' => ['description' => 'The server instance where the message is stored.', 'type' => 'string', 'example' => '11.220.***.***:10911', 'title' => ''],
+ 'Topic' => ['description' => 'The topic to which the message belongs.', 'type' => 'string', 'example' => 'test-mq_topic', 'title' => ''],
+ 'PropertyList' => [
+ 'description' => 'The list of message attributes.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Value' => ['description' => 'The value of the message attribute.', 'type' => 'string', 'example' => 'MSG_REGION', 'title' => ''],
+ 'Name' => ['description' => 'The message attribute. Valid values:'."\n"
+ ."\n"
+ .'- **TRACE\\_ON**: Indicates whether a message trace exists.'."\n"
+ ."\n"
+ .'- **MSG\\_REGION**: The region ID of the instance that contains the message topic.'."\n"
+ ."\n"
+ .'- **\\_\\_MESSAGE\\_DECODED\\_TIME**: The time when the message was decoded.'."\n"
+ ."\n"
+ .'- **\\_\\_BORNHOST**: The IP address of the producer client.'."\n"
+ ."\n"
+ .'- **UNIQ\\_KEY**: The unique identifier of the message. This is the message ID.'."\n"
+ ."\n"
+ .'For more information, see [Terms](~~29533~~).', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'BornTimestamp' => ['description' => 'The UNIX timestamp when the message was generated. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570761026630', 'title' => ''],
+ 'BodyCRC' => ['description' => 'The cyclic redundancy check (CRC) value of the message body.', 'type' => 'integer', 'format' => 'int32', 'example' => '907060870', 'title' => ''],
+ 'BornHost' => ['description' => 'The client instance that generated the message.', 'type' => 'string', 'example' => '42.120.**.**:64646', 'title' => ''],
+ 'BodyStr' => ['description' => 'The content of the message body.', 'type' => 'string', 'example' => 'hello', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0****be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"301D2CBE-66F8-403D-AEC0-82582478****\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::MQ::TOPIC\\",\\n \\"InstanceId\\": \\"MQ_INST_188077086902****_BXSuW61e\\",\\n \\"TagValue\\": \\"ServiceA\\",\\n \\"ResourceId\\": \\"TopicA\\",\\n \\"TagKey\\": \\"CartService\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTagResourcesResponse>\\n<RequestId>301D2CBE-66F8-403D-AEC0-82582478****</RequestId>\\n<NextToken>caeba0****be03f84eb48b699f0a4883</NextToken>\\n<TagResources>\\n <ResourceId>TopicA</ResourceId>\\n <InstanceId>MQ_INST_188077086902****_BXSuW61e</InstanceId>\\n <TagKey>CartService</TagKey>\\n <ResourceType>ALIYUN::MQ::TOPIC</ResourceType>\\n <TagValue>ServiceA</TagValue>\\n</TagResources>\\n</ListTagResourcesResponse>","errorExample":""}]',
- 'title' => 'ListTagResources',
- 'summary' => 'Queries the tags that are attached to a specified resource.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
- ."\n"
- .'When you call the **ListTagResources** operation, specify at least one of the following parameters in the request: **Key** and **ResourceId**. You can specify a resource ID to query all tags that are attached to the specified resource. You can also specify a tag key to query the tag value and resource to which the tag is attached.'."\n"
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'OnsMessageDetail',
+ 'summary' => 'You can call OnsMessageDetail to query the details of a specific message.',
+ 'description' => '><notice>'."\n"
."\n"
- .'* If you include the **Key** parameter in a request, you can obtain the tag value and the ID of the resource to which the tag is attached.'."\n"
- .'* If you include the **ResourceId** parameter in a request, you can obtain the keys and values of all tags that are attached to the specified resource.',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => '## Query resource tags in the console'."\n"
+ .'Alibaba Cloud OpenAPI is a control-plane API. You can use it to manage and query Alibaba Cloud service resources. Do not use OpenAPI for core data links that send and receive messages because this can create threats to your data links.'."\n"
."\n"
- .'You can also query the tags that are attached to a resource in the ApsaraMQ for RocketMQ console.**** For more information, see [Manage tags](~~172713~~).',
- ],
- 'TagResources' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'></notice>',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsMessageDetail'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryMessageDetail',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EAE5BE23-37A1-4354-94D6-E44AE17E****\\",\\n \\"Data\\": {\\n \\"StoreSize\\": 2,\\n \\"ReconsumeTimes\\": 0,\\n \\"StoreTimestamp\\": 1570761026708,\\n \\"Body\\": \\"aGVsbG8=\\",\\n \\"InstanceId\\": \\"MQ_INST_184681981******_BXig0x6A\\",\\n \\"MsgId\\": \\"1E0578FE110F18B4AAC235C05F2*****\\",\\n \\"StoreHost\\": \\"11.220.***.***:10911\\",\\n \\"Topic\\": \\"test-mq_topic\\",\\n \\"PropertyList\\": [\\n {\\n \\"Value\\": \\"MSG_REGION\\",\\n \\"Name\\": \\"cn-hangzhou\\"\\n }\\n ],\\n \\"BornTimestamp\\": 1570761026630,\\n \\"BodyCRC\\": 907060870,\\n \\"BornHost\\": \\"42.120.**.**:64646\\",\\n \\"BodyStr\\": \\"hello\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'OnsMessageGetByKey' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'InstanceId',
+ 'name' => 'Topic',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for RocketMQ instance that contains the resource to which you want to attach tags.'."\n"
- ."\n"
- .'> This parameter is required when you attach tags to a topic or a group.',
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'MQ_INST_188077086902****_BXSuW61e',
- ],
+ 'schema' => ['description' => 'The topic of the message to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test-mq_topic', 'title' => ''],
],
[
- 'name' => 'ResourceType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the resource to which you want to attach tags. Valid values:'."\n"
- ."\n"
- .'* **INSTANCE**'."\n"
- .'* **TOPIC**'."\n"
- .'* **GROUP**'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'TOPIC',
- ],
- ],
- [
- 'name' => 'Tag',
+ 'name' => 'Key',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The tags that you want to attach to the resource.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key. If you configure this parameter, you must also configure the **Value** parameter.****'."\n"
- .'* The value of this parameter cannot be an empty string.'."\n"
- .'* A tag key must be 1 to 128 characters in length and cannot contain `http://` or `https://`. A tag key cannot start with `acs:` or `aliyun`.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'FinanceDept',
- ],
- 'Value' => [
- 'description' => 'The value of the tag that you want to attach to the resource. If you configure this parameter, you must also configure the **Key** parameter.****'."\n"
- .'* The value of this parameter can be an empty string.'."\n"
- .'* A tag value must be 1 to 128 characters in length and cannot contain `http://` or `https://`. A tag value cannot start with `acs:` or `aliyun`.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'FinanceJoshua',
- ],
- ],
- 'required' => false,
- ],
- 'required' => true,
- 'maxItems' => 21,
- ],
+ 'schema' => ['description' => 'The message key of the message to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'messageKey1', 'title' => ''],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The resource IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the resource to which you want to attach a tag.'."\n"
- ."\n"
- .'* If the resource is a ApsaraMQ for RocketMQ instance, specify the ID of the instance.'."\n"
- .'* If the resource is a topic, specify the topic name.'."\n"
- .'* If the resource is a group, specify the ID of the group.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TopicA',
- ],
- 'required' => true,
- 'example' => 'TopicA',
- 'maxItems' => 51,
- ],
+ 'schema' => ['description' => 'The ID of the instance to which the message belongs.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use the ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '301D2CBE-66F8-403D-AEC0-82582478****',
+ 'RequestId' => ['description' => 'A common parameter. The ID of the request is unique and can be used to troubleshoot and locate issues.', 'type' => 'string', 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****', 'title' => ''],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'OnsRestMessageDo' => [
+ 'description' => 'The list of query results.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'StoreSize' => ['description' => 'The size of the message.', 'type' => 'integer', 'format' => 'int32', 'example' => '406', 'title' => ''],
+ 'ReconsumeTimes' => ['description' => 'The number of times the message was reconsumed.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'StoreTimestamp' => ['description' => 'The timestamp indicating when the message was stored by the broker.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570760999811', 'title' => ''],
+ 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
+ 'MsgId' => ['description' => 'The message ID.', 'type' => 'string', 'example' => '1E0578FE110F18B4AAC235C05F2*****', 'title' => ''],
+ 'StoreHost' => ['description' => 'The server instance that stores the message.', 'type' => 'string', 'example' => '11.193.***.***:10911', 'title' => ''],
+ 'Topic' => ['description' => 'The topic of the message.', 'type' => 'string', 'example' => 'test-mq_topic', 'title' => ''],
+ 'PropertyList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'MessageProperty' => [
+ 'description' => 'The list of message attributes.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Value' => ['description' => 'The value of the message attribute.', 'type' => 'string', 'example' => 'TagA', 'title' => ''],
+ 'Name' => ['description' => 'The message attribute. Valid values:'."\n"
+ ."\n"
+ .'- **TRACE\\_ON**: indicates whether a message trace exists.'."\n"
+ ."\n"
+ .'- **KEYS**: the key of the message.'."\n"
+ ."\n"
+ .'- **TAGS**: the tag of the message.'."\n"
+ ."\n"
+ .'- **INSTANCE\\_ID**: the ID of the instance to which the message belongs.'."\n"
+ ."\n"
+ .'For more information about the concepts, see [Terms](~~29533~~).', 'type' => 'string', 'example' => 'TAGS', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'BornTimestamp' => ['description' => 'The timestamp indicating when the message was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570760999721', 'title' => ''],
+ 'BodyCRC' => ['description' => 'The CRC checksum of the message body.', 'type' => 'integer', 'format' => 'int32', 'example' => '914112295', 'title' => ''],
+ 'BornHost' => ['description' => 'The client instance that created the message.', 'type' => 'string', 'example' => '42.120.***.***:59270', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"301D2CBE-66F8-403D-AEC0-82582478****\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\r\\n<RequestId>301D2CBE-66F8-403D-AEC0-82582478****</RequestId>\\r\\n</TagResourcesResponse>","errorExample":""}]',
- 'title' => 'TagResources',
- 'summary' => 'Adds tags to a resource.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'title' => 'OnsMessageGetByKey',
+ 'summary' => 'Performs a fuzzy query for a list of messages based on a topic and a message key.',
+ 'description' => '><notice>'."\n"
."\n"
- .'You can call this operation to attach tags to a source. You can use tags to classify resources in ApsaraMQ for RocketMQ. This can help you aggregate and search resources in an efficient manner.',
- 'requestParamsDescription' => ' ',
+ .'The OpenAPI provided by Alibaba Cloud is a management API. You can use it to manage and query resources of Alibaba Cloud services. We recommend that you integrate this API only into management data links. Do not use this API for core data links that send and receive messages. This can introduce security threats to your data links.'."\n"
+ ."\n"
+ .'></notice>'."\n"
+ ."\n"
+ .'- This operation performs a fuzzy query for messages based on a message key. Because a message key is not always unique, the query may return multiple messages.'."\n"
+ ."\n"
+ .'- You can use this operation when you cannot obtain a message ID. In this scenario, follow these steps:'."\n"
+ ."\n"
+ .' 1. Call this operation to perform a fuzzy query and obtain a list of message IDs.'."\n"
+ ."\n"
+ .' 2. Call the **OnsMessageGetByMsgId** operation to perform a term query. For more information about the **OnsMessageGetByMsgId** operation, see [OnsMessageGetByMsgId](~~29607~~).',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## Attach tags to a resource in the console'."\n"
+ 'extraInfo' => '## View the information about a message in the console'."\n"
."\n"
- .'You can also attach tags to a resource in the ApsaraMQ for RocketMQ console.**** For more information, see [Manage tags](~~172713~~).',
- ],
- 'UntagResources' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can also view the information about messages in the ApsaraMQ for RocketMQ console.**** For more information, see [Query a message](~~29540~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsMessageGetByKey'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryMessage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\",\\n \\"Data\\": {\\n \\"OnsRestMessageDo\\": [\\n {\\n \\"StoreSize\\": 406,\\n \\"ReconsumeTimes\\": 1,\\n \\"StoreTimestamp\\": 1570760999811,\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\",\\n \\"MsgId\\": \\"1E0578FE110F18B4AAC235C05F2*****\\",\\n \\"StoreHost\\": \\"11.193.***.***:10911\\",\\n \\"Topic\\": \\"test-mq_topic\\",\\n \\"PropertyList\\": {\\n \\"MessageProperty\\": [\\n {\\n \\"Value\\": \\"TagA\\",\\n \\"Name\\": \\"TAGS\\"\\n }\\n ]\\n },\\n \\"BornTimestamp\\": 1570760999721,\\n \\"BodyCRC\\": 914112295,\\n \\"BornHost\\": \\"42.120.***.***:59270\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ ],
+ 'OnsMessageGetByMsgId' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'This parameter is required when you detach tags from a topic or a group.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'MQ_INST_188077086902****_BX4jvZZG',
- ],
- ],
- [
- 'name' => 'ResourceType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the resource from which you want to detach tags. Valid values:'."\n"
- ."\n"
- .'* **INSTANCE**'."\n"
- .'* **TOPIC**'."\n"
- .'* **GROUP**'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'TOPIC',
- ],
- ],
- [
- 'name' => 'All',
+ 'name' => 'MsgId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to remove all tags that are attached to the specified resource. This parameter takes effect only if the **TagKey** parameter is empty. Default value: **false**.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ 'schema' => ['description' => 'The ID of the message that you want to query.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1E0578FE110F18B4AAC235C05F2*****', 'title' => ''],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'Topic',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The resource IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the resource from which you want to detach tags.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TopicA',
- ],
- 'required' => true,
- 'example' => 'TopicA',
- 'maxItems' => 51,
- ],
+ 'schema' => ['description' => 'The topic that contains the message you want to query.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test-mq_topic', 'title' => ''],
],
[
- 'name' => 'TagKey',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The tag keys of the resource.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The tag key.'."\n"
- .'* The tag key cannot be an empty string.'."\n"
- .'* A tag key must be 1 to 128 characters in length and cannot contain `http://` or `https://`. A tag key cannot start with `acs:` or `aliyun`.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'CartService',
- ],
- 'required' => false,
- 'example' => 'CartService',
- 'maxItems' => 21,
- ],
+ 'schema' => ['description' => 'The ID of the instance to which the message you want to query belongs.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
],
'responses' => [
@@ -3504,35 +2875,104 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use the ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '19780F2E-7841-4E0F-A5D9-C64A0530****',
+ 'RequestId' => ['description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n", 'type' => 'string', 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****', 'title' => ''],
+ 'Data' => [
+ 'description' => 'The data returned.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'StoreSize' => ['description' => 'The size of the message.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '407', 'title' => ''],
+ 'ReconsumeTimes' => ['description' => 'The number of retries that were performed to send the message to consumers.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'StoreTimestamp' => ['description' => 'The timestamp that indicates when the ApsaraMQ for RocketMQ broker stored the message.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570761026708', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the instance'."\n", 'type' => 'string', 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
+ 'MsgId' => ['description' => 'The ID of the message.'."\n", 'type' => 'string', 'example' => '1E0578FE110F18B4AAC235C0C8460BA2', 'title' => ''],
+ 'StoreHost' => ['description' => 'The ApsaraMQ for RocketMQ broker that stores the message.', 'type' => 'string', 'example' => '11.220.***.***:10911', 'title' => ''],
+ 'Topic' => ['description' => 'The topic to which the message belongs.'."\n", 'type' => 'string', 'example' => 'test-mq_topic', 'title' => ''],
+ 'PropertyList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'MessageProperty' => [
+ 'description' => 'The attributes of the message.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Value' => ['description' => 'The value of the attribute.'."\n", 'type' => 'string', 'example' => 'TagA', 'title' => ''],
+ 'Name' => ['description' => 'The name of the attribute. Valid values:'."\n"
+ ."\n"
+ .'* **TRACE_ON**: indicates whether a trace of the message exists.'."\n"
+ .'* **KEYS**: indicates the key of the message.'."\n"
+ .'* **TAGS**: indicates the tag that is attached to the message.'."\n"
+ .'* **INSTANCE_ID**: indicates the ID of the instance which contains the message.'."\n"
+ ."\n"
+ .'For information about the terms that are used in Message Queue for Apache RocketMQ, see [Terms](~~29533~~).'."\n", 'type' => 'string', 'example' => 'TAGS', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'BornTimestamp' => ['description' => 'The timestamp that indicates when the message was produced.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1570761026630', 'title' => ''],
+ 'BodyCRC' => ['description' => 'The cyclic redundancy check (CRC) value of the message body.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '914112295', 'title' => ''],
+ 'BornHost' => ['description' => 'The producer instance that generated the message.'."\n", 'type' => 'string', 'example' => '42.120.**.**:64646', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"19780F2E-7841-4E0F-A5D9-C64A0530****\\"\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\r\\n<RequestId>19780F2E-7841-4E0F-A5D9-C64A0530****</RequestId>\\r\\n</UntagResourcesResponse>","errorExample":""}]',
- 'title' => 'UntagResources',
- 'summary' => 'Detaches tags from a specified resource and deletes the tags.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n",
- 'requestParamsDescription' => ' ',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\",\\n \\"Data\\": {\\n \\"StoreSize\\": 407,\\n \\"ReconsumeTimes\\": 1,\\n \\"StoreTimestamp\\": 1570761026708,\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\",\\n \\"MsgId\\": \\"1E0578FE110F18B4AAC235C0C8460BA2\\",\\n \\"StoreHost\\": \\"11.220.***.***:10911\\",\\n \\"Topic\\": \\"test-mq_topic\\",\\n \\"PropertyList\\": {\\n \\"MessageProperty\\": [\\n {\\n \\"Value\\": \\"TagA\\",\\n \\"Name\\": \\"TAGS\\"\\n }\\n ]\\n },\\n \\"BornTimestamp\\": 1570761026630,\\n \\"BodyCRC\\": 914112295,\\n \\"BornHost\\": \\"42.120.**.**:64646\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsMessageGetByMsgIdResponse>\\n<Data>\\n <MsgId>1E0578FE110F18B4AAC235C0C8460BA2</MsgId>\\n <InstanceId>MQ_INST_111111111111_DOxxxxxx</InstanceId>\\n <ReconsumeTimes>1</ReconsumeTimes>\\n <BornHost>42.120.**.**:64646</BornHost>\\n <BodyCRC>914112295</BodyCRC>\\n <StoreHost>11.220.***.***:10911</StoreHost>\\n <StoreTimestamp>1570761026708</StoreTimestamp>\\n <BornTimestamp>1570761026630</BornTimestamp>\\n <Topic>test-mq_topic</Topic>\\n <StoreSize>407</StoreSize>\\n <PropertyList>\\n <MessageProperty>\\n <Name>TAGS</Name>\\n <Value>TagA</Value>\\n </MessageProperty>\\n </PropertyList>\\n</Data>\\n<RequestId>A07E3902-B92E-44A6-B6C5-6AA111111****</RequestId>\\n</OnsMessageGetByMsgIdResponse>","errorExample":""}]',
+ 'title' => 'OnsMessageGetByMsgId',
+ 'summary' => 'Queries the information about a message by specifying the message ID and determines whether the message has been consumed.',
+ 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ ."\n"
+ .'* If a message is not consumed as expected, you can call this operation to query the information about the message for troubleshooting.'."\n"
+ .'* This operation uses the exact match method to query a message based on the message ID. You can obtain the message ID from the SendResult parameter that is returned after the message is sent. You must store the returned information after each message is sent. The queried information about a message includes the point in time when the message was sent, the broker on which the message is stored, and the attributes of the message such as the message key and tag.'."\n",
'responseParamsDescription' => ' ',
- 'extraInfo' => '## Detach and remove tags from a resource in the console'."\n"
+ 'extraInfo' => '## View the information about a message in the console'."\n"
."\n"
- .'You can also detach and remove tags from a resource in the ApsaraMQ for RocketMQ console.**** For more information, see [Manage tags](~~172713~~).',
- ],
- 'OnsConsumerStatus' => [
- 'summary' => 'Queries the detailed information about the status of a specified consumer group. This operation returns the transactions per second (TPS) for message consumption, load balancing status, consumer connection status, and whether all consumers in the consumer group subscribe to the same topics and tags.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can also view the information about a message in the Message Queue for Apache RocketMQ console.**** For more information, see [Query a message](~~29540~~).'."\n",
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsMessageGetByMsgId'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryMessage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ ],
+ 'OnsMessagePageQueryByTopic' => [
+ 'summary' => 'Queries all messages that are stored in a specified topic within a specified time range by page.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -3540,617 +2980,372 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREons0MOUAZ',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'GroupId',
+ 'name' => 'Topic',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the consumer group whose details you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test_group_id',
- ],
+ 'schema' => ['description' => 'The name of the topic whose messages you want to query.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test-mq_topic', 'title' => ''],
],
[
- 'name' => 'Detail',
+ 'name' => 'BeginTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to query the details of the consumer group. Valid values:'."\n"
- ."\n"
- .'* **true**: The details of the consumer group are queried. You can obtain details from the **ConsumerConnectionInfoList** and **DetailInTopicList** response parameters.'."\n"
- .'* **false**: The details of the consumer group are not queried. The values of the **ConsumerConnectionInfoList** and **DetailInTopicList** response parameters are empty. This value is the default value of the Detail parameter.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'schema' => ['description' => 'The beginning of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds. If you specify a valid value for the **TaskId** parameter in the request, this parameter does not take effect. The system uses the value of the BeginTime parameter that you specified in the request when you created the specified query task.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1570723200000', 'title' => ''],
],
[
- 'name' => 'NeedJstack',
+ 'name' => 'EndTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to query the information about thread stack traces. Valid values:'."\n"
- ."\n"
- .'* **true**: The information about thread stack traces is queried. You can obtain the information from the **Jstack** response parameter.'."\n"
- ."\n"
- .'> If you want to obtain the information about thread stack traces, make sure that the **Detail** parameter in the request is set to **true**.'."\n"
- ."\n"
- .'* **false**: The information about thread stack traces is not queried. The value of the **Jstack** response parameter is empty. This value is the default value of the NeedJstack parameter.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'schema' => ['description' => 'The end of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds. If you specify a valid value for the **TaskId** parameter in the request, this parameter does not take effect. The system uses the value of the EndTime parameter that you specified in the request when you created the specified query task.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1570809600000', 'title' => ''],
+ ],
+ [
+ 'name' => 'TaskId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the query task. The first time you call this operation to query the information about messages in a specified topic within a specified time range, this parameter is not required. This parameter is required in subsequent queries for messages on a specified page. You can obtain the task ID from the returned result of the first query.'."\n", 'type' => 'string', 'required' => false, 'example' => '0BC1310300002A9F000021E4D7A48346', 'title' => ''],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of the page to return. Pages start from page 1. Valid values: 1 to 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '2', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 5 to 50. Default value: 20. If you specify a valid value for the **TaskId** parameter in the request, this parameter does not take effect. The system uses the value of the PageSize parameter that you specified in the request for creating the query task.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance to which the consumer group belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
+ 'schema' => ['description' => 'The ID of the instance to which the message you want to query belongs.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The data returned.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '10EDC518-10E7-4B34-92FB-171235FA****',
- ],
- 'Data' => [
- 'description' => 'The data returned.'."\n",
+ 'RequestId' => ['description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n", 'type' => 'string', 'example' => '5DC2A47E-2B31-4722-96C8-FA59C9*****', 'title' => ''],
+ 'MsgFoundDo' => [
+ 'description' => 'The information about the message that is queried.'."\n",
'type' => 'object',
'properties' => [
- 'ConsumeTps' => [
- 'description' => 'The TPS for message consumption.'."\n",
- 'type' => 'number',
- 'format' => 'float',
- 'example' => '0',
- ],
- 'ConsumeModel' => [
- 'description' => 'The consumption mode. Valid values:'."\n"
- ."\n"
- .'* **CLUSTERING**: the clustering consumption mode'."\n"
- .'* **BROADCASTING**: the broadcasting consumption mode'."\n"
- ."\n"
- .'For more information about consumption modes, see [Clustering consumption and broadcasting consumption](~~43163~~).'."\n",
- 'type' => 'string',
- 'example' => 'CLUSTERING',
- ],
- 'ConnectionSet' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'ConnectionDo' => [
- 'description' => 'The information about online consumers in the consumer group.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'RemoteIP' => [
- 'description' => 'The private or public IP address of the host.'."\n",
- 'type' => 'string',
- 'example' => '42.120.74.**',
- ],
- 'Version' => [
- 'description' => 'The version of the consumer client.'."\n",
- 'type' => 'string',
- 'example' => 'V4_3_6_SNAPSHOT',
- ],
- 'ClientAddr' => [
- 'description' => 'The IP address and port number of the consumer instance.'."\n",
- 'type' => 'string',
- 'example' => '30.5.121.**',
- ],
- 'Language' => [
- 'description' => 'The programming language in which the consumer is developed.'."\n",
- 'type' => 'string',
- 'example' => 'JAVA',
- ],
- 'ClientId' => [
- 'description' => 'The ID of the consumer instance.'."\n",
- 'type' => 'string',
- 'example' => '30.5.121.**@25560#-1999745829#-1737591554#458773089270275',
- ],
- 'Diff' => [
- 'title' => '每个客户端的堆积数',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '100',
- ],
- ],
- ],
- ],
- ],
- ],
- 'TotalDiff' => [
- 'description' => 'The total number of accumulated messages.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '197',
- ],
- 'ConsumerConnectionInfoList' => [
+ 'CurrentPage' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ 'MsgFoundList' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'ConsumerConnectionInfoDo' => [
- 'description' => 'The details of online consumers in the consumer group, including the information about the thread stack traces and the consumption response time (RT). If you want to obtain the details of online consumers in the consumer group, make sure that the **Detail** parameter in the request is set to **true**. If the Detail parameter is not set to true, the value of this parameter is empty.'."\n",
+ 'OnsRestMessageDo' => [
+ 'description' => 'The information about messages on the returned page. The information that is contained in this parameter is the same as the information that is returned by the [OnsMessageGetByMsgId](~~29607~~) operation.'."\n",
'type' => 'array',
'items' => [
- 'description' => '',
'type' => 'object',
'properties' => [
- 'ConsumeModel' => [
- 'description' => 'The consumption mode. Valid values:'."\n"
- ."\n"
- .'* **CLUSTERING**: the clustering consumption mode'."\n"
- .'* **BROADCASTING**: the broadcasting consumption mode'."\n"
- ."\n"
- .'For more information about consumption modes, see [Clustering consumption and broadcasting consumption](~~43163~~).'."\n",
- 'type' => 'string',
- 'example' => 'CLUSTERING',
- ],
- 'RunningDataList' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'ConsumerRunningDataDo' => [
- 'description' => 'The real-time statistics.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Rt' => [
- 'description' => 'The consumption RT. Unit: milliseconds.'."\n",
- 'type' => 'number',
- 'format' => 'float',
- 'example' => '0',
- ],
- 'Topic' => [
- 'description' => 'The name of the topic to which the consumer subscribes.'."\n",
- 'type' => 'string',
- 'example' => 'test-mq_topic',
- ],
- 'FailedCountPerHour' => [
- 'description' => 'The number of messages that failed to be consumed each hour.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '0',
- ],
- 'OkTps' => [
- 'description' => 'The TPS for successful message consumption.'."\n",
- 'type' => 'number',
- 'format' => 'float',
- 'example' => '0',
- ],
- 'FailedTps' => [
- 'description' => 'The TPS for failed message consumption.'."\n",
- 'type' => 'number',
- 'format' => 'float',
- 'example' => '0',
- ],
- ],
- ],
- ],
- ],
- ],
- 'SubscriptionSet' => [
+ 'StoreSize' => ['description' => 'The size of the message. Unit: KB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '406', 'title' => ''],
+ 'ReconsumeTimes' => ['description' => 'The number of retries that were performed to send the message to consumers.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'StoreTimestamp' => ['description' => 'The time when the ApsaraMQ for RocketMQ broker stored the message. The value is a UNIX timestamp that represents the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570760999811', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the instance'."\n", 'type' => 'string', 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
+ 'MsgId' => ['description' => 'The ID of the message.'."\n", 'type' => 'string', 'example' => '1E0578FE110F18B4AAC235C05F2*****', 'title' => ''],
+ 'StoreHost' => ['description' => 'The ApsaraMQ for RocketMQ broker that stores the message.', 'type' => 'string', 'example' => '11.193.***.***:10911', 'title' => ''],
+ 'Topic' => ['description' => 'The topic to which the message belongs.'."\n", 'type' => 'string', 'example' => 'test-mq_topic', 'title' => ''],
+ 'PropertyList' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'SubscriptionData' => [
- 'description' => 'The information about subscriptions.'."\n",
+ 'MessageProperty' => [
+ 'description' => 'The attributes of the message.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'SubString' => [
- 'description' => 'The expression that is used to specify the tags of messages in the subscribed topic.'."\n",
- 'type' => 'string',
- 'example' => '*',
- ],
- 'SubVersion' => [
- 'description' => 'The subscription version. The value is of the LONG type and is automatically incremented.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570701364301',
- ],
- 'Topic' => [
- 'description' => 'The name of the topic to which the consumer subscribes.'."\n",
- 'type' => 'string',
- 'example' => 'test-mq_topic',
- ],
- 'TagsSet' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'Tag' => [
- 'description' => 'The information about the tags of the topic to which the consumer subscribes.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the tags of the topic to which the consumer subscribes.'."\n",
- 'type' => 'string',
- 'example' => 'ff',
- ],
- ],
- ],
- ],
+ 'Value' => ['description' => 'The value of the attribute.'."\n", 'type' => 'string', 'example' => 'TagA', 'title' => ''],
+ 'Name' => ['description' => 'The name of the attribute. Valid values:'."\n"
+ ."\n"
+ .'* **TRACE_ON**: indicates whether a trace of the message exists.'."\n"
+ .'* **KEYS**: indicates the key of the message.'."\n"
+ .'* **TAGS**: indicates the tag of the message.'."\n"
+ .'* **INSTANCE_ID**: indicates the ID of the instance that contains the message.'."\n"
+ ."\n"
+ .'For information about the terms that are used in ApsaraMQ for RocketMQ see [Terms](~~29533~~).', 'type' => 'string', 'example' => 'TAGS', 'title' => ''],
],
- ],
- ],
- ],
- ],
- 'Jstack' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'ThreadTrackDo' => [
- 'description' => 'The information about thread stack traces. If you want to obtain the information about thread stack traces, make sure that the **NeedJstack** parameter in the request is set to **true**. If the NeedJstack parameter is not set to true, the value of this parameter is empty.'."\n",
- 'type' => 'array',
- 'items' => [
'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'TrackList' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'Track' => [
- 'description' => 'The details of thread stack traces.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The details of thread stack traces.'."\n",
- 'type' => 'string',
- 'example' => 'TID: 52 STATE: WAITING',
- ],
- ],
- ],
- ],
- 'Thread' => [
- 'description' => 'The name of the thread.'."\n",
- 'type' => 'string',
- 'example' => 'ConsumeMessageThread_0',
- ],
- ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'LastTimeStamp' => [
- 'description' => 'The most recent point in time when a message was consumed.'."\n"
- ."\n"
- .'The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570701368114',
- ],
- 'StartTimeStamp' => [
- 'description' => 'The earliest point in time when a message was consumed.'."\n"
- ."\n"
- .'The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570701361528',
- ],
- 'Language' => [
- 'description' => 'The programming language that the consumer supports.'."\n",
- 'type' => 'string',
- 'example' => 'JAVA',
- ],
- 'ClientId' => [
- 'description' => 'The ID of the consumer instance.'."\n",
- 'type' => 'string',
- 'example' => '30.5.**.**@25560#-1999745829#-1737591554#458773089270275',
- ],
- 'Connection' => [
- 'description' => 'The connection information.'."\n",
- 'type' => 'string',
- 'example' => '**',
- ],
- 'Version' => [
- 'description' => 'The version of the consumer client.'."\n",
- 'type' => 'string',
- 'example' => 'V4_3_6',
- ],
- 'ConsumeType' => [
- 'description' => 'The mode in which the consumer consumes messages. Valid values:'."\n"
- ."\n"
- .'* **PUSH**: The ApsaraMQ for RocketMQ broker pushes messages to the consumer.'."\n"
- .'* **PULL**: The consumer pulls messages from the ApsaraMQ for RocketMQ broker.',
- 'type' => 'string',
- 'example' => 'PUSH',
- ],
- 'ThreadCount' => [
- 'description' => 'The number of consumer threads.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- ],
- ],
- ],
- ],
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the instance'."\n",
- 'type' => 'string',
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
- 'DetailInTopicList' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'DetailInTopicDo' => [
- 'description' => 'The information about message consumption by topic. If you want to obtain the information about the consumption status of each topic, make sure that the **Detail** parameter in the request is set to **true**. If the Detail parameter is not set to true, the value of this parameter is empty.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'DelayTime' => [
- 'description' => 'The latency of message consumption in the topic. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '0',
- ],
- 'TotalDiff' => [
- 'description' => 'The number of accumulated messages in the topic.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '0',
- ],
- 'LastTimestamp' => [
- 'description' => 'The most recent point in time when a message was consumed.'."\n"
- ."\n"
- .'The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570701259403',
- ],
- 'Topic' => [
- 'description' => 'The topic name.'."\n",
- 'type' => 'string',
- 'example' => 'test-mq_topic',
- ],
+ 'BornTimestamp' => ['description' => 'The time when the message was generated. The value is a UNIX timestamp that represents the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1570760999721', 'title' => ''],
+ 'BodyCRC' => ['description' => 'The cyclic redundancy check (CRC) value of the message body.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '914112295', 'title' => ''],
+ 'BornHost' => ['description' => 'The producer client that generated the message.'."\n", 'type' => 'string', 'example' => '42.120.***.***:59270', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'SubscriptionSame' => [
- 'description' => 'Indicates whether all consumers in the consumer group subscribe to the same topics and tags.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'DelayTime' => [
- 'description' => 'The maximum latency of message consumption in all topics to which the consumer group subscribes. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '100857',
- ],
- 'LastTimestamp' => [
- 'description' => 'The most recent point in time when a message was consumed.'."\n"
- ."\n"
- .'The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1566883844954',
- ],
- 'Online' => [
- 'description' => 'Indicates whether the consumer group is online.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'RebalanceOK' => [
- 'description' => 'Indicates whether load balancing is performed as expected. Valid values:'."\n"
- ."\n"
- .'* **true**: Load balancing is performed as expected.'."\n"
- .'* **false**: Load balancing is not performed as expected.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
+ 'MaxPageCount' => ['description' => 'The total number of returned pages.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '400', 'title' => ''],
+ 'TaskId' => ['description' => 'The ID of the query task. The first time you call this operation to query the messages that are sent to a specified consumer group within a specified time range, this parameter is returned. You can use the task ID to query the details of messages on other returned pages.'."\n", 'type' => 'string', 'example' => '0BC1310300002A9F000021E4D7A48346', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"10EDC518-10E7-4B34-92FB-171235FA****\\",\\n \\"Data\\": {\\n \\"ConsumeTps\\": 0,\\n \\"ConsumeModel\\": \\"CLUSTERING\\",\\n \\"ConnectionSet\\": {\\n \\"ConnectionDo\\": [\\n {\\n \\"RemoteIP\\": \\"42.120.74.**\\",\\n \\"Version\\": \\"V4_3_6_SNAPSHOT\\",\\n \\"ClientAddr\\": \\"30.5.121.**\\",\\n \\"Language\\": \\"JAVA\\",\\n \\"ClientId\\": \\"30.5.121.**@25560#-1999745829#-1737591554#458773089270275\\",\\n \\"Diff\\": 100\\n }\\n ]\\n },\\n \\"TotalDiff\\": 197,\\n \\"ConsumerConnectionInfoList\\": {\\n \\"ConsumerConnectionInfoDo\\": [\\n {\\n \\"ConsumeModel\\": \\"CLUSTERING\\",\\n \\"RunningDataList\\": {\\n \\"ConsumerRunningDataDo\\": [\\n {\\n \\"Rt\\": 0,\\n \\"Topic\\": \\"test-mq_topic\\",\\n \\"FailedCountPerHour\\": 0,\\n \\"OkTps\\": 0,\\n \\"FailedTps\\": 0\\n }\\n ]\\n },\\n \\"SubscriptionSet\\": {\\n \\"SubscriptionData\\": [\\n {\\n \\"SubString\\": \\"*\\",\\n \\"SubVersion\\": 1570701364301,\\n \\"Topic\\": \\"test-mq_topic\\",\\n \\"TagsSet\\": {\\n \\"Tag\\": [\\n \\"ff\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"Jstack\\": {\\n \\"ThreadTrackDo\\": [\\n {\\n \\"TrackList\\": {\\n \\"Track\\": [\\n \\"TID: 52 STATE: WAITING\\"\\n ]\\n },\\n \\"Thread\\": \\"ConsumeMessageThread_0\\"\\n }\\n ]\\n },\\n \\"LastTimeStamp\\": 1570701368114,\\n \\"StartTimeStamp\\": 1570701361528,\\n \\"Language\\": \\"JAVA\\",\\n \\"ClientId\\": \\"30.5.**.**@25560#-1999745829#-1737591554#458773089270275\\",\\n \\"Connection\\": \\"**\\",\\n \\"Version\\": \\"V4_3_6\\",\\n \\"ConsumeType\\": \\"PUSH\\",\\n \\"ThreadCount\\": 20\\n }\\n ]\\n },\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\",\\n \\"DetailInTopicList\\": {\\n \\"DetailInTopicDo\\": [\\n {\\n \\"DelayTime\\": 0,\\n \\"TotalDiff\\": 0,\\n \\"LastTimestamp\\": 1570701259403,\\n \\"Topic\\": \\"test-mq_topic\\"\\n }\\n ]\\n },\\n \\"SubscriptionSame\\": true,\\n \\"DelayTime\\": 100857,\\n \\"LastTimestamp\\": 1566883844954,\\n \\"Online\\": true,\\n \\"RebalanceOK\\": true\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsConsumerStatusResponse>\\n<data>\\n <connectionSet>\\n <bizVersion>V4_3_6</bizVersion>\\n <clientAddr>30.5.***.*</clientAddr>\\n <clientId>30.5.***.*@97730#-1999745829#-1737591554#729272961762836</clientId>\\n <language>JAVA</language>\\n <version>V4_3_6</version>\\n </connectionSet>\\n <consumeModel>CLUSTERING</consumeModel>\\n <consumeTps>0</consumeTps>\\n <consumerConnectionInfoList>\\n <bizVersion>V4_3_6</bizVersion>\\n <clientId>30.5.***.*@97730#-1999745829#-1737591554#729272961762836</clientId>\\n <consumeType>PUSH</consumeType>\\n <jstack>\\n <thread>ConsumeMessageThread_4</thread>\\n <trackList>TID: 44 STATE: WAITING</trackList>\\n <trackList>sun.misc.Unsafe.park(Native Method)</trackList>\\n <trackList>java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)</trackList>\\n <trackList>java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)</trackList>\\n <trackList>java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)</trackList>\\n <trackList>java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)</trackList>\\n <trackList>java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)</trackList>\\n <trackList>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)</trackList>\\n <trackList>java.lang.Thread.run(Thread.java:748)</trackList>\\n </jstack>\\n <language>JAVA</language>\\n <lastTimeStamp>1570701368114</lastTimeStamp>\\n <runningDataList>\\n <failedCountPerHour>0</failedCountPerHour>\\n <failedTps>0</failedTps>\\n <okTps>0</okTps>\\n <rt>0</rt>\\n <topic>test-mq_topic</topic>\\n </runningDataList>\\n <startTimeStamp>1570701361528</startTimeStamp>\\n <subscriptionSet>\\n <subString>*</subString>\\n <subVersion>1570701364301</subVersion>\\n <topic>test-mq_topic</topic>\\n </subscriptionSet>\\n <threadCount>20</threadCount>\\n <version>V4_3_6</version>\\n </consumerConnectionInfoList>\\n <delayTime>0</delayTime>\\n <detailInTopicList>\\n <delayTime>0</delayTime>\\n <lastTimestamp>1570701259403</lastTimestamp>\\n <topic>test-mq_topic</topic>\\n <totalDiff>0</totalDiff>\\n </detailInTopicList>\\n <instanceId>MQ_INST_111111111111_DOxxxxxx</instanceId>\\n <lastTimestamp>1570701368114</lastTimestamp>\\n <online>true</online>\\n <rebalanceOK>true</rebalanceOK>\\n <subscriptionSame>true</subscriptionSame>\\n <totalDiff>0</totalDiff>\\n</data>\\n<requestId>10EDC518-10E7-4B34-92FB-171235FA****</requestId>\\n</OnsConsumerStatusResponse>","errorExample":""}]',
- 'title' => 'OnsConsumerStatus',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5DC2A47E-2B31-4722-96C8-FA59C9*****\\",\\n \\"MsgFoundDo\\": {\\n \\"CurrentPage\\": 1,\\n \\"MsgFoundList\\": {\\n \\"OnsRestMessageDo\\": [\\n {\\n \\"StoreSize\\": 406,\\n \\"ReconsumeTimes\\": 1,\\n \\"StoreTimestamp\\": 1570760999811,\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\",\\n \\"MsgId\\": \\"1E0578FE110F18B4AAC235C05F2*****\\",\\n \\"StoreHost\\": \\"11.193.***.***:10911\\",\\n \\"Topic\\": \\"test-mq_topic\\",\\n \\"PropertyList\\": {\\n \\"MessageProperty\\": [\\n {\\n \\"Value\\": \\"TagA\\",\\n \\"Name\\": \\"TAGS\\"\\n }\\n ]\\n },\\n \\"BornTimestamp\\": 1570760999721,\\n \\"BodyCRC\\": 914112295,\\n \\"BornHost\\": \\"42.120.***.***:59270\\"\\n }\\n ]\\n },\\n \\"MaxPageCount\\": 400,\\n \\"TaskId\\": \\"0BC1310300002A9F000021E4D7A48346\\"\\n }\\n}","type":"json"}]',
+ 'title' => 'OnsMessagePageQueryByTopic',
'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
."\n"
- .'* You can call this operation in scenarios in which consumers are online and messages are accumulated. You can troubleshoot errors based on the information that is returned by this operation. You can check whether all consumers in the consumer group subscribe to the same topics and tags, and whether load balancing is performed as expected. You can also obtain the information about thread stack traces of online consumers.'."\n"
- .'* This operation uses multiple backend operations to query and aggregate data. The system requires a long period of time to process a request. We recommend that you do not frequently call this operation.'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => '## View the details of a consumer group in the console'."\n"
+ .'* If you do not know the ID or key of a message that you want to query, you can call this operation to query all messages that are stored in the topic within a specified time range. The results are displayed by page.'."\n"
."\n"
- .'You can also view the details of a consumer group in the **ApsaraMQ for RocketMQ** console. For more information, see [View the status of consumers](~~94312~~).',
- ],
- 'OnsConsumerAccumulate' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'* We recommend that you specify a short time range to query messages. If you specify a long time range, a large number of messages are returned. In this case, you cannot find the message that you want to query in an efficient manner. You can perform the following steps to query messages:'."\n"
+ ."\n"
+ .' 1. Perform a paged query by specifying the topic, start time, end time, and number of entries to return on each page. If the topic contains messages, the information about the messages on the first page, total number of pages, and task ID are returned by default.'."\n"
+ .' 2. Specify the task ID and a page number to call this operation again to query the messages on the specified page. The BeginTime, EndTime, and PageSize parameters do not take effect. By default, the system uses the values of these parameters that you specified in the request when you created the specified query task.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsMessagePageQueryByTopic'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryMessage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ ],
+ 'OnsMessagePush' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'GroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the consumer group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test_consumer_id',
- ],
+ 'schema' => ['description' => 'The group ID. For more information, see [Terms](~~29533~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test_group_id', 'title' => ''],
],
[
- 'name' => 'Detail',
+ 'name' => 'ClientId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to query the details of each topic to which the consumer group subscribes. Valid values:'."\n"
- ."\n"
- .'* **true**: The details of each topic are queried. You can obtain the details from the **DetailInTopicList** response parameter.'."\n"
- .'* **false**: The details of each topic are not queried. This is the default value. If you use this value, the value of the **DetailInTopicList** response parameter is empty.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'schema' => ['description' => 'The ID of the consumer instance. Call the [OnsConsumerGetConnection](~~29598~~) operation to obtain this ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '30.5.121.**@24813#-1999745829#-1737591554#453111174894656', 'title' => ''],
+ ],
+ [
+ 'name' => 'MsgId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The message ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '0BC1669963053CF68F733BB70396****', 'title' => ''],
+ ],
+ [
+ 'name' => 'Topic',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The topic to which the message is pushed.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test-mq_topic', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
+ 'schema' => ['description' => 'The ID of the instance that contains the message that you want to push.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The ID of the instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The unique ID of the request. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => 'B8EDC90D-F726-4B9E-8BEF-F0DD25EC****', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
+ 'title' => 'OnsMessagePush',
+ 'summary' => 'The OnsMessagePush operation pushes a message to a specified consumer.',
+ 'description' => '><notice>Alibaba Cloud OpenAPI is a control plane API that you can use to manage and query resources of Alibaba Cloud services. Integrate OpenAPI only on the control plane. Do not use OpenAPI for the core data link for sending and receiving messages. This practice introduces security threats to your data link.></notice>'."\n"
+ .'This operation is primarily used for testing message consumption. The operation retrieves the body of a specified message based on its message ID, re-encapsulates the message body, and then pushes the message to a consumer. The resent message has the same content as the original message, but it is a new message with a different message ID.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsMessagePush'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:SUB',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B8EDC90D-F726-4B9E-8BEF-F0DD25EC****\\"\\n}","type":"json"}]',
+ ],
+ 'OnsMessageTrace' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get'],
+ 'parameters' => [
+ [
+ 'name' => 'Topic',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The topic of the message.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test-mq_topic', 'title' => ''],
+ ],
+ [
+ 'name' => 'MsgId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the message whose trace you want to query. This is the message ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1E05791C117818B4AAC23B1BB0CE****', 'title' => ''],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the instance to which the message belongs.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
+ ],
+ ],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'CE817BFF-B389-43CD-9419-95011AC9****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request. This is a common parameter. Each request has a unique ID. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => 'EAE5BE23-37A1-4354-94D6-E44AE17E****', 'title' => ''],
'Data' => [
- 'description' => 'The message accumulation information about topics to which the specified consumer subscribes.'."\n",
'type' => 'object',
+ 'itemNode' => true,
'properties' => [
- 'ConsumeTps' => [
- 'description' => 'The transactions per second (TPS) for message consumption performed by consumers in the group.'."\n",
- 'type' => 'number',
- 'format' => 'float',
- 'example' => '10',
- ],
- 'DelayTime' => [
- 'description' => 'The consumption latency.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '10000',
- ],
- 'LastTimestamp' => [
- 'description' => 'The point in time when the latest message consumed by a consumer in the consumer group was produced.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1566231000000',
- ],
- 'TotalDiff' => [
- 'description' => 'The total number of accumulated messages in all topics to which the consumer group subscribes.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '100',
- ],
- 'Online' => [
- 'description' => 'Indicates whether the consumer group is online. The consumer group is online if one of the consumers in the group is online. Valid values:'."\n"
- ."\n"
- .'* **true**: The consumer group is online.'."\n"
- .'* **false**: The consumer group is offline.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'DetailInTopicList' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'DetailInTopicDo' => [
- 'description' => 'The information about each topic to which the consumer group subscribes. If the **Detail** parameter in the request is set to **false**, the value of this parameter is empty.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'DelayTime' => [
- 'description' => 'The maximum latency of message consumption in the topic.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '10000',
- ],
- 'TotalDiff' => [
- 'description' => 'The number of accumulated messages in the topic.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '100',
- ],
- 'LastTimestamp' => [
- 'description' => 'The point in time when the latest consumed message in the topic was produced.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1566231000000',
- ],
- 'Topic' => [
- 'description' => 'The topic name.'."\n",
- 'type' => 'string',
- 'example' => 'test-mq-topic',
- ],
- ],
- ],
+ 'MessageTrack' => [
+ 'description' => 'The query results.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TrackType' => ['description' => 'The current status. Valid values:'."\n"
+ ."\n"
+ .'- **CONSUMED**: The message was consumed.'."\n"
+ ."\n"
+ .'- **CONSUMED\\_BUT\\_FILTERED**: The message was filtered out and not consumed because it did not meet the subscription conditions of the group ID.'."\n"
+ ."\n"
+ .'- **NOT\\_CONSUME\\_YET**: The message has not been consumed.'."\n"
+ ."\n"
+ .'- **NOT\\_ONLINE**: The client is offline.'."\n"
+ ."\n"
+ .'- **UNKNOWN**: An unknown error occurred.', 'type' => 'string', 'example' => 'CONSUMED', 'title' => ''],
+ 'ConsumerGroup' => ['description' => 'The group ID of the consumer that subscribes to the topic.', 'type' => 'string', 'example' => 'GID_test_group_id', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the instance to which the message belongs.', 'type' => 'string', 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CE817BFF-B389-43CD-9419-95011AC9****\\",\\n \\"Data\\": {\\n \\"ConsumeTps\\": 10,\\n \\"DelayTime\\": 10000,\\n \\"LastTimestamp\\": 1566231000000,\\n \\"TotalDiff\\": 100,\\n \\"Online\\": true,\\n \\"DetailInTopicList\\": {\\n \\"DetailInTopicDo\\": [\\n {\\n \\"DelayTime\\": 10000,\\n \\"TotalDiff\\": 100,\\n \\"LastTimestamp\\": 1566231000000,\\n \\"Topic\\": \\"test-mq-topic\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsConsumerAccumulateResponse>\\n<Data>\\n <DetailInTopicList>\\n <DetailInTopicDo>\\n <TotalDiff>100</TotalDiff>\\n <LastTimestamp>1566231000000</LastTimestamp>\\n <DelayTime>10000</DelayTime>\\n <Topic>test-mq-topic</Topic>\\n </DetailInTopicDo>\\n </DetailInTopicList>\\n <TotalDiff>100</TotalDiff>\\n <LastTimestamp>1566231000000</LastTimestamp>\\n <DelayTime>10000</DelayTime>\\n <Online>true</Online>\\n <ConsumeTps>10</ConsumeTps>\\n</Data>\\n<RequestId>0CCF6437-CBB0-4378-BFEC-E08AC258****</RequestId>\\n</OnsConsumerAccumulateResponse>","errorExample":""}]',
- 'title' => 'OnsConsumerAccumulate',
- 'summary' => 'Queries the information about message accumulation in topics to which a specified consumer group subscribes. The returned information includes the number of accumulated messages and the consumption latency.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'title' => 'OnsMessageTrace',
+ 'summary' => 'You can call the OnsMessageTrace operation to determine whether a message has been consumed based on its message ID.',
+ 'description' => '><notice>'."\n"
."\n"
- .'You can call this operation in scenarios in which you want to know the message consumption progress of a specified consumer group in production environments. You can obtain the information about message consumption and consumption latency based on the returned information. This operation returns the total number of accumulated messages in all topics to which the specified consumer group subscribes and the number of accumulated messages in each topic.'."\n",
+ .'Alibaba Cloud OpenAPI is a management API used to manage and query the resources of Alibaba Cloud services. Integrate this API for management purposes only. Do not use this API for core data links that send and receive messages. This can introduce threats to your data links.'."\n"
+ ."\n"
+ .'></notice>'."\n"
+ ."\n"
+ .'- You can use this operation to check the consumption status of a message for preliminary troubleshooting when a consumption exception occurs.'."\n"
+ ."\n"
+ .'- This operation is based on the internal offset mechanism of ApsaraMQ for RocketMQ. The results are reliable in most scenarios. However, if you reset offsets or purge messages, the results may be inaccurate.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## View the information about message accumulation in the console'."\n"
+ 'extraInfo' => '## View the consumption status of a message in the console'."\n"
."\n"
- .'You can also view the information about message accumulation in topics to which a consumer group subscribes in the **ApsaraMQ for RocketMQ** console. For more information, see [View the status of consumers](~~94312~~).',
- ],
- 'OnsConsumerGetConnection' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can also view the consumption status of a message in the **ApsaraMQ for RocketMQ console**. For more information, see [Query a message trace](~~43357~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsMessageTrace'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryMessageTrace',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EAE5BE23-37A1-4354-94D6-E44AE17E****\\",\\n \\"Data\\": {\\n \\"MessageTrack\\": [\\n {\\n \\"TrackType\\": \\"CONSUMED\\",\\n \\"ConsumerGroup\\": \\"GID_test_group_id\\",\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ ],
+ 'OnsRegionList' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -4158,116 +3353,75 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeCode' => '14917',
- 'abilityTreeNodes' => [
- 'FEATUREons0MOUAZ',
- ],
- ],
- 'parameters' => [
- [
- 'name' => 'GroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the consumer group whose client connection status you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test_consumer_id',
- ],
- ],
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance to which the consumer group belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
- ],
- ],
+ 'systemTags' => ['operationType' => 'list'],
+ 'parameters' => [],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'DE4140C7-F42D-473D-A5FF-B1E31692****',
- ],
+ 'RequestId' => ['description' => 'The unique ID of the request. This is a common parameter. Use this ID to troubleshoot and locate issues.', 'type' => 'string', 'example' => '72D14A84-45E5-4E01-A6DB-F63C4721****', 'title' => ''],
'Data' => [
- 'description' => 'The data returned.'."\n",
'type' => 'object',
+ 'itemNode' => true,
'properties' => [
- 'ConnectionList' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'ConnectionDo' => [
- 'description' => 'The client connection information of the consumer group.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Version' => [
- 'description' => 'The version of the consumer client.'."\n",
- 'type' => 'string',
- 'example' => 'V4_3_6',
- ],
- 'ClientAddr' => [
- 'description' => 'The IP address and port number of the consumer client.'."\n",
- 'type' => 'string',
- 'example' => '30.5.121.**',
- ],
- 'Language' => [
- 'description' => 'The programming language in which the consumer application was developed.'."\n",
- 'type' => 'string',
- 'example' => 'JAVA',
- ],
- 'ClientId' => [
- 'description' => 'The ID of the consumer client.'."\n",
- 'type' => 'string',
- 'example' => '30.5.121.**@24813#-1999745829#-1737591554#453111174894656',
- ],
- ],
- ],
+ 'RegionDo' => [
+ 'description' => 'The query results.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'UpdateTime' => ['description' => 'The update time.', 'type' => 'integer', 'format' => 'int64', 'example' => '1411623866000', 'title' => ''],
+ 'RegionName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => '华东1(杭州)', 'title' => ''],
+ 'ChannelName' => ['description' => 'The name of the channel.', 'type' => 'string', 'example' => 'ALIYUN', 'title' => ''],
+ 'CreateTime' => ['description' => 'The creation time.', 'type' => 'integer', 'format' => 'int64', 'example' => '1411623866000', 'title' => ''],
+ 'Id' => ['description' => 'The ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ 'OnsRegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- ],
- 'MessageModel' => [
- 'type' => 'string',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DE4140C7-F42D-473D-A5FF-B1E31692****\\",\\n \\"Data\\": {\\n \\"ConnectionList\\": {\\n \\"ConnectionDo\\": [\\n {\\n \\"Version\\": \\"V4_3_6\\",\\n \\"ClientAddr\\": \\"30.5.121.**\\",\\n \\"Language\\": \\"JAVA\\",\\n \\"ClientId\\": \\"30.5.121.**@24813#-1999745829#-1737591554#453111174894656\\"\\n }\\n ]\\n },\\n \\"MessageModel\\": \\"\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsConsumerGetConnectionResponse>\\r\\n <Data>\\r\\n <ConnectionList>\\r\\n <ConnectionDo>\\r\\n <ClientAddr>30.5.121.**</ClientAddr>\\r\\n <Language>JAVA</Language>\\r\\n <Version>V4_3_6</Version>\\r\\n <ClientId>30.5.121.**@24813#-1999745829#-1737591554#453111174894656</ClientId>\\r\\n </ConnectionDo>\\r\\n </ConnectionList>\\r\\n </Data>\\r\\n <RequestId>DE4140C7-F42D-473D-A5FF-B1E31692****</RequestId>\\r\\n</OnsConsumerGetConnectionResponse>","errorExample":""}]',
- 'title' => 'OnsConsumerGetConnection',
- 'summary' => 'Queries the client connection status of a specified consumer group.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'title' => 'OnsRegionList',
+ 'summary' => 'Call the OnsRegionList operation to obtain a list of regions where ApsaraMQ for RocketMQ is available.',
+ 'description' => '><notice>Alibaba Cloud OpenAPI is a control plane API that is used to manage and query resources for Alibaba Cloud services. Integrate this API only on the control plane. Do not use OpenAPI for core data links that send and receive messages. This can introduce security threats to your data links.></notice>'."\n"
+ .'When you use a software development kit (SDK) to connect to ApsaraMQ for RocketMQ and perform control operations, you must specify information for two regions. The information for the second region is obtained by calling the OnsRegionList operation. The scenarios are as follows:'."\n"
."\n"
- .'When messages are accumulated in a topic, you can call this operation to check whether a consumer is online.'."\n",
+ .'- Connect your application to the ApsaraMQ for RocketMQ service: Select the nearest API Gateway endpoint based on the deployment region of your application and enter the corresponding **regionId**. This **regionId** is used only to connect to the Alibaba Cloud OpenAPI gateway. ApsaraMQ for RocketMQ provides API services through the Alibaba Cloud OpenAPI platform (POP).'."\n"
+ ."\n"
+ .'- Connect to the region for control operations: Specify the region where you want to manage ApsaraMQ for RocketMQ resources and enter the ID for that region. You can obtain this region ID by calling the **OnsRegionList** operation.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## View the client connection status of a consumer group in the console'."\n"
- ."\n"
- .'You can also view the client connection status of a specific consumer group in the ApsaraMQ for RocketMQ console.**** For more information, see [View the status of consumers](~~94312~~).',
- ],
- 'OnsConsumerResetOffset' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsRegionList'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"72D14A84-45E5-4E01-A6DB-F63C4721****\\",\\n \\"Data\\": {\\n \\"RegionDo\\": [\\n {\\n \\"UpdateTime\\": 1411623866000,\\n \\"RegionName\\": \\"华东1(杭州)\\",\\n \\"ChannelName\\": \\"ALIYUN\\",\\n \\"CreateTime\\": 1411623866000,\\n \\"Id\\": 1,\\n \\"OnsRegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ ],
+ 'OnsTopicCreate' => [
+ 'summary' => 'You can call the OnsTopicCreate operation to create a topic.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -4275,73 +3429,122 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => [],
'parameters' => [
[
- 'name' => 'GroupId',
+ 'name' => 'Topic',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the consumer group whose dead-letter message you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test_consumer_id',
- ],
+ 'schema' => ['description' => 'The name of the topic to create. The name must meet the following requirements:'."\n"
+ ."\n"
+ .'- The name must be 3 to 64 characters long. It can contain only letters, digits, hyphens (-), and underscores (\\_).'."\n"
+ ."\n"
+ .'- The name cannot start with CID or GID. These prefixes are reserved for group IDs.'."\n"
+ ."\n"
+ .'- If the instance has a namespace, the topic name must be unique within the instance. The name cannot match an existing topic name or group ID in the same instance. However, topic names can be reused across different instances. For example, a topic in instance A can have the same name as a topic in instance B.'."\n"
+ ."\n"
+ .'- If the instance does not have a namespace, the topic name must be globally unique across all instances and regions. The name cannot match any existing topic name or group ID.'."\n"
+ ."\n"
+ .'> To check if an instance has a namespace, go to the **Instance Details** page in the ApsaraMQ for RocketMQ console. The information is in the **Basic Information** section.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
],
[
- 'name' => 'Topic',
+ 'name' => 'MessageType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the topic for which you want to reset the consumer offset.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test-mq-topic',
- ],
+ 'schema' => ['description' => 'The message type. Valid values:'."\n"
+ ."\n"
+ .'- **0**: Normal message'."\n"
+ ."\n"
+ .'- **1**: Partitionally ordered message'."\n"
+ ."\n"
+ .'- **4**: Transactional message'."\n"
+ ."\n"
+ .'- **5**: Scheduled and delayed message'."\n"
+ ."\n"
+ .'For more information, see [Message types](~~155952~~).', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '0', 'title' => ''],
],
[
- 'name' => 'Type',
+ 'name' => 'Remark',
'in' => 'query',
- 'schema' => [
- 'description' => 'The method that you want to use to clear accumulated messages. Valid values:'."\n"
- ."\n"
- .'* **0:** All accumulated messages are cleared. Messages that are not consumed are ignored. Consumers in the specified consumer group consume only messages that are published to the topic after the specified point in time.'."\n"
- ."\n"
- .'If "reconsumeLater" is returned, the accumulated messages are not cleared because the system is retrying to resend the messages to consumers.'."\n"
- ."\n"
- .'* **1:** The messages that were published to the topic before the specified point in time are cleared. You must specify a point in time. Consumers in the specified consumer group consume only the messages that are published to the topic after the specified point in time.'."\n"
- ."\n"
- .'You can specify a point in time from the earliest point in time when a message was published to the topic to the most recent point in time when a message was published to the topic. Points in time that are not within the allowed time range are invalid.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The description of the topic.', 'type' => 'string', 'required' => false, 'example' => '测试', 'title' => ''],
],
[
- 'name' => 'ResetTimestamp',
+ 'name' => 'InstanceId',
'in' => 'query',
+ 'schema' => ['description' => 'The ID of the instance where the topic resides.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_188077086902****_BXSuW61e', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The timestamp to which you want to reset the consumer offset. This parameter takes effect only when the **Type** parameter is set to **1**. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1591153871000',
+ 'description' => 'The returned data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The ID of the request. This ID is unique and can be used for troubleshooting.', 'type' => 'string', 'example' => 'B6949B58-223E-4B75-B4FE-7797C15E****', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => '%s', 'errorMessage' => '%s, please check and retry later', 'description' => ''],
+ ],
+ ],
+ 'title' => 'OnsTopicCreate',
+ 'description' => '><notice>Alibaba Cloud OpenAPI is a management API. You can use it to manage and query Alibaba Cloud resources. Integrate OpenAPI for management purposes only. Do not use it for core data links that send and receive messages because this can threaten the security of your data links.></notice>'."\n"
+ .'You can call this operation to create a topic for a new application or business extension.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => '## Create a topic in the console'."\n"
+ ."\n"
+ .'You can also create a topic in the ApsaraMQ for RocketMQ console.**** For more information, see [Manage topics](~~199535~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsTopicCreate'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'mq:CreateTopic',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo', 'validationType' => 'always'],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B6949B58-223E-4B75-B4FE-7797C15E****\\"\\n}","type":"json"}]',
+ ],
+ 'OnsTopicDelete' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'Topic',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The topic to delete.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
+ ],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance to which the consumer group belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
+ 'schema' => ['description' => 'The ID of the instance that contains the topic to delete.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_188077086902****_BXSuW61e', 'title' => ''],
],
],
'responses' => [
@@ -4349,39 +3552,58 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'D52C68F8-EC5D-4294-BFFF-1A6A25AF****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request. This is a common parameter. The ID is unique for each request. You can use this ID to locate and troubleshoot issues.', 'type' => 'string', 'example' => '4189D4A6-231A-4028-8D89-F66A76C1****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D52C68F8-EC5D-4294-BFFF-1A6A25AF****\\"\\n}","errorExample":""},{"type":"xml","example":"<OnsConsumerResetOffsetResponse>\\r\\n <RequestId>D52C68F8-EC5D-4294-BFFF-1A6A25AF****</RequestId>\\r\\n</OnsConsumerResetOffsetResponse>","errorExample":""}]',
- 'title' => 'OnsConsumerResetOffset',
- 'summary' => 'Resets a consumer offset to a specified timestamp for a consumer group.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'title' => 'OnsTopicDelete',
+ 'summary' => 'Deletes a specified topic.',
+ 'description' => '><notice>'."\n"
."\n"
- .'You can call this operation to clear accumulated messages or reset a consumer offset to a specified timestamp. You can use one of the following methods to clear accumulated messages:'."\n"
+ .'\\- Alibaba Cloud OpenAPI is a control plane API used to manage and query resources of Alibaba Cloud services. Integrate this API only on the control plane. Do not use OpenAPI in the core data link for sending and receiving messages. This can create threats to your data link.'."\n"
+ .'\\- Deleting a topic also deletes all of its subscription relationships. Call this operation with caution.'."\n"
."\n"
- .'* Clear all accumulated messages in a specified topic.'."\n"
- .'* Clear the messages that were published to the specified topic before a specified point in time.'."\n",
+ .'></notice>'."\n"
+ ."\n\n"
+ .'This operation is typically used for resource revocation, such as when an application is unpublished.'."\n"
+ .'When a topic is deleted, its resources are revoked in the background. This process is slow. Do not immediately recreate a topic after deleting it. If the deletion fails, handle the error based on the error code.',
'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => '## Reset the consumer offset of a consumer group in the console'."\n"
+ 'extraInfo' => '## Delete a topic in the console'."\n"
."\n"
- .'You can also reset the consumer offset for a consumer group in the ApsaraMQ for RocketMQ console.**** For more information, see [Reset consumer offsets](~~63390~~).',
- ],
- 'OnsConsumerTimeSpan' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can also delete a topic in the **ApsaraMQ for RocketMQ console**. For more information, see [Manage topics](~~199535~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsTopicDelete'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'mq:DeleteTopic',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4189D4A6-231A-4028-8D89-F66A76C1****\\"\\n}","type":"json"}]',
+ ],
+ 'OnsTopicList' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -4390,208 +3612,283 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREonsXSOU1Y'],
],
'parameters' => [
[
- 'name' => 'GroupId',
+ 'name' => 'Topic',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the consumer group whose reset time range you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test_group_id',
- ],
+ 'schema' => ['description' => 'Specify the topic to query. If you leave this parameter empty, all topics are queried.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
[
- 'name' => 'Topic',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The topic to which the consumer group subscribes.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test-mq_topic',
- ],
+ 'schema' => ['description' => 'The ID of the instance that contains the topics you want to query.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_188077086902****_BXSuW61e', 'title' => ''],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'Tag',
'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the instance to which the consumer group belongs.'."\n",
- 'type' => 'string',
+ 'description' => 'The list of tags that are attached to the topic. The list can contain a maximum of 20 elements.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The structure of the returned tag.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The tag key of the topic. You must specify the **Key** and **Value** parameters at the same time, or leave them both empty. If you specify both parameters, this operation queries topics that have the specified tag. If you leave both parameters empty, this operation queries all topics.'."\n"
+ ."\n"
+ .'- If you specify this parameter, its value cannot be an empty string.'."\n"
+ ."\n"
+ .'- The value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => true, 'example' => 'CartService', 'title' => ''],
+ 'Value' => ['description' => 'The tag value of the topic. You must specify the **Key** and **Value** parameters at the same time, or leave them both empty. If you specify both parameters, this operation queries topics that have the specified tag. If you leave both parameters empty, this operation queries all topics.'."\n"
+ ."\n"
+ .'- If you specify this parameter, its value can be an empty string.'."\n"
+ ."\n"
+ .'- The value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => true, 'example' => 'ServiceA', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
+ 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The returned data structure.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****',
- ],
+ 'RequestId' => ['description' => 'This is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '4A978869-7681-4529-B470-107E1379****', 'title' => ''],
'Data' => [
- 'description' => 'The data returned.'."\n",
'type' => 'object',
+ 'itemNode' => true,
'properties' => [
- 'MaxTimeStamp' => [
- 'description' => 'The point in time when the most recently stored message was published to the topic.',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570761026804',
- ],
- 'ConsumeTimeStamp' => [
- 'description' => 'The most recent point in time when a message in the topic was consumed by the customer group.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570761026400',
- ],
- 'Topic' => [
- 'description' => 'The name of the topic that you want to query.'."\n",
- 'type' => 'string',
- 'example' => 'test-mq_topic',
- ],
- 'MinTimeStamp' => [
- 'description' => 'The point in time when the earliest stored message was published to the topic.',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570701231122',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the instance to which the consumer group belongs.'."\n",
- 'type' => 'string',
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
+ 'PublishInfoDo' => [
+ 'description' => 'The list of topics in the specified instance.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The data structure of the returned topic.',
+ 'type' => 'object',
+ 'properties' => [
+ 'MessageType' => ['description' => 'The message type. Valid values:'."\n"
+ ."\n"
+ .'- **0**: Normal message'."\n"
+ ."\n"
+ .'- **1**: Partitionally ordered message'."\n"
+ ."\n"
+ .'- **2**: Globally ordered message'."\n"
+ ."\n"
+ .'- **4**: Transactional message'."\n"
+ ."\n"
+ .'- **5**: Scheduled and delayed message', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
+ 'RelationName' => ['description' => 'The relation name. Valid values are Owner, Subscribable, Publishable, and Publishable and Subscribable.', 'type' => 'string', 'example' => '授权发布/订阅', 'title' => ''],
+ 'Owner' => ['description' => 'The ID of the topic owner. This is the ID of an Alibaba Cloud account.', 'type' => 'string', 'example' => '138015630679****', 'title' => ''],
+ 'IndependentNaming' => ['description' => 'Indicates whether the instance that contains the topic has a namespace. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The instance has an independent namespace. The resource name must be unique within the instance. The resource name can be the same as a resource name in another instance.'."\n"
+ ."\n"
+ .'- **false**: The instance does not have an independent namespace. The resource name must be globally unique within and across all instances.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'Remark' => ['description' => 'The remarks.', 'type' => 'string', 'example' => '测试', 'title' => ''],
+ 'Relation' => ['description' => 'The relation ID. Valid values:'."\n"
+ ."\n"
+ .'- **1**: The owner of the topic.'."\n"
+ ."\n"
+ .'- **2**: The account can publish messages to the topic.'."\n"
+ ."\n"
+ .'- **4**: The account can subscribe to the topic.'."\n"
+ ."\n"
+ .'- **6**: The account can publish messages to and subscribe to the topic.', 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time when the topic was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570700947000', 'title' => ''],
+ 'Topic' => ['description' => 'The topic name.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'Tags' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Tag' => [
+ 'description' => 'The tags that are attached to the topic.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The definition of the tag structure.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'CartService', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'SrviceA', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'InstanceId' => ['description' => 'The ID of the instance that contains the topic.', 'type' => 'string', 'example' => 'MQ_INST_188077086902****_BXSuW61e', 'title' => ''],
+ 'ServiceStatus' => ['description' => 'The status of the asynchronous topic creation. Valid values:'."\n"
+ ."\n"
+ .'- **0**: Creating.'."\n"
+ ."\n"
+ .'- **1**: In service.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\",\\n \\"Data\\": {\\n \\"MaxTimeStamp\\": 1570761026804,\\n \\"ConsumeTimeStamp\\": 1570761026400,\\n \\"Topic\\": \\"test-mq_topic\\",\\n \\"MinTimeStamp\\": 1570701231122,\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsConsumerTimeSpanResponse>\\n<Data>\\n <MinTimeStamp>1570701231122</MinTimeStamp>\\n <ConsumeTimeStamp>1570761026400</ConsumeTimeStamp>\\n <InstanceId>MQ_INST_111111111111_DOxxxxxx</InstanceId>\\n <Topic>test-mq_topic</Topic>\\n <MaxTimeStamp>1570761026804</MaxTimeStamp>\\n</Data>\\n<RequestId>A07E3902-B92E-44A6-B6C5-6AA111111****</RequestId>\\n</OnsConsumerTimeSpanResponse>","errorExample":""}]',
- 'title' => 'OnsConsumerTimeSpan',
- 'summary' => 'Queries the time range within which you can specify a point in time to reset the consumer offset for a specified topic. The time range is from the point in time when the earliest stored message was published to the topic to the point in time when the most recently stored message was published to the topic.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
- ."\n"
- .'You can call this operation to query the point in time when the earliest stored message was published to a specified topic and the point in time when the most recently stored message was published to the specified topic. You can also call this operation to query the most recent point in time when a message in the topic was consumed. This operation is usually used with the \\*\\*OnsConsumerAccumulate\\*\\* operation to display the overview of the consumption progress.'."\n",
+ 'title' => 'OnsTopicList',
+ 'summary' => 'Queries information about all topics in your account.',
+ 'description' => '><notice>Alibaba Cloud OpenAPI is a management API that you can use to manage and query resources of Alibaba Cloud services. Integrate this API for management purposes only. Do not rely on this API for core data links that send and receive messages. This can create security threats for your data links.></notice>This operation is typically used to generate a list of resources, not to view specific details.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'OnsMessagePush' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsTopicList'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'mq:ListTopic',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4A978869-7681-4529-B470-107E1379****\\",\\n \\"Data\\": {\\n \\"PublishInfoDo\\": [\\n {\\n \\"MessageType\\": 0,\\n \\"RelationName\\": \\"授权发布/订阅\\",\\n \\"Owner\\": \\"138015630679****\\",\\n \\"IndependentNaming\\": true,\\n \\"Remark\\": \\"测试\\",\\n \\"Relation\\": 6,\\n \\"CreateTime\\": 1570700947000,\\n \\"Topic\\": \\"test\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"CartService\\",\\n \\"Value\\": \\"SrviceA\\"\\n }\\n ]\\n },\\n \\"InstanceId\\": \\"MQ_INST_188077086902****_BXSuW61e\\",\\n \\"ServiceStatus\\": 0\\n }\\n ]\\n }\\n}","type":"json"}]',
+ ],
+ 'OnsTopicStatus' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREons8BETJT'],
],
'parameters' => [
[
- 'name' => 'GroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the consumer group. For information about what a consumer group is, see [Terms](~~29533~~).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test_group_id',
- ],
- ],
- [
- 'name' => 'ClientId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the consumer client. You can call the [OnsConsumerGetConnection](~~29598~~) operation to query client IDs.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '30.5.121.**@24813#-1999745829#-1737591554#453111174894656',
- ],
- ],
- [
- 'name' => 'MsgId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the message.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '0BC1669963053CF68F733BB70396****',
- ],
- ],
- [
'name' => 'Topic',
'in' => 'query',
- 'schema' => [
- 'description' => 'The topic to which the message is pushed.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test-mq_topic',
- ],
+ 'schema' => ['description' => 'The name of the topic that you want to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for RocketMQ instance to which the specified consumer group belongs.',
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
+ 'schema' => ['description' => 'The ID of the instance that contains the topic you want to query.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_188077086902****_BXSuW61e', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The message returned.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'B8EDC90D-F726-4B9E-8BEF-F0DD25EC****',
+ 'RequestId' => ['description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '427EE49D-D762-41FB-8F3D-9BAC96C3****', 'title' => ''],
+ 'Data' => [
+ 'description' => 'The data structure of the queried topic.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Perm' => ['description' => 'Indicates the operations that you can perform on the topic. Valid values:'."\n"
+ ."\n"
+ .'- **2**: You can publish messages to the topic.'."\n"
+ ."\n"
+ .'- **4**: You can subscribe to the topic.'."\n"
+ ."\n"
+ .'- **6**: You can publish messages to and subscribe to the topic.', 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''],
+ 'LastTimeStamp' => ['description' => 'The point in time when the latest message is ready in the topic. If no message exists in the topic, the return value of this parameter is 0.'."\n"
+ ."\n"
+ .'The value of this parameter is a UNIX timestamp in milliseconds.'."\n"
+ ."\n"
+ .'For information about the definition of ready messages and ready time, see [Terms](~~29533~~).', 'type' => 'integer', 'format' => 'int64', 'example' => '1570864984364', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of messages in all partitions of the topic.', 'type' => 'integer', 'format' => 'int64', 'example' => '2310', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B8EDC90D-F726-4B9E-8BEF-F0DD25EC****\\"\\n}","errorExample":""},{"type":"xml","example":"<OnsMessagePushResponse>\\n <RequestId>B8EDC90D-F726-4B9E-8BEF-F0DD25EC****</RequestId>\\n</OnsMessagePushResponse>","errorExample":""}]',
- 'title' => 'OnsMessagePush',
- 'summary' => 'Pushes a message to a specified consumer.',
+ 'title' => 'OnsTopicStatus',
+ 'summary' => 'Queries the total number of messages in a topic and the status of the topic.',
'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
."\n"
- .'This operation can be used to check whether messages in a specified topic can be consumed by consumers in a specified consumer group. This operation obtains the body of the message that is specified by the MsgId parameter, re-encapsulates the message body to produce a new message, and then pushes the new message to a specified consumer. The content of the message that is sent to the consumer is the same as the content of the original message. They are not the same message because they use different message IDs.'."\n",
- ],
- 'OnsTrendTopicInputTps' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can determine the resource usage of a topic based on the information that is returned by this operation. The returned information includes the total number of messages in the topic and the most recent point in time when a message was published to the topic.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsTopicStatus'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryTopicStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"427EE49D-D762-41FB-8F3D-9BAC96C3****\\",\\n \\"Data\\": {\\n \\"Perm\\": 6,\\n \\"LastTimeStamp\\": 1570864984364,\\n \\"TotalCount\\": 2310\\n }\\n}","type":"json"}]',
+ ],
+ 'OnsTopicSubDetail' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -4601,79 +3898,21 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '14953',
+ 'abilityTreeNodes' => ['FEATUREons8BETJT'],
],
'parameters' => [
[
- 'name' => 'Topic',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the topic that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
- ],
- [
- 'name' => 'BeginTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The timestamp that indicates the beginning of the time range to query. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1570852800000',
- ],
- ],
- [
- 'name' => 'EndTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The timestamp that indicates the end of the time range to query. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1570868400000',
- ],
- ],
- [
- 'name' => 'Type',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The type of information that you want to query. Valid values:'."\n"
- ."\n"
- .'* **0**: the number of messages that are published to the topic during each sampling period.'."\n"
- .'* **1**: the TPS for message publishing in the topic during each sampling period.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '0',
- ],
- ],
- [
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance to which the topic you want to query belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
+ 'schema' => ['description' => 'The ID of the instance that contains the topic you want to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
[
- 'name' => 'Period',
+ 'name' => 'Topic',
'in' => 'query',
- 'schema' => [
- 'description' => 'The sampling period. Unit: minutes. Valid values: 1, 5, and 10.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '10',
- ],
+ 'schema' => ['description' => 'The name of the topic that you want to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
],
],
'responses' => [
@@ -4681,179 +3920,194 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use the ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'E213AD8A-0730-4B3D-A35A-340DA47D****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '87B6207F-2908-42B5-A134-84956DCA****', 'title' => ''],
'Data' => [
- 'description' => 'The data returned.'."\n",
+ 'description' => 'The data returned.',
'type' => 'object',
'properties' => [
- 'Records' => [
+ 'SubscriptionDataList' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'StatsDataDo' => [
- 'description' => 'The data set returned based on sampling period.'."\n",
+ 'SubscriptionDataList' => [
+ 'description' => 'The information about the online consumer groups that subscribe to the topic.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Y' => [
- 'description' => 'The Y axis. This parameter indicates the TPS for message publishing or the number of messages that are published.'."\n",
- 'type' => 'number',
- 'format' => 'float',
- 'example' => '0',
- ],
- 'X' => [
- 'description' => 'The X axis. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570852800000',
- ],
+ 'GroupId' => ['description' => 'The ID of the consumer group that subscribes to the topic.', 'type' => 'string', 'example' => 'GID_test', 'title' => ''],
+ 'MessageModel' => ['description' => 'The consumption mode. Valid values:'."\n"
+ ."\n"
+ .'- **CLUSTERING**: the clustering consumption mode'."\n"
+ ."\n"
+ .'- **BROADCASTING**: the broadcasting consumption mode'."\n"
+ ."\n"
+ .'For more information about consumption modes, see [Clustering consumption and broadcasting consumption](~~43163~~).', 'type' => 'string', 'example' => 'CLUSTERING', 'title' => ''],
+ 'SubString' => ['description' => 'The expression based on which consumers in the consumer group subscribe to the topic.', 'type' => 'string', 'example' => '*', 'title' => ''],
+ 'Online' => ['title' => '是否在线', 'description' => 'Indicates whether the consumer group is online.', 'type' => 'string', 'example' => 'true'],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'XUnit' => [
- 'description' => 'The unit of the timestamp.'."\n",
- 'type' => 'string',
- 'example' => 'time',
- ],
- 'YUnit' => [
- 'description' => 'The unit of the Y axis.'."\n",
- 'type' => 'string',
- 'example' => 'msg',
- ],
- 'Title' => [
- 'description' => 'The name of the table.'."\n",
- 'type' => 'string',
- 'example' => 'MQ_INST\\_111111111111\\_DOxxxxxx%test trend of received messages'."\n",
- ],
+ 'Topic' => ['description' => 'The topic name.', 'type' => 'string', 'example' => 'test', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E213AD8A-0730-4B3D-A35A-340DA47D****\\",\\n \\"Data\\": {\\n \\"Records\\": {\\n \\"StatsDataDo\\": [\\n {\\n \\"Y\\": 0,\\n \\"X\\": 1570852800000\\n }\\n ]\\n },\\n \\"XUnit\\": \\"ms\\",\\n \\"YUnit\\": \\"msg\\",\\n \\"Title\\": \\"TopicXXX Send Trend Chart\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsTrendTopicInputTpsResponse>\\n<Data>\\n <Records>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570852800000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570853400000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570854000000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570854600000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570860600000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570861200000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570861800000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570862400000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570863000000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570863600000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570864200000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>1</Y>\\n <X>1570864800000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570865400000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570866000000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570866600000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570867200000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570867800000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570868400000</X>\\n </StatsDataDo>\\n </Records>\\n <XUnit>time</XUnit>\\n <YUnit>msg</YUnit>\\n <Title>MQ_INST_111111111111_DOxxxxxx%test-mq_topic接收总量趋势图</Title>\\n</Data>\\n<RequestId>E213AD8A-0730-4B3D-A35A-340DA47D****</RequestId>\\n</OnsTrendTopicInputTpsResponse>","errorExample":""}]',
- 'title' => 'OnsTrendTopicInputTps',
- 'summary' => 'Queries the statistics about messages that are published to a topic within a period of time.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
- ."\n"
- .'You can call this operation to query the statistics of messages that are published to a specific topic in a production environment. You can query the number of messages that are published to the topic or the transactions per second (TPS) for message publishing within a specified time range based on your business requirements.'."\n"
+ 'title' => 'OnsTopicSubDetail',
+ 'summary' => 'Queries the online consumer groups that subscribe to a specified topic.',
+ 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
."\n"
- .'If your application publishes a small number of messages and does not publish messages at specific intervals, we recommend that you query the number of messages that are published to the topic during each sampling period because the statistics of TPS may not show a clear change trend.'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => '## Query the statistics about messages published to a topic in the console'."\n"
+ .'You can call this operation to query the online consumer groups that subscribe to a specified topic. If all consumers in a group are offline, the information about the group is not returned.',
+ 'extraInfo' => '## View consumer groups that subscribe to a topic in the console'."\n"
."\n"
- .'You can view the statistics of the messages that are published to a topic in the ApsaraMQ for RocketMQ console.**** For more information, see [Dashboard](~~288246~~).',
- ],
- 'OnsTrendGroupOutputTps' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can also view the information about the online consumer groups that subscribe to a topic in the **Message Queue for Apache RocketMQ console**. For more information, see [View subscriptions](~~90592~~).'."\n",
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsTopicSubDetail'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryTopicSubDetail',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"87B6207F-2908-42B5-A134-84956DCA****\\",\\n \\"Data\\": {\\n \\"SubscriptionDataList\\": {\\n \\"SubscriptionDataList\\": [\\n {\\n \\"GroupId\\": \\"GID_test\\",\\n \\"MessageModel\\": \\"CLUSTERING\\",\\n \\"SubString\\": \\"*\\",\\n \\"Online\\": \\"true\\"\\n }\\n ]\\n },\\n \\"Topic\\": \\"test\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'OnsTopicUpdate' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => true,
+ 'systemTags' => [],
'parameters' => [
[
- 'name' => 'GroupId',
+ 'name' => 'Topic',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the consumer group that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test',
- ],
+ 'schema' => ['description' => 'The name of the topic that you want to configure.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
],
[
- 'name' => 'Topic',
+ 'name' => 'Perm',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the topic that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The read and write mode of the topic. Valid values:'."\n"
+ ."\n"
+ .'- **6**: Both read and write operations are supported.'."\n"
+ .'- **4**: Write operations are prohibited.'."\n"
+ .'- **2**: Read operations are prohibited.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '6', 'title' => ''],
],
[
- 'name' => 'BeginTime',
+ 'name' => 'InstanceId',
'in' => 'query',
+ 'schema' => ['description' => 'The ID of the instance to which the topic that you want to configure belongs.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The timestamp that indicates the beginning of the time range to query. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1570852800000',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The common parameter. Each request has a unique ID that is used to troubleshoot and locate issues.', 'type' => 'string', 'example' => '81979ADA-4A78-4F64-9DEC-5700446D****', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- [
- 'name' => 'EndTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The timestamp that indicates the end of the time range to query. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1570868400000',
+ ],
+ 'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。'],
+ 'title' => 'Configure the read and write mode of a topic',
+ 'summary' => 'Calls the OnsTopicUpdate operation to configure the read and write mode of a topic.',
+ 'description' => '><notice>The OpenAPI provided by Alibaba Cloud is a management API used to manage and query resources of Alibaba Cloud services. It is only recommended for integration in management scenarios. Do not rely on OpenAPI in the core data path of message sending and receiving. Otherwise, risks may be introduced to the link.></notice>This operation is generally used in scenarios where read or write operations are prohibited.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsTopicUpdate'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'mq:UpdateTopic',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"81979ADA-4A78-4F64-9DEC-5700446D****\\"\\n}","type":"json"}]',
+ ],
+ 'OnsTraceGetResult' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'Type',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get'],
+ 'parameters' => [
+ [
+ 'name' => 'QueryId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of information that you want to query. Valid values:'."\n"
- ."\n"
- .'* **0**: the number of messages that are consumed during each sampling period.'."\n"
- .'* **1**: the TPS for message consumption during each sampling period.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '0',
- ],
+ 'schema' => ['description' => 'The ID of the task for which to fetch the message trace query results.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '272967562652883649157096685****', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance to which the consumer group you want to query belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
+ 'schema' => ['description' => 'The ID of the instance that contains the message you want to query.', 'type' => 'string', 'required' => false, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
[
- 'name' => 'Period',
+ 'name' => 'Topic',
'in' => 'query',
- 'schema' => [
- 'description' => 'The sampling period. Unit: minutes. Valid values: 1, 5, and 10.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '10',
- ],
+ 'schema' => ['description' => 'The topic of the message you want to query.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
],
'responses' => [
@@ -4861,89 +4115,189 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use the ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'CE57AEDC-8FD2-43ED-8E3B-1F878077****',
- ],
- 'Data' => [
- 'description' => 'The data returned.'."\n",
+ 'RequestId' => ['description' => 'The ID of the request. This is a common parameter. Each request has a unique ID that you can use to troubleshoot issues.', 'type' => 'string', 'example' => '84EE24D2-851F-40D6-B99E-4D6AB909****', 'title' => ''],
+ 'TraceData' => [
+ 'description' => 'The details of the query task results.',
'type' => 'object',
'properties' => [
- 'Records' => [
+ 'Status' => ['description' => 'The result of the query task. Valid values:'."\n"
+ ."\n"
+ .'- **finish**: The query is complete.'."\n"
+ ."\n"
+ .'- **working**: The query is in progress.'."\n"
+ ."\n"
+ .'- **removed**: The task is deleted.', 'type' => 'string', 'example' => 'finish', 'title' => ''],
+ 'MsgKey' => ['description' => 'The message key that corresponds to the query task.', 'type' => 'string', 'example' => 'ORDERID_100', 'title' => ''],
+ 'UpdateTime' => ['description' => 'The last update time of the query task.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570966877000', 'title' => ''],
+ 'CreateTime' => ['description' => 'The creation time of the query task.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570966857000', 'title' => ''],
+ 'Topic' => ['description' => 'The topic of the query task.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'UserId' => ['description' => 'The ID of the user who initiated the query.', 'type' => 'string', 'example' => '27296756265288****', 'title' => ''],
+ 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
+ 'MsgId' => ['description' => 'The message ID that corresponds to the query task.', 'type' => 'string', 'example' => '1E05791C117818B4AAC23B1BB0CE****', 'title' => ''],
+ 'TraceList' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'StatsDataDo' => [
- 'description' => 'The data set returned based on sampling period.'."\n",
+ 'TraceMapDo' => [
+ 'description' => 'The list of matched message traces for the query task.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Y' => [
- 'description' => 'The Y axis. This parameter indicates the TPS for message consumption or the number of messages that are consumed.'."\n",
- 'type' => 'number',
- 'format' => 'float',
- 'example' => '0',
- ],
- 'X' => [
- 'description' => 'The X axis. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570867800000',
+ 'Status' => ['description' => 'The sending status. Valid values:'."\n"
+ ."\n"
+ .'- **SEND\\_SUCCESS**: The message was sent successfully.'."\n"
+ ."\n"
+ .'- **SEND\\_FAILED**: The message failed to be sent.'."\n"
+ ."\n"
+ .'- **SEND\\_ROLLBACK**: The transactional message was rolled back.'."\n"
+ ."\n"
+ .'- **SEND\\_UNKNOWN**: The transactional message was not committed.'."\n"
+ ."\n"
+ .'- **SEND\\_DELAY**: The scheduled or delayed message is waiting to be sent.', 'type' => 'string', 'example' => 'SEND_SUCCESS', 'title' => ''],
+ 'MsgKey' => ['description' => 'The message key.', 'type' => 'string', 'example' => 'ORDERID_100', 'title' => ''],
+ 'PubTime' => ['description' => 'The time when the message was sent.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570850870478', 'title' => ''],
+ 'SubList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SubMapDo' => [
+ 'description' => 'The list of consumption traces for the message.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ClientList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SubClientInfoDo' => [
+ 'description' => 'The list of consumption records for the client that belongs to the group ID.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => ['description' => 'The consumption status. Valid values:'."\n"
+ ."\n"
+ .'- **CONSUME\\_FAILED**: The message failed to be consumed.'."\n"
+ ."\n"
+ .'- **CONSUME\\_SUCCESS**: The message was consumed successfully.'."\n"
+ ."\n"
+ .'- **CONSUME\\_NOT\\_RETURN**: The consumption result was not returned.'."\n"
+ ."\n"
+ .'- **SEND\\_UNKNOWN**: The transactional message was not committed.'."\n"
+ ."\n"
+ .'- **SEND\\_DELAY**: The scheduled or delayed message is waiting to be sent.', 'type' => 'string', 'example' => 'CONSUME_SUCCESS', 'title' => ''],
+ 'SubTime' => ['description' => 'The UNIX timestamp for when the consumption started.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570851590511', 'title' => ''],
+ 'ReconsumeTimes' => ['description' => 'The number of delivery attempts for this consumption.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'SubGroupName' => ['description' => 'The group ID to which the client belongs.', 'type' => 'string', 'example' => 'GID_test', 'title' => ''],
+ 'ClientHost' => ['description' => 'The address of the consumer client.', 'type' => 'string', 'example' => '30.5.**.**', 'title' => ''],
+ 'CostTime' => ['description' => 'The time taken for this consumption, in milliseconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '43', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'FailCount' => ['description' => 'The number of consumption failures for the group ID.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
+ 'SubGroupName' => ['description' => 'The group ID of the consumer.', 'type' => 'string', 'example' => 'GID_test', 'title' => ''],
+ 'SuccessCount' => ['description' => 'The number of successful consumptions for the group ID.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'Topic' => ['description' => 'The topic of the message.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'CostTime' => ['description' => 'The time taken to send the message, in milliseconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '24', 'title' => ''],
+ 'Tag' => ['description' => 'The message tag.', 'type' => 'string', 'example' => 'TagA', 'title' => ''],
+ 'MsgId' => ['description' => 'The message ID.', 'type' => 'string', 'example' => '0BC1F01800002A9F000000531246****', 'title' => ''],
+ 'PubGroupName' => ['description' => 'The group ID configured on the producer client.', 'type' => 'string', 'example' => 'GID_test', 'title' => ''],
+ 'BornHost' => ['description' => 'The address of the producer client.', 'type' => 'string', 'example' => '30.5.**.**', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'XUnit' => [
- 'description' => 'The unit of the timestamp.'."\n",
- 'type' => 'string',
- 'example' => 'time',
- ],
- 'YUnit' => [
- 'description' => 'The total number of messages.'."\n",
- 'type' => 'string',
- 'example' => 'msg',
- ],
- 'Title' => [
- 'description' => 'The name of the table.'."\n",
- 'type' => 'string',
- 'example' => 'MQ_INST\\_111111111111\\_DOxxxxxx%test@MQ_INST\\_111111111111\\_DOxxxxxx%GID_test trend chart of delivered messages'."\n",
- ],
+ 'QueryId' => ['description' => 'The ID of the query task.', 'type' => 'string', 'example' => '272967562652883649157096685****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CE57AEDC-8FD2-43ED-8E3B-1F878077****\\",\\n \\"Data\\": {\\n \\"Records\\": {\\n \\"StatsDataDo\\": [\\n {\\n \\"Y\\": 0,\\n \\"X\\": 1570867800000\\n }\\n ]\\n },\\n \\"XUnit\\": \\"ms\\",\\n \\"YUnit\\": \\"msg\\",\\n \\"Title\\": \\"TopicXXX@GID_XXXReceive Trend Chart\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsTrendGroupOutputTpsResponse>\\n<Data>\\n <Records>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570852800000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570853400000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570854000000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570854600000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570855200000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570860600000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570861200000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570861800000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570862400000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570863000000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570863600000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570864200000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>1</Y>\\n <X>1570864800000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570865400000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570866000000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570866600000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570867200000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570867800000</X>\\n </StatsDataDo>\\n <StatsDataDo>\\n <Y>0</Y>\\n <X>1570868400000</X>\\n </StatsDataDo>\\n </Records>\\n <XUnit>time</XUnit>\\n <YUnit>数量</YUnit>\\n <Title>MQ_INST_111111111111_DOxxxxxx%test@MQ_INST_111111111111_DOxxxxxx%GID_test投递总量趋势图</Title>\\n</Data>\\n<RequestId>CE57AEDC-8FD2-43ED-8E3B-1F878077****</RequestId>\\n</OnsTrendGroupOutputTpsResponse>","errorExample":""}]',
- 'title' => 'OnsTrendGroupOutputTps',
- 'summary' => 'Queries the statistics about messages that are consumed by a consumer group within a specific period of time.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'title' => 'OnsTraceGetResult',
+ 'summary' => 'Fetches the results of a message trace query task using its task ID.',
+ 'description' => '><notice>'."\n"
+ ."\n"
+ .'Alibaba Cloud OpenAPI is a management API. Use it to manage and query resources for Alibaba Cloud services. Integrate this API for management purposes only. Do not use this API on the core data link for sending and receiving messages because this can create threats to your data link.'."\n"
."\n"
- .'You can call this operation to query the following statistics that are collected in a production environment:'."\n"
+ .'></notice>'."\n"
."\n"
- .'* The number of messages that are consumed during each sampling period'."\n"
- .'* The transactions per second (TPS) for message consumption during each sampling period'."\n"
+ .'- After you create a message trace query task by calling the [OnsTraceQueryByMsgId](~~445322~~) or [OnsTraceQueryByMsgKey](~~445324~~) operation, you receive a task ID. You can then call this operation to retrieve the details of the message trace. The task ID is the **QueryId** that is returned by the creation operation.'."\n"
."\n"
- .'If your application consumes a small number of messages and does not consume messages at specific intervals, we recommend that you query the number of messages that are consumed during each sampling period because the statistics of TPS may not show a clear change trend.'."\n",
+ .'- Message trace query tasks are time-consuming. If you call this operation immediately after creating a task, the query may return an empty result. If this occurs, wait for a short period and then retry the call.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## View the statistics about message consumption in the console'."\n"
+ 'extraInfo' => '## Query the trace of a message in the console'."\n"
."\n"
- .'You can also view the statistics about message consumption by consumers in a consumer group in the ApsaraMQ for RocketMQ console.**** For more information, see [Dashboard](~~288246~~).',
+ .'You can also query the trace of a message in the ApsaraMQ for RocketMQ console.**** For more information, see [Query a message trace](~~43357~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsTraceGetResult'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:GetTraceResult',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo'],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"84EE24D2-851F-40D6-B99E-4D6AB909****\\",\\n \\"TraceData\\": {\\n \\"Status\\": \\"finish\\",\\n \\"MsgKey\\": \\"ORDERID_100\\",\\n \\"UpdateTime\\": 1570966877000,\\n \\"CreateTime\\": 1570966857000,\\n \\"Topic\\": \\"test\\",\\n \\"UserId\\": \\"27296756265288****\\",\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\",\\n \\"MsgId\\": \\"1E05791C117818B4AAC23B1BB0CE****\\",\\n \\"TraceList\\": {\\n \\"TraceMapDo\\": [\\n {\\n \\"Status\\": \\"SEND_SUCCESS\\",\\n \\"MsgKey\\": \\"ORDERID_100\\",\\n \\"PubTime\\": 1570850870478,\\n \\"SubList\\": {\\n \\"SubMapDo\\": [\\n {\\n \\"ClientList\\": {\\n \\"SubClientInfoDo\\": [\\n {\\n \\"Status\\": \\"CONSUME_SUCCESS\\",\\n \\"SubTime\\": 1570851590511,\\n \\"ReconsumeTimes\\": 1,\\n \\"SubGroupName\\": \\"GID_test\\",\\n \\"ClientHost\\": \\"30.5.**.**\\",\\n \\"CostTime\\": 43\\n }\\n ]\\n },\\n \\"FailCount\\": 0,\\n \\"SubGroupName\\": \\"GID_test\\",\\n \\"SuccessCount\\": 1\\n }\\n ]\\n },\\n \\"Topic\\": \\"test\\",\\n \\"CostTime\\": 24,\\n \\"Tag\\": \\"TagA\\",\\n \\"MsgId\\": \\"0BC1F01800002A9F000000531246****\\",\\n \\"PubGroupName\\": \\"GID_test\\",\\n \\"BornHost\\": \\"30.5.**.**\\"\\n }\\n ]\\n },\\n \\"QueryId\\": \\"272967562652883649157096685****\\"\\n }\\n}","type":"json"}]',
],
'OnsTraceQueryByMsgId' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -4951,66 +4305,32 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'Topic',
'in' => 'query',
- 'schema' => [
- 'description' => 'The topic that contains the message you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The topic of the message to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
],
[
'name' => 'MsgId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the message that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1E05791C117818B4AAC23B1BB0CE****',
- ],
+ 'schema' => ['description' => 'The ID of the message to query. This is the message ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1E05791C117818B4AAC23B1BB0CE****', 'title' => ''],
],
[
'name' => 'BeginTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The beginning of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1570852800000',
- ],
+ 'schema' => ['description' => 'The start timestamp of the query time range. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1570852800000', 'title' => ''],
],
[
'name' => 'EndTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The end of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1570968000000',
- ],
+ 'schema' => ['description' => 'The end timestamp of the query time range. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1570968000000', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for RocketMQ instance that contains the specified topic.',
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
+ 'schema' => ['description' => 'The ID of the instance to which the topic of the message belongs.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
],
'responses' => [
@@ -5018,41 +4338,56 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'B93332A3-160D-404F-880F-1F8736D1****',
- ],
- 'QueryId' => [
- 'description' => 'The ID of the query task. You can call the [OnsTraceGetResult](~~59832~~) operation to query the details of the message trace based on the task ID.'."\n",
- 'type' => 'string',
- 'example' => '272967562652883649157096685****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request. This is a common parameter. Each request has a unique ID. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => 'B93332A3-160D-404F-880F-1F8736D1****', 'title' => ''],
+ 'QueryId' => ['description' => 'The ID of the query task. Call the [OnsTraceGetResult](~~59832~~) operation with this task ID to get the detailed results.', 'type' => 'string', 'example' => '272967562652883649157096685****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B93332A3-160D-404F-880F-1F8736D1****\\",\\n \\"QueryId\\": \\"272967562652883649157096685****\\"\\n}","errorExample":""},{"type":"xml","example":"<OnsTraceQueryByMsgIdResponse>\\n<RequestId>B93332A3-160D-404F-880F-1F8736D1039F</RequestId>\\n<QueryId>272967562652883649157096685****</QueryId>\\n</OnsTraceQueryByMsgIdResponse>","errorExample":""}]',
'title' => 'OnsTraceQueryByMsgId',
- 'summary' => 'Creates a task to query the trace of a message based on the message ID and the name of the topic in which the message is stored. The task ID is returned.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'summary' => 'Creates a trace query task based on a topic and a message ID, and returns the task ID. You can then call the OnsTraceGetResult operation with the returned task ID to retrieve the detailed message trace.',
+ 'description' => '><notice>'."\n"
+ ."\n"
+ .'Alibaba Cloud OpenAPI are control-plane APIs for managing and querying Alibaba Cloud service resources. Integrate these APIs only on the control plane. Do not use OpenAPI in the core data link for sending and receiving messages because this can introduce threats to your data link.'."\n"
."\n"
- .'If you want to query the trace of a message based on the message ID, you can call this operation to create a query task. After you obtain the task ID, you can call the [OnsTraceGetResult](~~59832~~) operation to query the details of the message trace based on the task ID.'."\n",
+ .'></notice>',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => '## Create a task to query a message trace in the console'."\n"
."\n"
.'You can also create a task to query the trace of a message in the ApsaraMQ for RocketMQ console.**** For more information, see [Query a message](~~29540~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsTraceQueryByMsgId'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryTrace',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B93332A3-160D-404F-880F-1F8736D1****\\",\\n \\"QueryId\\": \\"272967562652883649157096685****\\"\\n}","type":"json"}]',
],
'OnsTraceQueryByMsgKey' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -5060,66 +4395,32 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'Topic',
'in' => 'query',
- 'schema' => [
- 'description' => 'The topic that contains the message you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The topic of the message to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
],
[
'name' => 'MsgKey',
'in' => 'query',
- 'schema' => [
- 'description' => 'The key of the message that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ORDERID_100',
- ],
+ 'schema' => ['description' => 'The message key of the message to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ORDERID_100', 'title' => ''],
],
[
'name' => 'BeginTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The start of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1570852800000',
- ],
+ 'schema' => ['description' => 'The beginning of the time range to query. The value is a UNIX timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1570852800000', 'title' => ''],
],
[
'name' => 'EndTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The end of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1570968000000',
- ],
+ 'schema' => ['description' => 'The end of the time range to query. The value is a UNIX timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1570968000000', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for RocketMQ instance that contains the specified topic.',
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
+ 'schema' => ['description' => 'The ID of the instance to which the topic of the message belongs.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
],
'responses' => [
@@ -5127,41 +4428,56 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'F8654231-122A-4DBD-801F-38E35538****',
- ],
- 'QueryId' => [
- 'description' => 'The ID of the query task. You can call the [OnsTraceGetResult](~~59832~~) operation to query the details of the message trace based on the task ID.'."\n",
- 'type' => 'string',
- 'example' => '272967562652883649157096685****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request. This is a common parameter. Each request has a unique ID that you can use to troubleshoot and locate issues.', 'type' => 'string', 'example' => 'F8654231-122A-4DBD-801F-38E35538****', 'title' => ''],
+ 'QueryId' => ['description' => 'The ID of the query task. You must call the [OnsTraceGetResult](~~59832~~) operation with this task ID to obtain the detailed results.', 'type' => 'string', 'example' => '272967562652883649157096685****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F8654231-122A-4DBD-801F-38E35538****\\",\\n \\"QueryId\\": \\"272967562652883649157096685****\\"\\n}","errorExample":""},{"type":"xml","example":"<OnsTraceQueryByMsgKeyResponse>\\n<RequestId>F8654231-122A-4DBD-801F-38E35538****</RequestId>\\n<QueryId>272967562652883649157096685****</QueryId>\\n</OnsTraceQueryByMsgKeyResponse>","errorExample":""}]',
'title' => 'OnsTraceQueryByMsgKey',
- 'summary' => 'Creates a trace query task based on the topic name and message key and obtains the ID of the query task.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'summary' => 'Creates a trace query task based on a topic name and a message key and returns the ID of the query task. You must then call the OnsTraceGetResult operation and pass the returned query task ID to retrieve the detailed results of the message trace.',
+ 'description' => '><notice>'."\n"
."\n"
- .'If you want to query the trace of a message based on the message key that you obtained, you can call this operation to create a query task. After you obtain the task ID, you can call the OnsTraceGetResult operation to query the details of the message trace based on the task ID.'."\n",
+ .'The OpenAPI provided by Alibaba Cloud is a control plane API used to manage and query resources for Alibaba Cloud services. Use this API for control plane integration only. Do not use OpenAPI in the core data link to send or receive messages. Otherwise, this may introduce threats to the data link.'."\n"
+ ."\n"
+ .'></notice>',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => '## Create a task to query the trace of a message in the console'."\n"
."\n"
.'You can also create a task to query the trace of a message in the ApsaraMQ for RocketMQ console.**** For more information, see [Query a message](~~29540~~).',
- ],
- 'OnsTraceGetResult' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsTraceQueryByMsgKey'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryTrace',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F8654231-122A-4DBD-801F-38E35538****\\",\\n \\"QueryId\\": \\"272967562652883649157096685****\\"\\n}","type":"json"}]',
+ ],
+ 'OnsTrendGroupOutputTps' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -5169,40 +4485,46 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'QueryId',
+ 'name' => 'GroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the task that was created to query the trace of the message.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '272967562652883649157096685****',
- ],
+ 'schema' => ['description' => 'The ID of the group to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test', 'title' => ''],
+ ],
+ [
+ 'name' => 'Topic',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the topic to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'BeginTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The beginning of the time range to query. This value is a UNIX timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1570852800000', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The end of the time range to query. This value is a UNIX timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1570868400000', 'title' => ''],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The type of information to query. Valid values:'."\n"
+ ."\n"
+ .'- **0**: The statistical curve of the total number of consumed messages.'."\n"
+ ."\n"
+ .'- **1**: The statistical curve of the TPS for message consumption.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '0', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance to which the message you want to query belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
+ 'schema' => ['description' => 'The ID of the instance to which the group belongs.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
[
- 'name' => 'Topic',
+ 'name' => 'Period',
'in' => 'query',
- 'schema' => [
- 'description' => 'The topic to which the message belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The sampling period. Unit: minutes. Valid values: 1, 5, and 10.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10', 'title' => ''],
],
],
'responses' => [
@@ -5210,248 +4532,93 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '84EE24D2-851F-40D6-B99E-4D6AB909****',
- ],
- 'TraceData' => [
- 'description' => 'The details of the message trace.'."\n",
+ 'RequestId' => ['description' => 'The ID of the request. This is a common parameter. Each request has a unique ID that you can use to troubleshoot issues.', 'type' => 'string', 'example' => 'CE57AEDC-8FD2-43ED-8E3B-1F878077****', 'title' => ''],
+ 'Data' => [
+ 'description' => 'The returned data.',
'type' => 'object',
'properties' => [
- 'Status' => [
- 'description' => 'The status of the task. Valid values:'."\n"
- ."\n"
- .'* **finish**: The task is complete.'."\n"
- .'* **working**: The task is in progress.'."\n"
- .'* **removed**: The task is deleted.'."\n",
- 'type' => 'string',
- 'example' => 'finish',
- ],
- 'MsgKey' => [
- 'description' => 'The key of the message that is queried.'."\n",
- 'type' => 'string',
- 'example' => 'ORDERID_100',
- ],
- 'UpdateTime' => [
- 'description' => 'The most recent point in time when the task was updated.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570966877000',
- ],
- 'CreateTime' => [
- 'description' => 'The point in time when the task was created.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570966857000',
- ],
- 'Topic' => [
- 'description' => 'The topic in which the message is stored.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'UserId' => [
- 'description' => 'The ID of the user who created the task.'."\n",
- 'type' => 'string',
- 'example' => '27296756265288****',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the instance'."\n",
- 'type' => 'string',
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
- 'MsgId' => [
- 'description' => 'The ID of the message that is queried.'."\n",
- 'type' => 'string',
- 'example' => '1E05791C117818B4AAC23B1BB0CE****',
- ],
- 'TraceList' => [
+ 'Records' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'TraceMapDo' => [
- 'description' => 'The details of the message trace.'."\n",
+ 'StatsDataDo' => [
+ 'description' => 'The data points.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Status' => [
- 'description' => 'Indicates whether the message is sent. Valid values:'."\n"
- ."\n"
- .'* **SEND_SUCCESS**: The message is sent.'."\n"
- .'* **SEND_FAILED**: The message failed to be sent.'."\n"
- .'* **SEND_ROLLBACK:** The message is a transactional message and is rolled back.'."\n"
- .'* **SEND_UNKNOWN:** The message is a transactional message and is not committed.'."\n"
- .'* **SEND_DELAY:** The message is a scheduled or delayed message and is waiting to be consumed at the specified point in time.'."\n",
- 'type' => 'string',
- 'example' => 'SEND_SUCCESS',
- ],
- 'MsgKey' => [
- 'description' => 'The key of the message.'."\n",
- 'type' => 'string',
- 'example' => 'ORDERID_100',
- ],
- 'PubTime' => [
- 'description' => 'The point in time when the message was sent.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570850870478',
- ],
- 'SubList' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'SubMapDo' => [
- 'description' => 'The consumption traces of the message.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'ClientList' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'SubClientInfoDo' => [
- 'description' => 'The information about message consumption by consumers in the group.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Status' => [
- 'description' => 'Indicates whether the message is consumed. Valid values:'."\n"
- ."\n"
- .'* **CONSUME_FAILED**: The message failed to be consumed.'."\n"
- .'* **CONSUME_SUCCESS**: The message is consumed.'."\n"
- .'* **CONSUME_NOT_RETURN:** No responses are returned.'."\n"
- .'* **SEND_UNKNOWN:** The message is a transactional message and is not committed.'."\n"
- .'* **SEND_DELAY:** The message is a scheduled or delayed message and is waiting to be consumed at the specified point in time.'."\n",
- 'type' => 'string',
- 'example' => 'CONSUME_SUCCESS',
- ],
- 'SubTime' => [
- 'description' => 'The earliest point in time when the message was consumed.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570851590511',
- ],
- 'ReconsumeTimes' => [
- 'description' => 'The number of attempts that the ApsaraMQ for RocketMQ broker tried to send the message to the consumer.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'SubGroupName' => [
- 'description' => 'The ID of the group that contains the consumer.'."\n",
- 'type' => 'string',
- 'example' => 'GID_test',
- ],
- 'ClientHost' => [
- 'description' => 'The address of the consumer.'."\n",
- 'type' => 'string',
- 'example' => '30.5.**.**',
- ],
- 'CostTime' => [
- 'description' => 'The period of time that the system took to consume the message. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '43',
- ],
- ],
- ],
- ],
- ],
- ],
- 'FailCount' => [
- 'description' => 'The number of consumption failures.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '0',
- ],
- 'SubGroupName' => [
- 'description' => 'The ID of the consumer group.'."\n",
- 'type' => 'string',
- 'example' => 'GID_test',
- ],
- 'SuccessCount' => [
- 'description' => 'The number of successful consumptions.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- ],
- ],
- ],
- ],
- ],
- 'Topic' => [
- 'description' => 'The topic to which the message belongs.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'CostTime' => [
- 'description' => 'The period of time that the system took to send the message. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '24',
- ],
- 'Tag' => [
- 'description' => 'The tag of the message.'."\n",
- 'type' => 'string',
- 'example' => 'TagA',
- ],
- 'MsgId' => [
- 'description' => 'The ID of the message.'."\n",
- 'type' => 'string',
- 'example' => '0BC1F01800002A9F000000531246****',
- ],
- 'PubGroupName' => [
- 'description' => 'The ID of the group that contains the producer.'."\n",
- 'type' => 'string',
- 'example' => 'GID_test',
- ],
- 'BornHost' => [
- 'description' => 'The address of the producer that generated the message.'."\n",
- 'type' => 'string',
- 'example' => '30.5.**.**',
- ],
+ 'Y' => ['description' => 'The y-axis, which indicates the data value. The data can be the TPS or the total number of messages.', 'type' => 'number', 'format' => 'float', 'example' => '0', 'title' => ''],
+ 'X' => ['description' => 'The x-axis, which indicates the timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570867800000', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'QueryId' => [
- 'description' => 'The ID of the task.'."\n",
- 'type' => 'string',
- 'example' => '272967562652883649157096685****',
- ],
+ 'XUnit' => ['description' => 'The unit of the x-axis. The time is measured in ms.', 'type' => 'string', 'example' => 'ms', 'title' => ''],
+ 'YUnit' => ['description' => 'The unit of the y-axis. The value can be the number of consumed messages (msg) or the TPS for message consumption (msg/min).', 'type' => 'string', 'example' => 'msg', 'title' => ''],
+ 'Title' => ['description' => 'The name of the table.', 'type' => 'string', 'example' => 'TopicXXX@GID_XXXReceive Trend Chart', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"84EE24D2-851F-40D6-B99E-4D6AB909****\\",\\n \\"TraceData\\": {\\n \\"Status\\": \\"finish\\",\\n \\"MsgKey\\": \\"ORDERID_100\\",\\n \\"UpdateTime\\": 1570966877000,\\n \\"CreateTime\\": 1570966857000,\\n \\"Topic\\": \\"test\\",\\n \\"UserId\\": \\"27296756265288****\\",\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\",\\n \\"MsgId\\": \\"1E05791C117818B4AAC23B1BB0CE****\\",\\n \\"TraceList\\": {\\n \\"TraceMapDo\\": [\\n {\\n \\"Status\\": \\"SEND_SUCCESS\\",\\n \\"MsgKey\\": \\"ORDERID_100\\",\\n \\"PubTime\\": 1570850870478,\\n \\"SubList\\": {\\n \\"SubMapDo\\": [\\n {\\n \\"ClientList\\": {\\n \\"SubClientInfoDo\\": [\\n {\\n \\"Status\\": \\"CONSUME_SUCCESS\\",\\n \\"SubTime\\": 1570851590511,\\n \\"ReconsumeTimes\\": 1,\\n \\"SubGroupName\\": \\"GID_test\\",\\n \\"ClientHost\\": \\"30.5.**.**\\",\\n \\"CostTime\\": 43\\n }\\n ]\\n },\\n \\"FailCount\\": 0,\\n \\"SubGroupName\\": \\"GID_test\\",\\n \\"SuccessCount\\": 1\\n }\\n ]\\n },\\n \\"Topic\\": \\"test\\",\\n \\"CostTime\\": 24,\\n \\"Tag\\": \\"TagA\\",\\n \\"MsgId\\": \\"0BC1F01800002A9F000000531246****\\",\\n \\"PubGroupName\\": \\"GID_test\\",\\n \\"BornHost\\": \\"30.5.**.**\\"\\n }\\n ]\\n },\\n \\"QueryId\\": \\"272967562652883649157096685****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsTraceGetResultResponse>\\n<TraceData>\\n <MsgId>1E05791C117818B4AAC23B1BB0CE****</MsgId>\\n <Status>finish</Status>\\n <TraceList>\\n <TraceMapDo>\\n <BornHost>30.5.**.**</BornHost>\\n <MsgId>0BC1F01800002A9F000000531246****</MsgId>\\n <Status>SEND_SUCCESS</Status>\\n <CostTime>24</CostTime>\\n <PubTime>1570850870478</PubTime>\\n <Tag>TagA</Tag>\\n <Topic>test</Topic>\\n <MsgKey>ORDERID_100</MsgKey>\\n <PubGroupName>GID_test</PubGroupName>\\n <SubList>\\n <SubMapDo>\\n <ClientList>\\n <SubClientInfoDo>\\n <Status>CONSUME_SUCCESS</Status>\\n <CostTime>43</CostTime>\\n <ClientHost>30.5.**.**</ClientHost>\\n <ReconsumeTimes>1</ReconsumeTimes>\\n <SubTime>1570851590511</SubTime>\\n <SubGroupName>GID_test</SubGroupName>\\n </SubClientInfoDo>\\n </ClientList>\\n <SuccessCount>1</SuccessCount>\\n <FailCount>0</FailCount>\\n <SubGroupName>GID_test</SubGroupName>\\n </SubMapDo>\\n </SubList>\\n </TraceMapDo>\\n </TraceList>\\n <CreateTime>1570966857000</CreateTime>\\n <InstanceId>MQ_INST_111111111111_DOxxxxxx</InstanceId>\\n <Topic>test</Topic>\\n <UpdateTime>1570966877000</UpdateTime>\\n <QueryId>272967562652883649157096685****</QueryId>\\n <UserId>27296756265288****</UserId>\\n</TraceData>\\n<RequestId>84EE24D2-851F-40D6-B99E-4D6AB909****</RequestId>\\n</OnsTraceGetResultResponse>","errorExample":""}]',
- 'title' => 'OnsTraceGetResult',
- 'summary' => 'The tracing results are queried by specifying the ID of a trace query task.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'title' => 'OnsTrendGroupOutputTps',
+ 'summary' => 'Queries the message consumption statistics for a specified group ID over a period of time.',
+ 'description' => '><notice>Alibaba Cloud OpenAPI is a control plane API used to manage and query resources of Alibaba Cloud services. You can integrate OpenAPI only on the control plane. Do not use OpenAPI for the core data link of message sending and receiving because this can pose a threat to the link.></notice>When you generate consumption data reports in a production environment, you can use this operation to query the following statistics for a specified group ID over a period of time:'."\n"
."\n"
- .'* Before you call this operation to query the details of the trace of a message, you must create a task to query the trace of the message based on the message ID or message key and obtain the task ID. Then, you can call this operation to query the details of the message trace based on the task ID. You can call the [OnsTraceQueryByMsgId](~~445322~~) operation or the [OnsTraceQueryByMsgKey](~~445324~~) operation to create a task to query the trace of the message and obtain the task ID from the **QueryId** response parameter.'."\n"
- .'* A trace query task is time-consuming. If you call this operation to query the details immediately after you create a trace query task, the results may be empty. In this case, we recommend that you try again later.',
+ .'- A statistical curve of the total number of consumed messages'."\n"
+ ."\n"
+ .'- A statistical curve of the Transaction Per Second (TPS) for message consumption'."\n"
+ ."\n"
+ .'If your application has a small and uneven volume of messages, querying by TPS may not return meaningful data. In this case, you can query the total number of consumed messages.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## Query the trace of a message in the console'."\n"
+ 'extraInfo' => '## View the statistics about message consumption in the console'."\n"
."\n"
- .'You can also query the trace of a message in the ApsaraMQ for RocketMQ console.**** For more information, see [Query a message trace](~~43357~~).',
- ],
- 'OnsDLQMessagePageQueryByGroupId' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can also view the statistics about message consumption by consumers in a consumer group in the ApsaraMQ for RocketMQ console.**** For more information, see [Dashboard](~~288246~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '15', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsTrendGroupOutputTps'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryTrendGroupOutputTps',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'conditional'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CE57AEDC-8FD2-43ED-8E3B-1F878077****\\",\\n \\"Data\\": {\\n \\"Records\\": {\\n \\"StatsDataDo\\": [\\n {\\n \\"Y\\": 0,\\n \\"X\\": 1570867800000\\n }\\n ]\\n },\\n \\"XUnit\\": \\"ms\\",\\n \\"YUnit\\": \\"msg\\",\\n \\"Title\\": \\"TopicXXX@GID_XXXReceive Trend Chart\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'OnsTrendTopicInputTps' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -5459,88 +4626,40 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'GroupId',
+ 'name' => 'Topic',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the consumer group whose dead-letter messages you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test_group_id',
- ],
+ 'schema' => ['description' => 'The name of the topic that you want to query.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
],
[
'name' => 'BeginTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The beginning of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds. If you specify a valid value for the **TaskId** parameter in the request, this parameter does not take effect. The system uses the value of the BeginTime parameter that you specified in the request when you created the specified query task.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1570723200000',
- ],
+ 'schema' => ['description' => 'The timestamp that indicates the beginning of the time range to query. Unit: milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1570852800000', 'title' => ''],
],
[
'name' => 'EndTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The end of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds. If you specify a valid value for the **TaskId** parameter in the request, this parameter does not take effect. The system uses the value of the EndTime parameter that you specified in the request when you created the specified query task.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1570809600000',
- ],
+ 'schema' => ['description' => 'The timestamp that indicates the end of the time range to query. Unit: milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1570868400000', 'title' => ''],
],
[
- 'name' => 'TaskId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the query task. The first time you call this operation to query dead-letter messages that are sent to a specified consumer group within a specified time range, this parameter is not required. This parameter is required in subsequent queries for dead-letter messages on a specified page. You can obtain the task ID from the returned result of the first query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0BC1310300002A9F000021E4D7A48346',
- ],
- ],
- [
- 'name' => 'CurrentPage',
+ 'name' => 'Type',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Pages start from page 1. Valid values: 1 to 50.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '2',
- ],
+ 'schema' => ['description' => 'The type of information that you want to query. Valid values:'."\n"
+ ."\n"
+ .'* **0**: the number of messages that are published to the topic during each sampling period.'."\n"
+ .'* **1**: the TPS for message publishing in the topic during each sampling period.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '0', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of dead-letter messages to return on each page. Valid values: 5 to 50. Default value: 20. If you specify a valid value for the **TaskId** parameter in the request, this parameter does not take effect. The system uses the value of the PageSize parameter that you specified in the request when you created the specified query task.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '5',
- ],
+ 'schema' => ['description' => 'The ID of the instance to which the topic you want to query belongs.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'MQ_INST_111111111111_DOxxxxxx', 'title' => ''],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'Period',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance to which the dead-letter messages you want to query belong.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
+ 'schema' => ['description' => 'The sampling period. Unit: minutes. Valid values: 1, 5, and 10.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10', 'title' => ''],
],
],
'responses' => [
@@ -5548,379 +4667,228 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'B00CD3C8-D81E-4A41-85E2-38F19252****',
- ],
- 'MsgFoundDo' => [
- 'description' => 'The information about dead-letter messages that are queried.'."\n",
+ 'RequestId' => ['description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use the ID to troubleshoot issues.'."\n", 'type' => 'string', 'example' => 'E213AD8A-0730-4B3D-A35A-340DA47D****', 'title' => ''],
+ 'Data' => [
+ 'description' => 'The data returned.'."\n",
'type' => 'object',
'properties' => [
- 'CurrentPage' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
- ],
- 'MsgFoundList' => [
+ 'Records' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'OnsRestMessageDo' => [
- 'description' => 'The information about dead-letter messages that are returned on the current page. The information that is contained in this parameter is the same as the information that is returned by the [OnsDLQMessageGetById](~~112667~~) operation.'."\n",
+ 'StatsDataDo' => [
+ 'description' => 'The data set returned based on sampling period.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'StoreSize' => [
- 'description' => 'The size of the message. Unit: KB.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '406',
- ],
- 'ReconsumeTimes' => [
- 'description' => 'The number of retries that were performed to send the message to consumers.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'StoreTimestamp' => [
- 'description' => 'The timestamp that indicates the point in time when the ApsaraMQ for RocketMQ broker stored the message.',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570760999811',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the instance'."\n",
- 'type' => 'string',
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
- 'MsgId' => [
- 'description' => 'The ID of the message.'."\n",
- 'type' => 'string',
- 'example' => '1E0578FE110F18B4AAC235C05F2*****',
- ],
- 'StoreHost' => [
- 'description' => 'The ApsaraMQ for RocketMQ broker that stores the message.',
- 'type' => 'string',
- 'example' => '11.193.***.***:10911',
- ],
- 'Topic' => [
- 'description' => 'The topic to which the message belongs.'."\n",
- 'type' => 'string',
- 'example' => 'test-mq_topic',
- ],
- 'PropertyList' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'MessageProperty' => [
- 'description' => 'The attributes of the message.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Value' => [
- 'description' => 'The value of the attribute.'."\n",
- 'type' => 'string',
- 'example' => 'TagA',
- ],
- 'Name' => [
- 'description' => 'The name of the attribute. Valid values:'."\n"
- ."\n"
- .'* **TRACE_ON**: indicates whether a trace of the message exists.'."\n"
- .'* **KEYS**: indicates the key of the message.'."\n"
- .'* **TAGS**: indicates the tag that is attached to the message.'."\n"
- .'* **INSTANCE_ID**: indicates the ID of the instance that contains the message.'."\n"
- ."\n"
- .'For information about the terms that are used in ApsaraMQ for RocketMQ, see [Terms](~~29533~~).',
- 'type' => 'string',
- 'example' => 'TAGS',
- ],
- ],
- ],
- ],
- ],
- ],
- 'BornTimestamp' => [
- 'description' => 'The timestamp that indicates when the message was produced.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570760999721',
- ],
- 'BodyCRC' => [
- 'description' => 'The cyclic redundancy check (CRC) value of the message body.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '914112295',
- ],
- 'BornHost' => [
- 'description' => 'The producer instance that generated the message.'."\n",
- 'type' => 'string',
- 'example' => '42.120.***.***:59270',
- ],
+ 'Y' => ['description' => 'The Y axis. This parameter indicates the TPS for message publishing or the number of messages that are published.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0', 'title' => ''],
+ 'X' => ['description' => 'The X axis. The value of this parameter is a UNIX timestamp in milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1570852800000', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'MaxPageCount' => [
- 'description' => 'The total number of returned pages.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '400',
- ],
- 'TaskId' => [
- 'description' => 'The ID of the query task. The first time you call this operation to query the dead-letter messages that are sent to a specified consumer group within a specified time range, this parameter is returned. You can use the task ID to query the details of dead-letter messages on other returned pages.'."\n",
- 'type' => 'string',
- 'example' => '0BC1310300002A9F000021E4D7A48346',
- ],
+ 'XUnit' => ['description' => 'The unit of the timestamp.'."\n", 'type' => 'string', 'example' => 'ms', 'title' => ''],
+ 'YUnit' => ['description' => 'The unit of the Y axis.'."\n", 'type' => 'string', 'example' => 'msg', 'title' => ''],
+ 'Title' => ['description' => 'The name of the table.'."\n", 'type' => 'string', 'example' => 'TopicXXX Send Trend Chart', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B00CD3C8-D81E-4A41-85E2-38F19252****\\",\\n \\"MsgFoundDo\\": {\\n \\"CurrentPage\\": 1,\\n \\"MsgFoundList\\": {\\n \\"OnsRestMessageDo\\": [\\n {\\n \\"StoreSize\\": 406,\\n \\"ReconsumeTimes\\": 1,\\n \\"StoreTimestamp\\": 1570760999811,\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\",\\n \\"MsgId\\": \\"1E0578FE110F18B4AAC235C05F2*****\\",\\n \\"StoreHost\\": \\"11.193.***.***:10911\\",\\n \\"Topic\\": \\"test-mq_topic\\",\\n \\"PropertyList\\": {\\n \\"MessageProperty\\": [\\n {\\n \\"Value\\": \\"TagA\\",\\n \\"Name\\": \\"TAGS\\"\\n }\\n ]\\n },\\n \\"BornTimestamp\\": 1570760999721,\\n \\"BodyCRC\\": 914112295,\\n \\"BornHost\\": \\"42.120.***.***:59270\\"\\n }\\n ]\\n },\\n \\"MaxPageCount\\": 400,\\n \\"TaskId\\": \\"0BC1310300002A9F000021E4D7A48346\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsDLQMessagePageQueryByGroupIdResponse>\\n <MsgFoundDo>\\n <MaxPageCount>400</MaxPageCount>\\n <MsgFoundList>\\n <OnsRestMessageDo>\\n <MsgId>1E0578FE110F18B4AAC235C05F2*****</MsgId>\\n <InstanceId>MQ_INST_111111111111_DOxxxxxx</InstanceId>\\n <ReconsumeTimes>1</ReconsumeTimes>\\n <BornHost>42.120.***.***:59270</BornHost>\\n <StoreTimestamp>1570760999811</StoreTimestamp>\\n <StoreHost>11.193.***.***:10911</StoreHost>\\n <BodyCRC>914112295</BodyCRC>\\n <Topic>test-mq_topic</Topic>\\n <BornTimestamp>1570760999721</BornTimestamp>\\n <StoreSize>406</StoreSize>\\n <PropertyList>\\n <MessageProperty>\\n <Name>TAGS</Name>\\n <Value>TagA</Value>\\n </MessageProperty>\\n </PropertyList>\\n </OnsRestMessageDo>\\n </MsgFoundList>\\n <TaskId>0BC1310300002A9F000021E4D7A48346</TaskId>\\n <CurrentPage>1</CurrentPage>\\n </MsgFoundDo>\\n <RequestId>5DC2A47E-2B31-4722-96C8-FA59C9*****</RequestId>\\n</OnsDLQMessagePageQueryByGroupIdResponse>","errorExample":""}]',
- 'title' => 'OnsDLQMessagePageQueryByGroupId',
- 'summary' => 'Queries all dead-letter messages in a group within a period of time by page.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
- ."\n"
- .'* If you do not know the ID of the dead-letter message that you want to query, you can call this operation to query all dead-letter messages that are sent to a specified consumer group within a specified time range. The results are returned by page.'."\n"
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E213AD8A-0730-4B3D-A35A-340DA47D****\\",\\n \\"Data\\": {\\n \\"Records\\": {\\n \\"StatsDataDo\\": [\\n {\\n \\"Y\\": 0,\\n \\"X\\": 1570852800000\\n }\\n ]\\n },\\n \\"XUnit\\": \\"ms\\",\\n \\"YUnit\\": \\"msg\\",\\n \\"Title\\": \\"TopicXXX Send Trend Chart\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]',
+ 'title' => 'OnsTrendTopicInputTps',
+ 'summary' => 'Queries the statistics about messages that are published to a topic within a period of time.',
+ 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
."\n"
- .'* We recommend that you specify a short time range to query dead-letter messages in this method. If you specify a long time range, a large number of dead-letter messages are returned. In this case, you cannot find the dead-letter message that you want to query in an efficient manner. You can perform the following steps to query dead-letter messages:'."\n"
+ .'You can call this operation to query the statistics of messages that are published to a specific topic in a production environment. You can query the number of messages that are published to the topic or the transactions per second (TPS) for message publishing within a specified time range based on your business requirements.'."\n"
."\n"
- .' 1. Perform a paged query by specifying the group ID, start time, end time, and number of entries to return on each page. If matched messages are found, the information about the dead-letter messages on the first page, total number of pages, and task ID are returned by default.'."\n"
- .' 2. Specify the task ID and a page number to call this operation again to query the dead-letter messages on the specified page. In this query, the BeginTime, EndTime, and PageSize parameters do not take effect. By default, the system uses the values of these parameters that you specified in the request when you created the specified query task.'."\n",
+ .'If your application publishes a small number of messages and does not publish messages at specific intervals, we recommend that you query the number of messages that are published to the topic during each sampling period because the statistics of TPS may not show a clear change trend.'."\n",
+ 'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## View dead-letter messages in the console'."\n"
+ 'extraInfo' => '## Query the statistics about messages published to a topic in the console'."\n"
."\n"
- .'You can also view the dead-letter messages of a consumer group in the ApsaraMQ for RocketMQ console.**** For more information, see [Dead-letter queues](~~87277~~).',
- ],
- 'OnsDLQMessageGetById' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can view the statistics of the messages that are published to a topic in the ApsaraMQ for RocketMQ console.**** For more information, see [Dashboard](~~288246~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '15', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsTrendTopicInputTps'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryTrendTopicInputTps',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'conditional'],
+ ],
+ ],
],
+ ],
+ 'OpenOnsService' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
- ],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
- 'parameters' => [
[
- 'name' => 'MsgId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the dead-letter message that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '0BC16699165C03B925DB8A404E2D****',
- ],
+ 'APP' => [],
],
[
- 'name' => 'GroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the consumer group whose dead-letter message you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test_group_id',
- ],
+ 'PrivateKey' => [],
],
[
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the instance to which the message you want to query belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
+ 'BearerToken' => [],
],
],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREonsWNMPZ3'],
+ ],
+ 'parameters' => [],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID.'."\n",
- 'type' => 'string',
- 'example' => 'A07E3902-B92E-44A6-B6C5-6AA111111****',
- ],
- 'Data' => [
- 'description' => 'The data returned.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'StoreSize' => [
- 'description' => 'The size of the message. Unit: KB.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '407',
- ],
- 'ReconsumeTimes' => [
- 'description' => 'The number of retries that were performed to send the message to consumers.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'StoreTimestamp' => [
- 'description' => 'The timestamp that indicates the point in time when the ApsaraMQ for RocketMQ broker stored the message. Unit: milliseconds.',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570761026708',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the instance'."\n",
- 'type' => 'string',
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
- ],
- 'MsgId' => [
- 'description' => 'The ID of the dead-letter message.'."\n",
- 'type' => 'string',
- 'example' => '0BC16699165C03B925DB8A404E2D****',
- ],
- 'StoreHost' => [
- 'description' => 'The ApsaraMQ for RocketMQ broker that stores the message.',
- 'type' => 'string',
- 'example' => '11.220.***.***:10911',
- ],
- 'Topic' => [
- 'description' => 'The topic to which the message belongs.'."\n",
- 'type' => 'string',
- 'example' => 'test-mq_topic',
- ],
- 'PropertyList' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'MessageProperty' => [
- 'description' => 'The attributes of the message.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Value' => [
- 'description' => 'The value of the attribute.'."\n",
- 'type' => 'string',
- 'example' => 'TagA',
- ],
- 'Name' => [
- 'description' => 'The name of the attribute. Valid values:'."\n"
- ."\n"
- .'* **TRACE_ON**: indicates whether the message trace exists.'."\n"
- .'* **KEYS**: indicates the key of the message.'."\n"
- .'* **TAGS**: indicates the tag that is attached to the message.'."\n"
- .'* **INSTANCE_ID**: indicates the ID of the instance that contains the message.'."\n"
- ."\n"
- .'For information about the terms that are used in ApsaraMQ for RocketMQ, see [Terms](~~29533~~).',
- 'type' => 'string',
- 'example' => 'TAGS',
- ],
- ],
- ],
- ],
- ],
- ],
- 'BornTimestamp' => [
- 'description' => 'The timestamp that indicates the point in time when the message was generated. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570761026630',
- ],
- 'BodyCRC' => [
- 'description' => 'The cyclic redundancy check (CRC) value of the message body.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '914112295',
- ],
- 'BornHost' => [
- 'description' => 'The producer instance that generated the message.'."\n",
- 'type' => 'string',
- 'example' => '42.120.**.**:64646',
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The common parameter. Each request has a unique ID, which is active for troubleshooting.', 'type' => 'string', 'example' => '8C5B4603-8977-4513-AB60-9C3E2F88****', 'title' => ''],
+ 'OrderId' => ['description' => 'The order ID.', 'type' => 'string', 'example' => '2068689****0272', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A07E3902-B92E-44A6-B6C5-6AA111111****\\",\\n \\"Data\\": {\\n \\"StoreSize\\": 407,\\n \\"ReconsumeTimes\\": 1,\\n \\"StoreTimestamp\\": 1570761026708,\\n \\"InstanceId\\": \\"MQ_INST_111111111111_DOxxxxxx\\",\\n \\"MsgId\\": \\"0BC16699165C03B925DB8A404E2D****\\",\\n \\"StoreHost\\": \\"11.220.***.***:10911\\",\\n \\"Topic\\": \\"test-mq_topic\\",\\n \\"PropertyList\\": {\\n \\"MessageProperty\\": [\\n {\\n \\"Value\\": \\"TagA\\",\\n \\"Name\\": \\"TAGS\\"\\n }\\n ]\\n },\\n \\"BornTimestamp\\": 1570761026630,\\n \\"BodyCRC\\": 914112295,\\n \\"BornHost\\": \\"42.120.**.**:64646\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsDLQMessageGetByIdResponse>\\n<Data>\\n <MsgId>1E0578FE110F18B4AAC235C0C8460BA2</MsgId>\\n <InstanceId>MQ_INST_111111111111_DOxxxxxx</InstanceId>\\n <ReconsumeTimes>1</ReconsumeTimes>\\n <BornHost>42.120.**.**:64646</BornHost>\\n <BodyCRC>914112295</BodyCRC>\\n <StoreHost>11.220.***.***:10911</StoreHost>\\n <StoreTimestamp>1570761026708</StoreTimestamp>\\n <BornTimestamp>1570761026630</BornTimestamp>\\n <Topic>test-mq_topic</Topic>\\n <StoreSize>407</StoreSize>\\n <PropertyList>\\n <MessageProperty>\\n <Name>TRACE_ON</Name>\\n <Value>true</Value>\\n </MessageProperty>\\n <MessageProperty>\\n <Name>RETRY_TOPIC</Name>\\n <Value>MQ_INST_111111111111_DOxxxxxx%test-mq_topic</Value>\\n </MessageProperty>\\n <MessageProperty>\\n <Name>KEYS</Name>\\n <Value>ORDERID_993</Value>\\n </MessageProperty>\\n <MessageProperty>\\n <Name>UNIQ_KEY</Name>\\n <Value>1E0578FE110F18B4AAC235C0C84*****</Value>\\n </MessageProperty>\\n <MessageProperty>\\n <Name>WAIT</Name>\\n <Value>false</Value>\\n </MessageProperty>\\n <MessageProperty>\\n <Name>TAGS</Name>\\n <Value>TagA</Value>\\n </MessageProperty>\\n <MessageProperty>\\n <Name>INSTANCE_ID</Name>\\n <Value>MQ_INST_111111111111_DOxxxxxx</Value>\\n </MessageProperty>\\n </PropertyList>\\n</Data>\\n<RequestId>A07E3902-B92E-44A6-B6C5-6AA111111****</RequestId>\\n</OnsDLQMessageGetByIdResponse>","errorExample":""}]',
- 'title' => 'OnsDLQMessageGetById',
- 'summary' => 'Queries a dead-letter message based on the message ID. The queried information about the dead-letter message includes the point in time when the message is stored, the message body, and attributes such as the message tag and the message key.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'OrderOpend', 'errorMessage' => '您已开通,请前往控制台使用。', 'description' => ''],
+ ['errorCode' => 'PermissionDenied', 'errorMessage' => '当前子账号无权限,请为子账号授权。', 'description' => ''],
+ ['errorCode' => 'PriceWanHuaTongSys', 'errorMessage' => '询价调用万花筒错误。', 'description' => ''],
+ ],
+ ],
+ 'title' => 'Activate service',
+ 'summary' => 'Invokes the OpenOnsService operation to activate the ApsaraMQ for RocketMQ service.',
+ 'description' => '><notice>OpenAPI operations provided by Alibaba Cloud are management APIs used to manage and query Alibaba Cloud service resources. Integrate them only in management systems. Do not rely on OpenAPI operations in core data links for message sending and receiving. Otherwise, risks may occur.></notice>'."\n"
."\n"
- .'This operation uses the exact match method to query a dead-letter message based on the message ID. You can obtain the message ID that is required to query the information about a dead-letter message from the SendResult parameter that is returned after the message is sent. You can also obtain the message ID by calling the OnsDLQMessagePageQueryByGroupId operation to query multiple messages at a time. The queried information about the dead-letter message includes the point in time when the message is stored, the message body, and attributes such as the message tag and the message key.'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => '## View the information about a dead-letter message in the console'."\n"
+ .'This operation is used when you use ApsaraMQ for RocketMQ for the first time. You can use ApsaraMQ for RocketMQ only after you activate the service.'."\n"
."\n"
- .'You can also view the information about a dead-letter message in the ApsaraMQ for RocketMQ console. For more information, see [Dead-letter queues](~~87277~~).',
- ],
- 'OnsDLQMessageResendById' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'Currently, you can activate the ApsaraMQ for RocketMQ service only in the China (Hangzhou) region. No billing fees are incurred for activating the service.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => '## Console operations'."\n"
+ .'In addition to invoking the **OpenOnsService** operation, you can also activate the service in the ApsaraMQ for RocketMQ console. For more information, see [Activate the MSMQ service](~~169006~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OpenOnsService'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8C5B4603-8977-4513-AB60-9C3E2F88****\\",\\n \\"OrderId\\": \\"2068689****0272\\"\\n}","type":"json"}]',
+ ],
+ 'TagResources' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
- 'name' => 'MsgId',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the dead-letter message that you want to send to a consumer group for consumption.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '0BC16699343051CD9F1D798E7734****',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for RocketMQ instance that contains the resource to which you want to attach tags.'."\n"
+ ."\n"
+ .'> This parameter is required when you attach tags to a topic or a group.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'MQ_INST_188077086902****_BXSuW61e', 'title' => ''],
],
[
- 'name' => 'GroupId',
+ 'name' => 'ResourceType',
'in' => 'query',
+ 'schema' => ['description' => 'The type of the resource to which you want to attach tags. Valid values:'."\n"
+ ."\n"
+ .'* **INSTANCE**'."\n"
+ .'* **TOPIC**'."\n"
+ .'* **GROUP**'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'TOPIC', 'title' => ''],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the consumer group in which you want to query dead-letter messages.'."\n",
- 'type' => 'string',
+ 'description' => 'The tags that you want to attach to the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The tag key. If you configure this parameter, you must also configure the **Value** parameter.****'."\n"
+ .'* The value of this parameter cannot be an empty string.'."\n"
+ .'* A tag key must be 1 to 128 characters in length and cannot contain `http://` or `https://`. A tag key cannot start with `acs:` or `aliyun`.', 'type' => 'string', 'required' => true, 'example' => 'FinanceDept', 'title' => ''],
+ 'Value' => ['description' => 'The value of the tag that you want to attach to the resource. If you configure this parameter, you must also configure the **Key** parameter.****'."\n"
+ .'* The value of this parameter can be an empty string.'."\n"
+ .'* A tag value must be 1 to 128 characters in length and cannot contain `http://` or `https://`. A tag value cannot start with `acs:` or `aliyun`.', 'type' => 'string', 'required' => true, 'example' => 'FinanceJoshua', 'title' => ''],
+ ],
+ 'required' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test_group_id',
+ 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'ResourceId',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the instance in which the dead-letter message you want to query resides.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_188077086902****_BXSuW61e',
+ 'description' => 'The resource IDs.'."\n",
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the resource to which you want to attach a tag.'."\n"
+ ."\n"
+ .'* If the resource is a ApsaraMQ for RocketMQ instance, specify the ID of the instance.'."\n"
+ .'* If the resource is a topic, specify the topic name.'."\n"
+ .'* If the resource is a group, specify the ID of the group.', 'type' => 'string', 'required' => false, 'example' => 'TopicA', 'title' => ''],
+ 'required' => true,
+ 'example' => 'TopicA',
+ 'maxItems' => 51,
+ 'title' => '',
],
],
],
@@ -5929,98 +4897,112 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'D94CC769-4DC3-4690-A868-9D0631B1****',
- ],
- 'Data' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'MsgId' => [
- 'description' => 'The returned messages.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the message.'."\n",
- 'type' => 'string',
- 'example' => '0BC16699343051CD9F1D798E7734****',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use the ID to troubleshoot issues.'."\n", 'type' => 'string', 'example' => '301D2CBE-66F8-403D-AEC0-82582478****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D94CC769-4DC3-4690-A868-9D0631B1****\\",\\n \\"Data\\": {\\n \\"MsgId\\": [\\n \\"0BC16699343051CD9F1D798E7734****\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<OnsDLQMessageResendByIdResponse>\\r\\n<RequestId>D94CC769-4DC3-4690-A868-9D0631B1****</RequestId>\\r\\n</OnsDLQMessageResendByIdResponse>","errorExample":""}]',
- 'title' => 'OnsDLQMessageResendById',
- 'summary' => 'Resends a dead-letter message based on a specified message ID so that the dead-letter message can be consumed by consumers.',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"301D2CBE-66F8-403D-AEC0-82582478****\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\r\\n<RequestId>301D2CBE-66F8-403D-AEC0-82582478****</RequestId>\\r\\n</TagResourcesResponse>","errorExample":""}]',
+ 'title' => 'TagResources',
+ 'summary' => 'Adds tags to a resource.',
'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
."\n"
- .'* A dead-letter message is a message that still fails to be consumed after the number of consumption retries reaches the upper limit. If the message still cannot be consumed after you re-send it, a message with the same message ID is added to the corresponding dead-letter queue. You can query the message ID on the Dead-letter Queues page in the ApsaraMQ for RocketMQ console or by calling API operations. You can obtain the number of consumption failures for a message based on the number of dead-letter messages with the same message ID in the dead-letter queue.'."\n"
- .'* A dead-letter message is a message that fails to be consumed after the number of consumption retries reaches the upper limit. Generally, dead-letter messages are produced because of incorrect consumption logic. We recommend that you troubleshoot the consumption failures and then call this operation to send the message to the consumer group for consumption again.'."\n"
- .'* ApsaraMQ for RocketMQ does not manage the status of dead-letter messages based on the consumption status of the dead-letter messages. After you call this operation to send a dead-letter message to a consumer group and the message is consumed, ApsaraMQ for RocketMQ does not remove the dead-letter message from the dead-letter queue. You must manage dead-letter messages and determine whether to send a dead-letter message to a consumer group for consumption. This way, you do not resend or reconsume the messages that are consumed.',
+ .'You can call this operation to attach tags to a source. You can use tags to classify resources in ApsaraMQ for RocketMQ. This can help you aggregate and search resources in an efficient manner.',
'requestParamsDescription' => ' ',
- 'responseParamsDescription' => '> If the message fails to be sent, the message ID is returned in the response.'."\n",
- 'extraInfo' => '## Send a dead-letter message to a consumer group in the console'."\n"
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => '## Attach tags to a resource in the console'."\n"
."\n"
- .'You can also send a dead-letter message to a consumer group for consumption in the ApsaraMQ for RocketMQ console. For more information, see [Dead-letter queues](~~87277~~).',
- ],
- 'OnsTopicUpdate' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can also attach tags to a resource in the ApsaraMQ for RocketMQ console.**** For more information, see [Manage tags](~~172713~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'mq:TagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
],
+ ],
+ 'UntagResources' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
- 'deprecated' => true,
- 'systemTags' => [],
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'Topic',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the topic that you want to manage.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'This parameter is required to detach tags from topics and group IDs.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'MQ_INST_188077086902****_BX4jvZZG', 'title' => ''],
],
[
- 'name' => 'Perm',
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The type of the resource. This is an enumeration. Supported resource types:'."\n"
+ ."\n"
+ .'- **INSTANCE**'."\n"
+ ."\n"
+ .'- **TOPIC**'."\n"
+ ."\n"
+ .'- **GROUP**', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'TOPIC', 'title' => ''],
+ ],
+ [
+ 'name' => 'All',
'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to delete all tags that are attached to the resource. This parameter is valid only when the **TagKey** parameter is not set in the request. The default value is **false**.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The read/write mode that you want to configure for the topic. Valid values:'."\n"
- ."\n"
- .'* **6**: Both read and write operations are allowed.'."\n"
- .'* **4**: Write operations are forbidden.'."\n"
- .'* **2**: Read operations are forbidden.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
+ 'description' => 'A list of resource IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the resource from which you want to detach tags.', 'type' => 'string', 'required' => false, 'example' => 'TopicA', 'title' => ''],
'required' => true,
- 'docRequired' => true,
- 'example' => '6',
+ 'example' => 'TopicA',
+ 'maxItems' => 51,
+ 'title' => '',
],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'TagKey',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the instance to which the topic belongs.'."\n",
- 'type' => 'string',
+ 'description' => 'A list of tag keys of the resource.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The tag key of the resource.'."\n"
+ ."\n"
+ .'- If you specify this parameter, its value cannot be an empty string.'."\n"
+ ."\n"
+ .'- The value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'CartService', 'title' => ''],
'required' => false,
- 'docRequired' => true,
- 'example' => 'MQ_INST_111111111111_DOxxxxxx',
+ 'example' => 'CartService',
+ 'maxItems' => 21,
+ 'title' => '',
],
],
],
@@ -6029,137 +5011,958 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '81979ADA-4A78-4F64-9DEC-5700446D****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request. This is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot and locate issues.', 'type' => 'string', 'example' => '19780F2E-7841-4E0F-A5D9-C64A0530****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。',
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"81979ADA-4A78-4F64-9DEC-5700446D****\\"\\n}","errorExample":""},{"type":"xml","example":"<OnsTopicUpdateResponse>\\r\\n<RequestId>81979ADA-4A78-4F64-9DEC-5700446D****</RequestId>\\r\\n</OnsTopicUpdateResponse>","errorExample":""}]',
- 'title' => 'OnsTopicUpdate',
- 'summary' => 'Configures the read/write mode for a specified topic.',
- 'description' => '> API operations provided by Alibaba Cloud are used to manage and query resources of Alibaba Cloud services. We recommend that you integrate these API operations only in management systems. Do not use these API operations in the core system of messaging services. Otherwise, system risks may occur.'."\n"
+ 'title' => 'UntagResources',
+ 'summary' => 'You can call UntagResources to detach and delete tags from resources.',
+ 'description' => '><notice>'."\n"
+ ."\n"
+ .'Alibaba Cloud OpenAPI is a control-plane API. You can use it to manage and query Alibaba Cloud service resources. Integrate OpenAPI on the control plane only. Do not use OpenAPI for core data links that send and receive messages because this can introduce threats to your data links.'."\n"
."\n"
- .'You can call this operation to forbid read or write operations on a specific topic.'."\n",
+ .'></notice>',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'extraInfo' => '## Detach and remove tags from a resource in the console'."\n"
+ ."\n"
+ .'You can also detach and remove tags from a resource in the ApsaraMQ for RocketMQ console.**** For more information, see [Manage tags](~~172713~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'],
+ ],
+ 'product' => ['code' => 'ons', 'title' => '消息队列 MQ'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:UntagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"19780F2E-7841-4E0F-A5D9-C64A0530****\\"\\n}","type":"json"}]',
],
],
'endpoints' => [
- [
- 'regionId' => 'cn-qingdao',
- 'endpoint' => 'ons.cn-qingdao.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-beijing',
- 'endpoint' => 'ons.cn-beijing.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-zhangjiakou',
- 'endpoint' => 'ons.cn-zhangjiakou.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-huhehaote',
- 'endpoint' => 'ons.cn-huhehaote.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-wulanchabu',
- 'endpoint' => 'ons.cn-wulanchabu.aliyuncs.com',
- ],
- [
- 'regionId' => 'mq-internet-access',
- 'endpoint' => 'ons.mq-internet-access.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hangzhou',
- 'endpoint' => 'ons.cn-hangzhou.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shanghai',
- 'endpoint' => 'ons.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shenzhen',
- 'endpoint' => 'ons.cn-shenzhen.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-chengdu',
- 'endpoint' => 'ons.cn-chengdu.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hongkong',
- 'endpoint' => 'ons.cn-hongkong.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-northeast-1',
- 'endpoint' => 'ons.ap-northeast-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-1',
- 'endpoint' => 'ons.ap-southeast-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-2',
- 'endpoint' => 'ons.ap-southeast-2.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-3',
- 'endpoint' => 'ons.ap-southeast-3.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-5',
- 'endpoint' => 'ons.ap-southeast-5.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-6',
- 'endpoint' => 'ons.ap-southeast-6.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-east-1',
- 'endpoint' => 'ons.us-east-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-west-1',
- 'endpoint' => 'ons.us-west-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'eu-west-1',
- 'endpoint' => 'ons.eu-west-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'eu-central-1',
- 'endpoint' => 'ons.eu-central-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'me-east-1',
- 'endpoint' => 'ons.me-east-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hangzhou-finance',
- 'endpoint' => 'ons.cn-hangzhou-finance.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shanghai-finance-1',
- 'endpoint' => 'ons.cn-shanghai-finance-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shenzhen-finance-1',
- 'endpoint' => 'ons.cn-shenzhen-finance-1.aliyuncs.com',
+ ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ons.ap-northeast-1.aliyuncs.com', 'endpoint' => 'ons.ap-northeast-1.aliyuncs.com', 'vpc' => 'ons-vpc.ap-northeast-1.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ons.ap-southeast-1.aliyuncs.com', 'endpoint' => 'ons.ap-southeast-1.aliyuncs.com', 'vpc' => 'ons-vpc.ap-southeast-1.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ons.ap-southeast-2.aliyuncs.com', 'endpoint' => 'ons.ap-southeast-2.aliyuncs.com', 'vpc' => 'ons-vpc.ap-southeast-2.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ons.ap-southeast-3.aliyuncs.com', 'endpoint' => 'ons.ap-southeast-3.aliyuncs.com', 'vpc' => 'ons-vpc.ap-southeast-3.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ons.ap-southeast-5.aliyuncs.com', 'endpoint' => 'ons.ap-southeast-5.aliyuncs.com', 'vpc' => 'ons-vpc.ap-southeast-5.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-6', 'regionName' => 'Philippines (Manila)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ons.ap-southeast-6.aliyuncs.com', 'endpoint' => 'ons.ap-southeast-6.aliyuncs.com', 'vpc' => 'ons-vpc.ap-southeast-6.aliyuncs.com'],
+ ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ons.cn-beijing.aliyuncs.com', 'endpoint' => 'ons.cn-beijing.aliyuncs.com', 'vpc' => 'ons-vpc.cn-beijing.aliyuncs.com'],
+ ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ons.cn-chengdu.aliyuncs.com', 'endpoint' => 'ons.cn-chengdu.aliyuncs.com', 'vpc' => 'ons-vpc.cn-chengdu.aliyuncs.com'],
+ ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ons.cn-hangzhou.aliyuncs.com', 'endpoint' => 'ons.cn-hangzhou.aliyuncs.com', 'vpc' => 'ons-vpc.cn-hangzhou.aliyuncs.com'],
+ ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ons.cn-hongkong.aliyuncs.com', 'endpoint' => 'ons.cn-hongkong.aliyuncs.com', 'vpc' => 'ons-vpc.cn-hongkong.aliyuncs.com'],
+ ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ons.cn-huhehaote.aliyuncs.com', 'endpoint' => 'ons.cn-huhehaote.aliyuncs.com', 'vpc' => 'ons-vpc.cn-huhehaote.aliyuncs.com'],
+ ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ons.cn-qingdao.aliyuncs.com', 'endpoint' => 'ons.cn-qingdao.aliyuncs.com', 'vpc' => 'ons-vpc.cn-qingdao.aliyuncs.com'],
+ ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ons.cn-shanghai.aliyuncs.com', 'endpoint' => 'ons.cn-shanghai.aliyuncs.com', 'vpc' => 'ons-vpc.cn-shanghai.aliyuncs.com'],
+ ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ons.cn-shenzhen.aliyuncs.com', 'endpoint' => 'ons.cn-shenzhen.aliyuncs.com', 'vpc' => 'ons-vpc.cn-shenzhen.aliyuncs.com'],
+ ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ons.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'ons.cn-wulanchabu.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ons.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'ons.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'ons-vpc.cn-zhangjiakou.aliyuncs.com'],
+ ['regionId' => 'mq-internet-access', 'regionName' => 'Public network', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ons.mq-internet-access.aliyuncs.com', 'endpoint' => 'ons.mq-internet-access.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ons.us-west-1.aliyuncs.com', 'endpoint' => 'ons.us-west-1.aliyuncs.com', 'vpc' => 'ons-vpc.us-west-1.aliyuncs.com'],
+ ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ons.us-east-1.aliyuncs.com', 'endpoint' => 'ons.us-east-1.aliyuncs.com', 'vpc' => 'ons-vpc.us-east-1.aliyuncs.com'],
+ ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ons.eu-west-1.aliyuncs.com', 'endpoint' => 'ons.eu-west-1.aliyuncs.com', 'vpc' => 'ons-vpc.eu-west-1.aliyuncs.com'],
+ ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ons.eu-central-1.aliyuncs.com', 'endpoint' => 'ons.eu-central-1.aliyuncs.com', 'vpc' => 'ons-vpc.eu-central-1.aliyuncs.com'],
+ ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'ons.me-east-1.aliyuncs.com', 'endpoint' => 'ons.me-east-1.aliyuncs.com', 'vpc' => 'ons-vpc.me-east-1.aliyuncs.com'],
+ ['regionId' => 'me-central-1', 'regionName' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'ons.me-central-1.aliyuncs.com', 'endpoint' => 'ons.me-central-1.aliyuncs.com', 'vpc' => 'ons-vpc.me-central-1.aliyuncs.com'],
+ ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ons.cn-shenzhen-finance-1.aliyuncs.com', 'endpoint' => 'ons.cn-shenzhen-finance-1.aliyuncs.com', 'vpc' => 'ons-vpc.cn-shenzhen-finance-1.aliyuncs.com'],
+ ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ons.cn-shanghai-finance-1.aliyuncs.com', 'endpoint' => 'ons.cn-shanghai-finance-1.aliyuncs.com', 'vpc' => 'ons-vpc.cn-shanghai-finance-1.aliyuncs.com'],
+ ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ons.cn-hangzhou-finance.aliyuncs.com', 'endpoint' => 'ons.cn-hangzhou-finance.aliyuncs.com', 'vpc' => 'ons-vpc.cn-hangzhou-finance.aliyuncs.com'],
+ ['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ons.cn-beijing-finance-1.aliyuncs.com', 'endpoint' => 'ons.cn-beijing-finance-1.aliyuncs.com', 'vpc' => 'ons-vpc.cn-beijing-finance-1.aliyuncs.com'],
+ ],
+ 'errorCodes' => [
+ ['code' => 'AccessDenied', 'message' => 'Access is denied for the current request. Please do not try again.', 'http_code' => 400, 'description' => 'Access is denied for the current request. Please do not try again.'],
+ ['code' => 'Accumulation.QueryError', 'message' => 'Failed to query message accumulation. Please try again later.', 'http_code' => 400, 'description' => 'Failed to query message accumulation. Please try again later.'],
+ ['code' => 'Alarm.CreateError', 'message' => 'Failed to create the alarm. Please try again later.', 'http_code' => 400, 'description' => 'Failed to create the alarm. Please try again later.'],
+ ['code' => 'Alarm.DeleteError', 'message' => 'Failed to delete the alarm. Please try again later.', 'http_code' => 400, 'description' => 'Failed to delete the alarm. Please try again later.'],
+ ['code' => 'Alarm.DisableError', 'message' => 'Failed to prohibit the alarm. Please try again later.', 'http_code' => 400, 'description' => 'Failed to prohibit the alarm. Please try again later.'],
+ ['code' => 'Alarm.EditeError', 'message' => 'Failed to edit the alarm information. Please try again later.', 'http_code' => 400, 'description' => 'Failed to edit the alarm information. Please try again later.'],
+ ['code' => 'Alarm.Exsited', 'message' => 'Alarms already created for the specified Group ID. Please search for it first and edit it.', 'http_code' => 400, 'description' => 'Alarms already created for the specified Group ID. Please search for it first and edit it.'],
+ ['code' => 'Alarm.StartError', 'message' => 'Failed to set the start alarm. Please try again later.', 'http_code' => 400, 'description' => 'Failed to set the start alarm. Please try again later.'],
+ ['code' => 'ApiCallFailed', 'message' => 'API call failed. Please contact the system administrator.', 'http_code' => 400, 'description' => 'API call failed. Please contact the system administrator.'],
+ ['code' => 'ArmsDashboard.FailedToCheckServiceStatus', 'message' => 'Failed to check ARMS Prometheus service status.', 'http_code' => 400, 'description' => 'Failed to check the activation status of ARMS Prometheus.'],
+ ['code' => 'ArmsDashboard.FailedToFound', 'message' => 'Failed to find the ARMS Grafana dashboard.', 'http_code' => 400, 'description' => 'Failed to find ARMS Grafana dashboard'],
+ ['code' => 'ArmsDashboard.NotFound', 'message' => 'The specified ARMS Grafana dashboard is not found.', 'http_code' => 404, 'description' => 'The specified ARMS Grafana dashboard could not be found'],
+ ['code' => 'Auth.AssumeRoleError', 'message' => 'Failed to fetch sts token, maybe slr does not exist.', 'http_code' => 400, 'description' => 'Failed to get role'],
+ ['code' => 'Auth.CheckError', 'message' => 'Failed to validate the resource permission. Please veify the resource permission informaiton and try again.', 'http_code' => 400, 'description' => 'Failed to validate the resource permission. Please veify the resource permission informaiton and try again.'],
+ ['code' => 'Auth.CreateError', 'message' => 'Failed to create the resource ownership information. Please try again later.', 'http_code' => 400, 'description' => 'Failed to create the resource ownership information. Please try again later.'],
+ ['code' => 'Auth.DeleteError', 'message' => 'Failed to delete the resource ownership information. Please try again later.', 'http_code' => 400, 'description' => 'Failed to delete the resource ownership information. Please try again later.'],
+ ['code' => 'Auth.GrantCheckError', 'message' => 'Verification of the authorized resource failed. Please confirm the resource ownership and retry.', 'http_code' => 400, 'description' => 'Verification of the authorized resource failed. Please confirm the resource ownership and retry.'],
+ ['code' => 'Auth.GrantCreateError', 'message' => 'Failed to create the resource permission information. Please try again later.', 'http_code' => 400, 'description' => 'Failed to create the resource permission information. Please try again later.'],
+ ['code' => 'Auth.GrantDeleteError', 'message' => 'Failed to delete the resource permission information. Please try again later.', 'http_code' => 400, 'description' => 'Failed to delete the resource permission information. Please try again later.'],
+ ['code' => 'Auth.GrantError', 'message' => 'Failed to process your authorization request. Please try again later.', 'http_code' => 400, 'description' => 'Failed to process your authorization request. Please try again later.'],
+ ['code' => 'Auth.InRiskControl', 'message' => 'The current account is blocked by the risk control system. Submit a ticket to the risk control system.', 'http_code' => 400, 'description' => 'The current account is prohibited by wind control. Please bring the work order to the wind control system for processing.'],
+ ['code' => 'Auth.NeedLogin', 'message' => 'Failed to verify the user or application information.', 'http_code' => 400, 'description' => 'User or application information authentication failed.'],
+ ['code' => 'Auth.NoSLRPermission', 'message' => 'You are not authorized to create an SLR.', 'http_code' => 400, 'description' => 'You do not have permission to create an SLR.'],
+ ['code' => 'Auth.NotCustomer', 'message' => 'Another user is specified and you are not authorized to perform the operation.', 'http_code' => 400, 'description' => 'Cannot operate because it is currently set to another target user.'],
+ ['code' => 'Auth.OwnerCheckError', 'message' => 'You are not resource owner, please check the resource ownership information and try again.', 'http_code' => 400, 'description' => 'You are not resource owner, please check the resource ownership information and try again.'],
+ ['code' => 'Auth.OwnerCheckError', 'message' => 'valid resource auth failed.', 'http_code' => 403, 'description' => 'Resource permission check failed'],
+ ['code' => 'Auth.RAMGrantError', 'message' => 'valid resource auth failed.', 'http_code' => 403, 'description' => 'Failed to check resource permissions'],
+ ['code' => 'Broker.NotFound', 'message' => 'The server node information does not exist.', 'http_code' => 404, 'description' => 'Server node information does not exist.'],
+ ['code' => 'Channel.Invalid', 'message' => 'The ONS channel is invalid. Please check and try again.', 'http_code' => 400, 'description' => 'ONS Channel is illegal. Please confirm and try again.'],
+ ['code' => 'ClientExisted', 'message' => 'The client statistics already exists.', 'http_code' => 400, 'description' => 'The client statistics already exists.'],
+ ['code' => 'Cluster.NotFound', 'message' => 'The specified cluster information does not exist. Please check or contact the administrator.', 'http_code' => 404, 'description' => 'The cluster information does not exist. Please try again later or contact your administrator.'],
+ ['code' => 'Cluster.QueryError', 'message' => 'Failed to query the cluster information. Please try again later.', 'http_code' => 400, 'description' => 'Failed to query cluster information. Please try again later.'],
+ ['code' => 'Connection.QueryErro', 'message' => 'Failed to query the consumer connection. Please try again later.', 'http_code' => 400, 'description' => 'Failed to query the consumer connection. Please try again later.'],
+ ['code' => 'Consumer.Existed', 'message' => 'The consumer information you are going to create already exists. Please verify.', 'http_code' => 400, 'description' => 'The consumer information you are going to create already exists. Please verify.'],
+ ['code' => 'ConsumerNeverOnline', 'message' => 'Failed to check the status of the specified subscription group as it does not exist or has never subscribed any message.', 'http_code' => 400, 'description' => 'Failed to check the status of the specified subscription group as it does not exist or has never subscribed any message. '],
+ ['code' => 'ConsumerProgress.NotSupport', 'message' => 'PullConsumer or broadcast message subscription does not support the query of consumer progress.', 'http_code' => 400, 'description' => 'PullConsumer or broadcast message subscription does not support the query of consumer progress.'],
+ ['code' => 'ConsumerStatus.QueryError', 'message' => 'Failed to query the consumer status. Please try again later.', 'http_code' => 400, 'description' => 'Failed to query the consumer status. Please try again later.'],
+ ['code' => 'ConsumerTimeRang.QueryError', 'message' => 'Failed to query the consumer\'s time range. Please try again later.', 'http_code' => 400, 'description' => 'Failed to query the consumer\'s time range. Please try again later.'],
+ ['code' => 'Data.NotExisted', 'message' => 'The data you are looking for does not exist.', 'http_code' => 400, 'description' => 'The data you are looking for does not exist.'],
+ ['code' => 'DeadLetterQueue.NotFound', 'message' => 'Dead-letter queue not found', 'http_code' => 400, 'description' => 'Dead-letter queue not found'],
+ ['code' => 'Empower.DeleteFailed', 'message' => 'Permission deletion failed.', 'http_code' => 400, 'description' => 'Permission deletion failed.'],
+ ['code' => 'Empower.Existed', 'message' => 'The permission to the specified Topic is already granted the user.', 'http_code' => 400, 'description' => 'The permission to the specified Topic is already granted the user. '],
+ ['code' => 'Empower.ForOwnerFailed', 'message' => 'You are the owner of the resource, and do need to be granted the permission.', 'http_code' => 400, 'description' => 'You are the owner of the resource, and do need to be granted the permission.'],
+ ['code' => 'Empower.NotExisted', 'message' => 'Permission is already deleted; Or the permission is granted from RAM, go to the RAM console to delete it.', 'http_code' => 400, 'description' => 'Permission is already deleted; Or the permission is granted from RAM, go to the RAM console to delete it.'],
+ ['code' => 'Empower.OwnerCheckError', 'message' => 'The resource of which you are going to grant permission is not owned by you. Please verify.', 'http_code' => 400, 'description' => 'The resource of which you are going to grant permission is not owned by you. Please verify.'],
+ ['code' => 'Empower.PrimaryUserCheckError', 'message' => 'The account you want to grant the permission to is not a primary account. Please verify and try again.', 'http_code' => 400, 'description' => 'The account you want to grant the permission to is not a primary account. Please verify and try again.'],
+ ['code' => 'Empower.UserCheckError', 'message' => 'The user you want to grant the permission to does not exist. Please verify and try again.', 'http_code' => 400, 'description' => 'The user you want to grant the permission to does not exist. Please verify and try again.'],
+ ['code' => 'EnvironmentError', 'message' => 'Failed to initialize the environment information. Please contact the system administrator.', 'http_code' => 400, 'description' => 'Failed to initialize the environment information. Please contact the system administrator.'],
+ ['code' => 'Group.BelongsToOtherInstance', 'message' => 'The specified Group ID belongs to another instance.', 'http_code' => 400, 'description' => 'The specified Group ID belongs to another instance.'],
+ ['code' => 'Group.BelongsToOtherRegion', 'message' => 'The specified Group ID belongs to another region.', 'http_code' => 400, 'description' => 'The specified Group ID belongs to another region.'],
+ ['code' => 'Group.BelongsToOthers', 'message' => 'Current GroupId have been other users or other region occupied', 'http_code' => 400, 'description' => 'Current GroupId have been other users or other region occupied'],
+ ['code' => 'Group.BelongsToOthers', 'message' => 'The specified Group ID belongs to another user.', 'http_code' => 400, 'description' => 'The specified Group ID belongs to another user.'],
+ ['code' => 'Group.CreateError', 'message' => 'Create a GroupId failure', 'http_code' => 400, 'description' => 'Create a GroupId failure'],
+ ['code' => 'Group.CreateError', 'message' => 'Failed to create the Group ID. Please try again later.', 'http_code' => 400, 'description' => 'Failed to create the Group ID. Please try again later.'],
+ ['code' => 'Group.DeleteError', 'message' => 'Failed to delete the Group ID. Please try again later.', 'http_code' => 400, 'description' => 'Failed to delete the Group ID. Please try again later.'],
+ ['code' => 'Group.Existed', 'message' => 'Current GroupId already exists', 'http_code' => 400, 'description' => 'Current GroupId already exists'],
+ ['code' => 'Group.Existed', 'message' => 'The specified Group ID is already in use. Please change to another one.', 'http_code' => 400, 'description' => 'The specified Group ID is already in use. Please change to another one.'],
+ ['code' => 'Group.NeverOnline', 'message' => 'The Group ID has never been online.', 'http_code' => 400, 'description' => 'The Group ID has never been online.'],
+ ['code' => 'Group.NotExisted', 'message' => 'The specified subscription group does not exist.', 'http_code' => 400, 'description' => 'The specified subscription group does not exist.'],
+ ['code' => 'Group.NotOnline', 'message' => 'The current Group ID is disconnected.', 'http_code' => 400, 'description' => 'The current Group ID is disconnected.'],
+ ['code' => 'Group.NumLimited', 'message' => 'group count exceed limit.', 'http_code' => 400, 'description' => 'The number of gid exceeds the limit.'],
+ ['code' => 'Group.UpdateError', 'message' => 'Failed to update the Group ID. Please try again later.', 'http_code' => 400, 'description' => 'Failed to update the Group ID. Please try again later.'],
+ ['code' => 'GroupName.SameToTopic', 'message' => 'The topic name cannot be the same as a group name.', 'http_code' => 400, 'description' => 'TOPIC cannot have the same name as GROUP.'],
+ ['code' => 'Instance.CreateError', 'message' => 'Create instance error.', 'http_code' => 400, 'description' => 'Create instance error,please open a ticket.'],
+ ['code' => 'Instance.CreateNotAllowed', 'message' => 'Failed to create a standard instance because the standard edition is not supported in the international site.', 'http_code' => 400, 'description' => 'Failed to create a standard instance because the standard edition is not supported in the international site.'],
+ ['code' => 'Instance.DeleteError', 'message' => 'There is data in the instance. Delete all the Topics and Group ID in the instance first.', 'http_code' => 400, 'description' => 'There is data in the instance. Delete all the Topics and Group ID in the instance first.'],
+ ['code' => 'Instance.Empty', 'message' => 'You don\'t have an instance, please create one first.', 'http_code' => 400, 'description' => 'You don\'t have an instance, please create one first.'],
+ ['code' => 'Instance.HasReleased', 'message' => 'The instance has been released', 'http_code' => 400, 'description' => 'The instance has been released'],
+ ['code' => 'Instance.NameExisted', 'message' => 'The specified instance name already exists.', 'http_code' => 400, 'description' => 'The specified instance name already exists.'],
+ ['code' => 'Instance.NoPermission', 'message' => 'The instance does not have required permissions.', 'http_code' => 400, 'description' => 'The instance does not have relevant permissions.'],
+ ['code' => 'Instance.NoPermissionToCreate', 'message' => 'Current Account No permissions to create an instance', 'http_code' => 400, 'description' => 'Current Account No permissions to create an instance'],
+ ['code' => 'Instance.NormalNumberLimit', 'message' => 'Cannot create the instance. The number of default instances has reached the upper limit.', 'http_code' => 400, 'description' => 'Cannot create the instance. The number of default instances has reached the upper limit.'],
+ ['code' => 'Instance.NotFound', 'message' => 'Specified instance not found', 'http_code' => 400, 'description' => 'Specified instance not found'],
+ ['code' => 'Instance.NotInService', 'message' => 'Specified instance is not in service.', 'http_code' => 400, 'description' => 'Specified instance is not in service.'],
+ ['code' => 'Instance.NumberLimit', 'message' => 'Cannot create the instance. The number of instances has reached the upper limit.', 'http_code' => 400, 'description' => 'Cannot create the instance. The number of instances has reached the upper limit.'],
+ ['code' => 'Instance.PemissionError', 'message' => 'Failed to validate the instance permission.', 'http_code' => 400, 'description' => 'Failed to validate the instance permission.'],
+ ['code' => 'Instance.UnsupportInternetEndpoint', 'message' => 'The current instance does not support public endpoint.', 'http_code' => 400, 'description' => 'The current instance does not support public endpoint.'],
+ ['code' => 'InstancePermission.CheckError', 'message' => 'Failed to validate the instance permission.', 'http_code' => 403, 'description' => 'Instance permission verification failed'],
+ ['code' => 'InstancePreType.DeleteError', 'message' => 'The Enterprise Platinum Edition instance has not expired and cannot be deleted.', 'http_code' => 400, 'description' => 'The platinum version has not expired and cannot be deleted.'],
+ ['code' => 'InstanceRefuseType.NotSupport', 'message' => 'This instance is not support the refuse type.', 'http_code' => 400, 'description' => 'The instance does not support the current refund method.'],
+ ['code' => 'InstanceReleaseType.Invalid', 'message' => 'The release type of instance is invalid.', 'http_code' => 400, 'description' => 'Error in instance release type in order'],
+ ['code' => 'InstanceTag.NumLimited', 'message' => 'The tag is only supported for instance that have namespace.', 'http_code' => 400, 'description' => 'Tags are only supported for instances with namespaces'],
+ ['code' => 'InstanceUpgradeOnsPre.NotSupportClassic', 'message' => 'Instances with classic network access do not support upgrading to Platinum Edition.', 'http_code' => 400, 'description' => 'Instances with classic network access cannot be upgraded to platinum edition'],
+ ['code' => 'LogonExpired', 'message' => 'Your logon has expired. Please log on again.', 'http_code' => 400, 'description' => 'Your logon has expired. Please log on again.'],
+ ['code' => 'Message.DownloadError', 'message' => 'Failed to download the message. Please try again later.', 'http_code' => 400, 'description' => 'Failed to download the message. Please try again later.'],
+ ['code' => 'Message.NotExisted', 'message' => 'The message does not exist.', 'http_code' => 400, 'description' => 'The message does not exist.'],
+ ['code' => 'Message.QueryError', 'message' => 'Message query failed. Please try again later.', 'http_code' => 400, 'description' => 'Message query failed. Please try again later.'],
+ ['code' => 'Message.SendError', 'message' => 'Failed to send the message. Please try again later.', 'http_code' => 400, 'description' => 'Failed to send the message. Please try again later.'],
+ ['code' => 'MessageTraceError', 'message' => 'Failed to query the message trace. Please try again later.', 'http_code' => 400, 'description' => 'Failed to query the message trace. Please try again later.'],
+ ['code' => 'NetworkError', 'message' => 'Network connection failed. Please contact the system administrator.', 'http_code' => 400, 'description' => 'Network connection failed. Please contact the system administrator.'],
+ ['code' => 'NonDesignatedAccount', 'message' => 'This account has no permission', 'http_code' => 400, 'description' => 'This account has no permission'],
+ ['code' => 'NotResourceOwner', 'message' => 'No permission on the resource. Check whether the resource exists and the resource name is correct.', 'http_code' => 400, 'description' => 'No permission on the resource. Check whether the resource exists and the resource name is correct.'],
+ ['code' => 'NotSupport', 'message' => 'The request is not supported. Please contact the system administrator.', 'http_code' => 400, 'description' => 'The request is not supported. Please contact the system administrator.'],
+ ['code' => 'Offset.ResetError', 'message' => 'Failed to reset the consumer offset. Please make sure the Group is online or has been online.', 'http_code' => 400, 'description' => 'Failed to reset the consumer offset. Make sure the group is online or has been online.'],
+ ['code' => 'Order.NotFound', 'message' => 'The order is not found.', 'http_code' => 400, 'description' => 'Order not found'],
+ ['code' => 'OrderMessage.CreateError', 'message' => 'Failed to create configuration for ordered message. Please try again later.', 'http_code' => 400, 'description' => 'Failed to create configuration for ordered message. Please try again later.'],
+ ['code' => 'OrderMessage.DeleteError', 'message' => 'Failed to create configuration for ordered message. Please try again later.', 'http_code' => 400, 'description' => 'Failed to create configuration for ordered message. Please try again later.'],
+ ['code' => 'OverdueAccount', 'message' => 'The current account has overdue payments. Go to Billing Management and recharge.', 'http_code' => 400, 'description' => 'The current account has overdue payments. Go to Billing Management and recharge.'],
+ ['code' => 'PageExpired', 'message' => 'The page has expired. Please refresh the page.', 'http_code' => 400, 'description' => 'The page has expired. Please refresh the page.'],
+ ['code' => 'Parameter.Invalid', 'message' => 'Parameter validation failed.', 'http_code' => 400, 'description' => 'Parameter validation failed.'],
+ ['code' => 'ParameterError', 'message' => 'Task parameter error', 'http_code' => 400, 'description' => 'Task parameter error'],
+ ['code' => 'Pricing.NotSupport', 'message' => 'The pricing is not support for this commodity.', 'http_code' => 400, 'description' => 'The current product does not support inquiry.'],
+ ['code' => 'PricingConfig.NotFound', 'message' => 'The pricing config is not found for this commodity.', 'http_code' => 400, 'description' => 'The current commodity inquiry configuration cannot be found'],
+ ['code' => 'PricingConfig.ParseError', 'message' => 'The pricing config is invalid for this commodity.', 'http_code' => 400, 'description' => 'Current commodity inquiry configuration error'],
+ ['code' => 'Producer.CreateError', 'message' => 'Failed to create the producer. Please try again later.', 'http_code' => 400, 'description' => 'Failed to create the producer. Please try again later.'],
+ ['code' => 'Producer.NotExisted', 'message' => 'The producer information does not exist. Please verify and try again.', 'http_code' => 400, 'description' => 'The producer information does not exist. Please verify and try again.'],
+ ['code' => 'Publisher.Existed', 'message' => 'The Topic you are going to create is aleady published by someone else. Please verify.', 'http_code' => 400, 'description' => 'The Topic you are going to create is aleady published by someone else. Please verify.'],
+ ['code' => 'QPS.Limit', 'message' => 'Maximum number of concurrent requests beyond', 'http_code' => 400, 'description' => 'Maximum number of concurrent requests beyond'],
+ ['code' => 'RAMGrantError', 'message' => 'No permission. Contact the resource owner to check in the RAM system whether you have the “{data}” permission on the resource.', 'http_code' => 400, 'description' => 'No permission. Contact the resource owner to check in the RAM system whether you have the “{data}” permission on the resource.'],
+ ['code' => 'Region.InputError', 'message' => 'The region where the specified Topic is located is inconsistent with the region you are currently logged on to.', 'http_code' => 400, 'description' => 'The region where the specified Topic is located is inconsistent with the region you are currently logged on to.'],
+ ['code' => 'RegionInfoError', 'message' => 'Region information does not exist.', 'http_code' => 400, 'description' => 'Region information does not exist.'],
+ ['code' => 'RequestRejected', 'message' => 'Your request has been rejected. Please do not try again.', 'http_code' => 400, 'description' => 'Your request has been rejected. Please do not try again.'],
+ ['code' => 'ResetOffset.NoNeed', 'message' => 'Reset is not needed as there are not any topics written into the topic subscribed by the current Group ID.', 'http_code' => 400, 'description' => 'Reset is not needed as there are not any topics written into the topic subscribed by the current Group ID. '],
+ ['code' => 'ResetOffsetRrror', 'message' => 'Failed to reset consumer progress. Please try again later.', 'http_code' => 400, 'description' => 'Failed to reset consumer progress. Please try again later.'],
+ ['code' => 'Resource.isSystem', 'message' => 'The topic name or group ID that you want to create is the same as an existing system resource name. Use another topic name or group ID.', 'http_code' => 400, 'description' => 'The ID of the created topic or group is the same as the system resource name. Please rename the topic or group.'],
+ ['code' => 'Resource.NotFound', 'message' => 'The resource is not exist.', 'http_code' => 404, 'description' => 'The resource does not exist. Please confirm before operation.'],
+ ['code' => 'Resource.NotFound', 'message' => 'The resource you accessed does not exist, please check whether the configuration is correct.', 'http_code' => 400, 'description' => 'The resource you accessed does not exist, please check whether the configuration is correct.'],
+ ['code' => 'Risk.DoubleCheck', 'message' => 'Double verification of the risk control information is required.', 'http_code' => 400, 'description' => 'Double verification of the risk control information is required.'],
+ ['code' => 'Risk.DoubleCheck.Error', 'message' => 'Failed to detect CAPTCHA', 'http_code' => 400, 'description' => 'Failed to detect CAPTCHA'],
+ ['code' => 'Risk.SendVerificationCode', 'message' => 'Failed to send the verification code', 'http_code' => 400, 'description' => 'Failed to send the verification code'],
+ ['code' => 'Router.AddTopicError', 'message' => 'Failed to add topic routing. Please make sure that the topic has been applied for on the console and approved.', 'http_code' => 400, 'description' => 'Failed to add topic routing. Please make sure that the topic has been applied for on the console and approved.'],
+ ['code' => 'Router.BackTaskDeleted', 'message' => 'The task is deleted.', 'http_code' => 400, 'description' => 'The task is deleted.'],
+ ['code' => 'Router.BackTaskNotExisted', 'message' => 'Task not found', 'http_code' => 400, 'description' => 'Task not found'],
+ ['code' => 'Router.BatchStartError', 'message' => 'Failed to batch start the global message router.', 'http_code' => 400, 'description' => 'Global message routing task batch execution failed'],
+ ['code' => 'Router.BatchStopError', 'message' => 'Failed to batch stop the global message router.', 'http_code' => 400, 'description' => 'Global message routing task batch stop failure'],
+ ['code' => 'Router.CloneOrderConfigError', 'message' => 'Routing instance configuration does not exist. Please contact the administrator.', 'http_code' => 400, 'description' => 'Routing instance configuration does not exist. Please contact the administrator.'],
+ ['code' => 'Router.ConfigIsEmpty', 'message' => 'Failed to publish the configuration information of the routing instance. Please verify whether the configuration information is incorrect.', 'http_code' => 400, 'description' => 'Failed to publish the configuration information of the routing instance. Please verify whether the configuration information is incorrect.'],
+ ['code' => 'Router.ConsumerInvalid', 'message' => 'The Group ID is empty, or the specified Topic is not subscribed by the Group ID.', 'http_code' => 400, 'description' => 'The Group ID is empty, or the specified Topic is not subscribed by the Group ID.'],
+ ['code' => 'Router.CreateInstanceError', 'message' => 'Failed to create the routing instance. Please contact your administrator.', 'http_code' => 400, 'description' => 'Failed to create the routing instance. Please contact your administrator.'],
+ ['code' => 'Router.DeleteTopicError', 'message' => 'Failed to delete the Topic routing. Please verify whether the Topic exists.', 'http_code' => 400, 'description' => 'Failed to delete the Topic routing. Please verify whether the Topic exists.'],
+ ['code' => 'Router.DesTopicNotExisted', 'message' => 'Target Topic not found', 'http_code' => 400, 'description' => 'Target Topic not found'],
+ ['code' => 'Router.InvalidAuth', 'message' => 'You do not have the permission to the Topic.', 'http_code' => 400, 'description' => 'You do not have the permission to the Topic.'],
+ ['code' => 'Router.InvokeError', 'message' => 'Service call exception', 'http_code' => 400, 'description' => 'Service call exception'],
+ ['code' => 'Router.NoPublicTestRegion', 'message' => 'The region is for test,Router is not supported', 'http_code' => 400, 'description' => 'The region is for test,Router is not supported'],
+ ['code' => 'Router.ParameterInvalid', 'message' => 'The parameter is invalid.', 'http_code' => 400, 'description' => 'The parameter is invalid.'],
+ ['code' => 'Router.SrcTopicNotExisted', 'message' => 'The source Topic was not found.', 'http_code' => 400, 'description' => 'The source Topic was not found.'],
+ ['code' => 'Router.StopFirst', 'message' => 'You cannot edit the filtering rule. Stop the task first.', 'http_code' => 400, 'description' => 'You cannot edit the filtering rule. Stop the task first.'],
+ ['code' => 'Router.TaskExisted', 'message' => 'Cannot create the task. The same task already exists.', 'http_code' => 400, 'description' => 'Cannot create the task. The same task already exists.'],
+ ['code' => 'Router.TaskLimit', 'message' => 'You cannot create the task. A single account can only create a maximum of 500 tasks.', 'http_code' => 400, 'description' => 'You cannot create the task. A single account can only create a maximum of 500 tasks.'],
+ ['code' => 'Router.TaskSeadCycle', 'message' => 'You cannot create the task as it will cause an endless loop (i.e: a -> b -> c -> a ) .', 'http_code' => 400, 'description' => 'You cannot create the task as it will cause an endless loop (i.e: a -> b -> c -> a ) .'],
+ ['code' => 'Router.TopicNotInSource', 'message' => 'The Topic does not exist in the source region. Please create the Topic in the source region first.', 'http_code' => 400, 'description' => 'The Topic does not exist in the source region. Please create the Topic in the source region first.'],
+ ['code' => 'Router.TopicNotInTarget', 'message' => 'The Topic does not exist in the target region. Please create the Topic in the target region first.', 'http_code' => 400, 'description' => 'The Topic does not exist in the target region. Please create the Topic in the target region first.'],
+ ['code' => 'Router.TopicSrcSameToDes', 'message' => 'The source Topic cannot be the same as the target Topic.', 'http_code' => 400, 'description' => 'The source Topic cannot be the same as the target Topic.'],
+ ['code' => 'RouterCrossBorder.NotSupport', 'message' => 'Cross-border message routing is not supported.', 'http_code' => 400, 'description' => 'Cross-border message routing is not supported.'],
+ ['code' => 'RouterGroup.DeleteError', 'message' => 'Failed to delete the group of routing instance.', 'http_code' => 400, 'description' => 'Failed to delete subscription. Please try again later.'],
+ ['code' => 'RouterInstance.NotSupport', 'message' => 'Current instance is not support the global message router.', 'http_code' => 400, 'description' => 'The current instance does not support global message routing.'],
+ ['code' => 'RouterTopic.NotSupportOrderV2', 'message' => 'The global message router feature does not support ordered messages 2.0.', 'http_code' => 400, 'description' => 'Global message routing does not support sequential message 2.0'],
+ ['code' => 'RunningStatus.QueryError', 'message' => 'Failed to get the running status of the Group ID. Please check whether the Group ID is online.', 'http_code' => 400, 'description' => 'Failed to get the running status of the Group ID. Please check whether the Group ID is online.'],
+ ['code' => 'ServiceUnable', 'message' => 'The current user has not activated the ONS service. <a href="{data}" target="_blank">Please activate the service first &gt;&gt;</a>.', 'http_code' => 400, 'description' => 'The current user has not activated the ONS service. <a href="{data}" target="_blank">Please activate the service first &gt;&gt;</a>.'],
+ ['code' => 'SignatureError', 'message' => 'Signature calculation failed.', 'http_code' => 400, 'description' => 'Signature calculation failed.'],
+ ['code' => 'SpInstance.CreateError', 'message' => 'Instance production failure', 'http_code' => 400, 'description' => 'Instance production failure'],
+ ['code' => 'SpInstance.Existed', 'message' => 'The current instance Id already exists', 'http_code' => 400, 'description' => 'The current instance Id already exists'],
+ ['code' => 'SpInstance.NotFound', 'message' => 'can not found this instance', 'http_code' => 400, 'description' => 'can not found this instance'],
+ ['code' => 'System.ReadOnly', 'message' => 'The system is currently read-only and does not allow write operations. Processing is underway, please retry later.', 'http_code' => 400, 'description' => 'The current system is read-only and does not support write operations. Processing, please try again later.'],
+ ['code' => 'SystemError', 'message' => 'System processing error. Please contact the system administrator.', 'http_code' => 400, 'description' => 'System processing error. Please contact the system administrator.'],
+ ['code' => 'Tag.BindError', 'message' => 'Failed to bind the tag to the resource.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'Tag.NotFound', 'message' => 'The tag is not exist.', 'http_code' => 404, 'description' => ''],
+ ['code' => 'Tag.NumLimited', 'message' => 'The maximum number of tag is reached.', 'http_code' => 400, 'description' => 'The number of tags for the current resource exceeds the maximum limit and cannot be added.'],
+ ['code' => 'Tag.UnBindError', 'message' => 'Failed to unbind the tag from the resource.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'TagResourceType.Invalid', 'message' => 'The type of resource is invalid.', 'http_code' => 400, 'description' => 'The resource type is incorrect. Please confirm and try again.'],
+ ['code' => 'Task.HasCreated', 'message' => 'The task has been created before.', 'http_code' => 400, 'description' => 'The task has been created before.'],
+ ['code' => 'Task.NotFound', 'message' => 'Task not found', 'http_code' => 400, 'description' => 'Task not found'],
+ ['code' => 'Topic.CreateError', 'message' => 'Failed to create the Topic', 'http_code' => 400, 'description' => 'Failed to create the Topic'],
+ ['code' => 'Topic.DeleteError', 'message' => 'Failed to delete the Topic', 'http_code' => 400, 'description' => 'Failed to delete the Topic'],
+ ['code' => 'Topic.Existed', 'message' => 'The specified Topic already exists.', 'http_code' => 400, 'description' => 'The specified Topic already exists.'],
+ ['code' => 'Topic.NotExisted', 'message' => 'The specified Topic does not exist.', 'http_code' => 400, 'description' => 'The specified Topic does not exist.'],
+ ['code' => 'Topic.NotFoundInInstance', 'message' => 'The Topic is not found in the default instance.', 'http_code' => 400, 'description' => 'The Topic is not found in the default instance.'],
+ ['code' => 'Topic.NumberLimit', 'message' => 'Cannot create the Topic. The maximum number of Topics allowed for the instance is reached.', 'http_code' => 400, 'description' => 'Cannot create the Topic. The maximum number of Topics allowed for the instance is reached.'],
+ ['code' => 'Topic.UpdateError', 'message' => 'Failed to update the Topic. Please try again later.', 'http_code' => 400, 'description' => 'Failed to update the Topic. Please try again later.'],
+ ['code' => 'TopicName.SameToGroup', 'message' => 'The group name cannot be the same as a topic name.', 'http_code' => 400, 'description' => 'GROUP cannot have the same name as TOPIC.'],
+ ['code' => 'TopicPerm.UpdateError', 'message' => 'update topic perm failed.', 'http_code' => 400, 'description' => 'Failed to update the topic permissions.'],
+ ['code' => 'TopicRoute.QueryError', 'message' => 'Failed to get the Topic routing information. Please try again later.', 'http_code' => 400, 'description' => 'Failed to get the Topic routing information. Please try again later.'],
+ ['code' => 'TopicServiceStatus.isCreating', 'message' => 'Topic is being created to Broker, please wait a moment.', 'http_code' => 404, 'description' => 'The topic is being created to brokers.'],
+ ['code' => 'TopicServiceStatus.isCreating', 'message' => 'Topic is creating to broker.', 'http_code' => 400, 'description' => 'Topic is creating to broker.'],
+ ['code' => 'TopicStatus.QeuryError', 'message' => 'Failed to query the Topic status. Please try again later.', 'http_code' => 400, 'description' => 'Failed to query the Topic status. Please try again later.'],
+ ['code' => 'Trace.CreateError', 'message' => 'Failed to create the task of message trace query.', 'http_code' => 400, 'description' => 'Failed to create the task of message trace query.'],
+ ['code' => 'Trace.DeleteError', 'message' => 'Failed to delete the message trace.', 'http_code' => 400, 'description' => 'Failed to delete message trace'],
+ ['code' => 'Trace.QueryResultError', 'message' => 'Failed to query the result of message trace.', 'http_code' => 400, 'description' => 'Failed to query message trace'],
+ ['code' => 'Ubsms.Indebt', 'message' => 'The current service is stopped due to overdue payment. The service will be resumed after the payment is settled.', 'http_code' => 400, 'description' => 'The current service is stopped due to overdue payment. The service will be resumed after the payment is settled.'],
+ ['code' => 'Ubsms.IndebtOverdue', 'message' => 'Your payment is long overdue and the current service has been released. Please settle the payment, and then activate the service again.', 'http_code' => 400, 'description' => 'Your payment is long overdue and the current service has been released. Please settle the payment, and then activate the service again.'],
+ ['code' => 'Ubsms.ServiceUnable', 'message' => 'MQ service has not been activated for your account. Please activate it.', 'http_code' => 400, 'description' => 'MQ service has not been activated for your account. Please activate it.'],
+ ['code' => 'UpdateGroupPermError', 'message' => 'Failed to update the subscription permission. Please contact the administrator.', 'http_code' => 400, 'description' => 'Failed to update the subscription permission. Please contact the administrator.'],
+ ['code' => 'UpdateTopicPermError', 'message' => 'Failed to update the read and write permission. Please contact the administrator.', 'http_code' => 400, 'description' => 'Failed to update the read and write permission. Please contact the administrator.'],
+ ['code' => 'User.NotExisted', 'message' => 'The user information does not exist. Please check the AccessKey.', 'http_code' => 400, 'description' => 'The user information does not exist. Please check the AccessKey.'],
+ ['code' => 'VerifyConsuptionError', 'message' => 'Failed to verify the consumption. Please try again later.', 'http_code' => 400, 'description' => 'Failed to verify the consumption. Please try again later.'],
+ ['code' => 'VpcVSwitch.NotFound', 'message' => 'The VPC and vSwitch are not found.', 'http_code' => 404, 'description' => 'The VPC and vSwitch are not found.'],
+ ],
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsTopicSubDetail'],
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'],
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'],
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsInstanceDelete'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsTopicDelete'],
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsTopicUpdate'],
+ ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsTraceQueryByMsgKey'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsConsumerGetConnection'],
+ ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsTraceQueryByMsgId'],
+ ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsRegionList'],
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsTopicList'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsConsumerAccumulate'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsMessageDetail'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsGroupConsumerUpdate'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsConsumerTimeSpan'],
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsGroupList'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsMessageTrace'],
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsGroupSubDetail'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsTraceGetResult'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsTopicCreate'],
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsDLQMessagePageQueryByGroupId'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsGroupDelete'],
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsInstanceUpdate'],
+ ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsMessagePageQueryByTopic'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsGroupCreate'],
+ ['threshold' => '15', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsTrendTopicInputTps'],
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsDLQMessageResendById'],
+ ['threshold' => '15', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsTrendGroupOutputTps'],
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsMessagePush'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsConsumerStatus'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsConsumerResetOffset'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsMessageGetByMsgId'],
+ ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsInstanceBaseInfo'],
+ ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsInstanceInServiceList'],
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsDLQMessageGetById'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'],
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OnsInstanceCreate'],
+ ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsTopicStatus'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OnsMessageGetByKey'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OpenOnsService'],
],
- [
- 'regionId' => 'cn-beijing-finance-1',
- 'endpoint' => 'ons.cn-beijing-finance-1.aliyuncs.com',
+ 'product' => ['code' => 'ons', 'title' => 'Ons'],
+ ],
+ 'ram' => [
+ 'productCode' => 'Ons',
+ 'productName' => 'ApsaraMQ',
+ 'ramCodes' => ['mq'],
+ 'ramLevel' => 'RESOURCE',
+ 'ramConditions' => [],
+ 'ramActions' => [
+ [
+ 'apiName' => 'OnsDLQMessagePageQueryByGroupId',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:QueryDLQMessage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListTagResources',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:ListTagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsTrendGroupOutputTps',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'conditional'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:QueryTrendGroupOutputTps',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsDLQMessageGetById',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:QueryDLQMessage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsConsumerStatus',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:QueryConsumerStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsMessagePageQueryByTopic',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:QueryMessage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsTopicDelete',
+ 'description' => '',
+ 'operationType' => '',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:DeleteTopic',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsGroupDelete',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:DeleteGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsTopicUpdate',
+ 'description' => '',
+ 'operationType' => '',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:UpdateTopic',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsGroupConsumerUpdate',
+ 'description' => '',
+ 'operationType' => '',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:UpdateGroupConsumer',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsConsumerTimeSpan',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:QueryConsumerTimeSpan',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsGroupSubDetail',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:QueryGroupSubDetail',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsDLQMessageResendById',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:ResendDLQMessage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UntagResources',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:UntagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsConsumerGetConnection',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:QueryConsumerConnection',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsGroupList',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:ListGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsMessageDetail',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:QueryMessageDetail',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsTopicList',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:ListTopic',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsTopicStatus',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:QueryTopicStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsTraceQueryByMsgId',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:QueryTrace',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsMessagePush',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:SUB',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsConsumerResetOffset',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:ResetConsumerOffset',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsMessageTrace',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:QueryMessageTrace',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsTopicSubDetail',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:QueryTopicSubDetail',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsGroupCreate',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:CreateGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsMessageGetByMsgId',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:QueryMessage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsInstanceUpdate',
+ 'description' => '',
+ 'operationType' => '',
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:UpdateInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsTopicCreate',
+ 'description' => '',
+ 'operationType' => '',
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:CreateTopic',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsInstanceDelete',
+ 'description' => '',
+ 'operationType' => '',
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:DeleteInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'TagResources',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:TagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsInstanceInServiceList',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'additionalActions' => [],
+ 'ramAction' => [
+ 'action' => 'mq:QueryInstanceBaseInfo',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsTraceQueryByMsgKey',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:QueryTrace',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsConsumerAccumulate',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:QueryConsumerAccumulate',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsTrendTopicInputTps',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'conditional'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:QueryTrendTopicInputTps',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsMessageGetByKey',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:OnsInstanceBaseInfo', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:QueryMessage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsInstanceBaseInfo',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryInstanceBaseInfo',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsInstanceCreate',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'mq:CreateInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OnsTraceGetResult',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:QueryInstanceBaseInfo'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:GetTraceResult',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ['validationType' => 'always', 'product' => 'Ons', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ],
+ ],
+ ],
],
- [
- 'regionId' => 'me-central-1',
- 'endpoint' => 'ons.me-central-1.aliyuncs.com',
+ 'resourceTypes' => [
+ ['validationType' => 'conditional', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#GroupName}'],
+ ['validationType' => 'conditional', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}'],
+ ['validationType' => 'conditional', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#TopicName}'],
+ ['validationType' => 'conditional', 'resourceType' => 'Topic', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}'],
+ ['validationType' => 'always', 'resourceType' => 'Group', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ['validationType' => 'conditional', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:*'],
],
],
];