diff options
Diffstat (limited to 'data/zh_cn/dts')
| -rw-r--r-- | data/zh_cn/dts/2015-11-24/api-docs.php | 937 | ||||
| -rw-r--r-- | data/zh_cn/dts/2016-08-01/api-docs.php | 1193 | ||||
| -rw-r--r-- | data/zh_cn/dts/2017-06-01/api-docs.php | 1544 | ||||
| -rw-r--r-- | data/zh_cn/dts/2018-08-01/api-docs.php | 2657 | ||||
| -rw-r--r-- | data/zh_cn/dts/2019-09-01/api-docs.php | 305 | ||||
| -rw-r--r-- | data/zh_cn/dts/2020-01-01/api-docs.php | 43461 |
6 files changed, 15292 insertions, 34805 deletions
diff --git a/data/zh_cn/dts/2015-11-24/api-docs.php b/data/zh_cn/dts/2015-11-24/api-docs.php deleted file mode 100644 index 4f40994..0000000 --- a/data/zh_cn/dts/2015-11-24/api-docs.php +++ /dev/null @@ -1,937 +0,0 @@ -<?php return [ - 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Dts', - 'version' => '2015-11-24', - ], - 'directories' => [ - [ - 'id' => 61354, - 'title' => '同步作业', - 'type' => 'directory', - 'children' => [ - 'CreateSynchronousJob', - 'DeleteSynchronousJob', - 'StartSynchronousJob', - 'SuspendSynchronousJob', - 'DescribeSynchronousJobConfiguration', - 'DescribeSynchronousJobDetails', - 'DescribeSynchronousJobList', - ], - ], - ], - 'components' => [ - 'schemas' => [], - ], - 'apis' => [ - 'CreateSynchronousJob' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'parameters' => [ - [ - 'name' => 'SynchronousJobName', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'SourceInstanceId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'DestinationInstanceId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'SynchronousObjectList', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'StructureIntialization', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], - ], - [ - 'name' => 'FullDataIntialization', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], - ], - [ - 'name' => 'SynchronousSpeedLimit', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'SynchronousJobId' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 401 => [ - [ - 'errorCode' => 'Not owner', - 'errorMessage' => 'this job is not users', - ], - ], - 404 => [ - [ - 'errorCode' => 'Missing SynchronousJob', - 'errorMessage' => 'not found object', - ], - ], - 406 => [ - [ - 'errorCode' => 'InvalidParameterValue', - 'errorMessage' => 'The Value of Input Parameter %s is not valid', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], - ], - ], - 'responseDemo' => '', - ], - 'DeleteSynchronousJob' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'parameters' => [ - [ - 'name' => 'SynchronousJobId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - ], - 'responses' => [], - 'errorCodes' => [ - 401 => [ - [ - 'errorCode' => 'Not owner', - 'errorMessage' => 'this job is not users', - ], - ], - 404 => [ - [ - 'errorCode' => 'Missing SynchronousJob', - 'errorMessage' => 'not found object', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], - ], - ], - 'responseDemo' => '', - ], - 'StartSynchronousJob' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'parameters' => [ - [ - 'name' => 'SynchronousJobId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - ], - 'responses' => [], - 'errorCodes' => [ - 401 => [ - [ - 'errorCode' => 'Not owner', - 'errorMessage' => 'this job is not users', - ], - ], - 404 => [ - [ - 'errorCode' => 'Missing SynchronousJob', - 'errorMessage' => 'not found object', - ], - ], - [ - [ - 'errorCode' => 'OperationDenied.JobStatus', - 'errorMessage' => 'The operation is not permitted due to Migration job status is s%', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], - ], - ], - 'responseDemo' => '', - ], - 'SuspendSynchronousJob' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'parameters' => [ - [ - 'name' => 'SynchronousJobId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - ], - 'responses' => [], - 'errorCodes' => [ - 401 => [ - [ - 'errorCode' => 'Not owner', - 'errorMessage' => 'this job is not users', - ], - ], - 404 => [ - [ - 'errorCode' => 'Missing SynchronousJob', - 'errorMessage' => 'not found object', - ], - ], - [ - [ - 'errorCode' => 'OperationDenied.JobStatus', - 'errorMessage' => 'The operation is not permitted due to Migration job status is s%', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], - ], - ], - 'responseDemo' => '', - ], - 'DescribeSynchronousJobConfiguration' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'parameters' => [ - [ - 'name' => 'SynchronousJobId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'DestinationInstanceId' => [ - 'type' => 'string', - ], - 'FullDataIntialization' => [ - 'type' => 'string', - ], - 'DestinationDBType' => [ - 'type' => 'string', - ], - 'SourceDBType' => [ - 'type' => 'string', - ], - 'CreateTime' => [ - 'type' => 'string', - ], - 'SynchronousJobName' => [ - 'type' => 'string', - ], - 'SynchronousJobId' => [ - 'type' => 'string', - ], - 'SynchronousSpeedLimit' => [ - 'type' => 'string', - ], - 'StructureIntialization' => [ - 'type' => 'string', - ], - 'SourceInstanceId' => [ - 'type' => 'string', - ], - 'SynchronousObjectList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SynchronousObject' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DatabaseName' => [ - 'type' => 'string', - ], - 'WholeDatabase' => [ - 'type' => 'string', - ], - 'TableList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Table' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 401 => [ - [ - 'errorCode' => 'Not owner', - 'errorMessage' => 'this job is not users', - ], - ], - 404 => [ - [ - 'errorCode' => 'Missing SynchronousJob', - 'errorMessage' => 'not found object', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], - ], - ], - 'responseDemo' => '', - ], - 'DescribeSynchronousJobDetails' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'parameters' => [ - [ - 'name' => 'SynchronousJobId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'DelaySecond' => [ - 'type' => 'string', - ], - 'PrecheckStatus' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'FullDataIntializatioProgress' => [ - 'type' => 'string', - ], - 'StructureIntializationProgress' => [ - 'type' => 'string', - ], - 'PrecheckPercent' => [ - 'type' => 'string', - ], - 'StructureIntializationStatus' => [ - 'type' => 'string', - ], - 'CreateTime' => [ - 'type' => 'string', - ], - 'SynchronousJobId' => [ - 'type' => 'string', - ], - 'FullDataIntializatioPercent' => [ - 'type' => 'string', - ], - 'SynchronousFlow' => [ - 'type' => 'string', - ], - 'DestinationInstanceId' => [ - 'type' => 'string', - ], - 'IncrementDataIntializatioPercent' => [ - 'type' => 'string', - ], - 'SynchronousJobName' => [ - 'type' => 'string', - ], - 'SynchronousStatus' => [ - 'type' => 'string', - ], - 'SynchronousTPS' => [ - 'type' => 'string', - ], - 'FullDataIntializationStatus' => [ - 'type' => 'string', - ], - 'IncrementDataIntializatioDelay' => [ - 'type' => 'string', - ], - 'IncrementDataIntializationStatus' => [ - 'type' => 'string', - ], - 'StructureIntializationPercent' => [ - 'type' => 'string', - ], - 'SourceInstanceId' => [ - 'type' => 'string', - ], - 'PrecheckDetails' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'PrecheckDetail' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CheckResult' => [ - 'type' => 'string', - ], - 'CheckItemDescription' => [ - 'type' => 'string', - ], - 'FailedReson' => [ - 'type' => 'string', - ], - 'CheckItem' => [ - 'type' => 'string', - ], - 'RepairMethod' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 401 => [ - [ - 'errorCode' => 'Not owner', - 'errorMessage' => 'this job is not users', - ], - ], - 404 => [ - [ - 'errorCode' => 'Missing SynchronousJob', - 'errorMessage' => 'not found object', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], - ], - ], - 'responseDemo' => '', - ], - 'DescribeSynchronousJobList' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'parameters' => [ - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'default' => '30', - ], - ], - [ - 'name' => 'PageNum', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'SynchronousJobName', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'PageNumber' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PageRecordCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'TotalRecordCount' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - 'SynchronousJobList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SynchronousJob' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DelaySecond' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'FullDataIntializatioProgress' => [ - 'type' => 'string', - ], - 'StructureIntializationProgress' => [ - 'type' => 'string', - ], - 'StructureIntializationStatus' => [ - 'type' => 'string', - ], - 'SynchronousJobId' => [ - 'type' => 'string', - ], - 'FullDataIntializatioPercent' => [ - 'type' => 'string', - ], - 'SynchronousFlow' => [ - 'type' => 'string', - ], - 'DestinationInstanceId' => [ - 'type' => 'string', - ], - 'IncrementDataIntializatioPercent' => [ - 'type' => 'string', - ], - 'SynchronousJobName' => [ - 'type' => 'string', - ], - 'SynchronousStatus' => [ - 'type' => 'string', - ], - 'SynchronousTPS' => [ - 'type' => 'string', - ], - 'FullDataIntializationStatus' => [ - 'type' => 'string', - ], - 'IncrementDataIntializatioDelay' => [ - 'type' => 'string', - ], - 'IncrementDataIntializationStatus' => [ - 'type' => 'string', - ], - 'StructureIntializationPercent' => [ - 'type' => 'string', - ], - 'SourceInstanceId' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], - ], - ], - 'responseDemo' => '', - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'dts.cn-qingdao.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'dts.cn-beijing.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'dts.cn-zhangjiakou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'dts.cn-huhehaote.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'dts.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'dts.cn-shenzhen.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'dts.cn-hongkong.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'dts.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'dts.ap-southeast-2.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'dts.ap-southeast-3.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'dts.ap-southeast-5.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'dts.eu-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'dts.us-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'dts.us-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'dts.eu-central-1.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'dts.me-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'dts.ap-south-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-2-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'dts.cn-beijing-finance-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-gov-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-nu16-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'dts.cn-chengdu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-edge-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-fujian', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-haidian-cm12-c01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-bj-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-prod-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-2', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-3', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-test-306', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong-finance-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote-nebula-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-qingdao-nebula', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et15-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et2-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-inner', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-internal-test-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-inner', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-st4-d01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-su18-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wuhan', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-yushanfang', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangbei-na61-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou-na62-a01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhengzhou-nebula-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1-oxs', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'rus-west-1-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'dts.ap-northeast-1.aliyuncs.com', - ], - ], -]; diff --git a/data/zh_cn/dts/2016-08-01/api-docs.php b/data/zh_cn/dts/2016-08-01/api-docs.php index 7017eed..dc8e256 100644 --- a/data/zh_cn/dts/2016-08-01/api-docs.php +++ b/data/zh_cn/dts/2016-08-01/api-docs.php @@ -1,36 +1,24 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Dts', - 'version' => '2016-08-01', - ], + 'info' => ['style' => 'RPC', 'product' => 'Dts', 'version' => '2016-08-01'], 'directories' => [ [ 'id' => 61327, 'title' => '同步', 'type' => 'directory', - 'children' => [ - 'DescribeSynchronizationJobs', - ], + 'children' => ['DescribeSynchronizationJobs'], ], [ 'id' => 61337, 'title' => '迁移', 'type' => 'directory', - 'children' => [ - 'DescribeMigrationJobs', - 'DescribeSynchronizationJobStatus', - 'DescirbeMigrationJobs', - ], + 'children' => ['DescribeMigrationJobs', 'DescribeSynchronizationJobStatus', 'DescirbeMigrationJobs'], ], [ 'id' => 61347, 'title' => '迁移实例', 'type' => 'directory', - 'children' => [ - 'CreateMigrationJob', - ], + 'children' => ['CreateMigrationJob'], ], ], 'components' => [ @@ -39,14 +27,8 @@ 'apis' => [ 'DescribeSynchronizationJobs' => [ 'summary' => '列举同步任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -58,49 +40,28 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '52189', - 'abilityTreeNodes' => [ - 'FEATUREdtsDW6WLD', - ], + 'abilityTreeNodes' => ['FEATUREdtsDW6WLD'], ], 'parameters' => [ [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'default' => '30', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '30'], ], [ 'name' => 'PageNum', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'default' => '1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1'], ], [ 'name' => 'SynchronizationJobName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -108,75 +69,38 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'PageNumber' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PageRecordCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'TotalRecordCount' => [ - 'type' => 'integer', - 'format' => 'int64', - ], + 'RequestId' => ['type' => 'string'], + 'PageNumber' => ['type' => 'integer', 'format' => 'int32'], + 'PageRecordCount' => ['type' => 'integer', 'format' => 'int32'], + 'TotalRecordCount' => ['type' => 'integer', 'format' => 'int64'], 'SynchronizationInstances' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'DataInitialization' => [ - 'type' => 'string', - ], - 'SynchronizationJobName' => [ - 'type' => 'string', - ], - 'Delay' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'ExpireTime' => [ - 'type' => 'string', - ], - 'SynchronizationJobId' => [ - 'type' => 'string', - ], - 'StructureInitialization' => [ - 'type' => 'string', - ], - 'PayType' => [ - 'type' => 'string', - ], - 'SynchronizationJobClass' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'DataInitialization' => ['type' => 'string'], + 'SynchronizationJobName' => ['type' => 'string'], + 'Delay' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], + 'ExpireTime' => ['type' => 'string'], + 'SynchronizationJobId' => ['type' => 'string'], + 'StructureInitialization' => ['type' => 'string'], + 'PayType' => ['type' => 'string'], + 'SynchronizationJobClass' => ['type' => 'string'], 'SynchronizationObjects' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'NewSchemaName' => [ - 'type' => 'string', - ], - 'SchemaName' => [ - 'type' => 'string', - ], + 'NewSchemaName' => ['type' => 'string'], + 'SchemaName' => ['type' => 'string'], 'TableIncludes' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'TableName' => [ - 'type' => 'string', - ], + 'TableName' => ['type' => 'string'], ], ], ], @@ -185,9 +109,7 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'TableName' => [ - 'type' => 'string', - ], + 'TableName' => ['type' => 'string'], ], ], ], @@ -197,51 +119,31 @@ 'SourceEndpoint' => [ 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - 'InstanceId' => [ - 'type' => 'string', - ], + 'InstanceType' => ['type' => 'string'], + 'InstanceId' => ['type' => 'string'], ], ], 'DestinationEndpoint' => [ 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - 'InstanceId' => [ - 'type' => 'string', - ], + 'InstanceType' => ['type' => 'string'], + 'InstanceId' => ['type' => 'string'], ], ], 'PrecheckStatus' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], 'Detail' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'CheckStatus' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'ItemName' => [ - 'type' => 'string', - ], - 'RepairMethod' => [ - 'type' => 'string', - ], + 'CheckStatus' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], + 'ItemName' => ['type' => 'string'], + 'RepairMethod' => ['type' => 'string'], ], ], ], @@ -250,63 +152,35 @@ 'StructureInitializationStatus' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'Progress' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], + 'Progress' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], 'DataInitializationStatus' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'Progress' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], + 'Progress' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], 'DataSynchronizationStatus' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Delay' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Delay' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], 'Performance' => [ 'type' => 'object', 'properties' => [ - 'RPS' => [ - 'type' => 'string', - ], - 'FLOW' => [ - 'type' => 'string', - ], + 'RPS' => ['type' => 'string'], + 'FLOW' => ['type' => 'string'], ], ], ], @@ -324,14 +198,8 @@ ], 'DescribeMigrationJobs' => [ 'summary' => '列举迁移任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -343,41 +211,23 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '77087', - 'abilityTreeNodes' => [ - 'FEATUREdtsDW6WLD', - ], + 'abilityTreeNodes' => ['FEATUREdtsDW6WLD'], ], 'parameters' => [ [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'default' => '30', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '30'], ], [ 'name' => 'PageNum', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'default' => '1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1'], ], [ 'name' => 'MigrationJobName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -385,18 +235,9 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageNumber' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PageRecordCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'TotalRecordCount' => [ - 'type' => 'integer', - 'format' => 'int64', - ], + 'PageNumber' => ['type' => 'integer', 'format' => 'int32'], + 'PageRecordCount' => ['type' => 'integer', 'format' => 'int32'], + 'TotalRecordCount' => ['type' => 'integer', 'format' => 'int64'], 'MigrationJobs' => [ 'type' => 'object', 'itemNode' => true, @@ -406,21 +247,11 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'MigrationJobName' => [ - 'type' => 'string', - ], - 'MigrationJobStatus' => [ - 'type' => 'string', - ], - 'MigrationJobClass' => [ - 'type' => 'string', - ], - 'MigrationJobID' => [ - 'type' => 'string', - ], - 'PayType' => [ - 'type' => 'string', - ], + 'MigrationJobName' => ['type' => 'string'], + 'MigrationJobStatus' => ['type' => 'string'], + 'MigrationJobClass' => ['type' => 'string'], + 'MigrationJobID' => ['type' => 'string'], + 'PayType' => ['type' => 'string'], 'MigrationObject' => [ 'type' => 'object', 'itemNode' => true, @@ -430,21 +261,15 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'DatabaseName' => [ - 'type' => 'string', - ], - 'WholeDatabase' => [ - 'type' => 'string', - ], + 'DatabaseName' => ['type' => 'string'], + 'WholeDatabase' => ['type' => 'string'], 'TableList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Table' => [ 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['type' => 'string'], ], ], ], @@ -456,135 +281,69 @@ 'SourceEndpoint' => [ 'type' => 'object', 'properties' => [ - 'OracleSID' => [ - 'type' => 'string', - ], - 'DatabaseName' => [ - 'type' => 'string', - ], - 'InstanceID' => [ - 'type' => 'string', - ], - 'InstanceType' => [ - 'type' => 'string', - ], - 'IP' => [ - 'type' => 'string', - ], - 'Port' => [ - 'type' => 'string', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'EngineName' => [ - 'type' => 'string', - ], + 'OracleSID' => ['type' => 'string'], + 'DatabaseName' => ['type' => 'string'], + 'InstanceID' => ['type' => 'string'], + 'InstanceType' => ['type' => 'string'], + 'IP' => ['type' => 'string'], + 'Port' => ['type' => 'string'], + 'UserName' => ['type' => 'string'], + 'EngineName' => ['type' => 'string'], ], ], 'DestinationEndpoint' => [ 'type' => 'object', 'properties' => [ - 'OracleSID' => [ - 'type' => 'string', - ], - 'DatabaseName' => [ - 'type' => 'string', - ], - 'InstanceID' => [ - 'type' => 'string', - ], - 'InstanceType' => [ - 'type' => 'string', - ], - 'IP' => [ - 'type' => 'string', - ], - 'Port' => [ - 'type' => 'string', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'EngineName' => [ - 'type' => 'string', - ], + 'OracleSID' => ['type' => 'string'], + 'DatabaseName' => ['type' => 'string'], + 'InstanceID' => ['type' => 'string'], + 'InstanceType' => ['type' => 'string'], + 'IP' => ['type' => 'string'], + 'Port' => ['type' => 'string'], + 'UserName' => ['type' => 'string'], + 'EngineName' => ['type' => 'string'], ], ], 'MigrationMode' => [ 'type' => 'object', 'properties' => [ - 'DataInitialization' => [ - 'type' => 'boolean', - ], - 'DataSynchronization' => [ - 'type' => 'boolean', - ], - 'StructureInitialization' => [ - 'type' => 'boolean', - ], + 'DataInitialization' => ['type' => 'boolean'], + 'DataSynchronization' => ['type' => 'boolean'], + 'StructureInitialization' => ['type' => 'boolean'], ], ], 'Precheck' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], ], ], 'StructureInitialization' => [ 'type' => 'object', 'properties' => [ - 'Percent' => [ - 'type' => 'string', - ], - 'Progress' => [ - 'type' => 'string', - ], - 'status' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Percent' => ['type' => 'string'], + 'Progress' => ['type' => 'string'], + 'status' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], 'DataInitialization' => [ 'type' => 'object', 'properties' => [ - 'Percent' => [ - 'type' => 'string', - ], - 'Progress' => [ - 'type' => 'string', - ], - 'status' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Percent' => ['type' => 'string'], + 'Progress' => ['type' => 'string'], + 'status' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], 'DataSynchronization' => [ 'type' => 'object', 'properties' => [ - 'Delay' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'status' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Delay' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], + 'status' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], ], @@ -598,10 +357,7 @@ ], 'errorCodes' => [ 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.'], ], ], 'eventInfo' => [ @@ -612,14 +368,8 @@ ], 'DescribeSynchronizationJobStatus' => [ 'summary' => '描述同步任务状态', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -630,26 +380,18 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREdtsDW6WLD', - ], + 'abilityTreeNodes' => ['FEATUREdtsDW6WLD'], ], 'parameters' => [ [ 'name' => 'SynchronizationJobId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -657,90 +399,46 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'SynchronizationJobName' => [ - 'type' => 'string', - ], - 'DataInitialization' => [ - 'type' => 'string', - ], - 'Status' => [ - 'type' => 'string', - ], - 'Delay' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'ExpireTime' => [ - 'type' => 'string', - ], - 'PayType' => [ - 'type' => 'string', - ], - 'StructureInitialization' => [ - 'type' => 'string', - ], - 'SynchronizationJobClass' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'SynchronizationJobId' => [ - 'type' => 'string', - ], - 'Checkpoint' => [ - 'type' => 'string', - ], + 'SynchronizationJobName' => ['type' => 'string'], + 'DataInitialization' => ['type' => 'string'], + 'Status' => ['type' => 'string'], + 'Delay' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], + 'ExpireTime' => ['type' => 'string'], + 'PayType' => ['type' => 'string'], + 'StructureInitialization' => ['type' => 'string'], + 'SynchronizationJobClass' => ['type' => 'string'], + 'RequestId' => ['type' => 'string'], + 'SynchronizationJobId' => ['type' => 'string'], + 'Checkpoint' => ['type' => 'string'], 'SourceEndpoint' => [ 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - 'InstanceId' => [ - 'type' => 'string', - ], + 'InstanceType' => ['type' => 'string'], + 'InstanceId' => ['type' => 'string'], ], ], 'DestinationEndpoint' => [ 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - 'InstanceId' => [ - 'type' => 'string', - ], + 'InstanceType' => ['type' => 'string'], + 'InstanceId' => ['type' => 'string'], ], ], 'PrecheckStatus' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], 'Detail' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'CheckStatus' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'ItemName' => [ - 'type' => 'string', - ], - 'RepairMethod' => [ - 'type' => 'string', - ], + 'CheckStatus' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], + 'ItemName' => ['type' => 'string'], + 'RepairMethod' => ['type' => 'string'], ], ], ], @@ -749,66 +447,36 @@ 'StructureInitializationStatus' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'Progress' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], + 'Progress' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], 'DataInitializationStatus' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'Progress' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], + 'Progress' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], 'DataSynchronizationStatus' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Delay' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'Checkpoint' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Delay' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], + 'Checkpoint' => ['type' => 'string'], ], ], 'Performance' => [ 'type' => 'object', 'properties' => [ - 'RPS' => [ - 'type' => 'string', - ], - 'FLOW' => [ - 'type' => 'string', - ], + 'RPS' => ['type' => 'string'], + 'FLOW' => ['type' => 'string'], ], ], 'SynchronizationObjects' => [ @@ -816,20 +484,14 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'NewSchemaName' => [ - 'type' => 'string', - ], - 'SchemaName' => [ - 'type' => 'string', - ], + 'NewSchemaName' => ['type' => 'string'], + 'SchemaName' => ['type' => 'string'], 'TableIncludes' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'TableName' => [ - 'type' => 'string', - ], + 'TableName' => ['type' => 'string'], ], ], ], @@ -838,9 +500,7 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'TableName' => [ - 'type' => 'string', - ], + 'TableName' => ['type' => 'string'], ], ], ], @@ -855,14 +515,8 @@ ], 'DescirbeMigrationJobs' => [ 'summary' => '列举迁移任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -873,41 +527,23 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREdtsDW6WLD', - ], + 'abilityTreeNodes' => ['FEATUREdtsDW6WLD'], ], 'parameters' => [ [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'default' => '30', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '30'], ], [ 'name' => 'PageNum', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'default' => '1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1'], ], [ 'name' => 'MigrationJobName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -915,18 +551,9 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageNumber' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PageRecordCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'TotalRecordCount' => [ - 'type' => 'integer', - 'format' => 'int64', - ], + 'PageNumber' => ['type' => 'integer', 'format' => 'int32'], + 'PageRecordCount' => ['type' => 'integer', 'format' => 'int32'], + 'TotalRecordCount' => ['type' => 'integer', 'format' => 'int64'], 'MigrationJobs' => [ 'type' => 'object', 'itemNode' => true, @@ -936,21 +563,11 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'MigrationJobName' => [ - 'type' => 'string', - ], - 'MigrationJobStatus' => [ - 'type' => 'string', - ], - 'MigrationJobClass' => [ - 'type' => 'string', - ], - 'MigrationJobID' => [ - 'type' => 'string', - ], - 'PayType' => [ - 'type' => 'string', - ], + 'MigrationJobName' => ['type' => 'string'], + 'MigrationJobStatus' => ['type' => 'string'], + 'MigrationJobClass' => ['type' => 'string'], + 'MigrationJobID' => ['type' => 'string'], + 'PayType' => ['type' => 'string'], 'MigrationObject' => [ 'type' => 'object', 'itemNode' => true, @@ -960,21 +577,15 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'DatabaseName' => [ - 'type' => 'string', - ], - 'WholeDatabase' => [ - 'type' => 'string', - ], + 'DatabaseName' => ['type' => 'string'], + 'WholeDatabase' => ['type' => 'string'], 'TableList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Table' => [ 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['type' => 'string'], ], ], ], @@ -986,135 +597,69 @@ 'SourceEndpoint' => [ 'type' => 'object', 'properties' => [ - 'OracleSID' => [ - 'type' => 'string', - ], - 'DatabaseName' => [ - 'type' => 'string', - ], - 'InstanceID' => [ - 'type' => 'string', - ], - 'InstanceType' => [ - 'type' => 'string', - ], - 'IP' => [ - 'type' => 'string', - ], - 'Port' => [ - 'type' => 'string', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'EngineName' => [ - 'type' => 'string', - ], + 'OracleSID' => ['type' => 'string'], + 'DatabaseName' => ['type' => 'string'], + 'InstanceID' => ['type' => 'string'], + 'InstanceType' => ['type' => 'string'], + 'IP' => ['type' => 'string'], + 'Port' => ['type' => 'string'], + 'UserName' => ['type' => 'string'], + 'EngineName' => ['type' => 'string'], ], ], 'DestinationEndpoint' => [ 'type' => 'object', 'properties' => [ - 'OracleSID' => [ - 'type' => 'string', - ], - 'DatabaseName' => [ - 'type' => 'string', - ], - 'InstanceID' => [ - 'type' => 'string', - ], - 'InstanceType' => [ - 'type' => 'string', - ], - 'IP' => [ - 'type' => 'string', - ], - 'Port' => [ - 'type' => 'string', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'EngineName' => [ - 'type' => 'string', - ], + 'OracleSID' => ['type' => 'string'], + 'DatabaseName' => ['type' => 'string'], + 'InstanceID' => ['type' => 'string'], + 'InstanceType' => ['type' => 'string'], + 'IP' => ['type' => 'string'], + 'Port' => ['type' => 'string'], + 'UserName' => ['type' => 'string'], + 'EngineName' => ['type' => 'string'], ], ], 'MigrationMode' => [ 'type' => 'object', 'properties' => [ - 'DataInitialization' => [ - 'type' => 'boolean', - ], - 'DataSynchronization' => [ - 'type' => 'boolean', - ], - 'StructureInitialization' => [ - 'type' => 'boolean', - ], + 'DataInitialization' => ['type' => 'boolean'], + 'DataSynchronization' => ['type' => 'boolean'], + 'StructureInitialization' => ['type' => 'boolean'], ], ], 'Precheck' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], ], ], 'StructureInitialization' => [ 'type' => 'object', 'properties' => [ - 'Percent' => [ - 'type' => 'string', - ], - 'Progress' => [ - 'type' => 'string', - ], - 'status' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Percent' => ['type' => 'string'], + 'Progress' => ['type' => 'string'], + 'status' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], 'DataInitialization' => [ 'type' => 'object', 'properties' => [ - 'Percent' => [ - 'type' => 'string', - ], - 'Progress' => [ - 'type' => 'string', - ], - 'status' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Percent' => ['type' => 'string'], + 'Progress' => ['type' => 'string'], + 'status' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], 'DataSynchronization' => [ 'type' => 'object', 'properties' => [ - 'Delay' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'status' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Delay' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], + 'status' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], ], @@ -1128,24 +673,15 @@ ], 'errorCodes' => [ 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.'], ], ], 'responseDemo' => '', ], 'CreateMigrationJob' => [ 'summary' => '创建迁移任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1157,41 +693,28 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '52175', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ 'name' => 'Region', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'MigrationJobClass', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['type' => 'string'], ], ], 'responses' => [ @@ -1199,21 +722,11 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'MigrationJobId' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], + 'MigrationJobId' => ['type' => 'string'], + 'ErrCode' => ['type' => 'string'], + 'Success' => ['type' => 'string'], + 'ErrMessage' => ['type' => 'string'], ], ], ], @@ -1226,229 +739,61 @@ ], ], 'endpoints' => [ - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'dts.cn-qingdao.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'dts.cn-beijing.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'dts.cn-zhangjiakou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'dts.cn-huhehaote.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'dts.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'dts.cn-shenzhen.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'dts.cn-hongkong.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'dts.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'dts.ap-southeast-2.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'dts.ap-southeast-3.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'dts.ap-southeast-5.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'dts.eu-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'dts.us-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'dts.us-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'dts.eu-central-1.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'dts.me-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'dts.ap-south-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-2-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'dts.cn-beijing-finance-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-gov-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-nu16-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'dts.cn-chengdu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-edge-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-fujian', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-haidian-cm12-c01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-bj-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-prod-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-2', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-3', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-test-306', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong-finance-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote-nebula-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-qingdao-nebula', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et15-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et2-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-inner', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-internal-test-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-inner', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-st4-d01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-su18-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wuhan', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-yushanfang', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangbei-na61-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou-na62-a01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhengzhou-nebula-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1-oxs', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'rus-west-1-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'dts.ap-northeast-1.aliyuncs.com', - ], + ['regionId' => 'cn-qingdao', 'endpoint' => 'dts.cn-qingdao.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'endpoint' => 'dts.cn-beijing.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'endpoint' => 'dts.cn-zhangjiakou.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'endpoint' => 'dts.cn-huhehaote.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'endpoint' => 'dts.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'endpoint' => 'dts.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'endpoint' => 'dts.cn-hongkong.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'endpoint' => 'dts.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-2', 'endpoint' => 'dts.ap-southeast-2.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'endpoint' => 'dts.ap-southeast-3.aliyuncs.com'], + ['regionId' => 'ap-southeast-5', 'endpoint' => 'dts.ap-southeast-5.aliyuncs.com'], + ['regionId' => 'eu-west-1', 'endpoint' => 'dts.eu-west-1.aliyuncs.com'], + ['regionId' => 'us-west-1', 'endpoint' => 'dts.us-west-1.aliyuncs.com'], + ['regionId' => 'us-east-1', 'endpoint' => 'dts.us-east-1.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'endpoint' => 'dts.eu-central-1.aliyuncs.com'], + ['regionId' => 'me-east-1', 'endpoint' => 'dts.me-east-1.aliyuncs.com'], + ['regionId' => 'ap-south-1', 'endpoint' => 'dts.ap-south-1.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-finance', 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'cn-shanghai-finance-1', 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'cn-shenzhen-finance-1', 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'cn-north-2-gov-1', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'ap-northeast-2-pop', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-beijing-finance-1', 'endpoint' => 'dts.cn-beijing-finance-1.aliyuncs.com'], + ['regionId' => 'cn-beijing-finance-pop', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-beijing-gov-1', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-beijing-nu16-b01', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'endpoint' => 'dts.cn-chengdu.aliyuncs.com'], + ['regionId' => 'cn-edge-1', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-fujian', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-haidian-cm12-c01', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-bj-b01', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-internal-prod-1', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-internal-test-1', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-internal-test-2', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-internal-test-3', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-test-306', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-hongkong-finance-pop', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-huhehaote-nebula-1', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-qingdao-nebula', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-shanghai-et15-b01', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-shanghai-et2-b01', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-shanghai-inner', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-shanghai-internal-test-1', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-shenzhen-inner', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-shenzhen-st4-d01', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-shenzhen-su18-b01', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-wuhan', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-yushanfang', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-zhangbei-na61-b01', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou-na62-a01', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-zhengzhou-nebula-1', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'eu-west-1-oxs', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'rus-west-1-pop', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'ap-northeast-1', 'endpoint' => 'dts.ap-northeast-1.aliyuncs.com'], ], ]; diff --git a/data/zh_cn/dts/2017-06-01/api-docs.php b/data/zh_cn/dts/2017-06-01/api-docs.php deleted file mode 100644 index 8b2c514..0000000 --- a/data/zh_cn/dts/2017-06-01/api-docs.php +++ /dev/null @@ -1,1544 +0,0 @@ -<?php return [ - 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Dts', - 'version' => '2017-06-01', - ], - 'directories' => [ - [ - 'id' => 61307, - 'title' => '迁移', - 'type' => 'directory', - 'children' => [ - 'CreateMigrationJob', - 'ModifyMigrationObject', - 'StartMigrationJob', - 'StopMigrationJob', - 'DescribeMigrationJobDetail', - 'DescribeMigrationJobStatus', - 'ConfigureMigrationJob', - 'DescirbeMigrationJobs', - 'SuspendMigrationJob', - ], - ], - ], - 'components' => [ - 'schemas' => [], - ], - 'apis' => [ - 'CreateMigrationJob' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'parameters' => [ - [ - 'name' => 'Region', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'MigrationJobClass', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'MigrationJobId' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - 'responseDemo' => '', - ], - 'ModifyMigrationObject' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'parameters' => [ - [ - 'name' => 'MigrationJobId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'MigrationObject', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - 'responseDemo' => '', - ], - 'StartMigrationJob' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'parameters' => [ - [ - 'name' => 'MigrationJobId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - 'responseDemo' => '', - ], - 'StopMigrationJob' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'parameters' => [ - [ - 'name' => 'MigrationJobId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - 'responseDemo' => '', - ], - 'DescribeMigrationJobDetail' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'parameters' => [ - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'default' => '30', - ], - ], - [ - 'name' => 'PageNum', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'MigrationJobId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'MigrationMode.StructureInitialization', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => true, - ], - ], - [ - 'name' => 'MigrationMode.DataInitialization', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => true, - ], - ], - [ - 'name' => 'MigrationMode.DataSynchronization', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => true, - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'PageNumber' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PageRecordCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'TotalRecordCount' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - 'StructureInitializationDetailList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'StructureInitializationDetail' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'SourceOwnerDBName' => [ - 'type' => 'string', - ], - 'Status' => [ - 'type' => 'string', - ], - 'ObjectDefinition' => [ - 'type' => 'string', - ], - 'ObjectType' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'DestinationOwnerDBName' => [ - 'type' => 'string', - ], - 'ObjectName' => [ - 'type' => 'string', - ], - 'ConstraintList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'StructureInitializationDetail' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'SourceOwnerDBName' => [ - 'type' => 'string', - ], - 'Status' => [ - 'type' => 'string', - ], - 'ObjectDefinition' => [ - 'type' => 'string', - ], - 'ObjectType' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'DestinationOwnerDBName' => [ - 'type' => 'string', - ], - 'ObjectName' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'DataInitializationDetailList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DataInitializationDetail' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'SourceOwnerDBName' => [ - 'type' => 'string', - ], - 'Status' => [ - 'type' => 'string', - ], - 'TableName' => [ - 'type' => 'string', - ], - 'FinishRowNum' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'MigrationTime' => [ - 'type' => 'string', - ], - 'DestinationOwnerDBName' => [ - 'type' => 'string', - ], - 'TotalRowNum' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - 'DataSynchronizationDetailList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DataSynchronizationDetail' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'SourceOwnerDBName' => [ - 'type' => 'string', - ], - 'TableName' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'DestinationOwnerDBName' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'responseDemo' => '', - ], - 'DescribeMigrationJobStatus' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'parameters' => [ - [ - 'name' => 'MigrationJobId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'MigrationJobName' => [ - 'type' => 'string', - ], - 'MigrationJobStatus' => [ - 'type' => 'string', - ], - 'PayType' => [ - 'type' => 'string', - ], - 'MigrationJobId' => [ - 'type' => 'string', - ], - 'MigrationObject' => [ - 'type' => 'string', - ], - 'MigrationJobClass' => [ - 'type' => 'string', - ], - 'SourceEndpoint' => [ - 'type' => 'object', - 'properties' => [ - 'DatabaseName' => [ - 'type' => 'string', - ], - 'InstanceId' => [ - 'type' => 'string', - ], - 'InstanceType' => [ - 'type' => 'string', - ], - 'IP' => [ - 'type' => 'string', - ], - 'Port' => [ - 'type' => 'string', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'oracleSID' => [ - 'type' => 'string', - ], - 'EngineName' => [ - 'type' => 'string', - ], - ], - ], - 'DestinationEndpoint' => [ - 'type' => 'object', - 'properties' => [ - 'DatabaseName' => [ - 'type' => 'string', - ], - 'InstanceId' => [ - 'type' => 'string', - ], - 'InstanceType' => [ - 'type' => 'string', - ], - 'IP' => [ - 'type' => 'string', - ], - 'Port' => [ - 'type' => 'string', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'oracleSID' => [ - 'type' => 'string', - ], - 'EngineName' => [ - 'type' => 'string', - ], - ], - ], - 'MigrationMode' => [ - 'type' => 'object', - 'properties' => [ - 'dataInitialization' => [ - 'type' => 'boolean', - ], - 'dataSynchronization' => [ - 'type' => 'boolean', - ], - 'structureInitialization' => [ - 'type' => 'boolean', - ], - ], - ], - 'PrecheckStatus' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'Detail' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'CheckItem' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CheckStatus' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'ItemName' => [ - 'type' => 'string', - ], - 'RepairMethod' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - 'StructureInitializationStatus' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'Progress' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - ], - ], - 'DataInitializationStatus' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'Progress' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - ], - ], - 'DataSynchronizationStatus' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Delay' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - 'responseDemo' => '', - ], - 'ConfigureMigrationJob' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'create', - ], - 'parameters' => [ - [ - 'name' => 'MigrationJobId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'MigrationJobName', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'SourceEndpoint.InstanceType', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'SourceEndpoint.InstanceID', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'SourceEndpoint.EngineName', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'SourceEndpoint.Region', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'SourceEndpoint.IP', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'SourceEndpoint.Port', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'SourceEndpoint.OracleSID', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'SourceEndpoint.DatabaseName', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'SourceEndpoint.UserName', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'SourceEndpoint.Password', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'SourceEndpoint.OwnerID', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'SourceEndpoint.Role', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'DestinationEndpoint.InstanceType', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'DestinationEndpoint.InstanceID', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'DestinationEndpoint.EngineName', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'DestinationEndpoint.Region', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'DestinationEndpoint.IP', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'DestinationEndpoint.Port', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'DestinationEndpoint.DataBaseName', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'DestinationEndpoint.UserName', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'DestinationEndpoint.Password', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'MigrationMode.StructureIntialization', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => true, - ], - ], - [ - 'name' => 'MigrationMode.DataIntialization', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => true, - ], - ], - [ - 'name' => 'MigrationMode.DataSynchronization', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => true, - ], - ], - [ - 'name' => 'MigrationObject', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'MigrationReserved', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - 'responseDemo' => '', - ], - 'DescirbeMigrationJobs' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'list', - ], - 'parameters' => [ - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'default' => '30', - ], - ], - [ - 'name' => 'PageNum', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'MigrationJobName', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'PageNumber' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PageRecordCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'TotalRecordCount' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - 'MigrationJobs' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'MigrationJob' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MigrationJobName' => [ - 'type' => 'string', - ], - 'MigrationJobStatus' => [ - 'type' => 'string', - ], - 'MigrationJobClass' => [ - 'type' => 'string', - ], - 'MigrationJobID' => [ - 'type' => 'string', - ], - 'PayType' => [ - 'type' => 'string', - ], - 'MigrationObject' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SynchronousObject' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DatabaseName' => [ - 'type' => 'string', - ], - 'WholeDatabase' => [ - 'type' => 'string', - ], - 'TableList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Table' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'SourceEndpoint' => [ - 'type' => 'object', - 'properties' => [ - 'OracleSID' => [ - 'type' => 'string', - ], - 'DatabaseName' => [ - 'type' => 'string', - ], - 'InstanceID' => [ - 'type' => 'string', - ], - 'InstanceType' => [ - 'type' => 'string', - ], - 'IP' => [ - 'type' => 'string', - ], - 'Port' => [ - 'type' => 'string', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'EngineName' => [ - 'type' => 'string', - ], - ], - ], - 'DestinationEndpoint' => [ - 'type' => 'object', - 'properties' => [ - 'OracleSID' => [ - 'type' => 'string', - ], - 'DatabaseName' => [ - 'type' => 'string', - ], - 'InstanceID' => [ - 'type' => 'string', - ], - 'InstanceType' => [ - 'type' => 'string', - ], - 'IP' => [ - 'type' => 'string', - ], - 'Port' => [ - 'type' => 'string', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'EngineName' => [ - 'type' => 'string', - ], - ], - ], - 'MigrationMode' => [ - 'type' => 'object', - 'properties' => [ - 'DataInitialization' => [ - 'type' => 'boolean', - ], - 'DataSynchronization' => [ - 'type' => 'boolean', - ], - 'StructureInitialization' => [ - 'type' => 'boolean', - ], - ], - ], - 'Precheck' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - ], - ], - 'StructureInitialization' => [ - 'type' => 'object', - 'properties' => [ - 'Percent' => [ - 'type' => 'string', - ], - 'Progress' => [ - 'type' => 'string', - ], - 'status' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - ], - ], - 'DataInitialization' => [ - 'type' => 'object', - 'properties' => [ - 'Percent' => [ - 'type' => 'string', - ], - 'Progress' => [ - 'type' => 'string', - ], - 'status' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - ], - ], - 'DataSynchronization' => [ - 'type' => 'object', - 'properties' => [ - 'Delay' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'status' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], - ], - ], - 'responseDemo' => '', - ], - 'SuspendMigrationJob' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ - [ - 'name' => 'MigrationJobId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - 'responseDemo' => '', - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'dts.cn-qingdao.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'dts.cn-beijing.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'dts.cn-zhangjiakou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'dts.cn-huhehaote.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'dts.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'dts.cn-shenzhen.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'dts.cn-hongkong.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'dts.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'dts.ap-southeast-2.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'dts.ap-southeast-3.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'dts.ap-southeast-5.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'dts.eu-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'dts.us-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'dts.us-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'dts.eu-central-1.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'dts.me-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'dts.ap-south-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-2-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'dts.cn-beijing-finance-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-gov-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-nu16-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'dts.cn-chengdu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-edge-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-fujian', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-haidian-cm12-c01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-bj-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-prod-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-2', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-3', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-test-306', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong-finance-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote-nebula-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-qingdao-nebula', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et15-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et2-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-inner', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-internal-test-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-inner', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-st4-d01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-su18-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wuhan', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-yushanfang', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangbei-na61-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou-na62-a01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhengzhou-nebula-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1-oxs', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'rus-west-1-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'dts.ap-northeast-1.aliyuncs.com', - ], - ], -]; diff --git a/data/zh_cn/dts/2018-08-01/api-docs.php b/data/zh_cn/dts/2018-08-01/api-docs.php index 732c502..7f84e65 100644 --- a/data/zh_cn/dts/2018-08-01/api-docs.php +++ b/data/zh_cn/dts/2018-08-01/api-docs.php @@ -1,33 +1,12 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Dts', - 'version' => '2018-08-01', - ], + 'info' => ['style' => 'RPC', 'product' => 'Dts', 'version' => '2018-08-01'], 'directories' => [ [ 'id' => 0, 'title' => '其它', 'type' => 'directory', - 'children' => [ - 'ConfigureMigrationJob', - 'ConfigureSubscriptionInstance', - 'CreateConsumerGroup', - 'CreateMigrationJob', - 'CreateSubscriptionInstance', - 'CreateSynchronizationJob', - 'DeleteConsumerGroup', - 'DeleteMigrationJob', - 'DeleteSynchronizationJob', - 'DescribeConsumerGroup', - 'DescribeMigrationJobStatus', - 'DescribeMigrationJobs', - 'DescribeSubscriptionInstanceStatus', - 'DescribeSubscriptionInstances', - 'DescribeSynchronizationJobStatus', - 'DescribeSynchronizationJobs', - ], + 'children' => ['ConfigureMigrationJob', 'ConfigureSubscriptionInstance', 'CreateConsumerGroup', 'CreateMigrationJob', 'CreateSubscriptionInstance', 'CreateSynchronizationJob', 'DeleteConsumerGroup', 'DeleteMigrationJob', 'DeleteSynchronizationJob', 'DescribeConsumerGroup', 'DescribeMigrationJobStatus', 'DescribeMigrationJobs', 'DescribeSubscriptionInstanceStatus', 'DescribeSubscriptionInstances', 'DescribeSynchronizationJobStatus', 'DescribeSynchronizationJobs'], ], ], 'components' => [ @@ -36,14 +15,8 @@ 'apis' => [ 'ConfigureMigrationJob' => [ 'summary' => '老版配置数据迁移任务。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -55,356 +28,201 @@ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ 'name' => 'MigrationJobId', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移任务的实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'dtsxxxxxxxx', - 'docRequired' => true, - ], + 'schema' => ['description' => '数据迁移任务的实例ID。', 'type' => 'string', 'required' => true, 'example' => 'dtsxxxxxxxx', 'docRequired' => true], ], [ 'name' => 'MigrationJobName', 'in' => 'query', - 'schema' => [ - 'description' => '迁移任务名称,不超过32个字符。建议配置具有业务意义的名称(无唯一性要求),便于后续识别。', - 'type' => 'string', - 'required' => true, - 'example' => 'MySQL_TO_RDS', - 'docRequired' => true, - ], + 'schema' => ['description' => '迁移任务名称,不超过32个字符。建议配置具有业务意义的名称(无唯一性要求),便于后续识别。', 'type' => 'string', 'required' => true, 'example' => 'MySQL_TO_RDS', 'docRequired' => true], ], [ 'name' => 'SourceEndpoint.InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '源库的实例类型,取值:'."\n" - .'- **RDS**:阿里云RDS实例。'."\n" - .'- **ECS**:ECS上的自建数据库。'."\n" - .'- **LocalInstance**:有公网IP的自建数据库。'."\n" - .'- **Express**:通过专线接入的自建数据库。'."\n" - .'- **MongoDB**:阿里云MongoDB实例。'."\n" - .'- **POLARDB**:阿里云PolarDB MySQL集群。', - 'type' => 'string', - 'required' => true, - 'example' => 'RDS', - 'docRequired' => true, - ], + 'schema' => ['description' => '源库的实例类型,取值:'."\n" + .'- **RDS**:阿里云RDS实例。'."\n" + .'- **ECS**:ECS上的自建数据库。'."\n" + .'- **LocalInstance**:有公网IP的自建数据库。'."\n" + .'- **Express**:通过专线接入的自建数据库。'."\n" + .'- **MongoDB**:阿里云MongoDB实例。'."\n" + .'- **POLARDB**:阿里云PolarDB MySQL集群。', 'type' => 'string', 'required' => true, 'example' => 'RDS', 'docRequired' => true], ], [ 'name' => 'SourceEndpoint.InstanceID', 'in' => 'query', - 'schema' => [ - 'description' => '源库的实例ID。'."\n" - .'> - 当**SourceEndpoint.InstanceType**取值为**RDS**、**ECS**、**Express**、**MongoDB**或**POLARDB**时,本参数才可用且必须传入对应的实例ID(例如取值为**ECS**,则本参数传入ECS实例ID)。'."\n" - .'- 当**SourceEndpoint.InstanceType**取值为**Express**时,本参数传入VPC ID(即专有网络ID)。', - 'type' => 'string', - 'required' => false, - 'example' => 'bp-rmxxxxxxxx', - ], + 'schema' => ['description' => '源库的实例ID。'."\n" + .'> - 当**SourceEndpoint.InstanceType**取值为**RDS**、**ECS**、**Express**、**MongoDB**或**POLARDB**时,本参数才可用且必须传入对应的实例ID(例如取值为**ECS**,则本参数传入ECS实例ID)。'."\n" + .'- 当**SourceEndpoint.InstanceType**取值为**Express**时,本参数传入VPC ID(即专有网络ID)。', 'type' => 'string', 'required' => false, 'example' => 'bp-rmxxxxxxxx'], ], [ 'name' => 'SourceEndpoint.EngineName', 'in' => 'query', - 'schema' => [ - 'description' => '源库的数据库类型,取值:**MySQL**、**SQLServer**、**PostgreSQL**、**Oracle**、**MongoDB**、**Redis**。 '."\n" - .'> 当**SourceEndpoint.InstanceType**取值为**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'MySQL', - ], + 'schema' => ['description' => '源库的数据库类型,取值:**MySQL**、**SQLServer**、**PostgreSQL**、**Oracle**、**MongoDB**、**Redis**。 '."\n" + .'> 当**SourceEndpoint.InstanceType**取值为**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'MySQL'], ], [ 'name' => 'SourceEndpoint.Region', 'in' => 'query', - 'schema' => [ - 'description' => '源库所属的地域ID。'."\n" - .'> 当**SourceEndpoint.InstanceType**取值为**LocalInstance**时,您可以选择离本地数据库地理位置最近的地域,详情请参见[支持的地域列表](~~141033~~)。 ', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '源库所属的地域ID。'."\n" + .'> 当**SourceEndpoint.InstanceType**取值为**LocalInstance**时,您可以选择离本地数据库地理位置最近的地域,详情请参见[支持的地域列表](~~141033~~)。 ', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'SourceEndpoint.IP', 'in' => 'query', - 'schema' => [ - 'description' => '源库的连接地址。'."\n" - .'> 当**SourceEndpoint.InstanceType**取值为**LocalInstance**或**Express**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '172.16.88.xxx', - ], + 'schema' => ['description' => '源库的连接地址。'."\n" + .'> 当**SourceEndpoint.InstanceType**取值为**LocalInstance**或**Express**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '172.16.88.xxx'], ], [ 'name' => 'SourceEndpoint.Port', 'in' => 'query', - 'schema' => [ - 'description' => '源库的服务端口。'."\n" - .'> 当**SourceEndpoint.InstanceType**取值为**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '3306', - ], + 'schema' => ['description' => '源库的服务端口。'."\n" + .'> 当**SourceEndpoint.InstanceType**取值为**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '3306'], ], [ 'name' => 'SourceEndpoint.OracleSID', 'in' => 'query', - 'schema' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当**SourceEndpoint.EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'testsid', - ], + 'schema' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当**SourceEndpoint.EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'testsid'], ], [ 'name' => 'SourceEndpoint.DatabaseName', 'in' => 'query', - 'schema' => [ - 'description' => '待迁移的数据库名称或鉴权数据库名称。'."\n" - .'> - 当**SourceEndpoint.EngineName**取值为**PostgreSQL**或**MongoDB**时,本参数才可用且必须传入。'."\n" - .'- 当**SourceEndpoint.EngineName**取值为**PostgreSQL**时,传入待迁移的数据库名称;取值为**MongoDB**时,传入数据库账号的鉴权数据库名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestdatabase', - ], + 'schema' => ['description' => '待迁移的数据库名称或鉴权数据库名称。'."\n" + .'> - 当**SourceEndpoint.EngineName**取值为**PostgreSQL**或**MongoDB**时,本参数才可用且必须传入。'."\n" + .'- 当**SourceEndpoint.EngineName**取值为**PostgreSQL**时,传入待迁移的数据库名称;取值为**MongoDB**时,传入数据库账号的鉴权数据库名称。', 'type' => 'string', 'required' => false, 'example' => 'dtstestdatabase'], ], [ 'name' => 'SourceEndpoint.UserName', 'in' => 'query', - 'schema' => [ - 'description' => '源库的数据库账号。'."\n" - .'> 迁移不同的数据库所需的权限有所差异,详情请参见[DTS数据迁移方案概览](~~125233~~)中对应的配置案例。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestaccount', - ], + 'schema' => ['description' => '源库的数据库账号。'."\n" + .'> 迁移不同的数据库所需的权限有所差异,详情请参见[DTS数据迁移方案概览](~~125233~~)中对应的配置案例。', 'type' => 'string', 'required' => false, 'example' => 'dtstestaccount'], ], [ 'name' => 'SourceEndpoint.Password', 'in' => 'query', - 'schema' => [ - 'description' => '源库数据库账号对应的密码。', - 'type' => 'string', - 'required' => false, - 'example' => 'Test123456', - ], + 'schema' => ['description' => '源库数据库账号对应的密码。', 'type' => 'string', 'required' => false, 'example' => 'Test123456'], ], [ 'name' => 'SourceEndpoint.OwnerID', 'in' => 'query', - 'schema' => [ - 'description' => '源RDS实例所属的阿里云账号ID。'."\n" - .'> 仅在配置跨阿里云账号的数据迁移时本参数才可用,且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '11xxxxxxxx', - ], + 'schema' => ['description' => '源RDS实例所属的阿里云账号ID。'."\n" + .'> 仅在配置跨阿里云账号的数据迁移时本参数才可用,且必须传入。', 'type' => 'string', 'required' => false, 'example' => '11xxxxxxxx'], ], [ 'name' => 'SourceEndpoint.Role', 'in' => 'query', - 'schema' => [ - 'description' => '源RDS实例所属阿里云账号配置的角色名称。 '."\n" - .'> 该角色所需的权限及授权方式请参见[跨阿里云账号数据迁移/同步时如何配置RAM授权](~~48468~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'ram-for-dts', - ], + 'schema' => ['description' => '源RDS实例所属阿里云账号配置的角色名称。 '."\n" + .'> 该角色所需的权限及授权方式请参见[跨阿里云账号数据迁移/同步时如何配置RAM授权](~~48468~~)。', 'type' => 'string', 'required' => false, 'example' => 'ram-for-dts'], ], [ 'name' => 'DestinationEndpoint.InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '目标库的实例类型,取值:'."\n" - .'- **RDS**:阿里云RDS实例。'."\n" - .'- **DRDS**:阿里云DRDS实例。'."\n" - .'- **ECS**:ECS上的自建数据库。'."\n" - .'- **LocalInstance**:有公网IP的自建数据库。'."\n" - .'- **MongoDB**:阿里云MongoDB实例。'."\n" - .'- **Redis**:阿里云Redis实例。'."\n" - .'- **PetaData**:阿里云PetaData实例。'."\n" - .'- **OceanBase**:阿里云OceanBase实例。'."\n" - .'- **POLARDB**:阿里云PolarDB MySQL集群。', - 'type' => 'string', - 'required' => true, - 'example' => 'RDS', - 'docRequired' => true, - ], + 'schema' => ['description' => '目标库的实例类型,取值:'."\n" + .'- **RDS**:阿里云RDS实例。'."\n" + .'- **DRDS**:阿里云DRDS实例。'."\n" + .'- **ECS**:ECS上的自建数据库。'."\n" + .'- **LocalInstance**:有公网IP的自建数据库。'."\n" + .'- **MongoDB**:阿里云MongoDB实例。'."\n" + .'- **Redis**:阿里云Redis实例。'."\n" + .'- **PetaData**:阿里云PetaData实例。'."\n" + .'- **OceanBase**:阿里云OceanBase实例。'."\n" + .'- **POLARDB**:阿里云PolarDB MySQL集群。', 'type' => 'string', 'required' => true, 'example' => 'RDS', 'docRequired' => true], ], [ 'name' => 'DestinationEndpoint.InstanceID', 'in' => 'query', - 'schema' => [ - 'description' => '目标实例ID。 '."\n" - .'> 当**DestinationEndpoint.InstanceType**取值为**RDS**、**ECS**、**MongoDB**、**Redis**、**DRDS**、**PetaData**、**OceanBase**或**POLARDB**时,本参数才可用且必须传入对应的实例ID(例如取值为**ECS**,则需要传入ECS实例ID)。', - 'type' => 'string', - 'required' => false, - 'example' => 'bp-rmxxxxxxxx', - ], + 'schema' => ['description' => '目标实例ID。 '."\n" + .'> 当**DestinationEndpoint.InstanceType**取值为**RDS**、**ECS**、**MongoDB**、**Redis**、**DRDS**、**PetaData**、**OceanBase**或**POLARDB**时,本参数才可用且必须传入对应的实例ID(例如取值为**ECS**,则需要传入ECS实例ID)。', 'type' => 'string', 'required' => false, 'example' => 'bp-rmxxxxxxxx'], ], [ 'name' => 'DestinationEndpoint.EngineName', 'in' => 'query', - 'schema' => [ - 'description' => '目标库的数据库类型。取值:**MySQL**、**DRDS**、**SQLServer**、**PostgreSQL**、**PPAS**、**MongoDB**或**Redis**。'."\n" - .'> 当**DestinationEndpoint.InstanceType**取值为**RDS**、**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'MySQL', - ], + 'schema' => ['description' => '目标库的数据库类型。取值:**MySQL**、**DRDS**、**SQLServer**、**PostgreSQL**、**PPAS**、**MongoDB**或**Redis**。'."\n" + .'> 当**DestinationEndpoint.InstanceType**取值为**RDS**、**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'MySQL'], ], [ 'name' => 'DestinationEndpoint.Region', 'in' => 'query', - 'schema' => [ - 'description' => '目标库所属的地域ID。'."\n" - .'> 当**DestinationEndpoint.InstanceType**取值为**LocalInstance**时,您可以选择离本地数据库地理位置最近的地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '目标库所属的地域ID。'."\n" + .'> 当**DestinationEndpoint.InstanceType**取值为**LocalInstance**时,您可以选择离本地数据库地理位置最近的地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'DestinationEndpoint.IP', 'in' => 'query', - 'schema' => [ - 'description' => '目标库的连接地址。'."\n" - .'> 当**DestinationEndpoint.InstanceType**取值为**LocalInstance**或**Express**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '172.16.88.xxx', - ], + 'schema' => ['description' => '目标库的连接地址。'."\n" + .'> 当**DestinationEndpoint.InstanceType**取值为**LocalInstance**或**Express**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '172.16.88.xxx'], ], [ 'name' => 'DestinationEndpoint.Port', 'in' => 'query', - 'schema' => [ - 'description' => '目标库的服务端口。 '."\n" - .'> 当**DestinationEndpoint.InstanceType**取值为**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '3306', - ], + 'schema' => ['description' => '目标库的服务端口。 '."\n" + .'> 当**DestinationEndpoint.InstanceType**取值为**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '3306'], ], [ 'name' => 'DestinationEndpoint.DataBaseName', 'in' => 'query', - 'schema' => [ - 'description' => '待迁入的数据库名称或鉴权数据库名称。 '."\n" - .'> - 当**DestinationEndpoint.EngineName**取值为**PostgreSQL**、**DRDS**或**MongoDB**时,本参数才可用且必须传入。'."\n" - .'- 当**DestinationEndpoint.EngineName**取值为**PostgreSQL**或**DRDS**时,传入待迁移的数据库名称;取值为**MongoDB**时,传入数据库账号的鉴权数据库名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestdatabase', - ], + 'schema' => ['description' => '待迁入的数据库名称或鉴权数据库名称。 '."\n" + .'> - 当**DestinationEndpoint.EngineName**取值为**PostgreSQL**、**DRDS**或**MongoDB**时,本参数才可用且必须传入。'."\n" + .'- 当**DestinationEndpoint.EngineName**取值为**PostgreSQL**或**DRDS**时,传入待迁移的数据库名称;取值为**MongoDB**时,传入数据库账号的鉴权数据库名称。', 'type' => 'string', 'required' => false, 'example' => 'dtstestdatabase'], ], [ 'name' => 'DestinationEndpoint.UserName', 'in' => 'query', - 'schema' => [ - 'description' => '目标库的数据库账号。'."\n" - .'> 迁移不同的数据库所需的权限有所差异,详情请参见[DTS数据迁移方案概览](~~125233~~)中对应的配置案例。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestaccount', - ], + 'schema' => ['description' => '目标库的数据库账号。'."\n" + .'> 迁移不同的数据库所需的权限有所差异,详情请参见[DTS数据迁移方案概览](~~125233~~)中对应的配置案例。', 'type' => 'string', 'required' => false, 'example' => 'dtstestaccount'], ], [ 'name' => 'DestinationEndpoint.Password', 'in' => 'query', - 'schema' => [ - 'description' => '目标库数据库账号对应的密码。', - 'type' => 'string', - 'required' => false, - 'example' => 'Test123456', - ], + 'schema' => ['description' => '目标库数据库账号对应的密码。', 'type' => 'string', 'required' => false, 'example' => 'Test123456'], ], [ 'name' => 'MigrationMode.StructureIntialization', 'in' => 'query', - 'schema' => [ - 'description' => '设置结构迁移选项,取值:'."\n" - .'- **true**:执行结构迁移。'."\n" - .'- **false**:不执行结构迁移。'."\n" - ."\n" - .'> DTS对结构迁移的支持情况因数据库类型不同而有所差异,详情请参见支[持的数据库和迁移类型](~~26618~~)。', - 'type' => 'boolean', - 'required' => true, - 'example' => 'true', - 'docRequired' => true, - ], + 'schema' => ['description' => '设置结构迁移选项,取值:'."\n" + .'- **true**:执行结构迁移。'."\n" + .'- **false**:不执行结构迁移。'."\n" + ."\n" + .'> DTS对结构迁移的支持情况因数据库类型不同而有所差异,详情请参见支[持的数据库和迁移类型](~~26618~~)。', 'type' => 'boolean', 'required' => true, 'example' => 'true', 'docRequired' => true], ], [ 'name' => 'MigrationMode.DataIntialization', 'in' => 'query', - 'schema' => [ - 'description' => '设置全量数据迁移选项,取值:'."\n" - .'- **true**:执行全量数据迁移。'."\n" - .'- **false**:不执行全量数据迁移。'."\n" - ."\n" - .'> DTS对全量数据迁移的支持情况因数据库类型不同而有所差异,详情请参见支[持的数据库和迁移类型](~~26618~~)。', - 'type' => 'boolean', - 'required' => true, - 'example' => 'true', - 'docRequired' => true, - ], + 'schema' => ['description' => '设置全量数据迁移选项,取值:'."\n" + .'- **true**:执行全量数据迁移。'."\n" + .'- **false**:不执行全量数据迁移。'."\n" + ."\n" + .'> DTS对全量数据迁移的支持情况因数据库类型不同而有所差异,详情请参见支[持的数据库和迁移类型](~~26618~~)。', 'type' => 'boolean', 'required' => true, 'example' => 'true', 'docRequired' => true], ], [ 'name' => 'MigrationMode.DataSynchronization', 'in' => 'query', - 'schema' => [ - 'description' => '设置增量数据迁移选项,取值:'."\n" - .'- **true**:执行增量数据迁移。'."\n" - .'- **false**:不执行增量数据迁移。'."\n" - ."\n" - .'> DTS对增量数据迁移的支持情况因数据库类型不同而有所差异,详情请参见支[持的数据库和迁移类型](~~26618~~)。', - 'type' => 'boolean', - 'required' => true, - 'example' => 'true', - 'docRequired' => true, - ], + 'schema' => ['description' => '设置增量数据迁移选项,取值:'."\n" + .'- **true**:执行增量数据迁移。'."\n" + .'- **false**:不执行增量数据迁移。'."\n" + ."\n" + .'> DTS对增量数据迁移的支持情况因数据库类型不同而有所差异,详情请参见支[持的数据库和迁移类型](~~26618~~)。', 'type' => 'boolean', 'required' => true, 'example' => 'true', 'docRequired' => true], ], [ 'name' => 'MigrationObject', 'in' => 'query', - 'schema' => [ - 'description' => '待迁移的对象,格式为JSON串,且支持一定的正则表达式。'."\n" - .'> 更多相关介绍和示例请参见[迁移对象配置说明](~~141227~~)。', - 'type' => 'string', - 'required' => true, - 'example' => '[{"DBName":"dtstestdata","TableIncludes":[{"TableName":"customer"}]}]', - 'docRequired' => true, - ], + 'schema' => ['description' => '待迁移的对象,格式为JSON串,且支持一定的正则表达式。'."\n" + .'> 更多相关介绍和示例请参见[迁移对象配置说明](~~141227~~)。', 'type' => 'string', 'required' => true, 'example' => '[{"DBName":"dtstestdata","TableIncludes":[{"TableName":"customer"}]}]', 'docRequired' => true], ], [ 'name' => 'MigrationReserved', 'in' => 'query', - 'schema' => [ - 'description' => '1', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '1', 'type' => 'string', 'required' => false, 'example' => '1'], ], [ 'name' => 'Checkpoint', 'in' => 'query', - 'schema' => [ - 'description' => '1', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '1', 'type' => 'string', 'required' => false, 'example' => '1'], ], ], 'responses' => [ @@ -412,28 +230,12 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '1583461905002-EyTDX', - ], - 'ErrCode' => [ - 'description' => '1', - 'type' => 'string', - 'example' => '1', - ], - 'Success' => [ - 'description' => '接口是否调用成功,返回值:'."\n" - .'- true:调用成功。'."\n" - .'- flase:调用失败。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '1', - 'type' => 'string', - 'example' => '1', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '1583461905002-EyTDX'], + 'ErrCode' => ['description' => '1', 'type' => 'string', 'example' => '1'], + 'Success' => ['description' => '接口是否调用成功,返回值:'."\n" + .'- true:调用成功。'."\n" + .'- flase:调用失败。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '1', 'type' => 'string', 'example' => '1'], ], ], ], @@ -449,13 +251,8 @@ ], 'ConfigureSubscriptionInstance' => [ 'summary' => '配置订阅任务', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -467,158 +264,98 @@ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ 'name' => 'SubscriptionInstanceId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - ], + 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true], ], [ 'name' => 'SubscriptionInstanceName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'SourceEndpoint.InstanceType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'SourceEndpoint.InstanceID', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'SubscriptionDataType.DDL', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - ], + 'schema' => ['type' => 'boolean', 'required' => true, 'docRequired' => true], ], [ 'name' => 'SubscriptionDataType.DML', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - ], + 'schema' => ['type' => 'boolean', 'required' => true, 'docRequired' => true], ], [ 'name' => 'SubscriptionObject', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - ], + 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true], ], [ 'name' => 'SourceEndpoint.IP', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'SourceEndpoint.Port', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'SourceEndpoint.UserName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'SourceEndpoint.Password', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'SourceEndpoint.OracleSID', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'SourceEndpoint.DatabaseName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'SourceEndpoint.OwnerID', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'SourceEndpoint.Role', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'SubscriptionInstanceNetworkType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'SubscriptionInstance.VPCId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'SubscriptionInstance.VSwitchId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -626,18 +363,10 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], + 'ErrCode' => ['type' => 'string'], + 'Success' => ['type' => 'string'], + 'ErrMessage' => ['type' => 'string'], ], ], ], @@ -647,14 +376,8 @@ ], 'CreateConsumerGroup' => [ 'summary' => '创建消费者组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -666,42 +389,28 @@ 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '96225', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ 'name' => 'SubscriptionInstanceId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ConsumerGroupName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ConsumerGroupUserName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ConsumerGroupPassword', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], ], 'responses' => [ @@ -709,21 +418,11 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ConsumerGroupID' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], + 'ConsumerGroupID' => ['type' => 'string'], + 'RequestId' => ['type' => 'string'], + 'ErrCode' => ['type' => 'string'], + 'Success' => ['type' => 'string'], + 'ErrMessage' => ['type' => 'string'], ], ], ], @@ -736,14 +435,8 @@ ], 'CreateMigrationJob' => [ 'summary' => '创建迁移任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -755,34 +448,23 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '96226', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ 'name' => 'Region', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'MigrationJobClass', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -790,21 +472,11 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'MigrationJobId' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], + 'MigrationJobId' => ['type' => 'string'], + 'ErrCode' => ['type' => 'string'], + 'Success' => ['type' => 'string'], + 'ErrMessage' => ['type' => 'string'], ], ], ], @@ -817,13 +489,8 @@ ], 'CreateSubscriptionInstance' => [ 'summary' => '创建订阅任务', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -834,59 +501,38 @@ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ 'name' => 'Region', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'SourceEndpoint.InstanceType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'PayType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Period', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'UsedTime', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -894,21 +540,11 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'SubscriptionInstanceId' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], + 'SubscriptionInstanceId' => ['type' => 'string'], + 'ErrCode' => ['type' => 'string'], + 'Success' => ['type' => 'string'], + 'ErrMessage' => ['type' => 'string'], ], ], ], @@ -918,14 +554,8 @@ ], 'CreateSynchronizationJob' => [ 'summary' => '创建同步任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -937,99 +567,63 @@ 'riskType' => 'high', 'chargeType' => 'free', 'abilityTreeCode' => '96228', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ 'name' => 'SourceRegion', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'DestRegion', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'Topology', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'SynchronizationJobClass', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'PayType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'Period', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'UsedTime', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'SourceEndpoint.InstanceType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'DestinationEndpoint.InstanceType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'networkType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -1037,21 +631,11 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'SynchronizationJobId' => [ - 'type' => 'string', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], + 'ErrCode' => ['type' => 'string'], + 'Success' => ['type' => 'string'], + 'SynchronizationJobId' => ['type' => 'string'], + 'ErrMessage' => ['type' => 'string'], ], ], ], @@ -1064,14 +648,8 @@ ], 'DeleteConsumerGroup' => [ 'summary' => '删除消费组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1083,26 +661,18 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '96229', - 'abilityTreeNodes' => [ - 'FEATUREdtsPBF0VZ', - ], + 'abilityTreeNodes' => ['FEATUREdtsPBF0VZ'], ], 'parameters' => [ [ 'name' => 'SubscriptionInstanceId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ConsumerGroupID', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], ], 'responses' => [ @@ -1110,18 +680,10 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], + 'ErrCode' => ['type' => 'string'], + 'Success' => ['type' => 'string'], + 'ErrMessage' => ['type' => 'string'], ], ], ], @@ -1134,13 +696,8 @@ ], 'DeleteMigrationJob' => [ 'summary' => '删除迁移任务', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1152,18 +709,13 @@ 'riskType' => 'high', 'chargeType' => 'free', 'abilityTreeCode' => '96230', - 'abilityTreeNodes' => [ - 'FEATUREdtsPBF0VZ', - ], + 'abilityTreeNodes' => ['FEATUREdtsPBF0VZ'], ], 'parameters' => [ [ 'name' => 'MigrationJobId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], ], 'responses' => [ @@ -1171,18 +723,10 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], + 'ErrCode' => ['type' => 'string'], + 'Success' => ['type' => 'string'], + 'ErrMessage' => ['type' => 'string'], ], ], ], @@ -1195,14 +739,8 @@ ], 'DeleteSynchronizationJob' => [ 'summary' => '删除同步任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1214,18 +752,13 @@ 'riskType' => 'high', 'chargeType' => 'free', 'abilityTreeCode' => '96232', - 'abilityTreeNodes' => [ - 'FEATUREdtsPBF0VZ', - ], + 'abilityTreeNodes' => ['FEATUREdtsPBF0VZ'], ], 'parameters' => [ [ 'name' => 'SynchronizationJobId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], ], 'responses' => [ @@ -1233,18 +766,10 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], + 'ErrCode' => ['type' => 'string'], + 'Success' => ['type' => 'string'], + 'ErrMessage' => ['type' => 'string'], ], ], ], @@ -1257,14 +782,8 @@ ], 'DescribeConsumerGroup' => [ 'summary' => '查询消费者组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1277,42 +796,23 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '96233', - 'abilityTreeNodes' => [ - 'FEATUREdtsDW6WLD', - ], + 'abilityTreeNodes' => ['FEATUREdtsDW6WLD'], ], 'parameters' => [ [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'default' => '30', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '30'], ], [ 'name' => 'PageNum', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'default' => '1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1'], ], [ 'name' => 'SubscriptionInstanceId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - ], + 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true], ], ], 'responses' => [ @@ -1320,21 +820,10 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'PageNumber' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PageRecordCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'TotalRecordCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'RequestId' => ['type' => 'string'], + 'PageNumber' => ['type' => 'integer', 'format' => 'int32'], + 'PageRecordCount' => ['type' => 'integer', 'format' => 'int32'], + 'TotalRecordCount' => ['type' => 'integer', 'format' => 'int32'], 'ConsumerChannels' => [ 'type' => 'object', 'itemNode' => true, @@ -1344,26 +833,12 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'ConsumerGroupUserName' => [ - 'type' => 'string', - ], - 'ConsumerGroupID' => [ - 'type' => 'string', - ], - 'MessageDelay' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - 'ConsumerGroupName' => [ - 'type' => 'string', - ], - 'ConsumptionCheckpoint' => [ - 'type' => 'string', - ], - 'UnconsumedData' => [ - 'type' => 'integer', - 'format' => 'int64', - ], + 'ConsumerGroupUserName' => ['type' => 'string'], + 'ConsumerGroupID' => ['type' => 'string'], + 'MessageDelay' => ['type' => 'integer', 'format' => 'int64'], + 'ConsumerGroupName' => ['type' => 'string'], + 'ConsumptionCheckpoint' => ['type' => 'string'], + 'UnconsumedData' => ['type' => 'integer', 'format' => 'int64'], ], ], ], @@ -1375,10 +850,7 @@ ], 'errorCodes' => [ 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.'], ], ], 'eventInfo' => [ @@ -1389,14 +861,8 @@ ], 'DescribeMigrationJobStatus' => [ 'summary' => '老版查询数据迁移任务的状态。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1409,31 +875,18 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '96239', - 'abilityTreeNodes' => [ - 'FEATUREdtsDW6WLD', - ], + 'abilityTreeNodes' => ['FEATUREdtsDW6WLD'], ], 'parameters' => [ [ 'name' => 'MigrationJobId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移任务ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsxxxxxxxx', - ], + 'schema' => ['description' => '迁移任务ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsxxxxxxxx'], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => '用于保证请求的幂等性,防止重复提交请求。由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符,且该参数值中不能包含非ASCII字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'ETnLKlblzczshOTUbOCzxxxxxxxxxx', - ], + 'schema' => ['description' => '用于保证请求的幂等性,防止重复提交请求。由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符,且该参数值中不能包含非ASCII字符。', 'type' => 'string', 'required' => false, 'example' => 'ETnLKlblzczshOTUbOCzxxxxxxxxxx'], ], ], 'responses' => [ @@ -1441,206 +894,94 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '111', - ], - 'MigrationJobName' => [ - 'description' => '迁移任务名称。', - 'type' => 'string', - 'example' => '迁移测试', - ], - 'MigrationJobStatus' => [ - 'description' => '迁移任务状态,返回值:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **MigrationFailed**:迁移失败。'."\n" - .'- **Finished**:迁移完成。', - 'type' => 'string', - 'example' => 'Migrating', - ], - 'PayType' => [ - 'description' => '迁移任务的付费类型,返回值固定为**PostPaid**(按量付费)。', - 'type' => 'string', - 'example' => 'PostPaid', - ], - 'MigrationJobId' => [ - 'description' => '迁移任务ID。', - 'type' => 'string', - 'example' => 'dtsxxxxxxxx', - ], - 'MigrationObject' => [ - 'description' => '迁移对象。', - 'type' => 'string', - 'example' => '[{\\"DBName\\":\\"dtstestdata\\",\\"TableIncludes\\":[{\\"TableName\\":\\"customer\\"}]}]', - ], - 'MigrationJobClass' => [ - 'description' => '数据迁移链路的规格。', - 'type' => 'string', - 'example' => 'large', - ], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '111'], + 'MigrationJobName' => ['description' => '迁移任务名称。', 'type' => 'string', 'example' => '迁移测试'], + 'MigrationJobStatus' => ['description' => '迁移任务状态,返回值:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **MigrationFailed**:迁移失败。'."\n" + .'- **Finished**:迁移完成。', 'type' => 'string', 'example' => 'Migrating'], + 'PayType' => ['description' => '迁移任务的付费类型,返回值固定为**PostPaid**(按量付费)。', 'type' => 'string', 'example' => 'PostPaid'], + 'MigrationJobId' => ['description' => '迁移任务ID。', 'type' => 'string', 'example' => 'dtsxxxxxxxx'], + 'MigrationObject' => ['description' => '迁移对象。', 'type' => 'string', 'example' => '[{\\"DBName\\":\\"dtstestdata\\",\\"TableIncludes\\":[{\\"TableName\\":\\"customer\\"}]}]'], + 'MigrationJobClass' => ['description' => '数据迁移链路的规格。', 'type' => 'string', 'example' => 'large'], 'SourceEndpoint' => [ 'description' => '源库连接信息。', 'type' => 'object', 'properties' => [ - 'DatabaseName' => [ - 'description' => '数据库名称。'."\n" - .'> 当迁移的源库为PostgreSQL或MongoDB时,才会返回本参数。', - 'type' => 'string', - 'example' => 'dtstestdatabase', - ], - 'InstanceId' => [ - 'description' => '源库的实例ID。'."\n" - .'> - 当迁移的源库为阿里云的云数据库或**通过专线/VPN网关/智能网关接入的自建数据库**时,才会返回本参数。'."\n" - .'- 当迁移的源库为**通过专线/VPN网关/智能网关接入的自建数据库**时,本参数返回VPC ID(即专有网络ID)。', - 'type' => 'string', - 'example' => 'rm-bpxxxxxxxx', - ], - 'InstanceType' => [ - 'description' => '源库的实例类型,返回值:'."\n" - ."\n" - .'- **RDS**:阿里云RDS实例。'."\n" - .'- **ECS**:ECS上的自建数据库。'."\n" - .'- **LocalInstance**:有公网IP的自建数据库。'."\n" - .'- **Express**:通过专线/VPN网关/智能网关接入的自建数据库。'."\n" - .'- **MongoDB**:阿里云MongoDB实例。'."\n" - .'- **POLARDB**:阿里云POLARDB for MySQL集群(该值仅适用于中国站)。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'IP' => [ - 'description' => '源库的连接地址。'."\n" - .'> 当迁移的源库类型为**通过专线/VPN网关/智能网关接入的自建数据库**或有**公网IP的自建数据库**时,才会返回本参数。', - 'type' => 'string', - 'example' => '172.16.88.xxx', - ], - 'Port' => [ - 'description' => '源库的服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'UserName' => [ - 'description' => '源库的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'oracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当迁移的源库的数据库类型为Oracle时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'EngineName' => [ - 'description' => '源库的数据库类型。 '."\n" - ."\n" - .'> 当迁移的源库类型为自建数据库时,才会返回本参数。', - 'type' => 'string', - 'example' => 'MySQL', - ], + 'DatabaseName' => ['description' => '数据库名称。'."\n" + .'> 当迁移的源库为PostgreSQL或MongoDB时,才会返回本参数。', 'type' => 'string', 'example' => 'dtstestdatabase'], + 'InstanceId' => ['description' => '源库的实例ID。'."\n" + .'> - 当迁移的源库为阿里云的云数据库或**通过专线/VPN网关/智能网关接入的自建数据库**时,才会返回本参数。'."\n" + .'- 当迁移的源库为**通过专线/VPN网关/智能网关接入的自建数据库**时,本参数返回VPC ID(即专有网络ID)。', 'type' => 'string', 'example' => 'rm-bpxxxxxxxx'], + 'InstanceType' => ['description' => '源库的实例类型,返回值:'."\n" + ."\n" + .'- **RDS**:阿里云RDS实例。'."\n" + .'- **ECS**:ECS上的自建数据库。'."\n" + .'- **LocalInstance**:有公网IP的自建数据库。'."\n" + .'- **Express**:通过专线/VPN网关/智能网关接入的自建数据库。'."\n" + .'- **MongoDB**:阿里云MongoDB实例。'."\n" + .'- **POLARDB**:阿里云POLARDB for MySQL集群(该值仅适用于中国站)。', 'type' => 'string', 'example' => 'RDS'], + 'IP' => ['description' => '源库的连接地址。'."\n" + .'> 当迁移的源库类型为**通过专线/VPN网关/智能网关接入的自建数据库**或有**公网IP的自建数据库**时,才会返回本参数。', 'type' => 'string', 'example' => '172.16.88.xxx'], + 'Port' => ['description' => '源库的服务端口。', 'type' => 'string', 'example' => '3306'], + 'UserName' => ['description' => '源库的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'oracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当迁移的源库的数据库类型为Oracle时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'EngineName' => ['description' => '源库的数据库类型。 '."\n" + ."\n" + .'> 当迁移的源库类型为自建数据库时,才会返回本参数。', 'type' => 'string', 'example' => 'MySQL'], ], ], 'DestinationEndpoint' => [ 'description' => '目标库连接信息。', 'type' => 'object', 'properties' => [ - 'DatabaseName' => [ - 'description' => '数据库名称。'."\n" - .'> 当迁移的目标库为PostgreSQL或MongoDB时,才会返回本参数。', - 'type' => 'string', - 'example' => 'dtstestdatabase', - ], - 'InstanceId' => [ - 'description' => '目标库的实例ID。'."\n" - .'> - 当迁移的目标库为阿里云的云数据库或**通过专线/VPN网关/智能网关接入的自建数据库**时,才会返回本参数。'."\n" - .'- 当迁移的目标库为**通过专线/VPN网关/智能网关接入的自建数据库**时,本参数返回VPC ID(即专有网络ID)。', - 'type' => 'string', - 'example' => 'rm-bpxxxxxxxx', - ], - 'InstanceType' => [ - 'description' => '目标库的实例类型,取值:'."\n" - .'- **RDS**:阿里云RDS实例。'."\n" - .'- **ECS**:ECS上的自建数据库。'."\n" - .'- **LocalInstance**:有公网IP的自建数据库。'."\n" - .'- **MongoDB**:阿里云MongoDB实例。'."\n" - .'- **Redis**:阿里云Redis实例。'."\n" - .'- **PetaData**:阿里云PetaData实例。'."\n" - .'- **OceanBase**:阿里云OceanBase实例。'."\n" - .'- **POLARDB**:阿里云POLARDB for MySQL集群。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'IP' => [ - 'description' => '目标库的连接地址。'."\n" - .'> 当迁移的目标库类型为**通过专线/VPN网关/智能网关接入的自建数据库**或有**公网IP的自建数据库**时,才会返回本参数。', - 'type' => 'string', - 'example' => '172.16.88.xxx', - ], - 'Port' => [ - 'description' => '目标库的服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'UserName' => [ - 'description' => '目标库的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'oracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当迁移的目标库的数据库类型为Oracle时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'EngineName' => [ - 'description' => '目标库的数据库类型。 ', - 'type' => 'string', - 'example' => 'MySQL', - ], + 'DatabaseName' => ['description' => '数据库名称。'."\n" + .'> 当迁移的目标库为PostgreSQL或MongoDB时,才会返回本参数。', 'type' => 'string', 'example' => 'dtstestdatabase'], + 'InstanceId' => ['description' => '目标库的实例ID。'."\n" + .'> - 当迁移的目标库为阿里云的云数据库或**通过专线/VPN网关/智能网关接入的自建数据库**时,才会返回本参数。'."\n" + .'- 当迁移的目标库为**通过专线/VPN网关/智能网关接入的自建数据库**时,本参数返回VPC ID(即专有网络ID)。', 'type' => 'string', 'example' => 'rm-bpxxxxxxxx'], + 'InstanceType' => ['description' => '目标库的实例类型,取值:'."\n" + .'- **RDS**:阿里云RDS实例。'."\n" + .'- **ECS**:ECS上的自建数据库。'."\n" + .'- **LocalInstance**:有公网IP的自建数据库。'."\n" + .'- **MongoDB**:阿里云MongoDB实例。'."\n" + .'- **Redis**:阿里云Redis实例。'."\n" + .'- **PetaData**:阿里云PetaData实例。'."\n" + .'- **OceanBase**:阿里云OceanBase实例。'."\n" + .'- **POLARDB**:阿里云POLARDB for MySQL集群。', 'type' => 'string', 'example' => 'RDS'], + 'IP' => ['description' => '目标库的连接地址。'."\n" + .'> 当迁移的目标库类型为**通过专线/VPN网关/智能网关接入的自建数据库**或有**公网IP的自建数据库**时,才会返回本参数。', 'type' => 'string', 'example' => '172.16.88.xxx'], + 'Port' => ['description' => '目标库的服务端口。', 'type' => 'string', 'example' => '3306'], + 'UserName' => ['description' => '目标库的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'oracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当迁移的目标库的数据库类型为Oracle时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'EngineName' => ['description' => '目标库的数据库类型。 ', 'type' => 'string', 'example' => 'MySQL'], ], ], 'MigrationMode' => [ 'description' => '迁移类型信息。', 'type' => 'object', 'properties' => [ - 'dataInitialization' => [ - 'description' => '是否执行了全量数据迁移,返回值为**true**|**false**。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'dataSynchronization' => [ - 'description' => '是否执行了增量数据迁移,返回值为**true**|**false**。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'structureInitialization' => [ - 'description' => '是否执行了结构数据迁移,返回值为**true**|**false**。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'dataInitialization' => ['description' => '是否执行了全量数据迁移,返回值为**true**|**false**。', 'type' => 'boolean', 'example' => 'true'], + 'dataSynchronization' => ['description' => '是否执行了增量数据迁移,返回值为**true**|**false**。', 'type' => 'boolean', 'example' => 'true'], + 'structureInitialization' => ['description' => '是否执行了结构数据迁移,返回值为**true**|**false**。', 'type' => 'boolean', 'example' => 'true'], ], ], 'PrecheckStatus' => [ 'description' => '预检查状态信息。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '预检查状态,返回值:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Checking**:检查中。'."\n" - .'- **Failed**:预检查失败。'."\n" - .'- **Finished**:预检查成功。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '预检查进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], + 'Status' => ['description' => '预检查状态,返回值:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Checking**:检查中。'."\n" + .'- **Failed**:预检查失败。'."\n" + .'- **Finished**:预检查成功。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '预检查进度,单位为百分比。', 'type' => 'string', 'example' => '100'], 'Detail' => [ 'type' => 'object', 'itemNode' => true, @@ -1651,30 +992,14 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'CheckStatus' => [ - 'description' => '预检查状态,返回值:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Checking**:检查中。'."\n" - .'- **Failed**:预检查失败。'."\n" - .'- **Success**:预检查成功。', - 'type' => 'string', - 'example' => 'Success', - ], - 'ErrorMessage' => [ - 'description' => '预检查失败的错误提示。', - 'type' => 'string', - 'example' => 'CHECK_ERROR_DEST_USER_PSW##DTS##DTS-002006 Connect db jdbc:mysql://100.100.64.101:17557?characterEncoding=utf8 failure, db user dtstes no connect permission, Please vaild user info. Original error: Access denied for user \'dtstes\'@\'100.104.52.253\' (using password: YES)', - ], - 'ItemName' => [ - 'description' => '预检查项目名称。', - 'type' => 'string', - 'example' => 'CHECK_CONN_DEST', - ], - 'RepairMethod' => [ - 'description' => '预检查失败对应的修复方法。', - 'type' => 'string', - 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2', - ], + 'CheckStatus' => ['description' => '预检查状态,返回值:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Checking**:检查中。'."\n" + .'- **Failed**:预检查失败。'."\n" + .'- **Success**:预检查成功。', 'type' => 'string', 'example' => 'Success'], + 'ErrorMessage' => ['description' => '预检查失败的错误提示。', 'type' => 'string', 'example' => 'CHECK_ERROR_DEST_USER_PSW##DTS##DTS-002006 Connect db jdbc:mysql://100.100.64.101:17557?characterEncoding=utf8 failure, db user dtstes no connect permission, Please vaild user info. Original error: Access denied for user \'dtstes\'@\'100.104.52.253\' (using password: YES)'], + 'ItemName' => ['description' => '预检查项目名称。', 'type' => 'string', 'example' => 'CHECK_CONN_DEST'], + 'RepairMethod' => ['description' => '预检查失败对应的修复方法。', 'type' => 'string', 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2'], ], ], ], @@ -1686,96 +1011,44 @@ 'description' => '结构迁移状态信息。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '迁移状态,返回值:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating** :迁移中。'."\n" - .'- **Failed**:迁移失败。'."\n" - .'- **Finished**:迁移完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '结构迁移进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'Progress' => [ - 'description' => '已迁移的记录数。', - 'type' => 'string', - 'example' => '1', - ], - 'ErrorMessage' => [ - 'description' => '结构迁移失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-1020042 Execute sql error sql: DTS-1020042 Execute sql error sql: CREATE command denied to user \'dtstest80\'@\'100.104.xx.xx\' for table \'customer\' .', - ], + 'Status' => ['description' => '迁移状态,返回值:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating** :迁移中。'."\n" + .'- **Failed**:迁移失败。'."\n" + .'- **Finished**:迁移完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '结构迁移进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'Progress' => ['description' => '已迁移的记录数。', 'type' => 'string', 'example' => '1'], + 'ErrorMessage' => ['description' => '结构迁移失败的错误提示。', 'type' => 'string', 'example' => 'DTS-1020042 Execute sql error sql: DTS-1020042 Execute sql error sql: CREATE command denied to user \'dtstest80\'@\'100.104.xx.xx\' for table \'customer\' .'], ], ], 'DataInitializationStatus' => [ 'description' => '全量数据迁移的状态信息。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '迁移状态,返回值:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating** :迁移中。'."\n" - .'- **Failed**:迁移失败。'."\n" - .'- **Finished**:迁移完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '全量数据迁移进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'Progress' => [ - 'description' => '已迁移的记录数。', - 'type' => 'string', - 'example' => '10000', - ], - 'ErrorMessage' => [ - 'description' => '全量数据迁移失败的错误提示。', - 'type' => 'string', - 'example' => 'xxxxxxxx', - ], + 'Status' => ['description' => '迁移状态,返回值:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating** :迁移中。'."\n" + .'- **Failed**:迁移失败。'."\n" + .'- **Finished**:迁移完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '全量数据迁移进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'Progress' => ['description' => '已迁移的记录数。', 'type' => 'string', 'example' => '10000'], + 'ErrorMessage' => ['description' => '全量数据迁移失败的错误提示。', 'type' => 'string', 'example' => 'xxxxxxxx'], ], ], 'DataSynchronizationStatus' => [ 'description' => '增量数据迁移的状态信息。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '迁移状态,返回值:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:迁移失败。'."\n" - .'- **Finished**:迁移完成。'."\n" - .'- **Catched**:无延迟。', - 'type' => 'string', - 'example' => 'Catched', - ], - 'Delay' => [ - 'description' => '迁移延迟,单位为毫秒。', - 'type' => 'string', - 'example' => '0', - ], - 'Percent' => [ - 'description' => '增量数据迁移进度,单位为百分比。', - 'type' => 'string', - 'example' => '95', - ], - 'ErrorMessage' => [ - 'description' => '增量数据迁移失败的错误提示。', - 'type' => 'string', - 'example' => 'xxxxxxxx', - ], - 'Checkpoint' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1571040679', - ], + 'Status' => ['description' => '迁移状态,返回值:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:迁移失败。'."\n" + .'- **Finished**:迁移完成。'."\n" + .'- **Catched**:无延迟。', 'type' => 'string', 'example' => 'Catched'], + 'Delay' => ['description' => '迁移延迟,单位为毫秒。', 'type' => 'string', 'example' => '0'], + 'Percent' => ['description' => '增量数据迁移进度,单位为百分比。', 'type' => 'string', 'example' => '95'], + 'ErrorMessage' => ['description' => '增量数据迁移失败的错误提示。', 'type' => 'string', 'example' => 'xxxxxxxx'], + 'Checkpoint' => ['description' => '', 'type' => 'string', 'example' => '1571040679'], ], ], ], @@ -1794,14 +1067,8 @@ ], 'DescribeMigrationJobs' => [ 'summary' => '列举迁移任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1813,41 +1080,23 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREdtsDW6WLD', - ], + 'abilityTreeNodes' => ['FEATUREdtsDW6WLD'], ], 'parameters' => [ [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'default' => '30', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '30'], ], [ 'name' => 'PageNum', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'default' => '1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1'], ], [ 'name' => 'MigrationJobName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -1855,30 +1104,13 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'PageRecordCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'TotalRecordCount' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], - 'PageNumber' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'RequestId' => ['type' => 'string'], + 'ErrCode' => ['type' => 'string'], + 'Success' => ['type' => 'string'], + 'PageRecordCount' => ['type' => 'integer', 'format' => 'int32'], + 'TotalRecordCount' => ['type' => 'integer', 'format' => 'int64'], + 'ErrMessage' => ['type' => 'string'], + 'PageNumber' => ['type' => 'integer', 'format' => 'int32'], 'MigrationJobs' => [ 'type' => 'object', 'itemNode' => true, @@ -1888,21 +1120,11 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'MigrationJobName' => [ - 'type' => 'string', - ], - 'MigrationJobStatus' => [ - 'type' => 'string', - ], - 'MigrationJobClass' => [ - 'type' => 'string', - ], - 'MigrationJobID' => [ - 'type' => 'string', - ], - 'PayType' => [ - 'type' => 'string', - ], + 'MigrationJobName' => ['type' => 'string'], + 'MigrationJobStatus' => ['type' => 'string'], + 'MigrationJobClass' => ['type' => 'string'], + 'MigrationJobID' => ['type' => 'string'], + 'PayType' => ['type' => 'string'], 'MigrationObject' => [ 'type' => 'object', 'itemNode' => true, @@ -1912,21 +1134,15 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'DatabaseName' => [ - 'type' => 'string', - ], - 'WholeDatabase' => [ - 'type' => 'string', - ], + 'DatabaseName' => ['type' => 'string'], + 'WholeDatabase' => ['type' => 'string'], 'TableList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Table' => [ 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['type' => 'string'], ], ], ], @@ -1938,146 +1154,74 @@ 'SourceEndpoint' => [ 'type' => 'object', 'properties' => [ - 'OracleSID' => [ - 'type' => 'string', - ], - 'DatabaseName' => [ - 'type' => 'string', - ], - 'InstanceID' => [ - 'type' => 'string', - ], - 'InstanceType' => [ - 'type' => 'string', - ], - 'IP' => [ - 'type' => 'string', - ], - 'Port' => [ - 'type' => 'string', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'EngineName' => [ - 'type' => 'string', - ], + 'OracleSID' => ['type' => 'string'], + 'DatabaseName' => ['type' => 'string'], + 'InstanceID' => ['type' => 'string'], + 'InstanceType' => ['type' => 'string'], + 'IP' => ['type' => 'string'], + 'Port' => ['type' => 'string'], + 'UserName' => ['type' => 'string'], + 'EngineName' => ['type' => 'string'], ], ], 'DestinationEndpoint' => [ 'type' => 'object', 'properties' => [ - 'OracleSID' => [ - 'type' => 'string', - ], - 'DatabaseName' => [ - 'type' => 'string', - ], - 'InstanceID' => [ - 'type' => 'string', - ], - 'InstanceType' => [ - 'type' => 'string', - ], - 'IP' => [ - 'type' => 'string', - ], - 'Port' => [ - 'type' => 'string', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'EngineName' => [ - 'type' => 'string', - ], + 'OracleSID' => ['type' => 'string'], + 'DatabaseName' => ['type' => 'string'], + 'InstanceID' => ['type' => 'string'], + 'InstanceType' => ['type' => 'string'], + 'IP' => ['type' => 'string'], + 'Port' => ['type' => 'string'], + 'UserName' => ['type' => 'string'], + 'EngineName' => ['type' => 'string'], ], ], 'MigrationMode' => [ 'type' => 'object', 'properties' => [ - 'DataInitialization' => [ - 'type' => 'boolean', - ], - 'DataSynchronization' => [ - 'type' => 'boolean', - ], - 'StructureInitialization' => [ - 'type' => 'boolean', - ], + 'DataInitialization' => ['type' => 'boolean'], + 'DataSynchronization' => ['type' => 'boolean'], + 'StructureInitialization' => ['type' => 'boolean'], ], ], 'Precheck' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], ], ], 'StructureInitialization' => [ 'type' => 'object', 'properties' => [ - 'Percent' => [ - 'type' => 'string', - ], - 'Progress' => [ - 'type' => 'string', - ], - 'status' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Percent' => ['type' => 'string'], + 'Progress' => ['type' => 'string'], + 'status' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], 'DataInitialization' => [ 'type' => 'object', 'properties' => [ - 'Percent' => [ - 'type' => 'string', - ], - 'Progress' => [ - 'type' => 'string', - ], - 'status' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Percent' => ['type' => 'string'], + 'Progress' => ['type' => 'string'], + 'status' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], 'DataSynchronization' => [ 'type' => 'object', 'properties' => [ - 'Delay' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'status' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Delay' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], + 'status' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], - 'InstanceCreateTime' => [ - 'type' => 'string', - ], - 'JobCreateTime' => [ - 'type' => 'string', - ], - 'JobFinishTime' => [ - 'type' => 'string', - ], + 'InstanceCreateTime' => ['type' => 'string'], + 'JobCreateTime' => ['type' => 'string'], + 'JobFinishTime' => ['type' => 'string'], ], ], ], @@ -2089,10 +1233,7 @@ ], 'errorCodes' => [ 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.'], ], ], 'eventInfo' => [ @@ -2103,14 +1244,8 @@ ], 'DescribeSubscriptionInstanceStatus' => [ 'summary' => '查询订阅任务状态', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2122,19 +1257,13 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREdtsDW6WLD', - ], + 'abilityTreeNodes' => ['FEATUREdtsDW6WLD'], ], 'parameters' => [ [ 'name' => 'SubscriptionInstanceId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - ], + 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true], ], ], 'responses' => [ @@ -2142,73 +1271,37 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'SubscribeTopic' => [ - 'type' => 'string', - ], - 'BeginTimestamp' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'PayType' => [ - 'type' => 'string', - ], - 'ConsumptionClient' => [ - 'type' => 'string', - ], - 'SubscriptionInstanceName' => [ - 'type' => 'string', - ], - 'SubscriptionInstanceID' => [ - 'type' => 'string', - ], - 'EndTimestamp' => [ - 'type' => 'string', - ], - 'ConsumptionCheckpoint' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'RequestId' => ['type' => 'string'], + 'SubscribeTopic' => ['type' => 'string'], + 'BeginTimestamp' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], + 'PayType' => ['type' => 'string'], + 'ConsumptionClient' => ['type' => 'string'], + 'SubscriptionInstanceName' => ['type' => 'string'], + 'SubscriptionInstanceID' => ['type' => 'string'], + 'EndTimestamp' => ['type' => 'string'], + 'ConsumptionCheckpoint' => ['type' => 'string'], 'SourceEndpoint' => [ 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - 'InstanceID' => [ - 'type' => 'string', - ], + 'InstanceType' => ['type' => 'string'], + 'InstanceID' => ['type' => 'string'], ], ], 'SubscriptionDataType' => [ 'type' => 'object', 'properties' => [ - 'DML' => [ - 'type' => 'boolean', - ], - 'DDL' => [ - 'type' => 'boolean', - ], + 'DML' => ['type' => 'boolean'], + 'DDL' => ['type' => 'boolean'], ], ], 'SubscriptionHost' => [ 'type' => 'object', 'properties' => [ - 'VPCHost' => [ - 'type' => 'string', - ], - 'PublicHost' => [ - 'type' => 'string', - ], - 'PrivateHost' => [ - 'type' => 'string', - ], + 'VPCHost' => ['type' => 'string'], + 'PublicHost' => ['type' => 'string'], + 'PrivateHost' => ['type' => 'string'], ], ], 'SubscriptionObject' => [ @@ -2220,21 +1313,15 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'DatabaseName' => [ - 'type' => 'string', - ], - 'WholeDatabase' => [ - 'type' => 'string', - ], + 'DatabaseName' => ['type' => 'string'], + 'WholeDatabase' => ['type' => 'string'], 'TableList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Table' => [ 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['type' => 'string'], ], ], ], @@ -2252,14 +1339,8 @@ ], 'DescribeSubscriptionInstances' => [ 'summary' => '列举订阅任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2271,49 +1352,28 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREdtsDW6WLD', - ], + 'abilityTreeNodes' => ['FEATUREdtsDW6WLD'], ], 'parameters' => [ [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'default' => '30', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '30'], ], [ 'name' => 'PageNum', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'default' => '1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1'], ], [ 'name' => 'SubscriptionInstanceName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -2321,21 +1381,10 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'PageNumber' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PageRecordCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'TotalRecordCount' => [ - 'type' => 'integer', - 'format' => 'int64', - ], + 'RequestId' => ['type' => 'string'], + 'PageNumber' => ['type' => 'integer', 'format' => 'int32'], + 'PageRecordCount' => ['type' => 'integer', 'format' => 'int32'], + 'TotalRecordCount' => ['type' => 'integer', 'format' => 'int64'], 'SubscriptionInstances' => [ 'type' => 'object', 'itemNode' => true, @@ -2345,36 +1394,16 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'SubscribeTopic' => [ - 'type' => 'string', - ], - 'BeginTimestamp' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'PayType' => [ - 'type' => 'string', - ], - 'ConsumptionClient' => [ - 'type' => 'string', - ], - 'SubscriptionInstanceName' => [ - 'type' => 'string', - ], - 'SubscriptionInstanceID' => [ - 'type' => 'string', - ], - 'EndTimestamp' => [ - 'type' => 'string', - ], - 'ConsumptionCheckpoint' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'SubscribeTopic' => ['type' => 'string'], + 'BeginTimestamp' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], + 'PayType' => ['type' => 'string'], + 'ConsumptionClient' => ['type' => 'string'], + 'SubscriptionInstanceName' => ['type' => 'string'], + 'SubscriptionInstanceID' => ['type' => 'string'], + 'EndTimestamp' => ['type' => 'string'], + 'ConsumptionCheckpoint' => ['type' => 'string'], 'SubscriptionObject' => [ 'type' => 'object', 'itemNode' => true, @@ -2384,21 +1413,15 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'DatabaseName' => [ - 'type' => 'string', - ], - 'WholeDatabase' => [ - 'type' => 'string', - ], + 'DatabaseName' => ['type' => 'string'], + 'WholeDatabase' => ['type' => 'string'], 'TableList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Table' => [ 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['type' => 'string'], ], ], ], @@ -2410,48 +1433,28 @@ 'SourceEndpoint' => [ 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - 'InstanceID' => [ - 'type' => 'string', - ], + 'InstanceType' => ['type' => 'string'], + 'InstanceID' => ['type' => 'string'], ], ], 'SubscriptionDataType' => [ 'type' => 'object', 'properties' => [ - 'DML' => [ - 'type' => 'boolean', - ], - 'DDL' => [ - 'type' => 'boolean', - ], + 'DML' => ['type' => 'boolean'], + 'DDL' => ['type' => 'boolean'], ], ], 'SubscriptionHost' => [ 'type' => 'object', 'properties' => [ - 'VPCHost' => [ - 'type' => 'string', - ], - 'PublicHost' => [ - 'type' => 'string', - ], - 'PrivateHost' => [ - 'type' => 'string', - ], + 'VPCHost' => ['type' => 'string'], + 'PublicHost' => ['type' => 'string'], + 'PrivateHost' => ['type' => 'string'], ], ], - 'InstanceCreateTime' => [ - 'type' => 'string', - ], - 'JobCreateTime' => [ - 'type' => 'string', - ], - 'JobFinishTime' => [ - 'type' => 'string', - ], + 'InstanceCreateTime' => ['type' => 'string'], + 'JobCreateTime' => ['type' => 'string'], + 'JobFinishTime' => ['type' => 'string'], ], ], ], @@ -2465,14 +1468,8 @@ ], 'DescribeSynchronizationJobStatus' => [ 'summary' => '获取同步任务的状态', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2485,35 +1482,23 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '96247', - 'abilityTreeNodes' => [ - 'FEATUREdtsDW6WLD', - ], + 'abilityTreeNodes' => ['FEATUREdtsDW6WLD'], ], 'parameters' => [ [ 'name' => 'SynchronizationJobId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - ], + 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true], ], [ 'name' => 'SynchronizationDirection', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -2521,126 +1506,58 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'SynchronizationJobName' => [ - 'type' => 'string', - ], - 'DataInitialization' => [ - 'type' => 'string', - ], - 'Status' => [ - 'type' => 'string', - ], - 'Delay' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'ExpireTime' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], - 'PayType' => [ - 'type' => 'string', - ], - 'StructureInitialization' => [ - 'type' => 'string', - ], - 'SynchronizationJobClass' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'SynchronizationJobId' => [ - 'type' => 'string', - ], - 'SynchronizationDirection' => [ - 'type' => 'string', - ], - 'Checkpoint' => [ - 'type' => 'string', - ], + 'SynchronizationJobName' => ['type' => 'string'], + 'DataInitialization' => ['type' => 'string'], + 'Status' => ['type' => 'string'], + 'Delay' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], + 'ErrCode' => ['type' => 'string'], + 'ExpireTime' => ['type' => 'string'], + 'Success' => ['type' => 'string'], + 'ErrMessage' => ['type' => 'string'], + 'PayType' => ['type' => 'string'], + 'StructureInitialization' => ['type' => 'string'], + 'SynchronizationJobClass' => ['type' => 'string'], + 'RequestId' => ['type' => 'string'], + 'SynchronizationJobId' => ['type' => 'string'], + 'SynchronizationDirection' => ['type' => 'string'], + 'Checkpoint' => ['type' => 'string'], 'SourceEndpoint' => [ 'type' => 'object', 'properties' => [ - 'InstanceId' => [ - 'type' => 'string', - ], - 'InstanceType' => [ - 'type' => 'string', - ], - 'IP' => [ - 'type' => 'string', - ], - 'Port' => [ - 'type' => 'string', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'EngineName' => [ - 'type' => 'string', - ], + 'InstanceId' => ['type' => 'string'], + 'InstanceType' => ['type' => 'string'], + 'IP' => ['type' => 'string'], + 'Port' => ['type' => 'string'], + 'UserName' => ['type' => 'string'], + 'EngineName' => ['type' => 'string'], ], ], 'DestinationEndpoint' => [ 'type' => 'object', 'properties' => [ - 'InstanceId' => [ - 'type' => 'string', - ], - 'InstanceType' => [ - 'type' => 'string', - ], - 'IP' => [ - 'type' => 'string', - ], - 'Port' => [ - 'type' => 'string', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'EngineName' => [ - 'type' => 'string', - ], + 'InstanceId' => ['type' => 'string'], + 'InstanceType' => ['type' => 'string'], + 'IP' => ['type' => 'string'], + 'Port' => ['type' => 'string'], + 'UserName' => ['type' => 'string'], + 'EngineName' => ['type' => 'string'], ], ], 'PrecheckStatus' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], 'Detail' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'CheckStatus' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'ItemName' => [ - 'type' => 'string', - ], - 'RepairMethod' => [ - 'type' => 'string', - ], + 'CheckStatus' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], + 'ItemName' => ['type' => 'string'], + 'RepairMethod' => ['type' => 'string'], ], ], ], @@ -2649,66 +1566,36 @@ 'StructureInitializationStatus' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'Progress' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], + 'Progress' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], 'DataInitializationStatus' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'Progress' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], + 'Progress' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], 'DataSynchronizationStatus' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Delay' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'Checkpoint' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Delay' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], + 'Checkpoint' => ['type' => 'string'], ], ], 'Performance' => [ 'type' => 'object', 'properties' => [ - 'RPS' => [ - 'type' => 'string', - ], - 'FLOW' => [ - 'type' => 'string', - ], + 'RPS' => ['type' => 'string'], + 'FLOW' => ['type' => 'string'], ], ], 'SynchronizationObjects' => [ @@ -2716,20 +1603,14 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'NewSchemaName' => [ - 'type' => 'string', - ], - 'SchemaName' => [ - 'type' => 'string', - ], + 'NewSchemaName' => ['type' => 'string'], + 'SchemaName' => ['type' => 'string'], 'TableIncludes' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'TableName' => [ - 'type' => 'string', - ], + 'TableName' => ['type' => 'string'], ], ], ], @@ -2738,9 +1619,7 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'TableName' => [ - 'type' => 'string', - ], + 'TableName' => ['type' => 'string'], ], ], ], @@ -2759,14 +1638,8 @@ ], 'DescribeSynchronizationJobs' => [ 'summary' => '列举同步任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2779,49 +1652,28 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '96246', - 'abilityTreeNodes' => [ - 'FEATUREdtsDW6WLD', - ], + 'abilityTreeNodes' => ['FEATUREdtsDW6WLD'], ], 'parameters' => [ [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'default' => '30', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '30'], ], [ 'name' => 'PageNum', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'default' => '1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1'], ], [ 'name' => 'SynchronizationJobName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -2829,87 +1681,42 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'PageRecordCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'TotalRecordCount' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], - 'PageNumber' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'RequestId' => ['type' => 'string'], + 'ErrCode' => ['type' => 'string'], + 'Success' => ['type' => 'string'], + 'PageRecordCount' => ['type' => 'integer', 'format' => 'int32'], + 'TotalRecordCount' => ['type' => 'integer', 'format' => 'int64'], + 'ErrMessage' => ['type' => 'string'], + 'PageNumber' => ['type' => 'integer', 'format' => 'int32'], 'SynchronizationInstances' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'DataInitialization' => [ - 'type' => 'string', - ], - 'SynchronizationJobName' => [ - 'type' => 'string', - ], - 'Delay' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'ExpireTime' => [ - 'type' => 'string', - ], - 'SynchronizationJobId' => [ - 'type' => 'string', - ], - 'StructureInitialization' => [ - 'type' => 'string', - ], - 'PayType' => [ - 'type' => 'string', - ], - 'SynchronizationJobClass' => [ - 'type' => 'string', - ], - 'SynchronizationDirection' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'DataInitialization' => ['type' => 'string'], + 'SynchronizationJobName' => ['type' => 'string'], + 'Delay' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], + 'ExpireTime' => ['type' => 'string'], + 'SynchronizationJobId' => ['type' => 'string'], + 'StructureInitialization' => ['type' => 'string'], + 'PayType' => ['type' => 'string'], + 'SynchronizationJobClass' => ['type' => 'string'], + 'SynchronizationDirection' => ['type' => 'string'], 'SynchronizationObjects' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'NewSchemaName' => [ - 'type' => 'string', - ], - 'SchemaName' => [ - 'type' => 'string', - ], + 'NewSchemaName' => ['type' => 'string'], + 'SchemaName' => ['type' => 'string'], 'TableIncludes' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'TableName' => [ - 'type' => 'string', - ], + 'TableName' => ['type' => 'string'], ], ], ], @@ -2918,9 +1725,7 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'TableName' => [ - 'type' => 'string', - ], + 'TableName' => ['type' => 'string'], ], ], ], @@ -2930,75 +1735,39 @@ 'SourceEndpoint' => [ 'type' => 'object', 'properties' => [ - 'InstanceId' => [ - 'type' => 'string', - ], - 'InstanceType' => [ - 'type' => 'string', - ], - 'IP' => [ - 'type' => 'string', - ], - 'Port' => [ - 'type' => 'string', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'EngineName' => [ - 'type' => 'string', - ], + 'InstanceId' => ['type' => 'string'], + 'InstanceType' => ['type' => 'string'], + 'IP' => ['type' => 'string'], + 'Port' => ['type' => 'string'], + 'UserName' => ['type' => 'string'], + 'EngineName' => ['type' => 'string'], ], ], 'DestinationEndpoint' => [ 'type' => 'object', 'properties' => [ - 'InstanceId' => [ - 'type' => 'string', - ], - 'InstanceType' => [ - 'type' => 'string', - ], - 'IP' => [ - 'type' => 'string', - ], - 'Port' => [ - 'type' => 'string', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'EngineName' => [ - 'type' => 'string', - ], + 'InstanceId' => ['type' => 'string'], + 'InstanceType' => ['type' => 'string'], + 'IP' => ['type' => 'string'], + 'Port' => ['type' => 'string'], + 'UserName' => ['type' => 'string'], + 'EngineName' => ['type' => 'string'], ], ], 'PrecheckStatus' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], 'Detail' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'CheckStatus' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'ItemName' => [ - 'type' => 'string', - ], - 'RepairMethod' => [ - 'type' => 'string', - ], + 'CheckStatus' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], + 'ItemName' => ['type' => 'string'], + 'RepairMethod' => ['type' => 'string'], ], ], ], @@ -3007,74 +1776,40 @@ 'StructureInitializationStatus' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'Progress' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], + 'Progress' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], 'DataInitializationStatus' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'Progress' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], + 'Progress' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], 'DataSynchronizationStatus' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'Delay' => [ - 'type' => 'string', - ], - 'Percent' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'Delay' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], ], ], 'Performance' => [ 'type' => 'object', 'properties' => [ - 'RPS' => [ - 'type' => 'string', - ], - 'FLOW' => [ - 'type' => 'string', - ], + 'RPS' => ['type' => 'string'], + 'FLOW' => ['type' => 'string'], ], ], - 'InstanceCreateTime' => [ - 'type' => 'string', - ], - 'JobCreateTime' => [ - 'type' => 'string', - ], - 'JobFinishTime' => [ - 'type' => 'string', - ], + 'InstanceCreateTime' => ['type' => 'string'], + 'JobCreateTime' => ['type' => 'string'], + 'JobFinishTime' => ['type' => 'string'], ], ], ], @@ -3090,229 +1825,61 @@ ], ], 'endpoints' => [ - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'dts.cn-qingdao.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'dts.cn-beijing.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'dts.cn-zhangjiakou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'dts.cn-huhehaote.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'dts.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'dts.cn-shenzhen.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'dts.cn-hongkong.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'dts.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'dts.ap-southeast-2.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'dts.ap-southeast-3.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'dts.ap-southeast-5.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'dts.eu-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'dts.us-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'dts.us-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'dts.eu-central-1.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'dts.me-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'dts.ap-south-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-2-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'dts.cn-beijing-finance-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-gov-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-nu16-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'dts.cn-chengdu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-edge-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-fujian', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-haidian-cm12-c01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-bj-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-prod-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-2', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-3', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-test-306', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong-finance-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote-nebula-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-qingdao-nebula', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et15-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et2-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-inner', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-internal-test-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-inner', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-st4-d01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-su18-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wuhan', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-yushanfang', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangbei-na61-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou-na62-a01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhengzhou-nebula-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1-oxs', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'rus-west-1-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'dts.ap-northeast-1.aliyuncs.com', - ], + ['regionId' => 'cn-qingdao', 'endpoint' => 'dts.cn-qingdao.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'endpoint' => 'dts.cn-beijing.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'endpoint' => 'dts.cn-zhangjiakou.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'endpoint' => 'dts.cn-huhehaote.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'endpoint' => 'dts.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'endpoint' => 'dts.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'endpoint' => 'dts.cn-hongkong.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'endpoint' => 'dts.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-2', 'endpoint' => 'dts.ap-southeast-2.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'endpoint' => 'dts.ap-southeast-3.aliyuncs.com'], + ['regionId' => 'ap-southeast-5', 'endpoint' => 'dts.ap-southeast-5.aliyuncs.com'], + ['regionId' => 'eu-west-1', 'endpoint' => 'dts.eu-west-1.aliyuncs.com'], + ['regionId' => 'us-west-1', 'endpoint' => 'dts.us-west-1.aliyuncs.com'], + ['regionId' => 'us-east-1', 'endpoint' => 'dts.us-east-1.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'endpoint' => 'dts.eu-central-1.aliyuncs.com'], + ['regionId' => 'me-east-1', 'endpoint' => 'dts.me-east-1.aliyuncs.com'], + ['regionId' => 'ap-south-1', 'endpoint' => 'dts.ap-south-1.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-finance', 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'cn-shanghai-finance-1', 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'cn-shenzhen-finance-1', 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'cn-north-2-gov-1', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'ap-northeast-2-pop', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-beijing-finance-1', 'endpoint' => 'dts.cn-beijing-finance-1.aliyuncs.com'], + ['regionId' => 'cn-beijing-finance-pop', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-beijing-gov-1', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-beijing-nu16-b01', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'endpoint' => 'dts.cn-chengdu.aliyuncs.com'], + ['regionId' => 'cn-edge-1', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-fujian', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-haidian-cm12-c01', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-bj-b01', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-internal-prod-1', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-internal-test-1', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-internal-test-2', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-internal-test-3', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-test-306', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-hongkong-finance-pop', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-huhehaote-nebula-1', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-qingdao-nebula', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-shanghai-et15-b01', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-shanghai-et2-b01', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-shanghai-inner', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-shanghai-internal-test-1', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-shenzhen-inner', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-shenzhen-st4-d01', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-shenzhen-su18-b01', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-wuhan', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-yushanfang', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-zhangbei-na61-b01', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou-na62-a01', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'cn-zhengzhou-nebula-1', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'eu-west-1-oxs', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'rus-west-1-pop', 'endpoint' => 'dts.aliyuncs.com'], + ['regionId' => 'ap-northeast-1', 'endpoint' => 'dts.ap-northeast-1.aliyuncs.com'], ], ]; diff --git a/data/zh_cn/dts/2019-09-01/api-docs.php b/data/zh_cn/dts/2019-09-01/api-docs.php deleted file mode 100644 index a937f26..0000000 --- a/data/zh_cn/dts/2019-09-01/api-docs.php +++ /dev/null @@ -1,305 +0,0 @@ -<?php return [ - 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Dts', - 'version' => '2019-09-01', - ], - 'directories' => [ - [ - 'id' => 0, - 'title' => '其它', - 'type' => 'directory', - 'children' => [ - 'StartSynchronizationJob', - ], - ], - ], - 'components' => [ - 'schemas' => [], - ], - 'apis' => [ - 'StartSynchronizationJob' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'parameters' => [ - [ - 'name' => 'SynchronizationJobId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'SynchronizationDirection', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'ErrCode' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'string', - ], - 'ErrMessage' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - 'errorCodes' => [], - 'responseDemo' => '', - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'dts.cn-qingdao.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'dts.cn-beijing.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'dts.cn-zhangjiakou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'dts.cn-huhehaote.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'dts.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'dts.cn-shenzhen.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'dts.cn-hongkong.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'dts.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'dts.ap-southeast-2.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'dts.ap-southeast-3.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'dts.ap-southeast-5.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'dts.eu-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'dts.us-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'dts.us-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'dts.eu-central-1.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'dts.me-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'dts.ap-south-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-2-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'dts.cn-beijing-finance-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-gov-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-nu16-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'dts.cn-chengdu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-edge-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-fujian', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-haidian-cm12-c01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-bj-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-prod-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-2', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-3', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-test-306', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong-finance-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote-nebula-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-qingdao-nebula', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et15-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et2-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-inner', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-internal-test-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-inner', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-st4-d01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-su18-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wuhan', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-yushanfang', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangbei-na61-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou-na62-a01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhengzhou-nebula-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1-oxs', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'rus-west-1-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'dts.ap-northeast-1.aliyuncs.com', - ], - ], -]; diff --git a/data/zh_cn/dts/2020-01-01/api-docs.php b/data/zh_cn/dts/2020-01-01/api-docs.php index ab48c72..42a19f2 100644 --- a/data/zh_cn/dts/2020-01-01/api-docs.php +++ b/data/zh_cn/dts/2020-01-01/api-docs.php @@ -1,66 +1,33 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Dts', - 'version' => '2020-01-01', - ], + 'info' => ['style' => 'RPC', 'product' => 'Dts', 'version' => '2020-01-01'], 'directories' => [ [ - 'id' => 137226, - 'title' => '数据管理', + 'children' => ['DescribeDTSIP', 'DescribeEndpointSwitchStatus', 'DescribeInitializationStatus', 'ShieldPrecheck'], 'type' => 'directory', - 'children' => [ - 'DescribeDTSIP', - 'DescribeEndpointSwitchStatus', - 'DescribeInitializationStatus', - 'ShieldPrecheck', - ], + 'title' => '数据管理', + 'id' => 335365, ], [ - 'id' => 137231, - 'title' => '数据迁移', + 'children' => ['CreateMigrationJob', 'DeleteMigrationJob', 'StartMigrationJob', 'StopMigrationJob', 'SuspendMigrationJob', 'ConfigureMigrationJob', 'DescribeMigrationJobDetail', 'DescribeMigrationJobs', 'DescribeMigrationJobStatus', 'DescribeConnectionStatus'], 'type' => 'directory', - 'children' => [ - 'CreateMigrationJob', - 'DeleteMigrationJob', - 'StartMigrationJob', - 'StopMigrationJob', - 'SuspendMigrationJob', - 'ConfigureMigrationJob', - 'DescribeMigrationJobDetail', - 'DescribeMigrationJobs', - 'DescribeMigrationJobStatus', - 'DescribeConnectionStatus', - ], + 'title' => '数据迁移', + 'id' => 335370, ], [ - 'id' => 137242, - 'title' => '数据订阅', - 'type' => 'directory', 'children' => [ 'ConfigureSubscription', [ - 'id' => 137244, - 'title' => '消费者通道', + 'children' => ['CreateConsumerChannel', 'DeleteConsumerChannel', 'ModifyConsumerChannel', 'DescribeConsumerChannel'], 'type' => 'directory', - 'children' => [ - 'CreateConsumerChannel', - 'DeleteConsumerChannel', - 'ModifyConsumerChannel', - 'DescribeConsumerChannel', - ], + 'title' => '消费者通道', + 'id' => 335383, ], [ - 'id' => 137249, - 'title' => '消费组', + 'children' => ['CreateConsumerGroup', 'DeleteConsumerGroup', 'ModifyConsumerGroupPassword', 'DescribeConsumerGroup'], 'type' => 'directory', - 'children' => [ - 'CreateConsumerGroup', - 'DeleteConsumerGroup', - 'ModifyConsumerGroupPassword', - 'DescribeConsumerGroup', - ], + 'title' => '消费组', + 'id' => 335388, ], 'CreateSubscriptionInstance', 'DeleteSubscriptionInstance', @@ -71,1451 +38,614 @@ 'DescribeSubscriptionInstanceStatus', 'ConfigureSubscriptionInstance', ], - ], - [ - 'id' => 137262, - 'title' => '数据同步', 'type' => 'directory', - 'children' => [ - 'CreateSynchronizationJob', - 'DeleteSynchronizationJob', - 'StartSynchronizationJob', - 'ModifySynchronizationObject', - 'DescribeSynchronizationJobReplicatorCompare', - 'DescribeSynchronizationJobs', - 'DescribeSynchronizationJobStatus', - 'DescribeSynchronizationJobStatusList', - 'DescribeSynchronizationObjectModifyStatus', - 'SuspendSynchronizationJob', - 'ResetSynchronizationJob', - 'ConfigureSynchronizationJobReplicatorCompare', - 'ConfigureSynchronizationJob', - 'SwitchSynchronizationEndpoint', - ], + 'title' => '数据订阅', + 'id' => 335381, ], [ - 'id' => 137277, - 'title' => '监控报警', + 'children' => ['CreateSynchronizationJob', 'DeleteSynchronizationJob', 'StartSynchronizationJob', 'ModifySynchronizationObject', 'DescribeSynchronizationJobReplicatorCompare', 'DescribeSynchronizationJobs', 'DescribeSynchronizationJobStatus', 'DescribeSynchronizationJobStatusList', 'DescribeSynchronizationObjectModifyStatus', 'SuspendSynchronizationJob', 'ResetSynchronizationJob', 'ConfigureSynchronizationJobReplicatorCompare', 'ConfigureSynchronizationJob', 'SwitchSynchronizationEndpoint'], 'type' => 'directory', - 'children' => [ - 'DescribeMigrationJobAlert', - 'DescribeSynchronizationJobAlert', - 'DescribeSubscriptionInstanceAlert', - 'ConfigureMigrationJobAlert', - 'ConfigureSynchronizationJobAlert', - 'ConfigureSubscriptionInstanceAlert', - ], + 'title' => '数据同步', + 'id' => 335401, ], [ - 'id' => 137284, - 'title' => '作业', + 'children' => ['DescribeMigrationJobAlert', 'DescribeSynchronizationJobAlert', 'DescribeSubscriptionInstanceAlert', 'ConfigureMigrationJobAlert', 'ConfigureSynchronizationJobAlert', 'ConfigureSubscriptionInstanceAlert'], 'type' => 'directory', - 'children' => [ - 'DeleteDtsJob', - 'ConfigureDtsJob', - 'ModifyDtsJob', - 'ModifyDtsJobName', - 'ModifyDtsJobPassword', - 'ResetDtsJob', - 'StartDtsJob', - 'StopDtsJob', - 'SuspendDtsJob', - 'DescribeDtsJobDetail', - 'DescribeDtsJobs', - ], + 'title' => '监控报警', + 'id' => 335416, ], [ - 'id' => 137296, - 'title' => '标签管理', + 'children' => ['DeleteDtsJob', 'ConfigureDtsJob', 'ModifyDtsJob', 'ModifyDtsJobName', 'ModifyDtsJobPassword', 'ResetDtsJob', 'StartDtsJob', 'StopDtsJob', 'SuspendDtsJob', 'DescribeDtsJobDetail', 'DescribeDtsJobs'], 'type' => 'directory', - 'children' => [ - 'ListTagResources', - 'TagResources', - 'UntagResources', - ], + 'title' => '作业', + 'id' => 335423, ], [ - 'id' => 203206, - 'title' => '资源组管理', + 'children' => ['ListTagResources', 'TagResources', 'UntagResources'], 'type' => 'directory', - 'children' => [ - 'ConvertInstanceResourceGroup', - ], + 'title' => '标签管理', + 'id' => 335435, ], [ - 'id' => 137300, - 'title' => '其他', + 'children' => ['ConvertInstanceResourceGroup'], 'type' => 'directory', - 'children' => [ - 'DescribeDocParserJobResult', - 'CreateDocParserJob', - 'CountJobByCondition', - 'CreateDtsInstance', - 'CreateJobMonitorRule', - 'DeleteDtsJobs', - 'DescribeDtsServiceLog', - 'DescribeJobMonitorRule', - 'DescribePreCheckStatus', - 'DescribeSubscriptionMeta', - 'DescribeTagKeys', - 'DescribeTagValues', - 'InitDtsRdsInstance', - 'ModifySubscription', - 'RenewInstance', - 'SkipPreCheck', - 'StartDtsJobs', - 'StopDtsJobs', - 'SummaryJobDetail', - 'SuspendDtsJobs', - 'TransferInstanceClass', - 'TransferPayType', - 'UpgradeTwoWay', - 'WhiteIpList', - 'DescribeDtsEtlJobVersionInfo', - 'DescribeEtlJobLogs', - 'CreateDedicatedClusterMonitorRule', - 'DescribeClusterOperateLogs', - 'DescribeClusterUsedUtilization', - 'DescribeDedicatedClusterMonitorRule', - 'DescribeDedicatedCluster', - 'DescribeMetricList', - 'ListDedicatedCluster', - 'ModifyDtsJobDedicatedCluster', - 'ModifyDedicatedCluster', - 'ModifyDtsJobDuLimit', - 'StopDedicatedCluster', - 'DescribeDataCheckTableDiffDetails', - 'DescribeDataCheckTableDetails', - 'DescribeDataCheckReportUrl', - 'DescribeCheckJobs', - 'SwitchPhysicalDtsJobToCloud', - 'ModifyDynamicConfig', - 'ModifyDtsJobConfig', - 'StartReverseWriter', - 'CreateReverseDtsJob', - 'ModifyDtsJobEndpoint', - 'SkipFullJobTable', - 'DescribeFullProcessList', - 'ModifyGadInstanceName', - 'DescribePreCheckCreateGadOrderResult', - 'DetachGadInstanceDbMember', - 'PreCheckCreateGadOrder', - 'DescribeGadInstances', - 'DescribeDocParserJobStatus', - ], + 'title' => '资源组管理', + 'id' => 335495, ], [ - 'id' => 0, - 'title' => '其它', - 'type' => 'directory', 'children' => [ - 'ListJobStep', - 'ModifyJobStepCheckpoint', - 'PromoteToMaster', + 'DescribeDocParserJobResult', 'CreateDocParserJob', 'CountJobByCondition', 'CreateDtsInstance', 'CreateJobMonitorRule', 'DeleteDtsJobs', 'DescribeDtsServiceLog', 'DescribeJobMonitorRule', 'DescribePreCheckStatus', 'DescribeSubscriptionMeta', 'DescribeTagKeys', 'DescribeTagValues', 'InitDtsRdsInstance', 'ModifySubscription', 'RenewInstance', 'SkipPreCheck', 'StartDtsJobs', 'StopDtsJobs', 'SummaryJobDetail', 'SuspendDtsJobs', + 'TransferInstanceClass', 'TransferPayType', 'UpgradeTwoWay', 'WhiteIpList', 'DescribeDtsEtlJobVersionInfo', 'DescribeEtlJobLogs', 'CreateDedicatedClusterMonitorRule', 'DescribeClusterOperateLogs', 'DescribeClusterUsedUtilization', 'DescribeDedicatedClusterMonitorRule', 'DescribeDedicatedCluster', 'DescribeMetricList', 'ListDedicatedCluster', 'ModifyDtsJobDedicatedCluster', 'ModifyDedicatedCluster', 'ModifyDtsJobDuLimit', 'StopDedicatedCluster', 'DescribeDataCheckTableDiffDetails', 'DescribeDataCheckTableDetails', 'DescribeDataCheckReportUrl', + 'DescribeCheckJobs', 'SwitchPhysicalDtsJobToCloud', 'ModifyDynamicConfig', 'ModifyDtsJobConfig', 'StartReverseWriter', 'CreateReverseDtsJob', 'ModifyDtsJobEndpoint', 'SkipFullJobTable', 'DescribeFullProcessList', 'ModifyGadInstanceName', 'DescribePreCheckCreateGadOrderResult', 'DetachGadInstanceDbMember', 'PreCheckCreateGadOrder', 'DescribeGadInstances', 'DescribeDocParserJobStatus', 'ListJobStep', 'ModifyJobStepCheckpoint', 'PromoteToMaster', ], + 'type' => 'directory', + 'title' => '其他', + 'id' => 335439, ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'DescribeDTSIP' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ConfigureDtsJob' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '52203', + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'DtsJobName', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS任务实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'DTS实例名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rdsmysql_to_mysql'], ], [ - 'name' => 'SourceEndpointRegion', + 'name' => 'SourceEndpointInstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '源实例所属地域ID,详情请参见[支持的地域列表](~~141033~~)。'."\n" - .'> 如果源实例为有公网IP的自建数据库,则可以传入**cn-hangzhou**或者离自建数据库物理距离最近的区域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '源实例类型,取值:'."\n" + ."\n" + .'**阿里云数据库**'."\n" + ."\n" + .'- **RDS**:RDS MySQL、RDS SQL Server、RDS PostgreSQL、RDS MariaDB。'."\n" + .'- **PolarDB**:PolarDB MySQL版。'."\n" + .'- **ADS**:AnalyticDB MySQL版。'."\n" + .'- **REDIS**:云数据库Tair(兼容Redis)。'."\n" + .'- **DISTRIBUTED_POLARDBX10**:PolarDB-X 1.0(原DRDS)。'."\n" + .'- **POLARDBX20**:PolarDB-X 2.0。'."\n" + .'- **MONGODB**:云数据库MongoDB。'."\n" + .'- **DISTRIBUTED_DMSLOGICDB**:数据管理DMS逻辑库。'."\n" + .'- **LINDORM**:云原生多模数据库Lindorm。'."\n" + ."\n" + .'**自建数据库**'."\n" + .'- **OTHER**:有公网IP的自建数据库。'."\n" + .'- **ECS**:ECS上的自建数据库。'."\n" + .'- **EXPRESS**:通过专线接入的自建数据库。'."\n" + .'- **CEN**:通过云企业网CEN接入的自建数据库。'."\n" + .'- **DG**:通过数据库网关接入的自建数据库。'."\n" + ."\n\n" + .'> - 如源实例为PolarDB PostgreSQL版(兼容Oracle)集群,则源实例类型需选择**OTHER**或者**EXPRESS**,作为自建数据库,且通过公网IP或者专线的方式接入。'."\n" + .'- 关于支持的源库和目标库对应情况,请参见[支持的数据库](~~131497~~)。'."\n" + .'- 当源实例为自建数据库时,您还需要执行相应的准备工作,请参见[准备工作概览](~~130607~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'RDS'], ], [ - 'name' => 'DestinationEndpointRegion', + 'name' => 'SourceEndpointInstanceID', 'in' => 'query', - 'schema' => [ - 'description' => '目标实例所属地域ID,详情请参见[支持的地域列表](~~141033~~)。'."\n" - .'> 如果目标实例为有公网IP的自建数据库,则可以传入**cn-hangzhou**或者离自建数据库物理距离最近的区域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '源实例ID。'."\n" + ."\n" + .'如源实例为阿里云数据库(如RDS MySQL),则您需要传入阿里云数据库的ID(如RDS MySQL的实例ID)。'."\n" + ."\n" + .'如源实例为自建数据库,则根据**SourceEndpointInstanceType**的取值不同,本参数的取值有所变化,例如**SourceEndpointInstanceType**取值为:'."\n" + ."\n" + .'- **ECS**,则该参数需传入ECS的实例ID。'."\n" + .'- **DG**,则该参数需传入数据库网关ID。'."\n" + .'- **EXPRESS**、**CEN**:则该参数需传入已和源库互联的VPC ID。'."\n" + ."\n" + .'> 取值为**CEN**时,您还需要在预留参数Reserve中传入云企业网CEN的实例ID。配置方式,请参见[Reserve参数说明](~~273111~~)。'."\n" + ."\n", 'type' => 'string', 'required' => false, 'example' => 'rm-bp1imrtn6fq7h****'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'SourceEndpointEngineName', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => '0C99C0BE-F312-40FA-ADFA-4DC1166B****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'DynamicMessage' => [ - 'description' => 'DTS服务的IP地址。', - 'type' => 'string', - 'example' => '10.151.12.0/24,47.102.181.0/24,47.101.109.0/24,120.55.129.0/24,11.115.103.0/24,47.102.234.0/24', - ], - 'DynamicCode' => [ - 'description' => '服务内部错误码,该参数即将下线。', - 'type' => 'string', - 'example' => '500', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + 'schema' => ['description' => '源实例的数据库类型。'."\n" + .'- **MYSQL**:MySQL数据库(包括RDS MySQL和自建MySQL)。'."\n" + .'- **MARIADB**:RDS MariaDB。'."\n" + .'- **PolarDB**:PolarDB MySQL版。'."\n" + .'- **POLARDB_O**:PolarDB PostgreSQL版(兼容Oracle)。'."\n" + .'- **POLARDBX10**:PolarDB-X 1.0(原DRDS)。'."\n" + .'- **POLARDBX20**:云原生分布式数据库PolarDB-X 2.0。'."\n" + .'- **ADB30**:AnalyticDB MySQL版 3.0。'."\n" + .'- **ORACLE**:自建Oracle。'."\n" + .'- **POSTGRESQL**:PostgreSQL数据库(包括RDS PostgreSQL和自建PostgreSQL)。'."\n" + .'- **MSSQL**:SQL Server数据库(包括RDS SQL Server和自建SQL Server)。'."\n" + .'- **MONGODB**:MongoDB数据库(包括自建MongoDB和云数据库MongoDB)。'."\n" + .'- **DB2**:自建DB2 LUW。'."\n" + .'- **AS400**:自建Db2 for i。'."\n" + .'- **DMSPOLARDB**:数据管理DMS逻辑库。'."\n" + .'- **HBASE**:自建HBase数据库。'."\n" + .'- **TERADATA**:Teradata数据库。'."\n" + .'- **TiDB**:TiDB数据库。'."\n" + .'- **REDIS**:Redis数据库,包括自建Redis和云数据库Tair(兼容Redis)。'."\n" + .'- **LINDORM**:云原生多模数据库Lindorm。'."\n" + ."\n\n" + .'>- 默认取值为**MYSQL**。'."\n" + .' - 当源实例的数据库类型取值为**MONGODB**时,您还需要在预留参数Reserve中传入部分信息。配置方式,请参见[Reserve参数说明](~~273111~~)。', 'type' => 'string', 'required' => false, 'example' => 'MYSQL'], ], - 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], - ], - 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0C99C0BE-F312-40FA-ADFA-4DC1166B****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"10.151.12.0/24,47.102.181.0/24,47.101.109.0/24,120.55.129.0/24,11.115.103.0/24,47.102.234.0/24\\",\\n \\"DynamicCode\\": \\"500\\"\\n}","type":"json"}]', - 'title' => '获取白名单需要添加的DTS IP地址', - 'summary' => '获取源库和目标库的白名单都需要添加的DTS IP地址。', - ], - 'DescribeEndpointSwitchStatus' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'SourceEndpointRegion', + 'in' => 'query', + 'schema' => ['description' => '源实例区域,详情请参见[支持的地域列表](~~141033~~)。'."\n" + .'> 如源为阿里云数据库,则该参数必须传入。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'SourceEndpointIP', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '源实例的IP地址。'."\n" + .'> 当**SourceEndpointInstanceType**为**OTHER**、**EXPRESS**、**DG**、**CEN**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '172.16.**.***'], ], [ - 'name' => 'TaskId', + 'name' => 'SourceEndpointPort', 'in' => 'query', - 'schema' => [ - 'description' => '任务ID,成功调用[SwitchSynchronizationEndpoint](~~201858~~)接口后会返回该值。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '11****', - ], + 'schema' => ['description' => '源实例的数据库服务端口。'."\n" + .'> 当源实例为自建数据库时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '3306'], ], [ - 'name' => 'ClientToken', + 'name' => 'SourceEndpointOracleSID', 'in' => 'query', - 'schema' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', - ], + 'schema' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当**SourceEndpointEngineName**取值为**Oracle**,且**Oracle**数据库为非RAC实例时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'testsid'], ], [ - 'name' => 'AccountId', + 'name' => 'SourceEndpointDatabaseName', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '源实例中迁移对象所属的数据库名称。'."\n" + .'> 当源实例或者源实例的数据库类型为PolarDB PostgreSQL版(兼容Oracle)、PostgreSQL、MongoDB数据库时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'dtstestdatabase'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'SourceEndpointUserName', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '源库的数据库账号。'."\n" + .'> - 大部分情况下,您需要传入源库的数据库账号。'."\n" + .'- 迁移或同步不同的数据库所需的权限有所差异,具体权限要求,请参见[准备用于数据迁移的数据库账号](~~175878~~)、[准备用于数据同步的数据库账号 ](~~213152~~)。', 'type' => 'string', 'required' => false, 'example' => 'dtstest'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '任务执行状态,返回为:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Initializing**:初始化中。'."\n" - .'- **Switching**:切换中。'."\n" - .'- **Failed**:执行失败。'."\n" - .'- **Finished**:执行成功。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '本参数已下线。', - 'type' => 'string', - 'example' => '400', - ], - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => '0DD6B201-604B-4CAB-B6A8-4B2953B5****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], - ], - 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"400\\",\\n \\"RequestId\\": \\"0DD6B201-604B-4CAB-B6A8-4B2953B5****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '修改数据库连接信息', - 'summary' => '可以查看任务的执行状态。', - ], - 'DescribeInitializationStatus' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'SourceEndpointPassword', + 'in' => 'query', + 'schema' => ['description' => '源库数据库账号密码。', 'type' => 'string', 'required' => false, 'example' => 'Test123456'], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'SourceEndpointOwnerID', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '源实例所属的阿里云账号ID。'."\n" + .'> 传入本参数即代表执行跨阿里云账号的数据迁移或同步,同时您还需要传入**SourceEndpointRole**参数。', 'type' => 'string', 'required' => false, 'example' => '140692647406****'], ], [ - 'name' => 'SynchronizationJobId', + 'name' => 'SourceEndpointRole', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例ID,可以通过调用[DescribeSynchronizationJobs](~~49454~~)接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsi76118o3w92****', - ], + 'schema' => ['description' => '源实例所属云账号配置的角色名称。'."\n" + .'> 执行跨阿里云账号的数据迁移或同步时须传入本参数,该角色所需的权限及授权方式,请参见[跨阿里云账号数据迁移或同步时如何配置RAM授权](~~48468~~)。', 'type' => 'string', 'required' => false, 'example' => 'ram-for-dts'], ], [ - 'name' => 'PageSize', + 'name' => 'DestinationEndpointInstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '每页记录数,取值:**1**~**100**,默认值为**30**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '30', - 'default' => '30', - ], + 'schema' => ['description' => '目标实例类型,取值:'."\n" + ."\n" + .'**阿里云数据库**'."\n" + .'- **RDS**:RDS MySQL、RDS SQLServer、RDS PostgreSQL、RDS MariaDB。'."\n" + .'- **PolarDB**:PolarDB MySQL版。'."\n" + .'- **DISTRIBUTED_POLARDBX10**:PolarDB-X 1.0(原DRDS)。'."\n" + .'- **POLARDBX20**:PolarDB-X 2.0。'."\n" + .'- **REDIS**:云数据库Tair(兼容Redis)。'."\n" + .'- **ADS**:AnalyticDB MySQL 2.0、3.0。'."\n" + .'- **MONGODB**:云数据库MongoDB。'."\n" + .'- **ROCKETMQ**:云数据库RocketMQ。'."\n" + .'- **GREENPLUM**:AnalyticDB PostgreSQL。'."\n" + .'- **DATAHUB**:阿里云流数据处理平台DataHub。'."\n" + .'- **ELK**:阿里云检索分析服务Elasticsearch。'."\n" + .'- **Tablestore**:表格存储Tablestore。'."\n" + .'- **ODPS**:MaxCompute。'."\n" + .'- **LINDORM**:云原生多模数据库Lindorm。'."\n" + ."\n" + .'**自建数据库**'."\n" + .'- **OTHER**:有公网IP的自建数据库。'."\n" + .'- **ECS**:ECS上的自建数据库。'."\n" + .'- **EXPRESS**:通过专线接入的自建数据库。'."\n" + .'- **CEN**:通过云企业网CEN接入的自建数据库。'."\n" + .'- **DG**:通过数据库网关接入的自建数据库。'."\n" + ."\n" + .'> - 如目标实例为PolarDB PostgreSQL版(兼容Oracle)集群,则目标实例类型需选择**OTHER**或者**EXPRESS**,作为自建数据库,且通过公网IP或者专线的方式接入。'."\n" + .'- 目标实例为消息队列Kafka版,则目标实例类型需选择**ECS**或者**EXPRESS**,作为自建数据库,且通过ECS或者专线的方式接入。'."\n" + .'- 关于支持的源库和目标库对应情况,请参见<props="china">[支持的数据库](~~131497~~)</props><props="intl">[支持的源和目标数据库](~~176064~~)</props>。'."\n" + .'- 当目标实例为自建数据库时,您还需要执行相应的准备工作,请参见[准备工作概览](~~146958~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'EXPRESS'], ], [ - 'name' => 'PageNum', + 'name' => 'DestinationEndpointInstanceID', 'in' => 'query', - 'schema' => [ - 'description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => '目标实例ID。'."\n" + ."\n" + .' 如目标实例为云数据库(如RDS MySQL),则您需要传入云数据库的实例ID(如RDS MySQL的实例ID)。'."\n" + ."\n" + .' 如目标实例为自建数据库,则根据**DestinationEndpointInstanceType**的取值不同,本参数的取值有所变化,例如**DestinationEndpointInstanceType**取值为:'."\n" + ."\n\n" + .'- **ECS**,则该参数需传入ECS的实例ID。'."\n" + .'- **DG**,则该参数需传入数据库网关ID。'."\n" + .'- **EXPRESS**、**CEN**:则该参数需传入已和源库互联的VPC ID。'."\n" + ."\n" + .'> 取值为**CEN**时,您还需要在预留参数Reserve中传入云企业网CEN的实例ID。配置方式,请参见[Reserve参数说明](~~273111~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1opxu1zkhn00gzv****'], ], [ - 'name' => 'AccountId', + 'name' => 'DestinationEndpointEngineName', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '目标实例的数据库类型。'."\n" + .'- **MYSQL**:MySQL数据库(包括RDS MySQL和自建MySQL)。'."\n" + .'- **MARIADB**:RDS MariaDB。'."\n" + .'- **PolarDB**:PolarDB MySQL版。'."\n" + .'- **POLARDB_O**:PolarDB PostgreSQL版(兼容Oracle)。'."\n" + .'- **POLARDBX10**:PolarDB-X 1.0(原DRDS)。'."\n" + .'- **POLARDBX20**:云原生分布式数据库PolarDB-X 2.0。'."\n" + .'- **ORACLE**:自建Oracle。'."\n" + .'- **PostgreSQL**:PostgreSQL数据库(包括RDS PostgreSQL、自建PostgreSQL)。'."\n" + .'- **MSSQL**:SQL Server数据库(包括RDS SQL Server和自建SQL Server)。'."\n" + .'- **ADS**:AnalyticDB MySQL 2.0。'."\n" + .'- **ADB30**:AnalyticDB MySQL 3.0。'."\n" + .'- **MONGODB**:MongoDB数据库(包括自建MongoDB和云数据库MongoDB)。'."\n" + .'- **ROCKETMQ**:云消息队列RocketMQ。'."\n" + .'- **GREENPLUM**:AnalyticDB PostgreSQL。'."\n" + .'- **KAFKA**:Kafka数据库(包括消息队列Kafka版和自建Kafka)。'."\n" + .'- **DATAHUB**:阿里云流式数据服务DataHub。'."\n" + .'- **DB2**:自建DB2 LUW。'."\n" + .'- **AS400**:Db2 for i。'."\n" + .'- **ODPS**:MaxCompute。'."\n" + .'- **Tablestore**:表格存储Tablestore。'."\n" + .'- **ELK**:阿里云检索分析服务Elasticsearch。'."\n" + .'- **REDIS**:Redis数据库,包括自建Redis和云数据库Tair(兼容Redis)。'."\n" + .'- **LINDORM**:云原生多模数据库Lindorm。'."\n" + ."\n" + .'> - 默认取值为**MYSQL**。'."\n" + .'- 当目标实例的数据库类型取值为**KAFKA**、**MONGODB**、**PolarDB**时,您还需要在预留参数Reserve中传入部分信息。配置方式,请参见[Reserve参数说明](~~273111~~)。', 'type' => 'string', 'required' => false, 'example' => 'MYSQL'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'DestinationEndpointRegion', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '目标实例区域,请参见[支持的地域列表](~~141033~~)。'."\n" + .'> 如目标为阿里云数据库,则该参数必须传入。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => '150DECD9-13FF-4929-A5DE-855BE9CC****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'DataInitializationDetails' => [ - 'description' => '全量数据初始化详情。', - 'type' => 'array', - 'items' => [ - 'description' => '全量数据初始化详情。', - 'type' => 'object', - 'properties' => [ - 'SourceOwnerDBName' => [ - 'description' => '源实例中待同步对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'Status' => [ - 'description' => '全量数据初始化的状态,返回值:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:初始化中。'."\n" - .'- **Failed**:初始化失败。'."\n" - .'- **Finished**:初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'UsedTime' => [ - 'description' => '全量同步初始化的耗时。', - 'type' => 'string', - 'example' => '0.0', - ], - 'TableName' => [ - 'description' => '同步对象的表名。', - 'type' => 'string', - 'example' => 'customer', - ], - 'ErrorMessage' => [ - 'description' => '全量数据初始化失败时返回对应的失败信息。', - 'type' => 'string', - 'example' => 'java.lang.NumberFormatException: For input string: ""', - ], - 'FinishRowNum' => [ - 'description' => '已完成同步的行数。'."\n" - .'> 该参数表示实际同步的总行数,而参数**TotalRowNum**的值来源于同步开始前源库的系统表,由于同步时间差,会导致两者的值会有出入。', - 'type' => 'string', - 'example' => '9993', - ], - 'DestinationOwnerDBName' => [ - 'description' => '目标实例中待同步对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'TotalRowNum' => [ - 'description' => '需同步的总行数。'."\n" - .'> 该参数的值来源于同步开始前源库的系统表,而参数**FinishRowNum**表示实际同步的总行数,由于同步时间差,会导致两者的值会有出入。', - 'type' => 'string', - 'example' => '9981', - ], - ], - ], - ], - 'DataSynchronizationDetails' => [ - 'description' => '增量数据同步详情。'."\n" - .'> 该参数合集及包含的返回参数即将下线。', - 'type' => 'array', - 'items' => [ - 'description' => '增量数据同步详情。'."\n" - .'> 该参数合集及包含的返回参数即将下线。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '增量数据同步的状态,返回值:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:同步中。'."\n" - .'- **Failed**:同步失败。'."\n" - .'- **Finished**:同步完成。', - 'type' => 'string', - 'example' => 'Migrating', - ], - 'SourceOwnerDBName' => [ - 'description' => '源实例中待同步对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'TableName' => [ - 'description' => '同步对象的表名。', - 'type' => 'string', - 'example' => 'customer', - ], - 'ErrorMessage' => [ - 'description' => '增量数据同步失败时返回对应的失败信息。', - 'type' => 'string', - 'example' => '任务失败太久无法恢复', - ], - 'DestinationOwnerDBName' => [ - 'description' => '目标实例中待同步对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - ], - ], - ], - 'StructureInitializationDetails' => [ - 'description' => '结构初始化详情。', - 'type' => 'array', - 'items' => [ - 'description' => '结构初始化详情。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '结构初始化的状态。返回值:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:初始化中。'."\n" - .'- **Failed**:初始化失败。'."\n" - .'- **Finished**:初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'SourceOwnerDBName' => [ - 'description' => '源实例中待同步对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'ObjectDefinition' => [ - 'description' => '同步对象的结构语法定义。'."\n", - 'type' => 'string', - 'example' => 'CREATE TABLE `dtstestdata`.`customer` (\\n`customer_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\n`customer_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`customer_company1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`submission_date1216` date COMMENT \'\' NULL \\n, PRIMARY KEY (`customer_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\n', - ], - 'ObjectType' => [ - 'description' => '同步对象的类型。返回值如下:'."\n" - .'**Table**(表)、**Constraint**(约束)、**Index**(索引)、**View**(视图)、**Materialize View**(物化视图)、**Type**(自定义类型)、**Synonym**(同义词)、**Trigger**(触发器)、**Function**(函数)、**Procedure**(存储过程)、**Package**(包)、**Default**(默认值)、**Rule**(规则)、**PlanGuide**(执行计划)、**Sequence**(序列)。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'Table', - ], - 'ErrorMessage' => [ - 'description' => '结构初始化失败时返回对应的失败信息。'."\n", - 'type' => 'string', - 'example' => 'DTS-1020042 Execute sql error sql: Table \'customer\' already exists', - ], - 'DestinationOwnerDBName' => [ - 'description' => '目标实例中待同步对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'ObjectName' => [ - 'description' => '同步对象的名称。', - 'type' => 'string', - 'example' => 'customer', - ], - 'Constraints' => [ - 'description' => '同步对象对应的约束(例如索引、外键等)。'."\n" - .'> 只有**ObjectType**为**Table**,且同步对象有约束,才会返回本参数。', - 'type' => 'array', - 'items' => [ - 'description' => '同步对象对应的约束(例如索引、外键等)。'."\n" - .'> 只有**ObjectType**为**Table**,且同步对象有约束,才会返回本参数。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '约束创建状态,返回值:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:创建中。'."\n" - .'- **Failed**:创建失败。'."\n" - .'- **Finished**:创建完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'SourceOwnerDBName' => [ - 'description' => '源实例中待同步对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'ObjectDefinition' => [ - 'description' => '创建约束的结构语法定义。'."\n", - 'type' => 'string', - 'example' => 'CREATE SEQUENCE "public"."collections_id_seq" MINVALUE 1 MAXVALUE 9223372036854775807 START 249 INCREMENT BY 1 ; ', - ], - 'ObjectType' => [ - 'description' => '同步对象的类型,固定为**Table**。', - 'type' => 'string', - 'example' => 'Table', - ], - 'ErrorMessage' => [ - 'description' => '约束创建失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist', - ], - 'DestinationOwnerDBName' => [ - 'description' => '目标实例中待同步对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'ObjectName' => [ - 'description' => '该同步对象的名称。', - 'type' => 'string', - 'example' => 'customer', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + [ + 'name' => 'DestinationEndpointIP', + 'in' => 'query', + 'schema' => ['description' => '目标实例的IP地址。'."\n" + .'> 当**DestinationEndpointInstanceType**为**OTHER**、**EXPRESS**、**DG**、**CEN**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '172.16.**.***'], ], - 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + [ + 'name' => 'DestinationEndpointPort', + 'in' => 'query', + 'schema' => ['description' => '目标实例的数据库服务端口。'."\n" + .'> 当目标实例为自建数据库时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '3306'], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"150DECD9-13FF-4929-A5DE-855BE9CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DataInitializationDetails\\": [\\n {\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"Status\\": \\"Finished\\",\\n \\"UsedTime\\": \\"0.0\\",\\n \\"TableName\\": \\"customer\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"FinishRowNum\\": \\"9993\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\",\\n \\"TotalRowNum\\": \\"9981\\"\\n }\\n ],\\n \\"DataSynchronizationDetails\\": [\\n {\\n \\"Status\\": \\"Migrating\\",\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"TableName\\": \\"customer\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\"\\n }\\n ],\\n \\"StructureInitializationDetails\\": [\\n {\\n \\"Status\\": \\"Finished\\",\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectDefinition\\": \\"CREATE TABLE `dtstestdata`.`customer` (\\\\\\\\n`customer_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\\\\\\\n`customer_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`customer_company1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`submission_date1216` date COMMENT \'\' NULL \\\\\\\\n, PRIMARY KEY (`customer_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\\\\\\\n\\",\\n \\"ObjectType\\": \\"Table\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: Table \'customer\' already exists\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectName\\": \\"customer\\",\\n \\"Constraints\\": [\\n {\\n \\"Status\\": \\"Finished\\",\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectDefinition\\": \\"CREATE SEQUENCE \\\\\\"public\\\\\\".\\\\\\"collections_id_seq\\\\\\" MINVALUE 1 MAXVALUE 9223372036854775807 START 249 INCREMENT BY 1 ; \\",\\n \\"ObjectType\\": \\"Table\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectName\\": \\"customer\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => '获取初始化状态', - 'summary' => '老版获取初始化状态。', - ], - 'ShieldPrecheck' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'DestinationEndpointDataBaseName', + 'in' => 'query', + 'schema' => ['description' => '目标实例中迁移对象所属的数据库名称。'."\n" + .'> - 当目标实例或目标数据库的类型为PolarDB PostgreSQL版(兼容Oracle)、AnalyticDB PostgreSQL、PostgreSQL、MaxCompute、MongoDB数据库时,本参数才可用且必须传入。'."\n" + .'- 若目标库为MaxCompute,您需要填写为MaxCompute实例的Project。'."\n", 'type' => 'string', 'required' => false, 'example' => 'dtstestdata'], ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'DestinationEndpointUserName', 'in' => 'query', - 'schema' => [ - 'description' => '实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '目标库的数据库账号。'."\n" + .'> - 大部分情况下,您需要传入目标库的数据库账号。'."\n" + .'- 迁移或同步不同的数据库所需的权限有所差异,具体权限要求,请参见[准备用于数据迁移的数据库账号](~~175878~~)、[准备用于数据同步的数据库账号](~~213152~~)。'."\n" + .'- 若目标库为MaxCompute,您需要填写为阿里云账号(主账号)的AccessKey ID。获取方式,请参见[创建AccessKey](~~116401~~)。', 'type' => 'string', 'required' => false, 'example' => 'dtstest'], ], [ - 'name' => 'DtsInstanceId', + 'name' => 'DestinationEndpointPassword', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移或同步实例ID,可以通过调用**DescribeMigrationJobs**、DescribeSynchronizationJobs接口查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsi76118o3w92****', - ], + 'schema' => ['description' => '目标库数据库账号密码。'."\n" + .'> 若目标库为MaxCompute,您需要填写为阿里云账号(主账号)的AccessKey Secret。获取方式,请参见[创建AccessKey](~~116401~~)。', 'type' => 'string', 'required' => false, 'example' => 'Test123456'], ], [ - 'name' => 'PrecheckItems', + 'name' => 'DestinationEndpointOwnerID', 'in' => 'query', - 'schema' => [ - 'description' => '预检查项,取值如下,多个预检查项以英文逗号(,)分隔。'."\n" - ."\n" - .'- **CHECK_SAME_OBJ**:同名对象存在性检查。'."\n" - .'- **CHECK_SAME_USER**:不同名账号存在性检查。'."\n" - .'- **CHECK_SRC**:源库版本检查。'."\n" - .'- **CHECK_TOPOLOGY**:拓扑版本检查。'."\n" - .'> 目前DTS支持的拓扑版本,请参见[拓扑介绍](~~124115~~)。'."\n" - .'- **CHECK_SERVER_ID**:源库server_id检查。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'CHECK_SAME_OBJ', - ], + 'schema' => ['description' => '目标RDS MySQL实例所属的阿里云账号ID。'."\n" + .'> - 当前仅目标实例为RDS MySQL时可以配置。'."\n" + .'- 传入本参数即代表执行跨阿里云账号的数据迁移或同步,同时您还需要传入**DestinationEndpointRole**参数。', 'type' => 'string', 'required' => false, 'example' => '140692647406****'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'DestinationEndpointRole', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '目标实例所属云账号配置的角色名称。'."\n" + .'> 执行跨阿里云账号的数据迁移或同步时须传入本参数,该角色所需的权限及授权方式,请参见[跨阿里云账号数据迁移或同步时如何配置RAM授权](~~48468~~)。', 'type' => 'string', 'required' => false, 'example' => 'ram-for-dts'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => '6F4B5BC4-34B1-49C9-9C8F-C8F16AC4****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - ], - ], + [ + 'name' => 'StructureInitialization', + 'in' => 'query', + 'schema' => ['description' => '是否执行库表结构迁移或初始化,取值:'."\n" + ."\n" + .'- **true**:是,为默认值。'."\n" + .'- **false**:否。'."\n" + ."\n" + .'> 若**JobType**取值为**CHECK**,只能取值为**false**。'."\n", 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'true'], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + [ + 'name' => 'DataInitialization', + 'in' => 'query', + 'schema' => ['description' => '是否执行全量数据迁移或全量数据初始化,取值:'."\n" + ."\n" + .'- **true**:是,为默认值。'."\n" + .'- **false**:否。'."\n" + ."\n" + .'> 若**JobType**取值为**CHECK**,只能取值为**false**。', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'true'], ], - 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + [ + 'name' => 'DataSynchronization', + 'in' => 'query', + 'schema' => ['description' => '是否执行增量数据迁移或同步,取值:'."\n" + ."\n" + .'- **false**:否,为默认值。'."\n" + .'- **true**:是。'."\n" + ."\n" + .'> 若**JobType**取值为**CHECK**,只能取值为**false**。'."\n" + ."\n", 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'true'], ], - 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + [ + 'name' => 'DbList', + 'in' => 'formData', + 'schema' => ['description' => '待迁移或同步的对象,格式为JSON串。详细定义说明,请参见[迁移、同步或订阅对象说明](~~209545~~)。'."\n" + ."\n" + .'- DbList最多支持传入1 MB的数据。'."\n" + .'- 若DbList中包含过滤条件,则DbList整体(含过滤条件)的长度最大支持1 MB。'."\n" + .'- 分布式任务(例如源端为PolarDB-X 1.0的迁移或同任务)的DbList会根据物理分表进行拆分并生成多个子任务,子任务的DbList最多支持1 MB的数据。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '{"dtstest":{"name":"dtstest","all":true}}'], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6F4B5BC4-34B1-49C9-9C8F-C8F16AC4****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '屏蔽预检查', - 'summary' => '老版屏蔽预检查。', - ], - 'CreateMigrationJob' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Reserve', + 'in' => 'formData', + 'schema' => ['description' => 'DTS预留参数,格式为JSON字符串,您可以传入本参数完善源目库信息(如目标Kafka数据库的数据存储格式、云企业网CEN的实例ID、配置ETL功能)。更多信息,请参见[Reserve参数说明](~~273111~~)。', 'type' => 'string', 'required' => false, 'example' => '{ "srcInstanceId": "cen-9kqshqum*******" }'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'Checkpoint', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例所属的地域,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '增量数据迁移的启动位点或者同步位点,格式为Unix时间戳,单位为秒。'."\n" + ."\n" + .'> 若需传入**Checkpoint**参数,必须确保不存在与目标DTS实例相同源库的其他正在运行的DTS实例。', 'type' => 'string', 'required' => false, 'example' => '1610540493'], ], [ - 'name' => 'Region', + 'name' => 'DestinationEndpointOracleSID', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例所属的地域,即迁移的目标数据库实例所属地域,详情请参见支持的[地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当**DestinationEndpointEngineName**取值为**Oracle**,且**Oracle**数据库为非RAC实例时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'testsid'], ], [ - 'name' => 'MigrationJobClass', + 'name' => 'JobType', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例的规格,取值为:**small**、**medium**、**large**、**xlarge**、**2xlarge**。'."\n" - ."\n" - .'> - 各个规格的测试性能,请参见[数据迁移规格说明](~~26606~~)。'."\n" - .'- 实例规格及定价,请参见[产品定价](~~117780~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '2xlarge', - ], + 'schema' => ['description' => '任务类型,取值为:'."\n" + ."\n" + .'- **MIGRATION**:数据迁移。'."\n" + .'- **SYNC**:数据同步。'."\n" + .'- **CHECK**:数据校验(单独购买)。'."\n" + ."\n" + .'> - 若取值为**MIGRATION**或**SYNC**,您也可以在迁移或同步实例中配置数据校验任务。'."\n" + .'- 若需要配置数据校验任务,还需配置**DataCheckConfigure**参数。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'SYNC'], ], [ - 'name' => 'ClientToken', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**参数只支持传入ASCII字符,且不能超过64个字符。', - 'type' => 'string', - 'required' => false, - 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', - ], + 'schema' => ['description' => '迁移或同步任务ID。'."\n" + .'> 可调用[DescribeDtsJobs](~~209702~~)获取任务ID。', 'type' => 'string', 'required' => false, 'example' => 'k2gm967v16f****'], ], [ - 'name' => 'AccountId', + 'name' => 'DtsInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '迁移或同步实例ID。'."\n" + .'> 可调用[DescribeDtsJobs](~~209702~~)获取实例ID。', 'type' => 'string', 'required' => false, 'example' => 'dtsk2gm967v16f****'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'DelayPhone', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '延迟报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" + .'>- 本参数目前只支持中国站,仅支持中国内地手机号码,且最多传入10个手机号码。'."\n" + .'- 国际站不支持手机告警,仅支持[通过云监控平台为DTS任务设置报警规则](~~175876~~)。', 'type' => 'string', 'required' => false, 'example' => '1361234****,1371234****'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'C166D79D-436B-45F0-B5A5-25E1959F****', - ], - 'MigrationJobId' => [ - 'description' => '数据迁移实例ID。', - 'type' => 'string', - 'example' => 'dtsi8911td9233****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - ], - ], + [ + 'name' => 'DelayRuleTime', + 'in' => 'query', + 'schema' => ['description' => '触发延迟报警的阈值,单位为秒且需为整数,可根据业务需要设置阈值,建议设置10秒以上,避免因网络、数据库负载等原因导致的延迟波动。'."\n" + .'> 当**DelayNotice**取值为**true**时,本参数必须传入。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '10000000000', 'minimum' => '1', 'example' => '10', 'default' => '1000'], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + [ + 'name' => 'DelayNotice', + 'in' => 'query', + 'schema' => ['description' => '是否监控延迟状态,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], - 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + [ + 'name' => 'ErrorPhone', + 'in' => 'query', + 'schema' => ['description' => '异常报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" + .'>- 本参数目前只支持中国站,仅支持中国内地手机号码,且最多传入10个手机号码。'."\n" + .'- 国际站不支持手机告警,仅支持[通过云监控平台为DTS任务设置报警规则](~~175876~~)。', 'type' => 'string', 'required' => false, 'example' => '1361234****,1371234****'], ], - 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + [ + 'name' => 'ErrorNotice', + 'in' => 'query', + 'schema' => ['description' => '是否监控异常状态,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C166D79D-436B-45F0-B5A5-25E1959F****\\",\\n \\"MigrationJobId\\": \\"dtsi8911td9233****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '购买迁移实例', - 'summary' => '购买一个数据迁移实例。', - ], - 'DeleteMigrationJob' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'SynchronizationDirection', + 'in' => 'query', + 'schema' => ['description' => '同步方向,取值:'."\n" + ."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 只有当同步任务的同步拓扑为双向时,本参数传入**Reverse**才会生效。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], - 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'DTS实例所属的地域,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'MigrationJobId', + 'name' => 'DedicatedClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例ID,可以通过调用**DescribeMigrationJobs**接口查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsyiwe9b0gp2p****', - ], + 'schema' => ['description' => 'DTS专属集群ID。'."\n" + ."\n" + .'> 当传入专属集群的ID时,任务调度到相应的集群上。', 'type' => 'string', 'required' => false, 'example' => 'dtscluster_atyl3b5214uk***'], ], [ - 'name' => 'AccountId', + 'name' => 'FileOssUrl', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '任务文件的OSS地址。', 'type' => 'string', 'required' => false, 'example' => 'http://db-list-os-file.oss-cn-shanghai.aliyuncs.com/8e42_121852**********_79dd3aeabe2f43cdb**************', 'isFileTransferUrl' => true], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'DataCheckConfigure', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => 'F28A96B1-F897-4246-833B-310A3345****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + 'schema' => ['description' => '数据校验任务的参数,格式为JSON字符串,如参数限制或告警配置等信息。更多信息请参见[DataCheckConfigure参数说明](~~459023~~)。', 'type' => 'string', 'required' => false, 'example' => '{"fullCheckModel":1,"fullCheckRatio":20,"checkMaximumHourEnable":1,"checkMaximumHour":1,"fullCheckErrorNotice":true,"fullCheckValidFailNotice":true,"fullCheckNoticeValue":8,"incrementalCheckErrorNotice":true,"incrementalCheckValidFailNotice":true,"incrementalCheckValidFailNoticeTimes":2,"incrementalCheckValidFailNoticePeriod":1,"incrementalCheckValidFailNoticeValue":1,"incrementalCheckDelayNotice":true,"incrementalCheckDelayNoticeTimes":2,"incrementalCheckDelayNoticePeriod":1,"incrementalCheckDelayNoticeValue":60,"fullDataCheck":true,"incrementalDataCheck":true,"dataCheckNoticePhone":"13126800****","dataCheckDbList":{"dts":{"name":"dts","all":true}}}'], ], - 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F28A96B1-F897-4246-833B-310A3345****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '释放迁移实例', - 'summary' => '释放数据迁移实例。', - ], - 'StartMigrationJob' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'DisasterRecoveryJob', + 'in' => 'query', + 'schema' => ['description' => '是否为灾备实例,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'SourceEndpointVSwitchID', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['title' => '数据投递链路交换机实例id', 'description' => '数据投递链路交换机实例ID。', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp10df3mxae6lpmku****'], ], [ - 'name' => 'MigrationJobId', + 'name' => 'DtsBisLabel', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例ID,可以通过调用**DescribeMigrationJobs**接口查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtss0611o8vv90****', - ], + 'schema' => ['description' => 'DTS实例的环境标签,取值为:'."\n" + ."\n" + .'- **normal**:**普通**'."\n" + .'- **online**:**线上**', 'type' => 'string', 'required' => false, 'example' => 'normal'], ], [ - 'name' => 'AccountId', + 'name' => 'SrcCaCertificateOssUrl', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '源库通过SSL安全连接时,CA证书的路径。'."\n" + ."\n" + .'> 当前暂不支持此功能,请勿传入此参数。', 'type' => 'string', 'required' => false, 'example' => '****'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'SrcCaCertificatePassword', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekz4us4iruleja', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'FDC111B1-ACBF-457D-9656-247FDEE9****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - ], - ], + 'schema' => ['description' => '源库通过SSL安全连接时,CA证书的密钥。'."\n" + ."\n" + .'> 当前暂不支持此功能,请勿传入此参数。', 'type' => 'string', 'required' => false, 'example' => '****'], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], - ], - 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FDC111B1-ACBF-457D-9656-247FDEE9****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '启动迁移任务', - 'summary' => '启动DTS的数据迁移任务。', - ], - 'StopMigrationJob' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'DestCaCertificateOssUrl', + 'in' => 'query', + 'schema' => ['description' => '目标库通过SSL安全连接时,CA证书的路径。'."\n" + ."\n" + .'> 当前暂不支持此功能,请勿传入此参数。', 'type' => 'string', 'required' => false, 'example' => '****'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'DestCaCertificatePassword', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '目标库通过SSL安全连接时,CA证书的密钥。'."\n" + ."\n" + .'> 当前暂不支持此功能,请勿传入此参数。', 'type' => 'string', 'required' => false, 'example' => '****'], ], [ - 'name' => 'MigrationJobId', + 'name' => 'MinDu', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例ID,可以通过调用**DescribeMigrationJobs**接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsb2c11sxpi3j****', - ], + 'schema' => ['description' => 'DU下限。'."\n" + ."\n" + .'> 仅Serverless实例支持。', 'type' => 'number', 'format' => 'double', 'required' => false, 'example' => '1'], ], [ - 'name' => 'ClientToken', + 'name' => 'MaxDu', 'in' => 'query', - 'schema' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', - ], + 'schema' => ['description' => 'DU上限。'."\n" + ."\n" + .'> 仅Serverless实例支持。', 'type' => 'number', 'format' => 'double', 'required' => false, 'example' => '16'], ], [ - 'name' => 'AccountId', + 'name' => 'SrcClientCertOssUrl', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '源库通过SSL安全连接时,客户端证书的路径。'."\n" + ."\n" + .'> 当前暂不支持此功能,请勿传入此参数。', 'type' => 'string', 'required' => false, 'example' => '****'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'SrcClientKeyOssUrl', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '源库通过SSL安全连接时,客户端证书私钥的路径。'."\n" + ."\n" + .'> 当前暂不支持此功能,请勿传入此参数。', 'type' => 'string', 'required' => false, 'example' => '****'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'C306C198-7807-409D-930A-D6CE6C32****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + [ + 'name' => 'SrcClientPassword', + 'in' => 'query', + 'schema' => ['description' => '源库通过SSL安全连接时,客户端证书私钥的密码。'."\n" + ."\n" + .'> 当前暂不支持此功能,请勿传入此参数。'."\n", 'type' => 'string', 'required' => false, 'example' => '****'], ], - 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + [ + 'name' => 'DestClientCertOssUrl', + 'in' => 'query', + 'schema' => ['description' => '目标库通过SSL安全连接时,客户端证书的路径。'."\n" + ."\n" + .'> 当前暂不支持此功能,请勿传入此参数。', 'type' => 'string', 'required' => false, 'example' => '****'], ], - 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + [ + 'name' => 'DestClientKeyOssUrl', + 'in' => 'query', + 'schema' => ['description' => '目标库通过SSL安全连接时,客户端证书私钥的路径。'."\n" + ."\n" + .'> 当前暂不支持此功能,请勿传入此参数。', 'type' => 'string', 'required' => false, 'example' => '****'], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C306C198-7807-409D-930A-D6CE6C32****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '结束迁移任务', - 'summary' => '结束处于迁移状态的数据迁移任务。', - ], - 'SuspendMigrationJob' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'DestClientPassword', + 'in' => 'query', + 'schema' => ['description' => '目标库通过SSL安全连接时,客户端证书私钥的密码。'."\n" + ."\n" + .'> 当前暂不支持此功能,请勿传入此参数。', 'type' => 'string', 'required' => false, 'example' => '****'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'SrcPrimaryVswId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'VPCNAT源端主交换机。', 'type' => 'string', 'required' => false, 'example' => '****'], ], [ - 'name' => 'MigrationJobId', + 'name' => 'SrcSecondaryVswId', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例ID,可以通过调用**DescribeMigrationJobs**接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsj1x11y51g3b****', - ], + 'schema' => ['description' => 'VPCNAT源端备交换机。', 'type' => 'string', 'required' => false, 'example' => '****'], ], [ - 'name' => 'ClientToken', + 'name' => 'DestPrimaryVswId', 'in' => 'query', - 'schema' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', - ], + 'schema' => ['description' => 'VPCNAT目标端主交换机。', 'type' => 'string', 'required' => false, 'example' => '****'], ], [ - 'name' => 'AccountId', + 'name' => 'DestSecondaryVswId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => 'VPCNAT目标端备交换机。', 'type' => 'string', 'required' => false, 'example' => '****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekz4us4iruleja', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -1523,63 +653,76 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => 'C306C198-7807-409D-930A-D6CE6C32****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'HttpStatusCode' => ['description' => '状态码。'."\n" + ."\n", 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '224DB9F7-3100-4899-AB9C-C938BCCB****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'DtsJobId' => ['description' => '迁移或同步任务ID。', 'type' => 'string', 'example' => 'k2gm967v16f****'], + 'DtsInstanceId' => ['description' => '迁移或同步实例ID。', 'type' => 'string', 'example' => 'dtsk2gm967v16f****'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidParameter.KafkaBrokerInvalid', 'errorMessage' => 'kafka broker configuration must be intranet IP', 'description' => 'Ecs自建Kafka节点的配置必须为ip,不支持节点配置为host'], + ['errorCode' => 'InvalidParameter.KafkaHostInvalid', 'errorMessage' => 'kafaka host name should be intranet IP', 'description' => 'kafka主机名暂不支持host形式,请输入内网IP'], + ['errorCode' => 'UpdateJob.OperationDenied.InitStatus', 'errorMessage' => 'The operation is not permitted due to Dts job status is init.', 'description' => '当前任务已经启动,无法修改,请使用重新配置任务功能(已配置任务会丢失)或者修改同步对象功能'], + ['errorCode' => 'GetMongoDbShardInfo.NoShardAddress', 'errorMessage' => 'MongoDb has not yet opened the shard connection address, please try again after opening.', 'description' => '无法获取分片连接信息,检查配置参数,确认数据库确实为分片MongoDb,并确定已经开通shard地址。'], + ['errorCode' => 'GetMongoDbShardInfo.EmptyInstances', 'errorMessage' => 'Failed to get MongoDb shard information, the return is empty.', 'description' => '无法获取分片信息,请检查配置参数,确认数据库确实为分片MongoDb。'], + ['errorCode' => 'CheckJobFailed.ServerUnAvailable', 'errorMessage' => 'Unable to check whether the node can connect to the database because the node service is unavailable.', 'description' => 'DTS下部分Node服务器无法连接,请重试,重试后仍出现请联系技术支持。'], + ['errorCode' => 'DbTypeNotSupport.PolarDBRDS', 'errorMessage' => 'The current rds instance is of type PolarDB, which is not supported for the time being. Only rds instances under drds are supported.', 'description' => 'DTS暂不支持分库类型为PolarDb MySQL的DRDS类型的同步。'], + ['errorCode' => 'DbTypeNotSupport.OnlyReadRDS', 'errorMessage' => 'Synchronization is not currently supported due to latency issues with read-only DRDS instances.', 'description' => 'DTS暂时不支持为分库只读库类型的DRDS同步。'], + ['errorCode' => 'DTS.Msg.InvalidParameter.KafkaBrokerInvalid', 'errorMessage' => 'kafka broker configuration must be intranet IP', 'description' => 'Ecs自建Kafka节点的配置必须为ip,不支持节点配置为host'], + ['errorCode' => 'DTS.Msg.InvalidParameter.KafkaHostInvalid', 'errorMessage' => 'kafaka host name should be intranet IP', 'description' => 'kafka主机名暂不支持host形式,请输入内网IP'], + ['errorCode' => 'DTS.Msg.UpdateJob.OperationDenied.InitStatus', 'errorMessage' => 'The operation is not permitted due to Dts job status is init.', 'description' => '当前任务已经启动,无法修改,请使用重新配置任务功能(已配置任务会丢失)或者修改同步对象功能'], + ['errorCode' => 'DTS.Msg.GetMongoDbShardInfo.NoShardAddress', 'errorMessage' => 'MongoDb has not yet opened the shard connection address, please try again after opening.', 'description' => '无法获取分片连接信息,检查配置参数,确认数据库确实为分片MongoDb,并确定已经开通shard地址。'], + ['errorCode' => 'DTS.Msg.GetMongoDbShardInfo.EmptyInstances', 'errorMessage' => 'Failed to get MongoDb shard information, the return is empty.', 'description' => '无法获取分片信息,请检查配置参数,确认数据库确实为分片MongoDb。'], + ['errorCode' => 'DTS.Msg.CheckJobFailed.ServerUnAvailable', 'errorMessage' => 'Unable to check whether the node can connect to the database because the node service is unavailable.', 'description' => 'DTS下部分Node服务器无法连接,请重试,重试后仍出现请联系技术支持。'], + ['errorCode' => 'DTS.Msg.DbTypeNotSupport.PolarDBRDS', 'errorMessage' => 'The current rds instance is of type PolarDB, which is not supported for the time being. Only rds instances under drds are supported.', 'description' => 'DTS暂不支持分库类型为PolarDb MySQL的DRDS类型的同步。'], + ['errorCode' => 'DTS.Msg.DbTypeNotSupport.OnlyReadRDS', 'errorMessage' => 'Synchronization is not currently supported due to latency issues with read-only DRDS instances.', 'description' => 'DTS暂时不支持为分库只读库类型的DRDS同步。'], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => '配置DTS迁移或同步任务', + 'summary' => '配置一个迁移或同步任务。', + 'description' => '- 您可以根据需求在控制台进行相应的预配置,然后预览对应配置的OpenAPI参数信息,以协助您填写请求参数。更多信息,请参见[预览OpenAPI的请求参数](~~2851612~~)。'."\n" + .'- 专属集群的任务仅支持先配置后购买,且不支持跨地域的任务。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ConfigureDtsJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C306C198-7807-409D-930A-D6CE6C32****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '暂停迁移任务', - 'summary' => '暂停处于迁移中的数据迁移任务。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"224DB9F7-3100-4899-AB9C-C938BCCB****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"DtsJobId\\": \\"k2gm967v16f****\\",\\n \\"DtsInstanceId\\": \\"dtsk2gm967v16f****\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ConfigureDtsJobResponse>\\n <DtsJobId>k2gm967v16f****</DtsJobId>\\n <RequestId>224DB9F7-3100-4899-AB9C-C938BCCB****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <DtsInstanceId>dtsk2gm967v16f****</DtsInstanceId>\\n <Success>true</Success>\\n</ConfigureDtsJobResponse>","errorExample":""}]', ], 'ConfigureMigrationJob' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1587,403 +730,228 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n" - .'> 与目标库所属的地域ID保持一致。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据迁移实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n" + .'> 与目标库所属的地域ID保持一致。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'MigrationJobId', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例ID,可以通过调用**DescribeMigrationJobs**接口查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsxxxxxxxx', - ], + 'schema' => ['description' => '数据迁移实例ID,可以通过调用**DescribeMigrationJobs**接口查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsxxxxxxxx'], ], [ 'name' => 'MigrationJobName', 'in' => 'query', - 'schema' => [ - 'description' => '迁移任务名称,不超过32个字符。建议配置具有业务意义的名称(无唯一性要求),便于后续识别。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MySQL_TO_RDS', - ], + 'schema' => ['description' => '迁移任务名称,不超过32个字符。建议配置具有业务意义的名称(无唯一性要求),便于后续识别。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MySQL_TO_RDS'], ], [ 'name' => 'SourceEndpoint.InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '源库的实例类型,取值:'."\n" - .'- **RDS**:阿里云RDS实例。'."\n" - .'- **ECS**:ECS上的自建数据库。'."\n" - .'- **LocalInstance**:有公网IP的自建数据库。'."\n" - .'- **Express**:通过专线/VPN网关/智能接入网关接入的自建数据库。'."\n" - .'- **dg**:通过数据库网关DG接入的自建数据库。'."\n" - .'- **cen**:通过云企业网CEN接入的自建数据库。'."\n" - .'- **MongoDB**:阿里云MongoDB实例。'."\n" - .'- **POLARDB**:阿里云PolarDB MySQL、PolarDB PostgreSQL。'."\n" - .'- **PolarDB_o**:阿里云PolarDB O引擎集群。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'RDS', - ], + 'schema' => ['description' => '源库的实例类型,取值:'."\n" + .'- **RDS**:阿里云RDS实例。'."\n" + .'- **ECS**:ECS上的自建数据库。'."\n" + .'- **LocalInstance**:有公网IP的自建数据库。'."\n" + .'- **Express**:通过专线/VPN网关/智能接入网关接入的自建数据库。'."\n" + .'- **dg**:通过数据库网关DG接入的自建数据库。'."\n" + .'- **cen**:通过云企业网CEN接入的自建数据库。'."\n" + .'- **MongoDB**:阿里云MongoDB实例。'."\n" + .'- **POLARDB**:阿里云PolarDB MySQL、PolarDB PostgreSQL。'."\n" + .'- **PolarDB_o**:阿里云PolarDB O引擎集群。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'RDS'], ], [ 'name' => 'SourceEndpoint.InstanceID', 'in' => 'query', - 'schema' => [ - 'description' => '源库的实例ID。'."\n" - .'> - 当**SourceEndpoint.InstanceType**取值为**RDS**、**ECS**、**Express**、**MongoDB**、**POLARDB**或**PolarDB_o**时,本参数才可用且必须传入对应的实例ID(例如取值为**ECS**,则本参数传入ECS实例的ID)。'."\n" - .'- 当**SourceEndpoint.InstanceType**取值为**Express**时,本参数传入VPC ID(即专有网络ID)。', - 'type' => 'string', - 'required' => false, - 'example' => 'bp-rmxxxxxxxx', - ], + 'schema' => ['description' => '源库的实例ID。'."\n" + .'> - 当**SourceEndpoint.InstanceType**取值为**RDS**、**ECS**、**Express**、**MongoDB**、**POLARDB**或**PolarDB_o**时,本参数才可用且必须传入对应的实例ID(例如取值为**ECS**,则本参数传入ECS实例的ID)。'."\n" + .'- 当**SourceEndpoint.InstanceType**取值为**Express**时,本参数传入VPC ID(即专有网络ID)。', 'type' => 'string', 'required' => false, 'example' => 'bp-rmxxxxxxxx'], ], [ 'name' => 'SourceEndpoint.EngineName', 'in' => 'query', - 'schema' => [ - 'description' => '源库的数据库类型,取值:**MySQL**、**TiDB**、**SQLServer**、**PostgreSQL**、**Oracle**、**MongoDB**、**Redis**、**POLARDB**、**polardb_pg**。'."\n" - .'> 当**DestinationEndpoint.InstanceType**取值为**RDS**、**POLARDB**、**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'MySQL', - ], + 'schema' => ['description' => '源库的数据库类型,取值:**MySQL**、**TiDB**、**SQLServer**、**PostgreSQL**、**Oracle**、**MongoDB**、**Redis**、**POLARDB**、**polardb_pg**。'."\n" + .'> 当**DestinationEndpoint.InstanceType**取值为**RDS**、**POLARDB**、**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。'."\n", 'type' => 'string', 'required' => false, 'example' => 'MySQL'], ], [ 'name' => 'SourceEndpoint.Region', 'in' => 'query', - 'schema' => [ - 'description' => '源库所属的地域ID。'."\n" - .'> 当**SourceEndpoint.InstanceType**取值为**LocalInstance**时,您可以传入**cn-hangzhou**或者离自建数据库地物理距离最近的地域ID,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '源库所属的地域ID。'."\n" + .'> 当**SourceEndpoint.InstanceType**取值为**LocalInstance**时,您可以传入**cn-hangzhou**或者离自建数据库地物理距离最近的地域ID,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'SourceEndpoint.IP', 'in' => 'query', - 'schema' => [ - 'description' => '源库的连接地址。'."\n" - .'> 当**SourceEndpoint.InstanceType**取值为**LocalInstance**或**Express**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '172.16.88.*** ', - ], + 'schema' => ['description' => '源库的连接地址。'."\n" + .'> 当**SourceEndpoint.InstanceType**取值为**LocalInstance**或**Express**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '172.16.88.*** '], ], [ 'name' => 'SourceEndpoint.Port', 'in' => 'query', - 'schema' => [ - 'description' => '源库的服务端口。'."\n" - .'> 当**SourceEndpoint.InstanceType**取值为**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '3306', - ], + 'schema' => ['description' => '源库的服务端口。'."\n" + .'> 当**SourceEndpoint.InstanceType**取值为**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '3306'], ], [ 'name' => 'SourceEndpoint.OracleSID', 'in' => 'query', - 'schema' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当**SourceEndpoint.EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'testsid', - ], + 'schema' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当**SourceEndpoint.EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'testsid'], ], [ 'name' => 'SourceEndpoint.DatabaseName', 'in' => 'query', - 'schema' => [ - 'description' => '待迁移的数据库名称或鉴权数据库名称。'."\n" - .'> - 当**SourceEndpoint.EngineName**取值为**PostgreSQL**或**MongoDB**时,本参数才可用且必须传入。'."\n" - .'- 当**SourceEndpoint.EngineName**取值为**PostgreSQL**时,传入待迁移的数据库名称;取值为**MongoDB**时,传入数据库账号的鉴权数据库名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestdatabase', - ], + 'schema' => ['description' => '待迁移的数据库名称或鉴权数据库名称。'."\n" + .'> - 当**SourceEndpoint.EngineName**取值为**PostgreSQL**或**MongoDB**时,本参数才可用且必须传入。'."\n" + .'- 当**SourceEndpoint.EngineName**取值为**PostgreSQL**时,传入待迁移的数据库名称;取值为**MongoDB**时,传入数据库账号的鉴权数据库名称。', 'type' => 'string', 'required' => false, 'example' => 'dtstestdatabase'], ], [ 'name' => 'SourceEndpoint.UserName', 'in' => 'query', - 'schema' => [ - 'description' => '源库的数据库账号。'."\n" - ."\n" - .'说明 迁移不同的数据库所需的权限有所差异,详情请参见迁移方案概览中对应的配置案例。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestaccount', - ], + 'schema' => ['description' => '源库的数据库账号。'."\n" + ."\n" + .'说明 迁移不同的数据库所需的权限有所差异,详情请参见迁移方案概览中对应的配置案例。', 'type' => 'string', 'required' => false, 'example' => 'dtstestaccount'], ], [ 'name' => 'SourceEndpoint.Password', 'in' => 'query', - 'schema' => [ - 'description' => '源库数据库账号对应的密码。', - 'type' => 'string', - 'required' => false, - 'example' => 'Test123456', - ], + 'schema' => ['description' => '源库数据库账号对应的密码。', 'type' => 'string', 'required' => false, 'example' => 'Test123456'], ], [ 'name' => 'SourceEndpoint.OwnerID', 'in' => 'query', - 'schema' => [ - 'description' => '源实例所属的阿里云账号ID。'."\n" - .'> 仅在配置跨阿里云账号的数据迁移时本参数才可用,且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '140692647406****', - ], + 'schema' => ['description' => '源实例所属的阿里云账号ID。'."\n" + .'> 仅在配置跨阿里云账号的数据迁移时本参数才可用,且必须传入。', 'type' => 'string', 'required' => false, 'example' => '140692647406****'], ], [ 'name' => 'SourceEndpoint.Role', 'in' => 'query', - 'schema' => [ - 'description' => '当源实例与目标实例所属阿里云账号不同时,需传入该参数,来指定源实例的授权角色,以允许目标实例阿里云账号访问源实例的实例信息。'."\n" - .'> 角色所需的权限及授权方式,请参见[跨阿里云账号数据迁移或同步时如何配置RAM授权](~~48468~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'ram-for-dts', - ], + 'schema' => ['description' => '当源实例与目标实例所属阿里云账号不同时,需传入该参数,来指定源实例的授权角色,以允许目标实例阿里云账号访问源实例的实例信息。'."\n" + .'> 角色所需的权限及授权方式,请参见[跨阿里云账号数据迁移或同步时如何配置RAM授权](~~48468~~)。', 'type' => 'string', 'required' => false, 'example' => 'ram-for-dts'], ], [ 'name' => 'DestinationEndpoint.InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '目标库的实例类型,取值:'."\n" - .'- **ECS**:ECS上的自建数据库。'."\n" - .'- **LocalInstance**:有公网IP的自建数据库。'."\n" - .'- **RDS**:阿里云RDS实例。'."\n" - .'- **DRDS**:阿里云PolarDB-X实例。'."\n" - .'- **MongoDB**:阿里云MongoDB实例。'."\n" - .'- **Redis**:阿里云Redis实例。'."\n" - .'- **PetaData**:阿里云HybridDB for MySQL实例。'."\n" - .'- **POLARDB**:阿里云PolarDB MySQL、PolarDB PostgreSQL。'."\n" - .'- **PolarDB_o**:阿里云PolarDB O引擎集群。'."\n" - .'- **AnalyticDB**:阿里云云原生数据仓库AnalyticDB MySQL 3.0和2.0版本。'."\n" - .'- **Greenplum**:阿里云云原生数据仓库AnalyticDB PostgreSQL。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'RDS', - ], + 'schema' => ['description' => '目标库的实例类型,取值:'."\n" + .'- **ECS**:ECS上的自建数据库。'."\n" + .'- **LocalInstance**:有公网IP的自建数据库。'."\n" + .'- **RDS**:阿里云RDS实例。'."\n" + .'- **DRDS**:阿里云PolarDB-X实例。'."\n" + .'- **MongoDB**:阿里云MongoDB实例。'."\n" + .'- **Redis**:阿里云Redis实例。'."\n" + .'- **PetaData**:阿里云HybridDB for MySQL实例。'."\n" + .'- **POLARDB**:阿里云PolarDB MySQL、PolarDB PostgreSQL。'."\n" + .'- **PolarDB_o**:阿里云PolarDB O引擎集群。'."\n" + .'- **AnalyticDB**:阿里云云原生数据仓库AnalyticDB MySQL 3.0和2.0版本。'."\n" + .'- **Greenplum**:阿里云云原生数据仓库AnalyticDB PostgreSQL。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'RDS'], ], [ 'name' => 'DestinationEndpoint.InstanceID', 'in' => 'query', - 'schema' => [ - 'description' => '目标实例ID。'."\n" - .'> 当**DestinationEndpoint.InstanceType**取值为**RDS**、**ECS**、**MongoDB**、**Redis**、**DRDS**、**PetaData**、**OceanBase**、**POLARDB**、**PolarDB_o**、**AnalyticDB**或**Greenplum**时,本参数才可用且必须传入对应的实例ID(例如取值为**ECS**,则需要传入ECS实例ID)。', - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp1r46452ai50****', - ], + 'schema' => ['description' => '目标实例ID。'."\n" + .'> 当**DestinationEndpoint.InstanceType**取值为**RDS**、**ECS**、**MongoDB**、**Redis**、**DRDS**、**PetaData**、**OceanBase**、**POLARDB**、**PolarDB_o**、**AnalyticDB**或**Greenplum**时,本参数才可用且必须传入对应的实例ID(例如取值为**ECS**,则需要传入ECS实例ID)。', 'type' => 'string', 'required' => false, 'example' => 'rm-bp1r46452ai50****'], ], [ 'name' => 'DestinationEndpoint.EngineName', 'in' => 'query', - 'schema' => [ - 'description' => '目标库的数据库类型。取值:**MySQL**、**DRDS**、**SQLServer**、**PostgreSQL**、**PPAS**、**MongoDB**、**Redis**、**POLARDB**、**polardb_pg**'."\n" - .'> 当**DestinationEndpoint.InstanceType**取值为**RDS**、**POLARDB**、**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'MySQL', - ], + 'schema' => ['description' => '目标库的数据库类型。取值:**MySQL**、**DRDS**、**SQLServer**、**PostgreSQL**、**PPAS**、**MongoDB**、**Redis**、**POLARDB**、**polardb_pg**'."\n" + .'> 当**DestinationEndpoint.InstanceType**取值为**RDS**、**POLARDB**、**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'MySQL'], ], [ 'name' => 'DestinationEndpoint.Region', 'in' => 'query', - 'schema' => [ - 'description' => '目标库所属的地域ID。'."\n" - .'> 当**DestinationEndpoint.InstanceType**取值为**LocalInstance**时,您可以传入**cn-hangzhou**或者离自建数据库地物理距离最近的地域ID,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '目标库所属的地域ID。'."\n" + .'> 当**DestinationEndpoint.InstanceType**取值为**LocalInstance**时,您可以传入**cn-hangzhou**或者离自建数据库地物理距离最近的地域ID,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'DestinationEndpoint.IP', 'in' => 'query', - 'schema' => [ - 'description' => '目标库的连接地址。'."\n" - .'> 当**DestinationEndpoint.InstanceType**取值为**LocalInstance**或**Express**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '172.16.88.***', - ], + 'schema' => ['description' => '目标库的连接地址。'."\n" + .'> 当**DestinationEndpoint.InstanceType**取值为**LocalInstance**或**Express**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '172.16.88.***'], ], [ 'name' => 'DestinationEndpoint.Port', 'in' => 'query', - 'schema' => [ - 'description' => '目标库的服务端口。'."\n" - .'> 当**DestinationEndpoint.InstanceType**取值为**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '3306', - ], + 'schema' => ['description' => '目标库的服务端口。'."\n" + .'> 当**DestinationEndpoint.InstanceType**取值为**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '3306'], ], [ 'name' => 'DestinationEndpoint.DataBaseName', 'in' => 'query', - 'schema' => [ - 'description' => '待迁入的数据库名称或鉴权数据库名称。 '."\n" - .'> - 当**DestinationEndpoint.EngineName**取值为**PostgreSQL**、**DRDS**或**MongoDB**时,本参数才可用且必须传入。'."\n" - .'- 当**DestinationEndpoint.EngineName**取值为**PostgreSQL**或**DRDS**时,传入待迁移的数据库名称;取值为**MongoDB**时,传入数据库账号的鉴权数据库名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestdatabase', - ], + 'schema' => ['description' => '待迁入的数据库名称或鉴权数据库名称。 '."\n" + .'> - 当**DestinationEndpoint.EngineName**取值为**PostgreSQL**、**DRDS**或**MongoDB**时,本参数才可用且必须传入。'."\n" + .'- 当**DestinationEndpoint.EngineName**取值为**PostgreSQL**或**DRDS**时,传入待迁移的数据库名称;取值为**MongoDB**时,传入数据库账号的鉴权数据库名称。', 'type' => 'string', 'required' => false, 'example' => 'dtstestdatabase'], ], [ 'name' => 'DestinationEndpoint.UserName', 'in' => 'query', - 'schema' => [ - 'description' => '目标库的数据库账号。'."\n" - ."\n" - .'说明 迁移不同的数据库所需的权限有所差异,详情请参见迁移方案概览中对应的配置案例。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestaccount', - ], + 'schema' => ['description' => '目标库的数据库账号。'."\n" + ."\n" + .'说明 迁移不同的数据库所需的权限有所差异,详情请参见迁移方案概览中对应的配置案例。', 'type' => 'string', 'required' => false, 'example' => 'dtstestaccount'], ], [ 'name' => 'DestinationEndpoint.Password', 'in' => 'query', - 'schema' => [ - 'description' => '目标库数据库账号的密码。', - 'type' => 'string', - 'required' => false, - 'example' => 'Test123456', - ], + 'schema' => ['description' => '目标库数据库账号的密码。', 'type' => 'string', 'required' => false, 'example' => 'Test123456'], ], [ 'name' => 'MigrationMode.StructureIntialization', 'in' => 'query', - 'schema' => [ - 'description' => '是否进行结构迁移,取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。'."\n" - ."\n" - .'> DTS对结构迁移的支持情况因数据库类型不同而有所差异,详情请参见[支持的数据库和迁移类型](~~26618~~)。', - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - 'example' => 'true', - ], + 'schema' => ['description' => '是否进行结构迁移,取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。'."\n" + ."\n" + .'> DTS对结构迁移的支持情况因数据库类型不同而有所差异,详情请参见[支持的数据库和迁移类型](~~26618~~)。', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'true'], ], [ 'name' => 'MigrationMode.DataIntialization', 'in' => 'query', - 'schema' => [ - 'description' => '是否进行全量数据迁移,取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。'."\n" - ."\n" - .'> DTS对全量数据迁移的支持情况因数据库类型不同而有所差异,详情请参见[支持的数据库和迁移类型](~~26618~~)。', - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - 'example' => 'true', - ], + 'schema' => ['description' => '是否进行全量数据迁移,取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。'."\n" + ."\n" + .'> DTS对全量数据迁移的支持情况因数据库类型不同而有所差异,详情请参见[支持的数据库和迁移类型](~~26618~~)。', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'true'], ], [ 'name' => 'MigrationMode.DataSynchronization', 'in' => 'query', - 'schema' => [ - 'description' => '是否进行增量数据迁移,取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。'."\n" - ."\n" - .'> DTS对增量数据迁移的支持情况因数据库类型不同而有所差异,详情请参见[支持的数据库和迁移类型](~~26618~~)。', - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - 'example' => 'true', - ], + 'schema' => ['description' => '是否进行增量数据迁移,取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。'."\n" + ."\n" + .'> DTS对增量数据迁移的支持情况因数据库类型不同而有所差异,详情请参见[支持的数据库和迁移类型](~~26618~~)。', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'true'], ], [ 'name' => 'MigrationObject', 'in' => 'formData', - 'schema' => [ - 'description' => '待迁移对象,格式为json串且支持一定的正则表达式,详细说明请参见[迁移对象配置说明](~141901~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"DBName":"dtstestdata","TableIncludes":[{"TableName":"customer"}]}]', - ], + 'schema' => ['description' => '待迁移对象,格式为json串且支持一定的正则表达式,详细说明请参见[迁移对象配置说明](~141901~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"DBName":"dtstestdata","TableIncludes":[{"TableName":"customer"}]}]'], ], [ 'name' => 'MigrationReserved', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', - 'type' => 'string', - 'required' => false, - 'example' => '{ "autoStartModulesAfterConfig": "none", "targetTableMode": 2 }', - ], + 'schema' => ['description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', 'type' => 'string', 'required' => false, 'example' => '{ "autoStartModulesAfterConfig": "none", "targetTableMode": 2 }'], ], [ 'name' => 'Checkpoint', 'in' => 'query', - 'schema' => [ - 'description' => '增量数据迁移的启动位点,格式为Unix时间戳,单位为秒。', - 'type' => 'string', - 'required' => false, - 'example' => '111', - ], + 'schema' => ['description' => '增量数据迁移的启动位点,格式为Unix时间戳,单位为秒。', 'type' => 'string', 'required' => false, 'example' => '111'], ], [ 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'DestinationEndpoint.OracleSID', 'in' => 'query', - 'schema' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当**DestinationEndpoint.EngineName**取值为**Oracle**,且**Oracle**数据库为非RAC实例时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'testsid', - ], + 'schema' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当**DestinationEndpoint.EngineName**取值为**Oracle**,且**Oracle**数据库为非RAC实例时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'testsid'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -1991,1126 +959,123 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '40E35BD9-002E-4D63-9BE5-FBA48833****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。返回值:'."\n" - ."\n" - .'- **true**:请求成功。'."\n" - .'- **false**:请求失败。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '40E35BD9-002E-4D63-9BE5-FBA48833****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。返回值:'."\n" + ."\n" + .'- **true**:请求成功。'."\n" + .'- **false**:请求失败。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"40E35BD9-002E-4D63-9BE5-FBA48833****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', 'title' => '配置数据迁移任务', 'summary' => '老版配置迁移任务。', - ], - 'DescribeMigrationJobDetail' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '每页记录数,取值: **30**、**50**、**100**,默认值为**30**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '30', - 'default' => '30', - ], - ], - [ - 'name' => 'PageNum', - 'in' => 'query', - 'schema' => [ - 'description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'MigrationJobId', - 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例ID,可以通过调用**DescribeMigrationJobs**接口查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsta7w132u12h****', - ], - ], - [ - 'name' => 'MigrationMode.StructureInitialization', - 'in' => 'query', - 'schema' => [ - 'description' => '是否查询结构迁移详情,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。'."\n" - .'> 默认值为**false**。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'MigrationMode.DataInitialization', - 'in' => 'query', - 'schema' => [ - 'description' => '是否查询全量数据迁移详情,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。'."\n" - .'> 默认值为**false**。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'MigrationMode.DataSynchronization', - 'in' => 'query', - 'schema' => [ - 'description' => '是否查询增量数据迁移详情,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。'."\n" - .'> 默认值为**false**。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', - ], - ], - [ - 'name' => 'AccountId', - 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], - ], - [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => '0AE3CD0B-4148-426F-A90E-952467CC****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'PageRecordCount' => [ - 'description' => '一页最多可展示的迁移实例数量。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'TotalRecordCount' => [ - 'description' => '总记录数。'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'PageNumber' => [ - 'description' => '页码。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'DataInitializationDetailList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DataInitializationDetail' => [ - 'description' => '全量数据迁移执行详情。'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '全量数据迁移执行详情。'."\n", - 'type' => 'object', - 'properties' => [ - 'SourceOwnerDBName' => [ - 'description' => '源实例中迁移对象所属数据库的名称。'."\n", - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'Status' => [ - 'description' => '全量数据迁移状态,返回值:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:迁移失败。'."\n" - .'- **Finished**:迁移完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'TableName' => [ - 'description' => '待迁移对象的表名。'."\n", - 'type' => 'string', - 'example' => 'customer', - ], - 'ErrorMessage' => [ - 'description' => '全量数据迁移失败的错误提示。'."\n", - 'type' => 'string', - 'example' => 'java.lang.NumberFormatException: For input string: ""', - ], - 'FinishRowNum' => [ - 'description' => '已迁移的记录数。'."\n", - 'type' => 'string', - 'example' => '200001', - ], - 'MigrationTime' => [ - 'description' => '全量数据迁移的耗时。', - 'type' => 'string', - 'example' => '0.0', - ], - 'DestinationOwnerDBName' => [ - 'description' => '目标实例中迁移对象所属数据库的名称。'."\n", - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'TotalRowNum' => [ - 'description' => '需迁移的总记录数。'."\n", - 'type' => 'string', - 'example' => '201477', - ], - ], - ], - ], - ], - ], - 'DataSynchronizationDetailList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DataSynchronizationDetail' => [ - 'description' => '增量数据迁移执行详情。'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '增量数据迁移执行详情。'."\n", - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '增量数据迁移状态,返回值:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:迁移失败。'."\n" - .'- **Finished**:迁移完成。', - 'type' => 'string', - 'example' => 'Migrating', - ], - 'SourceOwnerDBName' => [ - 'description' => '源实例中迁移对象所属数据库的名称。'."\n", - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'TableName' => [ - 'description' => '待迁移对象的表名。'."\n", - 'type' => 'string', - 'example' => 'customer', - ], - 'ErrorMessage' => [ - 'description' => '增量数据迁移失败的错误提示。', - 'type' => 'string', - 'example' => '任务失败太久无法恢复', - ], - 'DestinationOwnerDBName' => [ - 'description' => '目标实例中迁移对象所属数据库的名称。'."\n", - 'type' => 'string', - 'example' => 'dtstestdata', - ], - ], - ], - ], - ], - ], - 'StructureInitializationDetailList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'StructureInitializationDetail' => [ - 'description' => '结构迁移执行详情。'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '结构迁移执行详情。'."\n", - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '结构迁移状态,返回值:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:迁移失败。'."\n" - .'- **Finished**:迁移完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'SourceOwnerDBName' => [ - 'description' => '源实例中待迁移对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'ObjectDefinition' => [ - 'description' => '迁移对象的结构语法定义。'."\n", - 'type' => 'string', - 'example' => 'CREATE TABLE `dtstestdata`.`customer` (\\n`runoob_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\n`runoob_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`runoob_author1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`submission_date1216` date COMMENT \'\' NULL \\n, PRIMARY KEY (`runoob_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\n', - ], - 'ObjectType' => [ - 'description' => '迁移对象类型,返回值:**Table**(表)、**Constraint**(约束)、**Index**(索引)、**View**(视图)、**Materialize View**(物化视图)、**Type**(自定义类型)、**Synonym**(同义词)、**Trigger**(触发器)、**Function**(函数)、**Procedure**(存储过程)、**Package**(包)、**Default**(默认值)、**Rule**(规则)、**PlanGuide**(执行计划)、**Sequence**(序列)。'."\n", - 'type' => 'string', - 'example' => 'Table', - ], - 'ErrorMessage' => [ - 'description' => '结构迁移失败的错误提示。'."\n", - 'type' => 'string', - 'example' => 'DTS-1020042 Execute sql error sql: DTS-1020042 Execute sql error sql: ERROR: column \\"id\\" named in key does not exist', - ], - 'DestinationOwnerDBName' => [ - 'description' => '目标实例中待迁移对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'ObjectName' => [ - 'description' => '迁移对象名称。'."\n", - 'type' => 'string', - 'example' => 'customer', - ], - 'ConstraintList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'StructureInitializationDetail' => [ - 'description' => '迁移对象对应的约束(例如索引、外键等)。'."\n" - .'> 只有当**ObjectType**为**Table**,且迁移对象有约束时,才会返回本参数。', - 'type' => 'array', - 'items' => [ - 'description' => '迁移对象对应的约束(例如索引、外键等)。'."\n" - .'> 只有当**ObjectType**为**Table**,且迁移对象有约束时,才会返回本参数。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '约束创建状态,返回值:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:创建中。'."\n" - .'- **Failed**:创建失败。'."\n" - .'- **Finished**:创建完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'SourceOwnerDBName' => [ - 'description' => '源实例中迁移对象所属数据库的名称。'."\n", - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'ObjectDefinition' => [ - 'description' => '创建约束的结构语法定义。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'CREATE SEQUENCE "public"."collections_id_seq" MINVALUE 1 MAXVALUE 9223372036854775807 START 249 INCREMENT BY 1 ; ', - ], - 'ObjectType' => [ - 'description' => '迁移对象的类型,固定为**Table**。', - 'type' => 'string', - 'example' => 'Table', - ], - 'ErrorMessage' => [ - 'description' => '约束创建失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;', - ], - 'DestinationOwnerDBName' => [ - 'description' => '目标实例中迁移对象所属数据库的名称。'."\n", - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'ObjectName' => [ - 'description' => '迁移对象名称。'."\n", - 'type' => 'string', - 'example' => 'customer', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ConfigureMigrationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], - ], - 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AE3CD0B-4148-426F-A90E-952467CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"PageRecordCount\\": 30,\\n \\"Success\\": \\"true\\",\\n \\"TotalRecordCount\\": 1,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PageNumber\\": 1,\\n \\"DataInitializationDetailList\\": {\\n \\"DataInitializationDetail\\": [\\n {\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"Status\\": \\"Finished\\",\\n \\"TableName\\": \\"customer\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"FinishRowNum\\": \\"200001\\",\\n \\"MigrationTime\\": \\"0.0\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\",\\n \\"TotalRowNum\\": \\"201477\\"\\n }\\n ]\\n },\\n \\"DataSynchronizationDetailList\\": {\\n \\"DataSynchronizationDetail\\": [\\n {\\n \\"Status\\": \\"Migrating\\",\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"TableName\\": \\"customer\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\"\\n }\\n ]\\n },\\n \\"StructureInitializationDetailList\\": {\\n \\"StructureInitializationDetail\\": [\\n {\\n \\"Status\\": \\"Finished\\",\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectDefinition\\": \\"CREATE TABLE `dtstestdata`.`customer` (\\\\\\\\n`runoob_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\\\\\\\n`runoob_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`runoob_author1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`submission_date1216` date COMMENT \'\' NULL \\\\\\\\n, PRIMARY KEY (`runoob_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\\\\\\\n\\",\\n \\"ObjectType\\": \\"Table\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: DTS-1020042 Execute sql error sql: ERROR: column \\\\\\\\\\\\\\"id\\\\\\\\\\\\\\" named in key does not exist\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectName\\": \\"customer\\",\\n \\"ConstraintList\\": {\\n \\"StructureInitializationDetail\\": [\\n {\\n \\"Status\\": \\"Finished\\",\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectDefinition\\": \\"CREATE SEQUENCE \\\\\\"public\\\\\\".\\\\\\"collections_id_seq\\\\\\" MINVALUE 1 MAXVALUE 9223372036854775807 START 249 INCREMENT BY 1 ; \\",\\n \\"ObjectType\\": \\"Table\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectName\\": \\"customer\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '数据迁移任务执行详情', - 'summary' => '老版获取数据迁移任务执行详情。', ], - 'DescribeMigrationJobs' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ConfigureMigrationJobAlert' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '每页记录的数据迁移实例的数量。取值为:**10**、**20**、**30**,默认值为**30**,最大值为**30**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '30', - 'default' => '30', - ], + 'schema' => ['description' => '数据迁移实例所在地域的 ID,详情请参见支持的地域列表。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'PageNum', + 'name' => 'MigrationJobId', 'in' => 'query', - 'schema' => [ - 'description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => '数据迁移实例ID,可以通过调用**DescribeMigrationJobs**接口查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtslb9113qq11n****'], ], [ - 'name' => 'MigrationJobName', + 'name' => 'DelayAlertStatus', 'in' => 'query', - 'schema' => [ - 'description' => '迁移实例名称。'."\n" - .'> 支持模糊查询。', - 'type' => 'string', - 'required' => false, - 'example' => 'MySQL迁移', - ], + 'schema' => ['description' => '是否监控延迟状态,取值:'."\n" + ."\n" + .'- **enable**:是。'."\n" + .'- **disable**:否。'."\n" + ."\n" + .'> - 默认取值为**enable**。'."\n" + .'- 本参数和**ErrorAlertStatus**参数两者中至少传入一个。', 'type' => 'string', 'required' => false, 'example' => 'enable'], ], [ - 'name' => 'AccountId', - 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], - ], - [ - 'name' => 'Tag', + 'name' => 'DelayAlertPhone', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '数据迁移实例的标签,作为过滤项,当此项不为空时,仅拥有此标签的实例任务会返回。', - 'type' => 'array', - 'items' => [ - 'description' => '数据迁移实例的标签信息。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '标签键,可以通过调用[ListTagResources](~~191187~~)接口查询。'."\n" - ."\n" - .'> - N表示第几个标签的键。例如:Tag.1.Key表示第一个标签的键;Tag.2.Key表示第二个标签的键。可以同时传入1~20个标签键。'."\n" - .'- 该参数传入时不允许传入空字符串。', - 'type' => 'string', - 'required' => true, - 'example' => 'testkey1', - ], - 'Value' => [ - 'description' => '标签的值,可以通过调用[ListTagResources](~~191187~~)接口查询。'."\n" - .'>- N表示第几个标签的值。例如:Tag.1.Value表示第一个标签的值;Tag.2.Value表示第二个标签的值。可以同时传入1~20个标签值。'."\n" - .'- 允许传入空字符串。', - 'type' => 'string', - 'required' => false, - 'example' => 'testvalue1', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 11, - ], + 'schema' => ['description' => '延迟报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" + ."\n" + .'本参数目前只支持中国站,仅支持大陆手机号码,且最多传入 10 个手机号码。'."\n" + .'国际站不支持手机告警,仅支持通过云监控平台为 DTS 任务设置报警规则。', 'type' => 'string', 'required' => false, 'example' => '1361234****,1371234****'], ], [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '0ED4846D-ED60-435D-88C0-7EC0CE4D****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'PageRecordCount' => [ - 'description' => '当前页可展示的最大记录数。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'TotalRecordCount' => [ - 'description' => '阿里云主账号下所有符合条件的数据迁移实例数量。'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '300', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'PageNumber' => [ - 'description' => '页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MigrationJobs' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'MigrationJob' => [ - 'description' => '数据迁移实例列表和各迁移实例的详情。'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '数据迁移实例列表和各迁移实例的详情。'."\n", - 'type' => 'object', - 'properties' => [ - 'MigrationJobName' => [ - 'description' => '数据迁移实例名称。', - 'type' => 'string', - 'example' => 'MySQL迁移', - ], - 'MigrationJobStatus' => [ - 'description' => '迁移实例状态,返回值为:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:表示预检查中。'."\n" - .'- **PrecheckFailed**:表示预检查失败。'."\n" - .'- **Migrating**:表示迁移中。'."\n" - .'- **Suspending**:表示暂停中。'."\n" - .'- **MigrationFailed**:表示迁移失败。'."\n" - .'- **Finished**:表示完成。', - 'type' => 'string', - 'example' => 'Migrating', - ], - 'PayType' => [ - 'description' => '迁移实例的付费类型,返回值固定为**PostPaid**(按量付费)。'."\n", - 'type' => 'string', - 'example' => 'PostPaid', - ], - 'MigrationJobClass' => [ - 'description' => '数据迁移实例的规格,返回值为:**small**、**medium**、**large**、**xlarge**或**2xlarge**。更多规格说明,请参见[数据迁移链路规格说明](~~26606~~)。', - 'type' => 'string', - 'example' => '2xlarge', - ], - 'InstanceCreateTime' => [ - 'description' => '迁移实例创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2021-06-22T09:02:13Z', - ], - 'MigrationJobID' => [ - 'description' => '数据迁移实例ID。', - 'type' => 'string', - 'example' => 'dtson2z28evm33****', - ], - 'JobCreateTime' => [ - 'description' => '同步任务创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2021-06-22T08:53:55Z', - ], - 'MigrationObject' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SynchronousObject' => [ - 'description' => '迁移对象。', - 'type' => 'array', - 'items' => [ - 'description' => '迁移对象。', - 'type' => 'object', - 'properties' => [ - 'DatabaseName' => [ - 'description' => '源实例中待迁移对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'WholeDatabase' => [ - 'description' => '是否迁移整库,返回值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。'."\n", - 'type' => 'string', - 'example' => 'false', - ], - 'TableList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Table' => [ - 'description' => '迁移对象的表名。', - 'type' => 'array', - 'items' => [ - 'description' => '迁移对象的表名。', - 'type' => 'string', - 'example' => 'customer', - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => '标签集合。'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '标签集合。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '标签键。'."\n", - 'type' => 'string', - 'example' => 'testkey1', - ], - 'Value' => [ - 'description' => '标签键对应的标签值。'."\n", - 'type' => 'string', - 'example' => 'testvalue1', - ], - ], - ], - ], - ], - ], - 'DataInitialization' => [ - 'description' => '全量数据迁移情况。', - 'type' => 'object', - 'properties' => [ - 'Percent' => [ - 'description' => '全量数据迁移进度,单位为百分比。'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'status' => [ - 'description' => '全量数据迁移状态,取值包括:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:迁移失败。'."\n" - .'- **Finished**:迁移完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '全量数据迁移失败的错误提示。', - 'type' => 'string', - 'example' => 'java.lang.NumberFormatException: For input string: ""', - ], - 'Progress' => [ - 'description' => '已完成全量数据初始化的记录数。'."\n", - 'type' => 'string', - 'example' => '200001', - ], - ], - ], - 'DataSynchronization' => [ - 'description' => '增量数据迁移情况。', - 'type' => 'object', - 'properties' => [ - 'Delay' => [ - 'description' => '增量数据迁移延迟,单位为秒。'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'Percent' => [ - 'description' => '增量数据迁移进度,单位为百分比。'."\n", - 'type' => 'string', - 'example' => '95', - ], - 'status' => [ - 'description' => '增量数据迁移状态,取值包括:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:迁移失败。'."\n" - .'- **Finished**:迁移完成。'."\n" - .'- **Catched**:无延迟。'."\n", - 'type' => 'string', - 'example' => 'Catched', - ], - 'ErrorMessage' => [ - 'description' => '增量数据迁移失败的错误提示。'."\n", - 'type' => 'string', - 'example' => '任务失败太久无法恢复', - ], - ], - ], - 'DestinationEndpoint' => [ - 'description' => '目标实例的连接信息。', - 'type' => 'object', - 'properties' => [ - 'OracleSID' => [ - 'description' => '当目标实例的数据库类型为**Oracle**时,才会返回该参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'DatabaseName' => [ - 'description' => '目标实例中待迁移对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'InstanceID' => [ - 'description' => '目标实例ID。'."\n", - 'type' => 'string', - 'example' => 'rm-bp1zc3iyqe3qw****', - ], - 'Port' => [ - 'description' => '目标实例的数据库服务端口。'."\n", - 'type' => 'string', - 'example' => '3306', - ], - 'IP' => [ - 'description' => '目标实例的连接地址。'."\n", - 'type' => 'string', - 'example' => '172.16.88.***', - ], - 'InstanceType' => [ - 'description' => '目标实例类型。'."\n", - 'type' => 'string', - 'example' => 'RDS', - ], - 'UserName' => [ - 'description' => '目标实例的数据库账号。'."\n", - 'type' => 'string', - 'example' => 'dtstest', - ], - 'EngineName' => [ - 'description' => '目标实例的数据库类型。'."\n", - 'type' => 'string', - 'example' => 'MySQL', - ], - ], - ], - 'MigrationMode' => [ - 'description' => '迁移类型。', - 'type' => 'object', - 'properties' => [ - 'DataInitialization' => [ - 'description' => '是否迁移全量数据,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataSynchronization' => [ - 'description' => '是否迁移增量数据,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'StructureInitialization' => [ - 'description' => '是否执行结构迁移,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - 'Precheck' => [ - 'description' => '预检查情况。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '预检查结果,返回值:'."\n" - ."\n" - .'- **Success**:通过。'."\n" - .'- **Failed**:未通过。', - 'type' => 'string', - 'example' => 'Success', - ], - 'Percent' => [ - 'description' => '预检查整体进度,单位为百分比。'."\n", - 'type' => 'string', - 'example' => '100', - ], - ], - ], - 'SourceEndpoint' => [ - 'description' => '源实例的连接信息。', - 'type' => 'object', - 'properties' => [ - 'OracleSID' => [ - 'description' => '当源实例的数据库类型为**Oracle**时,才会返回该参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'DatabaseName' => [ - 'description' => '源实例中待迁移对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'InstanceID' => [ - 'description' => '源实例ID。'."\n", - 'type' => 'string', - 'example' => 'rm-bp1i99e8l7913****', - ], - 'Port' => [ - 'description' => '源实例的数据库服务端口。'."\n", - 'type' => 'string', - 'example' => '3306', - ], - 'IP' => [ - 'description' => '源实例的连接地址。'."\n", - 'type' => 'string', - 'example' => '172.16.88.***', - ], - 'InstanceType' => [ - 'description' => '源实例类型。'."\n", - 'type' => 'string', - 'example' => 'RDS', - ], - 'UserName' => [ - 'description' => '源实例的数据库账号。'."\n", - 'type' => 'string', - 'example' => 'dtstest', - ], - 'EngineName' => [ - 'description' => '源实例的数据库类型。'."\n", - 'type' => 'string', - 'example' => 'MySQL', - ], - ], - ], - 'StructureInitialization' => [ - 'description' => '结构迁移情况。', - 'type' => 'object', - 'properties' => [ - 'Percent' => [ - 'description' => '结构迁移进度,单位为百分比。'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'status' => [ - 'description' => '结构迁移状态,取值包括:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:迁移失败。'."\n" - .'- **Finished**:迁移完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '结构迁移失败的错误提示。'."\n", - 'type' => 'string', - 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;', - ], - 'Progress' => [ - 'description' => '已完成结构迁移的表的数量。'."\n", - 'type' => 'string', - 'example' => '1', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED4846D-ED60-435D-88C0-7EC0CE4D****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"PageRecordCount\\": 30,\\n \\"Success\\": \\"true\\",\\n \\"TotalRecordCount\\": 300,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PageNumber\\": 1,\\n \\"MigrationJobs\\": {\\n \\"MigrationJob\\": [\\n {\\n \\"MigrationJobName\\": \\"MySQL迁移\\",\\n \\"MigrationJobStatus\\": \\"Migrating\\",\\n \\"PayType\\": \\"PostPaid\\",\\n \\"MigrationJobClass\\": \\"2xlarge\\",\\n \\"InstanceCreateTime\\": \\"2021-06-22T09:02:13Z\\",\\n \\"MigrationJobID\\": \\"dtson2z28evm33****\\",\\n \\"JobCreateTime\\": \\"2021-06-22T08:53:55Z\\",\\n \\"MigrationObject\\": {\\n \\"SynchronousObject\\": [\\n {\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"WholeDatabase\\": \\"false\\",\\n \\"TableList\\": {\\n \\"Table\\": [\\n \\"customer\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"testkey1\\",\\n \\"Value\\": \\"testvalue1\\"\\n }\\n ]\\n },\\n \\"DataInitialization\\": {\\n \\"Percent\\": \\"100\\",\\n \\"status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"200001\\"\\n },\\n \\"DataSynchronization\\": {\\n \\"Delay\\": \\"0\\",\\n \\"Percent\\": \\"95\\",\\n \\"status\\": \\"Catched\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"OracleSID\\": \\"testsid\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"InstanceID\\": \\"rm-bp1zc3iyqe3qw****\\",\\n \\"Port\\": \\"3306\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"MigrationMode\\": {\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"StructureInitialization\\": true\\n },\\n \\"Precheck\\": {\\n \\"Status\\": \\"Success\\",\\n \\"Percent\\": \\"100\\"\\n },\\n \\"SourceEndpoint\\": {\\n \\"OracleSID\\": \\"testsid\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"InstanceID\\": \\"rm-bp1i99e8l7913****\\",\\n \\"Port\\": \\"3306\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitialization\\": {\\n \\"Percent\\": \\"100\\",\\n \\"status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeMigrationJobsResponse>\\r\\n <TotalRecordCount>300</TotalRecordCount>\\r\\n <PageRecordCount>30</PageRecordCount>\\r\\n <RequestId>0ED4846D-ED60-435D-88C0-7EC0CE4D****</RequestId>\\r\\n <PageNumber>1</PageNumber>\\r\\n <MigrationJobs>\\r\\n <MigrationJob>\\r\\n <DataSynchronization>\\r\\n <Percent>95</Percent>\\r\\n <Delay>0</Delay>\\r\\n <status>Catched</status>\\r\\n </DataSynchronization>\\r\\n <Precheck/>\\r\\n <InstanceCreateTime>2021-06-22T09:02:13Z</InstanceCreateTime>\\r\\n <JobCreateTime>2021-06-22T08:53:55Z</JobCreateTime>\\r\\n <MigrationJobName>MySQL迁移</MigrationJobName>\\r\\n <PayType>PostPaid</PayType>\\r\\n <MigrationJobStatus>Migrating</MigrationJobStatus>\\r\\n <MigrationMode>\\r\\n <DataInitialization>true</DataInitialization>\\r\\n <DataSynchronization>true</DataSynchronization>\\r\\n <StructureInitialization>true</StructureInitialization>\\r\\n </MigrationMode>\\r\\n <MigrationJobID>dtson2z28evm33****</MigrationJobID>\\r\\n <MigrationObject>\\r\\n <SynchronousObject>\\r\\n <DatabaseName>dtstest</DatabaseName>\\r\\n <WholeDatabase>false</WholeDatabase>\\r\\n <TableList>\\r\\n <Table>customer</Table>\\r\\n </TableList>\\r\\n </SynchronousObject>\\r\\n </MigrationObject>\\r\\n <DataInitialization>\\r\\n <Progress>200001</Progress>\\r\\n <Percent>100</Percent>\\r\\n <status>Finished</status>\\r\\n </DataInitialization>\\r\\n <DestinationEndpoint>\\r\\n <UserName>dtstest</UserName>\\r\\n <InstanceID>rm-bp1zc3iyqe3qw****</InstanceID>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </DestinationEndpoint>\\r\\n <MigrationJobClass>2xlarge</MigrationJobClass>\\r\\n <SourceEndpoint>\\r\\n <UserName>dtstest</UserName>\\r\\n <InstanceID>rm-bp1i99e8l7913****</InstanceID>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </SourceEndpoint>\\r\\n <StructureInitialization>\\r\\n <Progress>1</Progress>\\r\\n <Percent>100</Percent>\\r\\n <status>Finished</status>\\r\\n </StructureInitialization>\\r\\n <Tags></Tags>\\r\\n </MigrationJob>\\r\\n </MigrationJobs>\\r\\n <Success>true</Success>\\r\\n</DescribeMigrationJobsResponse>","errorExample":""}]', - 'title' => '查询迁移实例列表及各实例详情', - 'summary' => '查询数据迁移实例列表和各迁移实例的详情。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeMigrationJobStatus' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ - [ - 'name' => 'RegionId', + 'name' => 'ErrorAlertStatus', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '是否监控异常状态,取值:'."\n" + ."\n" + .'- **enable**:是。'."\n" + .'- **disable**:否。'."\n" + ."\n" + .'> - 默认取值为**enable**。'."\n" + .'- 本参数和**DelayAlertStatus**参数两者中至少传入一个。'."\n" + .'- 开启监控异常状态功能后,如果检测到异常,将触发报警。', 'type' => 'string', 'required' => false, 'example' => 'enable'], ], [ - 'name' => 'MigrationJobId', + 'name' => 'ErrorAlertPhone', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例ID,可以通过调用**DescribeMigrationJobs**接口查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsxxxxxxxx', - ], + 'schema' => ['description' => '异常报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" + ."\n" + .'本参数目前只支持中国站,仅支持大陆手机号码,且最多传入 10 个手机号码。'."\n" + .'国际站不支持手机告警,仅支持通过云监控平台为 DTS 任务设置报警规则。', 'type' => 'string', 'required' => false, 'example' => '1361234****,1371234****'], ], [ - 'name' => 'ClientToken', + 'name' => 'DelayOverSeconds', 'in' => 'query', - 'schema' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ETnLKlblzczshOTUbOCzxxxxxxxxxx', - ], + 'schema' => ['description' => '触发延迟报警的阈值,单位为秒且需为整数,可根据业务需要设置阈值,建议设置10秒以上,避免因网络、数据库负载等原因导致的延迟波动。'."\n" + .'> 当**DelayAlertStatus**取值为**enable**时,本参数必须传入。', 'type' => 'string', 'required' => false, 'example' => '10'], ], [ 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '阿里云主账号id,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -3118,778 +1083,47 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'A032E3B4-929B-48E9-97B9-37587CBF****', - ], - 'MigrationJobName' => [ - 'description' => '数据迁移实例名称。', - 'type' => 'string', - 'example' => 'MySQL迁移', - ], - 'MigrationJobStatus' => [ - 'description' => '迁移任务状态,返回值:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **MigrationFailed**:迁移失败。'."\n" - .'- **Finished**:迁移完成。', - 'type' => 'string', - 'example' => 'Migrating', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'PayType' => [ - 'description' => '迁移任务的付费类型,返回值固定为**PostPaid**(按量付费)。', - 'type' => 'string', - 'example' => 'PostPaid', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'MigrationObject' => [ - 'description' => '迁移对象。'."\n", - 'type' => 'string', - 'example' => '[{\\"DBName\\":\\"dtstestdata\\",\\"TableIncludes\\":[{\\"TableName\\":\\"customer\\"}]}]', - ], - 'MigrationJobId' => [ - 'description' => '数据迁移实例ID。', - 'type' => 'string', - 'example' => 'dtsxxxxxxxx', - ], - 'TaskId' => [ - 'description' => '数据迁移任务ID。', - 'type' => 'string', - 'example' => 'z2v12jfo309****', - ], - 'MigrationJobClass' => [ - 'description' => '数据迁移实例的规格,返回值为:**small**、**medium**、**large**、**xlarge**或**2xlarge**。更多规格说明,请参见[数据迁移链路规格说明](~~26606~~)。', - 'type' => 'string', - 'example' => '2xlarge', - ], - 'DataInitializationStatus' => [ - 'description' => '全量数据迁移执行状态。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '全量数据迁移状态,取值包括:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:迁移失败。'."\n" - .'- **Finished**:迁移完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '全量数据迁移进度,单位为百分比。'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '全量数据迁移失败的错误提示。', - 'type' => 'string', - 'example' => 'java.lang.NumberFormatException: For input string: ""', - ], - 'Progress' => [ - 'description' => '已完成全量数据初始化的记录数。'."\n", - 'type' => 'string', - 'example' => '200001', - ], - ], - ], - 'DataSynchronizationStatus' => [ - 'description' => '增量数据迁移执行状态。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '增量数据迁移状态,取值包括:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:迁移失败。'."\n" - .'- **Finished**:迁移完成。'."\n" - .'- **Catched**:无延迟。'."\n", - 'type' => 'string', - 'example' => 'Catched', - ], - 'Percent' => [ - 'description' => '增量数据迁移进度,单位为百分比。'."\n", - 'type' => 'string', - 'example' => '95', - ], - 'Delay' => [ - 'description' => '增量数据迁移延迟,单位为秒。'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'ErrorMessage' => [ - 'description' => '增量数据迁移失败的错误提示。'."\n", - 'type' => 'string', - 'example' => '任务失败太久 无法恢复', - ], - 'Checkpoint' => [ - 'description' => '迁移最新一条增量数据的时间戳,格式为Unix时间戳,单位为秒。', - 'type' => 'string', - 'example' => '1571040679', - ], - ], - ], - 'DestinationEndpoint' => [ - 'description' => '目标实例的连接信息。', - 'type' => 'object', - 'properties' => [ - 'DatabaseName' => [ - 'description' => '目标实例中待迁移对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'InstanceId' => [ - 'description' => '目标实例ID。', - 'type' => 'string', - 'example' => 'rm-bpxxxxxxxx', - ], - 'IP' => [ - 'description' => '目标实例的连接地址。', - 'type' => 'string', - 'example' => '172.16.88.***', - ], - 'InstanceType' => [ - 'description' => '目标实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'Port' => [ - 'description' => '目标实例的数据库服务端口。'."\n", - 'type' => 'string', - 'example' => '3306', - ], - 'UserName' => [ - 'description' => '目标实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'oracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当目标实例的数据库类型为**Oracle**时,才会返回该参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'EngineName' => [ - 'description' => '目标实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], - ], - ], - 'MigrationMode' => [ - 'description' => '迁移类型。', - 'type' => 'object', - 'properties' => [ - 'dataInitialization' => [ - 'description' => '是否迁移全量数据,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'dataSynchronization' => [ - 'description' => '是否迁移增量数据,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => '**false**。', - ], - 'structureInitialization' => [ - 'description' => '是否执行结构迁移,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => '**false**。', - ], - ], - ], - 'PrecheckStatus' => [ - 'description' => '预检查情况。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '预检查状态,返回值:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Checking**:预检查中。'."\n" - .'- **Failed**:预检查失败。'."\n" - .'- **Finished**:预检查完成。', - 'type' => 'string', - 'example' => 'Success', - ], - 'Percent' => [ - 'description' => '预检查整体进度,单位为百分比。'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'Detail' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'CheckItem' => [ - 'description' => '各预检查项的检查情况。', - 'type' => 'array', - 'items' => [ - 'description' => '各预检查项的检查情况。', - 'type' => 'object', - 'properties' => [ - 'CheckStatus' => [ - 'description' => '检查结果,返回值:'."\n" - ."\n" - .'- **Success**:通过该项检查。'."\n" - .'- **Failed**:未通过该项检查。', - 'type' => 'string', - 'example' => 'Success', - ], - 'ErrorMessage' => [ - 'description' => '预检查未通过的错误提示。'."\n" - .'> 当**CheckStatus**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)', - ], - 'ItemName' => [ - 'description' => '预检查项目。'."\n", - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC', - ], - 'RepairMethod' => [ - 'description' => '预检查未通过时对应的修复方法。'."\n" - .'> 当**CheckStatus**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2', - ], - ], - ], - ], - ], - ], - ], - ], - 'SourceEndpoint' => [ - 'description' => '源实例的连接信息。', - 'type' => 'object', - 'properties' => [ - 'DatabaseName' => [ - 'description' => '源实例中待迁移对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdatabase', - ], - 'InstanceId' => [ - 'description' => '源实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1i99e8l7913****', - ], - 'IP' => [ - 'description' => '源实例的连接地址。', - 'type' => 'string', - 'example' => '172.16.88.***', - ], - 'InstanceType' => [ - 'description' => '源库的实例类型,返回值:'."\n" - ."\n" - .'- **RDS**:阿里云RDS实例。'."\n" - .'- **ECS**:ECS上的自建数据库。'."\n" - .'- **LocalInstance**:有公网IP的自建数据库。'."\n" - .'- **Express**:通过专线/VPN网关/智能网关接入的自建数据库。'."\n" - .'- **MongoDB**:阿里云MongoDB实例。'."\n" - .'- **POLARDB**:阿里云POLARDB for MySQL集群(该值仅适用于中国站)。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'Port' => [ - 'description' => '源实例的数据库服务端口。'."\n", - 'type' => 'string', - 'example' => '3306', - ], - 'UserName' => [ - 'description' => '源实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'oracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当迁移的源库的数据库类型为Oracle时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'EngineName' => [ - 'description' => '源实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], - ], - ], - 'StructureInitializationStatus' => [ - 'description' => '结构迁移执行状态。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '结构迁移状态,取值包括:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:迁移失败。'."\n" - .'- **Finished**:迁移完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '结构迁移进度,单位为百分比。'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '结构迁移失败的错误提示。'."\n", - 'type' => 'string', - 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;', - ], - 'Progress' => [ - 'description' => '已完成结构迁移的表的数量。', - 'type' => 'string', - 'example' => '1', - ], - ], - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '0a2a047516051973705541561d****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用出错时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A032E3B4-929B-48E9-97B9-37587CBF****\\",\\n \\"MigrationJobName\\": \\"MySQL迁移\\",\\n \\"MigrationJobStatus\\": \\"Migrating\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"PayType\\": \\"PostPaid\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"MigrationObject\\": \\"[{\\\\\\\\\\\\\\"DBName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"TableIncludes\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"TableName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"customer\\\\\\\\\\\\\\"}]}]\\",\\n \\"MigrationJobId\\": \\"dtsxxxxxxxx\\",\\n \\"TaskId\\": \\"z2v12jfo309****\\",\\n \\"MigrationJobClass\\": \\"2xlarge\\",\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"200001\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"Percent\\": \\"95\\",\\n \\"Delay\\": \\"0\\",\\n \\"ErrorMessage\\": \\"任务失败太久 无法恢复\\",\\n \\"Checkpoint\\": \\"1571040679\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"InstanceId\\": \\"rm-bpxxxxxxxx\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"oracleSID\\": \\"testsid\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"MigrationMode\\": {\\n \\"dataInitialization\\": true,\\n \\"dataSynchronization\\": true,\\n \\"structureInitialization\\": true\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Success\\",\\n \\"Percent\\": \\"100\\",\\n \\"Detail\\": {\\n \\"CheckItem\\": [\\n {\\n \\"CheckStatus\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"ItemName\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n }\\n },\\n \\"SourceEndpoint\\": {\\n \\"DatabaseName\\": \\"dtstestdatabase\\",\\n \\"InstanceId\\": \\"rm-bp1i99e8l7913****\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"oracleSID\\": \\"testsid\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n }\\n}","type":"json"}]', - 'title' => '查询数据迁移任务的状态', - 'summary' => '老版查询数据迁移任务的状态。', - ], - 'DescribeConnectionStatus' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - ], - 'parameters' => [ - [ - 'name' => 'SourceEndpointArchitecture', - 'in' => 'query', - 'schema' => [ - 'description' => '当**SourceEndpointEngineName**为**Oracle**时,才需要传入本参数,取值为:'."\n" - ."\n" - .'- **SID**:非集群架构。'."\n" - .'- **RAC**:集群架构。'."\n" - ."\n\n" - .'> 该参数为非必填参数。'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'SID', - ], - ], - [ - 'name' => 'SourceEndpointInstanceType', - 'in' => 'query', - 'schema' => [ - 'description' => '源实例类别:'."\n" - .'- **RDS**:RDS实例。'."\n" - .'- **LocalInstance**:本地自建数据库。'."\n" - .'- **ECS**:ECS上的自建数据库。'."\n" - .'- **Express**:通过专线接入的自建数据库。'."\n" - .'- **dg**:通过DG网关接入的数据库。'."\n" - .'- **MongoDB**:阿里云MongoDB实例。'."\n" - .'- **POLARDB**:阿里云PolarDB MySQL集群。'."\n" - .'- **PolarDB_o**:阿里云PolarDB O引擎集群。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'RDS', - ], - ], - [ - 'name' => 'SourceEndpointInstanceID', - 'in' => 'query', - 'schema' => [ - 'description' => '源实例ID。'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp1imrtn6fq7h****', - ], - ], - [ - 'name' => 'SourceEndpointEngineName', - 'in' => 'query', - 'schema' => [ - 'description' => '源实例数据库引擎类型,取值包括:**MySQL**、**TiDB**、**SQLServer**、**PostgreSQL**、**Oracle**、**MongoDB**、**Redis**。'."\n" - ."\n" - .'> 默认取值为**MySQL**。', - 'type' => 'string', - 'required' => false, - 'example' => 'MySQL', - ], - ], - [ - 'name' => 'SourceEndpointRegion', - 'in' => 'query', - 'schema' => [ - 'description' => '源实例所属地域,详情请参见[支持的地域列表](~~141033~~)。'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'SourceEndpointIP', - 'in' => 'query', - 'schema' => [ - 'description' => '源库的连接地址。'."\n" - .'> 当**SourceEndpointInstanceType**取值为**LocalInstance**或**Express**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '172.16.88.*** ', - ], - ], - [ - 'name' => 'SourceEndpointPort', - 'in' => 'query', - 'schema' => [ - 'description' => '源库的服务端口。'."\n" - .'> 当**SourceEndpointInstanceType**取值为**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '3306', - ], - ], - [ - 'name' => 'SourceEndpointOracleSID', - 'in' => 'query', - 'schema' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当**SourceEndpointEngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,本参数才可用且必须传入。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testsid', - ], - ], - [ - 'name' => 'SourceEndpointDatabaseName', - 'in' => 'query', - 'schema' => [ - 'description' => '待迁移的数据库名称或鉴权数据库名称。'."\n" - .'>- 当**SourceEndpointEngineName**取值为**PostgreSQL**或**MongoDB**,或者**SourceEndpointInstanceType**为**PolarDB_o**时,本参数才可用且必须传入。'."\n" - .'- 当**SourceEndpointEngineName**取值为**PostgreSQL**或**DRDS**时,传入待迁移的数据库名称;取值为**MongoDB**时,传入数据库账号的鉴权数据库名称。'."\n" - .'- 当**SourceEndpointInstanceType**取值为**PolarDB_o**时,传入待迁移的数据库名称。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestdata', - ], - ], - [ - 'name' => 'SourceEndpointUserName', - 'in' => 'query', - 'schema' => [ - 'description' => '源库的数据库账号。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstest', - ], - ], - [ - 'name' => 'SourceEndpointPassword', - 'in' => 'query', - 'schema' => [ - 'description' => '源库数据库账号的密码。', - 'type' => 'string', - 'required' => false, - 'example' => 'Test123456', - ], - ], - [ - 'name' => 'DestinationEndpointInstanceType', - 'in' => 'query', - 'schema' => [ - 'description' => '目标库的实例类型,取值:'."\n" - .'> - **ECS**:ECS上的自建数据库。'."\n" - .'- **LocalInstance**:有公网IP的自建数据库。'."\n" - .'- **RDS**:阿里云RDS实例。'."\n" - .'- **DRDS**:阿里云PolarDB-X实例。'."\n" - .'- **MongoDB**:阿里云MongoDB实例。'."\n" - .'- **Redis**:阿里云Redis实例。'."\n" - .'- **PetaData**:阿里云HybridDB for MySQL实例。'."\n" - .'- **POLARDB**:阿里云PolarDB MySQL集群。'."\n" - .'- **PolarDB_o**:阿里云PolarDB O引擎集群。'."\n" - .'- **AnalyticDB**:阿里云云原生数据仓库AnalyticDB MySQL 3.0和2.0版本。'."\n" - .'- **Greenplum**:阿里云云原生数据仓库AnalyticDB PostgreSQL。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'PolarDB_o', - ], - ], - [ - 'name' => 'DestinationEndpointInstanceID', - 'in' => 'query', - 'schema' => [ - 'description' => '目标实例ID。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testsid', - ], - ], - [ - 'name' => 'DestinationEndpointEngineName', - 'in' => 'query', - 'schema' => [ - 'description' => '目标库的数据库类型。取值:**MySQL**、**DRDS**、**SQLServer**、**PostgreSQL**、**PPAS**、**MongoDB**或**Redis**。'."\n" - .'> 当**DestinationEndpointInstanceType**取值为**RDS**、**DRDS**、**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'MySQL', - ], - ], - [ - 'name' => 'DestinationEndpointRegion', - 'in' => 'query', - 'schema' => [ - 'description' => '目标实例所属地域,详情请参见[支持的地域列表](~~141033~~)。'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'DestinationEndpointIP', - 'in' => 'query', - 'schema' => [ - 'description' => '目标库连接地址。'."\n" - .'> 当**DestinationEndpointInstanceType**取值为**LocalInstance**或**Express**时,本参数才可用且必须传入。'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => '172.16.88.*** ', - ], - ], - [ - 'name' => 'DestinationEndpointPort', - 'in' => 'query', - 'schema' => [ - 'description' => '源库的服务端口。'."\n" - .'> 当**SourceEndpointInstanceType**取值为**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '3306', - ], - ], - [ - 'name' => 'DestinationEndpointDatabaseName', - 'in' => 'query', - 'schema' => [ - 'description' => '待迁入的数据库名称或鉴权数据库名称。'."\n" - .'> - 当**DestinationEndpointEngineName**取值为**PostgreSQL**、**DRDS**或**MongoDB**时,或者**DestinationEndpointInstanceType**取值为**PolarDB_o**时,本参数才可用且必须传入。'."\n" - .'- 当**DestinationEndpointEngineName**取值为**PostgreSQL**或**DRDS**时,传入待迁移的数据库名称;取值为**MongoDB**时,传入数据库账号的鉴权数据库名称。'."\n" - .'- 当**DestinationEndpointInstanceType**取值为**PolarDB_o**时,传入待迁移的数据库名称。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestdata', - ], - ], - [ - 'name' => 'DestinationEndpointUserName', - 'in' => 'query', - 'schema' => [ - 'description' => '目标库的数据库账号。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstest', - ], - ], - [ - 'name' => 'DestinationEndpointPassword', - 'in' => 'query', - 'schema' => [ - 'description' => '目标库数据库账号的密码。', - 'type' => 'string', - 'required' => false, - 'example' => 'Test123456', - ], - ], - [ - 'name' => 'DestinationEndpointOracleSID', - 'in' => 'query', - 'schema' => [ - 'description' => '当**DestinationEndpointEngineName**为**Oracle**时,才需要传入本参数,取值为:'."\n" - ."\n" - .'- **SID**:非集群架构。'."\n" - .'- **RAC**:集群架构。'."\n" - ."\n\n" - .'> 该参数的类型应为String,且为非必填参数。'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'SID', - ], - ], - [ - 'name' => 'DestinationEndpointArchitecture', - 'in' => 'query', - 'schema' => [ - 'description' => '当**SourceEndpointEngineName**为**Oracle**时,才需要传入本参数,取值为:'."\n" - .'- **SID**:非集群架构。'."\n" - .'- **RAC**:集群架构。'."\n" - ."\n" - .'> 该参数的类型应为String,且为非必填参数。'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'SID', - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'SourceConnectionStatus' => [ - 'description' => '源库测试连接结果。'."\n" - ."\n", - 'type' => 'object', - 'example' => '{ "connectDetail": [ { "testName": "Oracle JDBC Connect", "testSuccess": true }, { "testName": "Ping ", "testSuccess": false }, { "testName": "Telnet ", "testSuccess": true } ], "connectRes": true, "connectAdvice": "" }', - ], - 'DestinationConnectionStatus' => [ - 'description' => '目标库测试连接结果。', - 'type' => 'object', - 'example' => '{ "connectDetail": [ { "testName": "PolarDB_o JDBC Connect", "testSuccess": true }, { "testName": "Ping ", "testSuccess": true }, { "testName": "Telnet ", "testSuccess": true } ], "connectRes": true, "connectAdvice": "" }', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '0A47C784-70EF-4111-8677-369CAA00****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '调用结果是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0a2a047516051973705541561d****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '配置迁移任务的监控报警', + 'summary' => '配置监控报警,来监控迁移任务的延迟和异常状态。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:ConfigureMigrationJobAlert', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], - ], - 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SourceConnectionStatus\\": {\\n \\"connectDetail\\": [\\n {\\n \\"testName\\": \\"Oracle JDBC Connect\\",\\n \\"testSuccess\\": true\\n },\\n {\\n \\"testName\\": \\"Ping \\",\\n \\"testSuccess\\": false\\n },\\n {\\n \\"testName\\": \\"Telnet \\",\\n \\"testSuccess\\": true\\n }\\n ],\\n \\"connectRes\\": true,\\n \\"connectAdvice\\": \\"\\"\\n },\\n \\"DestinationConnectionStatus\\": {\\n \\"connectDetail\\": [\\n {\\n \\"testName\\": \\"PolarDB_o JDBC Connect\\",\\n \\"testSuccess\\": true\\n },\\n {\\n \\"testName\\": \\"Ping \\",\\n \\"testSuccess\\": true\\n },\\n {\\n \\"testName\\": \\"Telnet \\",\\n \\"testSuccess\\": true\\n }\\n ],\\n \\"connectRes\\": true,\\n \\"connectAdvice\\": \\"\\"\\n },\\n \\"RequestId\\": \\"0A47C784-70EF-4111-8677-369CAA00****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '测试迁移任务的连通性', - 'summary' => '测试迁移任务的执行节点与源库、目标库的连通性。', ], 'ConfigureSubscription' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3900,466 +1134,262 @@ 'systemTags' => [ 'operationType' => 'create', 'abilityTreeCode' => '52207', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '订阅实例所在地域,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '订阅实例所在地域,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'DtsJobName', 'in' => 'query', - 'schema' => [ - 'description' => '订阅任务名称。'."\n" - .'> 建议配置具有业务意义的名称(无唯一性要求),便于后续识别。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MySQL订阅', - ], + 'schema' => ['description' => '订阅任务名称。'."\n" + .'> 建议配置具有业务意义的名称(无唯一性要求),便于后续识别。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MySQL订阅'], ], [ 'name' => 'DtsInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '订阅实例ID,可以调用[DescribeDtsJobs](~~209702~~)查询。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsy0zz3t13h7d****', - ], + 'schema' => ['description' => '订阅实例ID,可以调用[DescribeDtsJobs](~~209702~~)查询。', 'type' => 'string', 'required' => false, 'example' => 'dtsy0zz3t13h7d****'], ], [ 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '订阅任务ID,可以调用[DescribeDtsJobs](~~209702~~)查询。', - 'type' => 'string', - 'required' => false, - 'example' => 'y0zz3t13h7d****', - ], + 'schema' => ['description' => '订阅任务ID,可以调用[DescribeDtsJobs](~~209702~~)查询。', 'type' => 'string', 'required' => false, 'example' => 'y0zz3t13h7d****'], ], [ 'name' => 'SourceEndpointEngineName', 'in' => 'query', - 'schema' => [ - 'description' => '源数据库类型,取值为**MySQL**、**PostgreSQL**、**Oracle**。'."\n" - ."\n" - .'> 当源数据库为自建数据库,本参数必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'PostgreSQL', - ], + 'schema' => ['description' => '源数据库类型,取值为**MySQL**、**PostgreSQL**、**Oracle**。'."\n" + ."\n" + .'> 当源数据库为自建数据库,本参数必须传入。', 'type' => 'string', 'required' => false, 'example' => 'PostgreSQL'], ], [ 'name' => 'SourceEndpointInstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '源数据库的实例类型,取值:'."\n" - ."\n" - .'- **RDS**:云数据库RDS。'."\n" - .'- **PolarDB**:PolarDB MySQL。'."\n" - .'- **DRDS**: PolarDB-X 1.0。'."\n" - .'- **LocalInstance**:有公网IP的自建数据库。'."\n" - .'- **ECS**:ECS上的自建数据库。'."\n" - .'- **Express**:通过专线接入的自建数据库。'."\n" - .'- **CEN**:通过云企业网CEN接入的自建数据库。'."\n" - .'- **dg**:通过数据库网关接入的自建数据库。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'RDS', - ], + 'schema' => ['description' => '源数据库的实例类型,取值:'."\n" + ."\n" + .'- **RDS**:云数据库RDS。'."\n" + .'- **PolarDB**:PolarDB MySQL。'."\n" + .'- **DRDS**: PolarDB-X 1.0。'."\n" + .'- **LocalInstance**:有公网IP的自建数据库。'."\n" + .'- **ECS**:ECS上的自建数据库。'."\n" + .'- **Express**:通过专线接入的自建数据库。'."\n" + .'- **CEN**:通过云企业网CEN接入的自建数据库。'."\n" + .'- **dg**:通过数据库网关接入的自建数据库。'."\n", 'type' => 'string', 'required' => false, 'example' => 'RDS'], ], [ 'name' => 'SourceEndpointRegion', 'in' => 'query', - 'schema' => [ - 'description' => '源实例所属地域,详情请参见[支持的地域列表](~~141033~~)。'."\n" - .'> 如果源实例为有公网IP的自建数据库,则可以传入**cn-hangzhou**或者离自建数据库物理距离最近的区域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '源实例所属地域,详情请参见[支持的地域列表](~~141033~~)。'."\n" + .'> 如果源实例为有公网IP的自建数据库,则可以传入**cn-hangzhou**或者离自建数据库物理距离最近的区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'SourceEndpointInstanceID', 'in' => 'query', - 'schema' => [ - 'description' => '源实例ID。'."\n" - .'> 源数据库的实例类型为RDS MySQL、PolarDB-X 1.0、PolarDB MySQL时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp1zc3iyqe3qw****', - ], + 'schema' => ['description' => '源实例ID。'."\n" + .'> 源数据库的实例类型为RDS MySQL、PolarDB-X 1.0、PolarDB MySQL时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'rm-bp1zc3iyqe3qw****'], ], [ 'name' => 'SourceEndpointIP', 'in' => 'query', - 'schema' => [ - 'description' => '源数据库的连接地址。'."\n" - .'> 当源数据库为自建数据库时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '172.16.8*.***', - ], + 'schema' => ['description' => '源数据库的连接地址。'."\n" + .'> 当源数据库为自建数据库时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '172.16.8*.***'], ], [ 'name' => 'SourceEndpointPort', 'in' => 'query', - 'schema' => [ - 'description' => '源数据库的服务端口。'."\n" - .'> 当源数据库为自建数据库时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '3306', - ], + 'schema' => ['description' => '源数据库的服务端口。'."\n" + .'> 当源数据库为自建数据库时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '3306'], ], [ 'name' => 'SourceEndpointOracleSID', 'in' => 'query', - 'schema' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当源数据库为自建Oracle时,且Oracle数据库为非RAC实例时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'testsid', - ], + 'schema' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当源数据库为自建Oracle时,且Oracle数据库为非RAC实例时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'testsid'], ], [ 'name' => 'SourceEndpointDatabaseName', 'in' => 'query', - 'schema' => [ - 'description' => '待订阅的数据库名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestdata', - ], + 'schema' => ['description' => '待订阅的数据库名称。', 'type' => 'string', 'required' => false, 'example' => 'dtstestdata'], ], [ 'name' => 'SourceEndpointUserName', 'in' => 'query', - 'schema' => [ - 'description' => '源实例的数据库账号。'."\n" - .'> 订阅不同的数据库所需的权限有所差异,请参见[准备用于数据订阅的数据库账号](~~212653~~)中的账号权限。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstest', - ], + 'schema' => ['description' => '源实例的数据库账号。'."\n" + .'> 订阅不同的数据库所需的权限有所差异,请参见[准备用于数据订阅的数据库账号](~~212653~~)中的账号权限。', 'type' => 'string', 'required' => false, 'example' => 'dtstest'], ], [ 'name' => 'SourceEndpointPassword', 'in' => 'query', - 'schema' => [ - 'description' => '源实例的数据库账号密码。', - 'type' => 'string', - 'required' => false, - 'example' => 'Test123456', - ], + 'schema' => ['description' => '源实例的数据库账号密码。', 'type' => 'string', 'required' => false, 'example' => 'Test123456'], ], [ 'name' => 'SourceEndpointOwnerID', 'in' => 'query', - 'schema' => [ - 'description' => '源实例所属的阿里云账号ID。'."\n" - .'> 仅在配置跨阿里云账号的数据订阅时本参数才可用,且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '140692647406****', - ], + 'schema' => ['description' => '源实例所属的阿里云账号ID。'."\n" + .'> 仅在配置跨阿里云账号的数据订阅时本参数才可用,且必须传入。', 'type' => 'string', 'required' => false, 'example' => '140692647406****'], ], [ 'name' => 'SourceEndpointRole', 'in' => 'query', - 'schema' => [ - 'description' => '源实例的授权角色。当源实例与配置订阅任务所属阿里云账号不同时,需传入该参数,来指定源实例的授权角色,以允许配置订阅任务所属阿里云账号访问源实例的实例信息。'."\n" - .'> 角色所需的权限及授权方式,请参见[跨阿里云账号数据迁移或同步时如何配置RAM授权](~~48468~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ram-for-dts', - ], + 'schema' => ['description' => '源实例的授权角色。当源实例与配置订阅任务所属阿里云账号不同时,需传入该参数,来指定源实例的授权角色,以允许配置订阅任务所属阿里云账号访问源实例的实例信息。'."\n" + .'> 角色所需的权限及授权方式,请参见[跨阿里云账号数据迁移或同步时如何配置RAM授权](~~48468~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'ram-for-dts'], ], [ 'name' => 'DbList', 'in' => 'query', - 'schema' => [ - 'description' => '订阅对象,格式为JSON串。详细定义,请参见[迁移、同步或订阅对象说明](~~209545~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '{"dtstest":{"name":"dtstest","all":true}}', - ], + 'schema' => ['description' => '订阅对象,格式为JSON串。详细定义,请参见[迁移、同步或订阅对象说明](~~209545~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '{"dtstest":{"name":"dtstest","all":true}}'], ], [ 'name' => 'Reserve', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS预留参数,格式为JSON串,您可以传入本参数完善源目库信息(如目标Kafka数据库的数据存储格式、云企业网CEN的实例ID)。更多信息,请参见[Reserve参数说明](~~176470~~)参数说明。', - 'type' => 'string', - 'required' => false, - 'example' => '{ "srcInstanceId": "cen-9kqshqum*******" }', - ], + 'schema' => ['description' => 'DTS预留参数,格式为JSON串,您可以传入本参数完善源目库信息(如目标Kafka数据库的数据存储格式、云企业网CEN的实例ID)。更多信息,请参见[Reserve参数说明](~~176470~~)参数说明。', 'type' => 'string', 'required' => false, 'example' => '{ "srcInstanceId": "cen-9kqshqum*******" }'], ], [ 'name' => 'Checkpoint', 'in' => 'query', - 'schema' => [ - 'description' => '订阅启动时间,格式为Unix时间戳,单位为秒(s)。'."\n" - .'> Unix时间戳转换工具可用搜索引擎获取。', - 'type' => 'string', - 'required' => false, - 'example' => '1616902385', - ], + 'schema' => ['description' => '订阅启动时间,格式为Unix时间戳,单位为秒(s)。'."\n" + .'> Unix时间戳转换工具可用搜索引擎获取。', 'type' => 'string', 'required' => false, 'example' => '1616902385'], ], [ 'name' => 'SubscriptionInstanceNetworkType', 'in' => 'query', - 'schema' => [ - 'description' => '订阅任务的网络类型,目前取值仅支持**vpc**,表示专有网络。'."\n" - ."\n" - .'> - 如果传入了本参数,则订阅任务被定义为新版,您还需要正确设置**SubscriptionInstanceVPCId**和**SubscriptionInstanceVSwitchID**参数;如果不传入该参数,则订阅任务被定义为旧版。'."\n" - .'- 旧版订阅任务支持订阅自建MySQL、RDS MySQL和PolarDB-X 1.0的数据,新版订阅任务支持订阅自建MySQL、RDS MySQL、PolarDB MySQL和Oracle的数据。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'vpc', - ], + 'schema' => ['description' => '订阅任务的网络类型,目前取值仅支持**vpc**,表示专有网络。'."\n" + ."\n" + .'> - 如果传入了本参数,则订阅任务被定义为新版,您还需要正确设置**SubscriptionInstanceVPCId**和**SubscriptionInstanceVSwitchID**参数;如果不传入该参数,则订阅任务被定义为旧版。'."\n" + .'- 旧版订阅任务支持订阅自建MySQL、RDS MySQL和PolarDB-X 1.0的数据,新版订阅任务支持订阅自建MySQL、RDS MySQL、PolarDB MySQL和Oracle的数据。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc'], ], [ 'name' => 'SubscriptionInstanceVPCId', 'in' => 'query', - 'schema' => [ - 'description' => '订阅实例的专有网络ID。'."\n" - .'> 当**SubscriptionInstanceNetworkType**取值为**vpc**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-bp1vwnn14rqpyiczj****', - ], + 'schema' => ['description' => '订阅实例的专有网络ID。'."\n" + .'> 当**SubscriptionInstanceNetworkType**取值为**vpc**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1vwnn14rqpyiczj****'], ], [ 'name' => 'SubscriptionInstanceVSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => '订阅实例的虚拟交换机ID。'."\n" - .'> 当**SubscriptionInstanceNetworkType**取值为**vpc**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp10df3mxae6lpmku****', - ], + 'schema' => ['description' => '订阅实例的虚拟交换机ID。'."\n" + .'> 当**SubscriptionInstanceNetworkType**取值为**vpc**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp10df3mxae6lpmku****'], ], [ 'name' => 'SubscriptionDataTypeDDL', 'in' => 'query', - 'schema' => [ - 'description' => '是否订阅DDL类型的数据,取值:'."\n" - ."\n" - .'- **true**:是,为默认值。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否订阅DDL类型的数据,取值:'."\n" + ."\n" + .'- **true**:是,为默认值。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'SubscriptionDataTypeDML', 'in' => 'query', - 'schema' => [ - 'description' => '是否订阅DML类型的数据,取值:'."\n" - .'- **true**:是,为默认值。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否订阅DML类型的数据,取值:'."\n" + .'- **true**:是,为默认值。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'DelayPhone', 'in' => 'query', - 'schema' => [ - 'description' => '延迟报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" - .'>- 本参数目前只支持中国站,仅支持大陆手机号码,且最多传入10个手机号码。'."\n" - .'- 国际站不支持手机告警,仅支持[通过云监控平台为DTS任务设置报警规则](~~175876~~)。', - 'type' => 'string', - 'required' => false, - 'example' => '1361234****,1371234****', - ], + 'schema' => ['description' => '延迟报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" + .'>- 本参数目前只支持中国站,仅支持大陆手机号码,且最多传入10个手机号码。'."\n" + .'- 国际站不支持手机告警,仅支持[通过云监控平台为DTS任务设置报警规则](~~175876~~)。', 'type' => 'string', 'required' => false, 'example' => '1361234****,1371234****'], ], [ 'name' => 'DelayRuleTime', 'in' => 'query', - 'schema' => [ - 'description' => '触发延迟报警的阈值,单位为秒且需为整数,可根据业务需要设置阈值,建议设置10秒以上,避免因网络、数据库负载等原因导致的延迟波动。'."\n" - .'> 当**DelayNotice**取值为**true**时,本参数必须传入。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '触发延迟报警的阈值,单位为秒且需为整数,可根据业务需要设置阈值,建议设置10秒以上,避免因网络、数据库负载等原因导致的延迟波动。'."\n" + .'> 当**DelayNotice**取值为**true**时,本参数必须传入。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10'], ], [ 'name' => 'DelayNotice', 'in' => 'query', - 'schema' => [ - 'description' => '是否监控延迟状态,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否监控延迟状态,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ErrorPhone', 'in' => 'query', - 'schema' => [ - 'description' => '异常报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" - .'>- 本参数目前只支持中国站,仅支持大陆手机号码,且最多传入10个手机号码。'."\n" - .'- 国际站不支持手机告警,仅支持[通过云监控平台为DTS任务设置报警规则](~~175876~~)。', - 'type' => 'string', - 'required' => false, - 'example' => '1361234****,1371234****', - ], + 'schema' => ['description' => '异常报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" + .'>- 本参数目前只支持中国站,仅支持大陆手机号码,且最多传入10个手机号码。'."\n" + .'- 国际站不支持手机告警,仅支持[通过云监控平台为DTS任务设置报警规则](~~175876~~)。', 'type' => 'string', 'required' => false, 'example' => '1361234****,1371234****'], ], [ 'name' => 'ErrorNotice', 'in' => 'query', - 'schema' => [ - 'description' => '是否监控异常状态,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否监控异常状态,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'DedicatedClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS专属集群ID,用于将订阅任务调度到指定的DTS专属集群上。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtscluster_atyl3b5214uk***', - ], + 'schema' => ['description' => 'DTS专属集群ID,用于将订阅任务调度到指定的DTS专属集群上。', 'type' => 'string', 'required' => false, 'example' => 'dtscluster_atyl3b5214uk***'], ], [ 'name' => 'DtsBisLabel', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例的环境标签,取值为:'."\n" - ."\n" - .'- **normal**:**普通**'."\n" - .'- **online**:**线上**', - 'type' => 'string', - 'required' => false, - 'example' => 'normal', - ], + 'schema' => ['description' => 'DTS实例的环境标签,取值为:'."\n" + ."\n" + .'- **normal**:**普通**'."\n" + .'- **online**:**线上**', 'type' => 'string', 'required' => false, 'example' => 'normal'], ], [ 'name' => 'MinDu', 'in' => 'query', - 'schema' => [ - 'description' => 'Serverless实例的DU下限,取值为:1、2、4、8、16。'."\n" - .'<props="intl">'."\n" - .'> 当前暂不支持此功能,请勿传入参数。</props>'."\n", - 'type' => 'number', - 'format' => 'double', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'Serverless实例的DU下限,取值为:1、2、4、8、16。'."\n" + .'<props="intl">'."\n" + .'> 当前暂不支持此功能,请勿传入参数。</props>'."\n", 'type' => 'number', 'format' => 'double', 'required' => false, 'example' => '1'], ], [ 'name' => 'MaxDu', 'in' => 'query', - 'schema' => [ - 'description' => 'Serverless实例的DU上限,取值为:2、4、8、16。'."\n" - .'<props="intl">'."\n" - .'> 当前暂不支持此功能,请勿传入参数。</props>', - 'type' => 'number', - 'format' => 'double', - 'required' => false, - 'example' => '16', - ], + 'schema' => ['description' => 'Serverless实例的DU上限,取值为:2、4、8、16。'."\n" + .'<props="intl">'."\n" + .'> 当前暂不支持此功能,请勿传入参数。</props>', 'type' => 'number', 'format' => 'double', 'required' => false, 'example' => '16'], ], [ 'name' => 'SrcCaCertificateOssUrl', 'in' => 'query', - 'schema' => [ - 'description' => '源库通过SSL安全连接时,CA证书的路径。'."\n" - ."\n" - .'> 当前暂不支持此功能,请勿传入此参数。', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], + 'schema' => ['description' => '源库通过SSL安全连接时,CA证书的路径。'."\n" + ."\n" + .'> 当前暂不支持此功能,请勿传入此参数。', 'type' => 'string', 'required' => false, 'example' => '****'], ], [ 'name' => 'SrcCaCertificatePassword', 'in' => 'query', - 'schema' => [ - 'description' => '源库通过SSL安全连接时,CA证书的密钥。'."\n" - ."\n" - .'> 当前暂不支持此功能,请勿传入此参数。', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], + 'schema' => ['description' => '源库通过SSL安全连接时,CA证书的密钥。'."\n" + ."\n" + .'> 当前暂不支持此功能,请勿传入此参数。', 'type' => 'string', 'required' => false, 'example' => '****'], ], [ 'name' => 'SrcClientCertOssUrl', 'in' => 'query', - 'schema' => [ - 'description' => '源库通过SSL安全连接时,客户端证书的路径。'."\n" - ."\n" - .'> 当前暂不支持此功能,请勿传入此参数。', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], + 'schema' => ['description' => '源库通过SSL安全连接时,客户端证书的路径。'."\n" + ."\n" + .'> 当前暂不支持此功能,请勿传入此参数。', 'type' => 'string', 'required' => false, 'example' => '****'], ], [ 'name' => 'SrcClientKeyOssUrl', 'in' => 'query', - 'schema' => [ - 'description' => '源库通过SSL安全连接时,客户端证书私钥的路径。'."\n" - ."\n" - .'> 当前暂不支持此功能,请勿传入此参数。', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], + 'schema' => ['description' => '源库通过SSL安全连接时,客户端证书私钥的路径。'."\n" + ."\n" + .'> 当前暂不支持此功能,请勿传入此参数。', 'type' => 'string', 'required' => false, 'example' => '****'], ], [ 'name' => 'SrcClientPassword', 'in' => 'query', - 'schema' => [ - 'description' => '源库通过SSL安全连接时,客户端证书私钥的密码。'."\n" - ."\n" - .'> 当前暂不支持此功能,请勿传入此参数。', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], + 'schema' => ['description' => '源库通过SSL安全连接时,客户端证书私钥的密码。'."\n" + ."\n" + .'> 当前暂不支持此功能,请勿传入此参数。', 'type' => 'string', 'required' => false, 'example' => '****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -4367,65 +1397,29 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。'."\n" - ."\n", - 'type' => 'string', - 'example' => '1D6ECADF-C5E9-4C96-8811-77602B31****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'DtsJobId' => [ - 'description' => '订阅任务ID。', - 'type' => 'string', - 'example' => 'y0zz3t13h7d****', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'DtsInstanceId' => [ - 'description' => '订阅实例ID。', - 'type' => 'string', - 'example' => 'dtsy0zz3t13h7d****', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。'."\n" + ."\n", 'type' => 'string', 'example' => '1D6ECADF-C5E9-4C96-8811-77602B31****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'DtsJobId' => ['description' => '订阅任务ID。', 'type' => 'string', 'example' => 'y0zz3t13h7d****'], + 'Success' => ['description' => '请求是否成功。'."\n" + ."\n", 'type' => 'string', 'example' => 'true'], + 'DtsInstanceId' => ['description' => '订阅实例ID。', 'type' => 'string', 'example' => 'dtsy0zz3t13h7d****'], + 'ErrMessage' => ['description' => '调用出错时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"1D6ECADF-C5E9-4C96-8811-77602B31****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"DtsJobId\\": \\"y0zz3t13h7d****\\",\\n \\"Success\\": \\"true\\",\\n \\"DtsInstanceId\\": \\"dtsy0zz3t13h7d****\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ConfigureSubscriptionResponse>\\n <DtsJobId>y0zz3t13h7d****</DtsJobId>\\n <RequestId>1D6ECADF-C5E9-4C96-8811-77602B31****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <DtsInstanceId>dtsy0zz3t13h7d****</DtsInstanceId>\\n <Success>true</Success>\\n</ConfigureSubscriptionResponse>","errorExample":""}]', @@ -4435,242 +1429,165 @@ 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateConsumerChannel' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:ConfigureSubscription', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'ConfigureSubscriptionInstance' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'get', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS订阅实例所在地域的ID,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据订阅实例所在地域的ID,详情请参见。'."\n" + .'[支持的地域列表](~~141033~~)', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'DtsInstanceId', + 'name' => 'SubscriptionInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '订阅实例ID,可以调用[DescribeDtsJobs](~~209702~~)查询。'."\n" - .'> 参数**DtsInstanceId**与**DtsJobId**,两者必须传入其一。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsboss6pn1w******', - ], + 'schema' => ['description' => '数据订阅实例ID,可以通过调用[DescribeSubscriptionInstances](~~49442~~)接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtshp8n2ze4r5x****'], ], [ - 'name' => 'DtsJobId', + 'name' => 'SubscriptionInstanceName', 'in' => 'query', - 'schema' => [ - 'description' => '订阅任务ID,可以调用[DescribeDtsJobs](~~209702~~)查询。'."\n" - .'> 参数**DtsInstanceId**与**DtsJobId**,两者必须传入其一。', - 'type' => 'string', - 'required' => false, - 'example' => 'boss6pn1w******', - ], + 'schema' => ['description' => '订阅实例名称。'."\n" + .'> 建议配置具有业务意义的名称(无唯一性要求),便于后续识别。', 'type' => 'string', 'required' => false, 'example' => 'MySQL订阅'], ], [ - 'name' => 'ConsumerGroupName', + 'name' => 'SourceEndpoint.InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '消费组的名称,不超过128个字符。建议配置具有业务意义的名称,便于后续识别。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '订阅组A', - ], + 'schema' => ['description' => '源数据库的实例类型,取值:'."\n" + .'- **RDS**:RDS MySQL。'."\n" + .'- **PolarDB**:PolarDB MySQL。'."\n" + .'- **LocalInstance**:有公网IP的自建数据库。'."\n" + .'- **ECS**:ECS上的自建数据库。'."\n" + .'- **Express**:通过专线接入的自建数据库。'."\n" + .'- **CEN**:通过云企业网CEN接入的自建数据库。'."\n" + .'- **dg**:通过数据库网关接入的自建数据库。'."\n" + ."\n" + .'> 支持自建数据库的数据库类型为MySQL、Oracle,您需要提前调用[CreateSubscriptionInstance](~~49436~~)设置。', 'type' => 'string', 'required' => false, 'example' => 'RDS'], ], [ - 'name' => 'ConsumerGroupPassword', + 'name' => 'SourceEndpoint.InstanceID', 'in' => 'query', - 'schema' => [ - 'description' => '消费组的账号密码。'."\n" - ."\n" - .'- 由大写字母、小写字母、数字、特殊字符中的任意两种或两种以上组成。'."\n" - .'- 密码长度为8~32个字符。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Test123456', - ], + 'schema' => ['description' => '源实例ID。'."\n" + .'> 源数据库的实例类型为RDS MySQL、PolarDB-X 1.0、PolarDB MySQL时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'rm-bp1zc3iyqe3qw****'], ], [ - 'name' => 'ConsumerGroupUserName', + 'name' => 'SubscriptionDataType.DDL', 'in' => 'query', - 'schema' => [ - 'description' => '消费组的账号。'."\n" - ."\n" - .'由大写字母、小写字母、数字、下划线中的任意一种或多种组成。'."\n" - .'最长 16 个字符。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtstest', - ], + 'schema' => ['description' => '是否订阅DDL类型的数据,取值:'."\n" + ."\n" + .'- **true**:是,为默认值。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'true'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'SubscriptionDataType.DML', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek2zx4uizich7y', - ], + 'schema' => ['description' => '是否订阅DML类型的数据,取值:'."\n" + .'- **true**:是,为默认值。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'true'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。'."\n" - ."\n", - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '5F566C5B-E5B0-4020-A531-FC6F5005****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'ConsumerGroupID' => [ - 'description' => '消费组ID,可在下游客户端消费订阅数据时传入。', - 'type' => 'string', - 'example' => 'dtsor2y66j4219****', - ], - ], - ], + [ + 'name' => 'SubscriptionObject', + 'in' => 'formData', + 'schema' => ['description' => '订阅对象,格式为JSON串且支持一定的正则表达式,详细说明,请参见[订阅对象配置说明](~~141902~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{ "DBName": "dtstestdata" }]'], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + [ + 'name' => 'SourceEndpoint.IP', + 'in' => 'query', + 'schema' => ['description' => '源数据库的连接地址。'."\n" + .'> 当源数据库为自建数据库时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '172.16.88.*** '], ], - 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + [ + 'name' => 'SourceEndpoint.Port', + 'in' => 'query', + 'schema' => ['description' => '源数据库的服务端口。'."\n" + .'> 当源数据库为自建数据库时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '3306'], ], - 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + [ + 'name' => 'SourceEndpoint.UserName', + 'in' => 'query', + 'schema' => ['description' => '源实例的数据库账号。'."\n" + .'> 订阅不同的数据库所需的权限有所差异,详情请参见[DTS数据订阅方案概览](~~145715~~)中对应的配置案例。', 'type' => 'string', 'required' => false, 'example' => 'dtstestaccount'], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"5F566C5B-E5B0-4020-A531-FC6F5005****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"ConsumerGroupID\\": \\"dtsor2y66j4219****\\"\\n}","type":"json"}]', - 'title' => '创建订阅任务消费组', - 'summary' => '新版创建订阅任务消费组。', - ], - 'DeleteConsumerChannel' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'SourceEndpoint.Password', + 'in' => 'query', + 'schema' => ['description' => '源实例的数据库账号密码。', 'type' => 'string', 'required' => false, 'example' => 'Test123456 '], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'SourceEndpoint.OracleSID', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS订阅实例所在地域的ID,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当源数据库为自建Oracle时,且Oracle数据库为非RAC实例时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'testsid'], ], [ - 'name' => 'DtsInstanceId', + 'name' => 'SourceEndpoint.DatabaseName', 'in' => 'query', - 'schema' => [ - 'description' => '订阅实例ID,可以调用[DescribeDtsJobs](~~209702~~)查询。'."\n" - .'> 参数**DtsInstanceId**与**DtsJobId**,两者必须传入其一。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsboss6pn1w73****', - ], + 'schema' => ['description' => '待订阅的数据库名称。', 'type' => 'string', 'required' => false, 'example' => 'dtstestdata'], ], [ - 'name' => 'DtsJobId', + 'name' => 'SourceEndpoint.OwnerID', 'in' => 'query', - 'schema' => [ - 'description' => '订阅任务ID,可以调用[DescribeDtsJobs](~~209702~~)查询。'."\n" - .'> 参数**DtsInstanceId**与**DtsJobId**,两者必须传入其一。', - 'type' => 'string', - 'required' => false, - 'example' => 'boss6pn1w73****', - ], + 'schema' => ['description' => '源实例所属的阿里云账号ID。'."\n" + .'> 仅在配置跨阿里云账号的数据订阅时本参数才可用,且必须传入。', 'type' => 'string', 'required' => false, 'example' => '140692647406****'], ], [ - 'name' => 'ConsumerGroupId', + 'name' => 'SourceEndpoint.Role', 'in' => 'query', - 'schema' => [ - 'description' => '消费组ID,您可以调用[DescribeConsumerChannel](~~264169~~)接口查询消费组ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsktbb6jdn2******', - ], + 'schema' => ['description' => '源实例的授权角色。当源实例与配置订阅任务所属阿里云账号不同时,需传入该参数,来指定源实例的授权角色,以允许配置订阅任务所属阿里云账号访问源实例的实例信息。'."\n" + .'> 角色所需的权限及授权方式,请参见[跨阿里云账号数据迁移或同步时如何配置RAM授权](~~48468~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'ram-for-dts'], + ], + [ + 'name' => 'SubscriptionInstanceNetworkType', + 'in' => 'query', + 'schema' => ['description' => '订阅实例的网络类型,目前取值仅支持**vpc**,表示专有网络。'."\n" + ."\n" + .'> - 如果传入了本参数,则订阅实例被定义为新版,您还需要正确设置**SubscriptionInstance.VPCId**和**SubscriptionInstance.VSwitchID**参数;如果不传入该参数,则订阅实例被定义为旧版。'."\n" + .'- 旧版订阅实例支持订阅自建MySQL、RDS for MySQL和DRDS的数据,新版订阅实例支持订阅自建MySQL、RDS for MySQL、PolarDB MySQL和Oracle的数据。', 'type' => 'string', 'required' => false, 'example' => 'vpc'], + ], + [ + 'name' => 'SubscriptionInstance.VPCId', + 'in' => 'query', + 'schema' => ['description' => '订阅实例的专有网络ID。'."\n" + .'> 当**SubscriptionInstanceNetworkType**取值为**vpc**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1vwnn14rqpyiczj****'], + ], + [ + 'name' => 'SubscriptionInstance.VSwitchId', + 'in' => 'query', + 'schema' => ['description' => '订阅实例的虚拟交换机ID。'."\n" + .'> 当**SubscriptionInstanceNetworkType**取值为**vpc**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp10df3mxae6lpmku****'], + ], + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -4678,70 +1595,53 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'F9E00ABE-2AD9-40A9-8C3C-D817E648****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => '0CC15092-8957-4532-B559-B4FB80AC****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"F9E00ABE-2AD9-40A9-8C3C-D817E648****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteConsumerChannelResponse>\\n <RequestId>F9E00ABE-2AD9-40A9-8C3C-D817E648****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</DeleteConsumerChannelResponse>","errorExample":""}]', - 'title' => '删除订阅任务消费组', - 'summary' => '新版删除订阅任务消费组。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0CC15092-8957-4532-B559-B4FB80AC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ConfigureSubscriptionInstanceResponse>\\n <RequestId>0CC15092-8957-4532-B559-B4FB80AC****</RequestId>\\n <Success>true</Success>\\n</ConfigureSubscriptionInstanceResponse>","errorExample":""}]', + 'title' => '配置订阅通道', + 'summary' => '老版配置订阅通道。', + 'description' => '调用本接口前,已调用[CreateSubscriptionInstance](~~49436~~)接口创建了数据订阅实例。'."\n" + ."\n" + .'> 您可以在控制台的**高级配置**阶段,将鼠标光标移动至**下一步保存任务并预检查**按钮上,然后单击气泡中的**预览OpenAPI调用**,查看该实例使用API接口配置时的参数信息。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ModifyConsumerChannel' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:ConfigureSubscriptionInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], ], + ], + 'ConfigureSubscriptionInstanceAlert' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4749,97 +1649,70 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS订阅实例所在地域的ID,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据订阅实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'DtsInstanceId', + 'name' => 'SubscriptionInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '订阅实例ID,可以调用[DescribeDtsJobs](~~209702~~)查询。'."\n" - .'> 参数**DtsInstanceId**与**DtsJobId**,两者必须传入其一。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsboss6pn1w73****', - ], + 'schema' => ['description' => '数据订阅实例ID,可以通过调用DescribeSubscriptionInstances接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsl8zl9ek6292****'], ], [ - 'name' => 'DtsJobId', + 'name' => 'DelayAlertStatus', 'in' => 'query', - 'schema' => [ - 'description' => '订阅任务ID,可以调用[DescribeDtsJobs](~~209702~~)查询。'."\n" - .'> 参数**DtsInstanceId**与**DtsJobId**,两者必须传入其一。', - 'type' => 'string', - 'required' => false, - 'example' => 'boss6pn1w73****', - ], + 'schema' => ['description' => '是否监控延迟状态,取值:'."\n" + ."\n" + .'- **enable**:是。'."\n" + .'- **disable**:否。'."\n" + ."\n" + .'> - 默认取值为**enable**。'."\n" + .'- 本参数和**ErrorAlertStatus**参数两者中至少传入一个。', 'type' => 'string', 'required' => false, 'example' => 'enable'], ], [ - 'name' => 'ConsumerGroupId', + 'name' => 'DelayAlertPhone', 'in' => 'query', - 'schema' => [ - 'description' => '消费组ID,您可以调用[DescribeConsumerChannel](~~264169~~)接口查询消费组ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsor2y66j4219****', - ], + 'schema' => ['description' => '延迟报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" + .'>- 本参数目前只支持中国站,仅支持大陆手机号码,且最多传入10个手机号码。'."\n" + .'- 国际站不支持手机告警,仅支持[通过云监控平台为DTS任务设置报警规则](~~175876~~)。', 'type' => 'string', 'required' => false, 'example' => '1361234****,1371234****'], ], [ - 'name' => 'ConsumerGroupPassword', + 'name' => 'ErrorAlertStatus', 'in' => 'query', - 'schema' => [ - 'description' => '修改后的消费组账号密码。'."\n" - ."\n" - .'- 由大写字母、小写字母、数字、特殊字符中的任意两种或两种以上组成。'."\n" - .'- 密码长度为8~32个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'Test123456', - ], + 'schema' => ['description' => '是否监控异常状态,取值:'."\n" + ."\n" + .'- **enable**:是。'."\n" + .'- **disable**:否。'."\n" + ."\n" + .'> - 默认取值为**enable**。'."\n" + .'- 本参数和**DelayAlertStatus**参数两者中至少传入一个。'."\n" + .'- 开启监控异常状态功能后,如果检测到异常,将触发报警。', 'type' => 'string', 'required' => false, 'example' => 'enable'], ], [ - 'name' => 'ConsumerGroupUserName', + 'name' => 'ErrorAlertPhone', 'in' => 'query', - 'schema' => [ - 'description' => '修改后的消费组的账号。'."\n" - ."\n" - .'- 由大写字母、小写字母、数字、下划线中的任意一种或多种组成。'."\n" - .'- 最长16个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstest', - ], + 'schema' => ['description' => '异常报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" + .'>- 本参数目前只支持中国站,仅支持大陆手机号码,且最多传入10个手机号码。'."\n" + .'- 国际站不支持手机告警,仅支持[通过云监控平台为DTS任务设置报警规则](~~175876~~)。', 'type' => 'string', 'required' => false, 'example' => '1361234****,1371234****'], ], [ - 'name' => 'ConsumerGroupName', + 'name' => 'DelayOverSeconds', 'in' => 'query', - 'schema' => [ - 'description' => '修改后的消费组名称,不超过128个字符。建议配置具有业务意义的名称,便于后续识别。', - 'type' => 'string', - 'required' => false, - 'example' => '订阅组B', - ], + 'schema' => ['description' => '触发延迟报警的阈值,单位为秒且需为整数,可根据业务需要设置阈值,建议设置10秒以上,避免因网络、数据库负载等原因导致的延迟波动。'."\n" + .'> 当**DelayAlertStatus**取值为**enable**时,本参数必须传入。', 'type' => 'string', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -4847,513 +1720,268 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '055CAF9B-C15D-4799-BB9E-E62D417****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '0a2a047516051973705541561d****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用出错时返回的错误信息。', 'type' => 'string', 'example' => 'InternalError The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"055CAF9B-C15D-4799-BB9E-E62D417****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyConsumerChannelResponse>\\n <RequestId>055CAF9B-C15D-4799-BB9E-E62D417****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</ModifyConsumerChannelResponse>","errorExample":""}]', - 'title' => '修改订阅通道中消费组', - 'summary' => '新版修改订阅通道中消费组的相关信息。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0a2a047516051973705541561d****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"InternalError The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ConfigureSubscriptionInstanceAlertResponse>\\n <RequestId>0a2a047516051973705541561d****</RequestId>\\n <Success>true</Success>\\n</ConfigureSubscriptionInstanceAlertResponse>","errorExample":""}]', + 'title' => '配置订阅通道的监控报警', + 'summary' => '配置监控报警,来监控订阅通道的延迟和异常状态。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [], ], - 'DescribeConsumerChannel' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ConfigureSynchronizationJob' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS订阅实例所在地域的ID,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据同步实例所在地域的id,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'DtsInstanceId', + 'name' => 'SynchronizationJobName', 'in' => 'query', - 'schema' => [ - 'description' => '订阅实例ID,可以调用[DescribeDtsJobs](~~209702~~)查询。'."\n" - .'> 参数**DtsInstanceId**与**DtsJobId**,两者必须传入其一。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsboss6pn1w******', - ], + 'schema' => ['description' => '同步任务名称。'."\n" + .'>建议配置具有业务意义的名称(无唯一性要求),便于后续识别。'."\n", 'type' => 'string', 'required' => false, 'example' => 'MySQL同步'], ], [ - 'name' => 'DtsJobId', + 'name' => 'SynchronizationJobId', 'in' => 'query', - 'schema' => [ - 'description' => '订阅任务ID,可以调用[DescribeDtsJobs](~~209702~~)查询。'."\n" - .'> 参数**DtsInstanceId**与**DtsJobId**,两者必须传入其一。', - 'type' => 'string', - 'required' => false, - 'example' => 'boss6pn1w******', - ], + 'schema' => ['description' => '数据同步实例ID,可以通过调用[DescribeSynchronizationJobs](~~49454~~)接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsz4ao1dor13d****'], ], [ - 'name' => 'PageSize', + 'name' => 'SynchronizationDirection', 'in' => 'query', - 'schema' => [ - 'description' => '每页记录数,取值范围为**1**~**100**,默认值为**20**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => '同步方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 只有当数据同步实例的同步拓扑为双向同步时,本参数传入**Reverse**才会生效。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ - 'name' => 'PageNumber', + 'name' => 'SourceEndpoint.InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '源实例ID。', 'type' => 'string', 'required' => false, 'example' => 'rm-bp1i99e8l7913****'], ], [ - 'name' => 'ParentChannelId', + 'name' => 'SourceEndpoint.InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '分布式任务的父任务ChannelId。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsan5114c52******', - ], + 'schema' => ['description' => '源实例类型,取值为:'."\n" + ."\n" + .'- **RDS**:阿里云RDS实例。'."\n" + .'- **Redis**:阿里云Redis实例。'."\n" + .'- **PolarDB**:阿里云PolarDB集群(仅支持MySQL或兼容Oracle语法的引擎)。'."\n" + .'- **ECS**:ECS上的自建数据库。'."\n" + .'- **Express**:通过专线接入的自建数据库。'."\n" + .'- **dg**:通过数据库网关DG接入的自建数据库。'."\n" + .'- **cen**:通过云企业网CEN接入的自建数据库。'."\n" + ."\n" + .'> 默认取值为**RDS**。', 'type' => 'string', 'required' => false, 'example' => 'RDS'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'SourceEndpoint.IP', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek3dcgyq7pnqwa', - ], + 'schema' => ['description' => '源库的IP地址。'."\n" + .'> 当**SourceEndpoint.InstanceType**取值为**ECS**、**Express**、**dg**或**cen**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '172.16.88.***'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D66140B3-C747-42B6-8315-BAF6490E****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'PageRecordCount' => [ - 'description' => '一页最多可展示的消费组数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'TotalRecordCount' => [ - 'description' => '消费组总数。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'PageNumber' => [ - 'description' => '页码。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ConsumerChannels' => [ - 'description' => '消费组列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ConsumerGroupUserName' => [ - 'description' => '消费组的账号。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'dtstest', - ], - 'ConsumerGroupId' => [ - 'description' => '消费组ID。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'dtsor2y66j4219****', - ], - 'MessageDelay' => [ - 'description' => '消息延迟时间,该时间=下游客户端最新消费数据的时间戳-数据订阅任务中最新订阅数据的时间戳,格式为Unix时间戳,单位为秒。'."\n" - .'例如,源库最新的数据于10点产生,目前DTS订阅任务已读取到源库9点55分的数据,下游客户端消费到9点30分的数据,此时消息延迟时间应为9点55分至9点30分的unix时间戳差值。'."\n" - ."\n" - .'> 如果该参数返回**-1**,则表示当前没有客户端连接该消费组。'."\n" - ."\n\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1500', - ], - 'ConsumerGroupName' => [ - 'description' => '消费组的名称。'."\n" - ."\n", - 'type' => 'string', - 'example' => '订阅组A', - ], - 'ConsumptionCheckpoint' => [ - 'description' => '消费位点,即客户端在订阅通道内消费最后一条信息的时间点,格式为yyyy-MM-ddTHH:mm:ssZ(UTC时间)。', - 'type' => 'string', - 'example' => '2021-06-20T12:00:00Z', - ], - 'UnconsumedData' => [ - 'description' => '未消费的消息总数,为未消费的订阅数据数量与心跳消息数量的和。'."\n" - .'> 如果该参数返回-1,则表示当前没有客户端连接该消费组。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '186600', - ], - ], - ], - ], - ], - ], + [ + 'name' => 'SourceEndpoint.Port', + 'in' => 'query', + 'schema' => ['description' => '源库的数据库服务端口。'."\n" + .'> 当**SourceEndpoint.InstanceType**取值为**ECS**、**Express**、**dg**或**cen**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '3306'], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + [ + 'name' => 'SourceEndpoint.UserName', + 'in' => 'query', + 'schema' => ['description' => '源库的数据库账号。'."\n" + .'> - 当**SourceEndpoint.InstanceType**取值为**ECS**、**Express**、**dg**或**cen**时,本参数才可用且必须传入。'."\n" + .'- 当**SourceEndpoint.InstanceType**取值为**Redis**时,本参数无需传入。'."\n" + .'- 同步不同的数据库所需的权限有所差异,详情请参见[DTS数据同步方案概览](~~140954~~)中对应的配置案例。', 'type' => 'string', 'required' => false, 'example' => 'dtstestaccount'], ], - 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + [ + 'name' => 'SourceEndpoint.Password', + 'in' => 'query', + 'schema' => ['description' => '源库数据库账号密码。'."\n" + .'> 当**SourceEndpoint.InstanceType**取值为**ECS**、**Express**、**dg**或**cen**时,本参数必须传入。', 'type' => 'string', 'required' => false, 'example' => 'Test123456'], ], - 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + [ + 'name' => 'DestinationEndpoint.InstanceId', + 'in' => 'query', + 'schema' => ['description' => '同步目标实例的实例ID'."\n" + .'> 当**DestinationEndpoint.InstanceType**取值为**MaxCompute**或**DataHub**时,本参数传入MaxCompute实例或DataHub的Project名称。'."\n" + .'当目标实例为阿里云分析型数据库MySQL版时,传入分析型数据库MySQL版的集群ID。', 'type' => 'string', 'required' => false, 'example' => 'rm-bp1r46452ai50****'], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"D66140B3-C747-42B6-8315-BAF6490E****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"PageRecordCount\\": 20,\\n \\"Success\\": \\"true\\",\\n \\"TotalRecordCount\\": 1,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PageNumber\\": 1,\\n \\"ConsumerChannels\\": [\\n {\\n \\"ConsumerGroupUserName\\": \\"dtstest\\",\\n \\"ConsumerGroupId\\": \\"dtsor2y66j4219****\\",\\n \\"MessageDelay\\": 1500,\\n \\"ConsumerGroupName\\": \\"订阅组A\\",\\n \\"ConsumptionCheckpoint\\": \\"2021-06-20T12:00:00Z\\",\\n \\"UnconsumedData\\": 186600\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeConsumerChannelResponse>\\n <TotalRecordCount>1</TotalRecordCount>\\n <PageRecordCount>20</PageRecordCount>\\n <RequestId>D66140B3-C747-42B6-8315-BAF6490E****</RequestId>\\n <PageNumber>1</PageNumber>\\n <HttpStatusCode>200</HttpStatusCode>\\n <ConsumerChannels>\\n <ConsumptionCheckpoint/>\\n <ConsumerGroupId>dtsor2y66j4219****</ConsumerGroupId>\\n <ConsumerGroupUserName>dtstest</ConsumerGroupUserName>\\n <ConsumerGroupName>订阅组A</ConsumerGroupName>\\n <MessageDelay>-1</MessageDelay>\\n <UnconsumedData>-1</UnconsumedData>\\n </ConsumerChannels>\\n <Success>true</Success>\\n</DescribeConsumerChannelResponse>","errorExample":""}]', - 'title' => '查询订阅任务的消费组详情', - 'summary' => '查询DTS订阅任务的消费组信息,如消费组ID、名称和账号,消费延迟时间等。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'CreateConsumerGroup' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'DestinationEndpoint.InstanceType', + 'in' => 'query', + 'schema' => ['description' => '目标实例类型,取值为:'."\n" + ."\n" + .'- **Redis**:阿里云Redis实例。'."\n" + .'- **RDS**:阿里云RDS实例。'."\n" + .'- **PolarDB**:阿里云PolarDB集群(仅支持MySQL或兼容Oracle语法的引擎)。'."\n" + .'- **ECS**:ECS上的自建数据库。'."\n" + .'- **Express**:通过专线接入的本地数据库。'."\n" + .'- **DataHub**:阿里云DataHub实例。'."\n" + .'- **MaxCompute**:阿里云MaxCompute实例。'."\n" + .'- **AnalyticDB**:云原生数据仓库AnalyticDB MySQL 3.0和2.0版本。'."\n" + .'- **Greenplum**:云原生数据仓库ADB PostgreSQL版(原分析型数据库PostgreSQL版)。'."\n" + ."\n" + .'> 默认取值为**RDS**。', 'type' => 'string', 'required' => false, 'example' => 'RDS'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'DestinationEndpoint.IP', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '目标库的IP地址。'."\n" + .'> 当**DestinationEndpoint.InstanceType**取值为**Express**、**dg**或**cen**时,本参数必须传入本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '172.16.88.***'], ], [ - 'name' => 'SubscriptionInstanceId', + 'name' => 'DestinationEndpoint.Port', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例ID,可以通过调用DescribeSubscriptionInstances接口查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsg2m10r1x15a****', - ], + 'schema' => ['description' => '目标库的数据库服务端口。'."\n" + .'> 当**DestinationEndpoint.InstanceType**取值为**ECS**、**Express**、**dg**或**cen**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '3306'], ], [ - 'name' => 'ConsumerGroupName', + 'name' => 'DestinationEndpoint.UserName', 'in' => 'query', - 'schema' => [ - 'description' => '消费组名称,不超过128个字符。建议配置具有业务意义的名称,便于后续识别。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '测试订阅组', - ], + 'schema' => ['description' => '目标库的数据库账号。'."\n" + .'> - 同步不同的数据库所需的权限有所差异,详情请参见[DTS数据同步方案概览](~~140954~~)中对应的配置案例。'."\n" + .'- 当**DestinationEndpoint.InstanceType**取值为**ECS**、**Express**、**dg**或**cen**时,本参数必须传入。'."\n" + .'- 当**DestinationEndpoint.InstanceType**取值为RDS且数据库版本为MySQL 5.5或MySQL 5.6,无需传入本参数和**DestinationEndpoint.Password**参数。'."\n" + .'- 当**DestinationEndpoint.InstanceType**取值为**Redis**时,无需传入本参数。', 'type' => 'string', 'required' => false, 'example' => 'dtstestaccount'], ], [ - 'name' => 'ConsumerGroupUserName', + 'name' => 'DestinationEndpoint.Password', 'in' => 'query', - 'schema' => [ - 'description' => '消费组的账号。'."\n" - ."\n" - .'由大写字母、小写字母、数字、下划线中的任意一种或多种组成。'."\n" - .'最长 16 个字符。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtstest', - ], + 'schema' => ['description' => '目标库数据库账号密码。'."\n" + ."\n" + .'> - 当**DestinationEndpoint.InstanceType**取值为**ECS**、**Express**、**dg**或**cen**时,本参数必须传入。', 'type' => 'string', 'required' => false, 'example' => 'Test654321'], ], [ - 'name' => 'ConsumerGroupPassword', + 'name' => 'StructureInitialization', 'in' => 'query', - 'schema' => [ - 'description' => '消费组账号的密码。'."\n" - ."\n" - .'- 由大写字母、小写字母、数字、特殊字符中的任意两种或两种以上组成。'."\n" - .'- 密码长度为8~32个字符。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Test123456', - ], + 'schema' => ['description' => '是否执行结构初始化,取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。'."\n" + ."\n" + .'> 默认取值:**true**。', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'true'], ], [ - 'name' => 'AccountId', + 'name' => 'DataInitialization', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '是否执行全量数据初始化,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。'."\n" + ."\n" + .'> 默认取值:**true**。', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'true'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'SynchronizationObjects', + 'in' => 'formData', + 'schema' => ['description' => '同步对象,格式为JSON串且支持一定的正则表达式,详细说明,请参见[同步对象配置说明](~~141901~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"DBName":"dtstestdata","TableIncludes":[{"TableName":"customer"}]}]'], + ], + [ + 'name' => 'SourceEndpoint.OwnerID', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '源RDS实例所属的阿里云账号ID。'."\n" + .'> 传入本参数即代表执行跨阿里云账号的数据同步,同时您还需要传入**SourceEndpoint.Role**参数。', 'type' => 'string', 'required' => false, 'example' => '140692647406****'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ConsumerGroupID' => [ - 'description' => '消费组ID。'."\n", - 'type' => 'string', - 'example' => 'dtswc411cg617p****', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6063641E-BAD1-4BA7-B70B-26FFFD18****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - ], - ], + [ + 'name' => 'SourceEndpoint.Role', + 'in' => 'query', + 'schema' => ['description' => '源实例所属云账号配置的角色名称。'."\n" + .'> 执行跨阿里云账号的数据同步时须传入本参数,该角色所需的权限及授权方式请参见[跨阿里云账号数据迁移或同步时如何配置RAM授权](~~48468~~)。', 'type' => 'string', 'required' => false, 'example' => 'ram-for-dts'], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + [ + 'name' => 'PartitionKey.ModifyTime_Year', + 'in' => 'query', + 'schema' => ['description' => '设置增量日志表是否包含以增量更新时间对应年份信息定义的分区,取值:**true**或**false**。'."\n" + .'> 当**DestinationEndpoint.InstanceType**参数取值为**Maxcompute**时,本参数才可用。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], - 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + [ + 'name' => 'PartitionKey.ModifyTime_Month', + 'in' => 'query', + 'schema' => ['description' => '设置增量日志表是否包含以增量更新时间对应月份信息定义的分区,取值:**true**或**false**。'."\n" + .'> 当**DestinationEndpoint.InstanceType**参数取值为**Maxcompute**时,本参数才可用。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], - 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + [ + 'name' => 'PartitionKey.ModifyTime_Day', + 'in' => 'query', + 'schema' => ['description' => '设置增量日志表是否包含以增量更新时间对应日期信息定义的分区,取值:**true**或**false**。'."\n" + .'> 当**DestinationEndpoint.InstanceType**参数取值为**Maxcompute**时,本参数才可用。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ConsumerGroupID\\": \\"dtswc411cg617p****\\",\\n \\"RequestId\\": \\"6063641E-BAD1-4BA7-B70B-26FFFD18****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '创建消费组', - 'summary' => '为数据订阅实例新增消费组。', - ], - 'DeleteConsumerGroup' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'PartitionKey.ModifyTime_Hour', + 'in' => 'query', + 'schema' => ['description' => '设置增量日志表是否包含以增量更新时间对应小时信息定义的分区,取值:**true**或**false**。'."\n" + .'> 当**DestinationEndpoint.InstanceType**参数取值为**Maxcompute**时,本参数才可用。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'PartitionKey.ModifyTime_Minute', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '设置增量日志表是否包含以增量更新时间对应分钟信息定义的分区,取值:**true**或**false**。'."\n" + ."\n" + .'> 当**DestinationEndpoint.InstanceType**参数取值为**Maxcompute**时,本参数才可用。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'SubscriptionInstanceId', + 'name' => 'MigrationReserved', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例ID,可以通过调用**DescribeSubscriptionInstances**接口查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsg2m10r1x15a****', - ], + 'schema' => ['description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。'."\n" + .'> 如在Redis企业版实例间的数据同步可使用该参数,更多信息,请参见[调用OpenAPI配置Redis企业版实例间单向或双向数据同步](~~155967~~)。', 'type' => 'string', 'required' => false, 'example' => '{ "autoStartModulesAfterConfig": "none", "targetTableMode": 2 }'], ], [ - 'name' => 'ConsumerGroupID', + 'name' => 'Checkpoint', 'in' => 'query', - 'schema' => [ - 'description' => '消费组ID,您可以调用[DescribeConsumerGroup](~~122886~~)接口查询消费组ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtssb911ydd192****', - ], + 'schema' => ['description' => '同步位点。', 'type' => 'string', 'required' => false, 'example' => '1610540493'], ], [ 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], + ], + [ + 'name' => 'SourceEndpoint.DatabaseName', + 'in' => 'query', + 'schema' => ['description' => '源实例中的同步对象所属数据库名称。', 'type' => 'string', 'required' => false, 'example' => 'dtstestdata'], + ], + [ + 'name' => 'DestinationEndpoint.DataBaseName', + 'in' => 'query', + 'schema' => ['description' => '目标实例中的同步对象所属数据库名称。', 'type' => 'string', 'required' => false, 'example' => 'dtstestdata'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -5361,62 +1989,53 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4D0ADAD5-DD97-41B6-B78F-D1961AB1****', - ], - 'ErrCode' => [ - 'description' => '调用错误时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '2690E467-7773-43BC-A009-370EE2E7****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2690E467-7773-43BC-A009-370EE2E7****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ConfigureSynchronizationJobResponse>\\n <RequestId>2690E467-7773-43BC-A009-370EE2E7****</RequestId>\\n <Success>true</Success>\\n</ConfigureSynchronizationJobResponse>","errorExample":""}]', + 'title' => '配置数据同步作业', + 'summary' => '老版配置数据同步作业。', + 'description' => '调用本接口前,已调用[CreateSynchronizationJob](~~49446~~)接口创建了数据同步实例。'."\n" + .'> - 本接口调用成功后,数据同步实例会自动启动并执行预检查,您无需调用[StartSynchronizationJob](~~49448~~)接口来启动。'."\n" + .'- 如果数据同步实例没有被成功启动,可能是预检查失败,您可以调用[DescribeSynchronizationJobStatus](~~49453~~)接口查询数据同步实例的状态,获取预检查失败的错误提示并进行参数调整。调整完成后,您可以调用[StartSynchronizationJob](~~49448~~)接口来重启数据同步实例。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:ConfigureSynchronizationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4D0ADAD5-DD97-41B6-B78F-D1961AB1****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '删除消费组', - 'summary' => '删除订阅通道中的消费组。', ], - 'ModifyConsumerGroupPassword' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ConfigureSynchronizationJobAlert' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5424,107 +2043,84 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SubscriptionInstanceId', + 'name' => 'SynchronizationJobId', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例ID,可以通过调用DescribeSubscriptionInstances接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsg2m10r1x15a****', - ], + 'schema' => ['description' => '数据同步实例ID,可以通过调用DescribeSynchronizationJobs接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtskxz1170c10p****'], ], [ - 'name' => 'ConsumerGroupID', + 'name' => 'SynchronizationDirection', 'in' => 'query', - 'schema' => [ - 'description' => '消费组ID,'."\n" - .'您可以调用[DescribeConsumerGroup](~~122886~~)接口查询消费组ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtswc411cg617p****', - ], + 'schema' => ['description' => '同步方向,取值:'."\n" + ."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> 默认取值为**Forward**。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ - 'name' => 'ConsumerGroupName', + 'name' => 'DelayAlertStatus', 'in' => 'query', - 'schema' => [ - 'description' => '消费组名称,您可以调用[DescribeConsumerGroup](~~122886~~)接口查询。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstest', - ], + 'schema' => ['description' => '是否监控延迟状态,取值:'."\n" + ."\n" + .'- **enable**:是。'."\n" + .'- **disable**:否。'."\n" + ."\n" + .'> - 默认取值为**enable**。'."\n" + .'- 本参数和**ErrorAlertStatus**参数两者中至少传入一个。', 'type' => 'string', 'required' => false, 'example' => 'enable'], ], [ - 'name' => 'ConsumerGroupUserName', + 'name' => 'DelayAlertPhone', 'in' => 'query', - 'schema' => [ - 'description' => '消费组账号,您可以使用DescribeConsumerGroup接口查询', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstest', - ], + 'schema' => ['description' => '延迟报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" + ."\n" + .'说明'."\n" + .'本参数目前只支持中国站,仅支持大陆手机号码,且最多传入 10 个手机号码。'."\n" + .'国际站不支持手机告警,仅支持通过云监控平台为 DTS 任务设置报警规则。', 'type' => 'string', 'required' => false, 'example' => '1361234****,1371234****'], ], [ - 'name' => 'ConsumerGroupPassword', + 'name' => 'ErrorAlertStatus', 'in' => 'query', - 'schema' => [ - 'description' => '消费组当前的密码。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Test123456', - ], + 'schema' => ['description' => '是否监控异常状态,取值:'."\n" + ."\n" + .'- **enable**:是。'."\n" + .'- **disable**:否。'."\n" + ."\n" + .'> - 默认取值为**enable**。'."\n" + .'- 本参数和**DelayAlertStatus**参数两者中至少传入一个。'."\n" + .'- 开启监控异常状态功能后,如果检测到异常,将触发报警。', 'type' => 'string', 'required' => false, 'example' => 'enable'], ], [ - 'name' => 'consumerGroupNewPassword', + 'name' => 'ErrorAlertPhone', 'in' => 'query', - 'schema' => [ - 'description' => '消费组的新密码。'."\n" - ."\n" - .'- 密码由大写字母、小写字母、数字、特殊字符中的任意两种或两种以上组成。'."\n" - .'- 密码长度为8~32个字符。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Test654321', - ], + 'schema' => ['description' => '异常报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" + ."\n" + .'说明'."\n" + .'本参数目前只支持中国站,仅支持大陆手机号码,且最多传入 10 个手机号码。'."\n" + .'国际站不支持手机告警,仅支持通过云监控平台为 DTS 任务设置报警规则。', 'type' => 'string', 'required' => false, 'example' => '1361234****,1371234****'], + ], + [ + 'name' => 'DelayOverSeconds', + 'in' => 'query', + 'schema' => ['description' => '触发延迟报警的阈值,单位为秒且需为整数,可根据业务需要设置阈值,建议设置10秒以上,避免因网络、数据库负载等原因导致的延迟波动。'."\n" + .'> 当**DelayAlertStatus**取值为**enable**时,本参数必须传入。', 'type' => 'string', 'required' => false, 'example' => '10'], ], [ 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '阿里云主账号id,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -5532,141 +2128,97 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'A06B5CFF-9576-4BC1-BE62-A3D43E1F****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8EEE7858-7D41-4EDF-9435-AEED2A34****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8EEE7858-7D41-4EDF-9435-AEED2A34****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '配置同步作业的监控报警', + 'summary' => '配置监控报警,来监控同步作业的延迟和异常状态。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:ConfigureSynchronizationJobAlert', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A06B5CFF-9576-4BC1-BE62-A3D43E1F****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '修改消费组密码', - 'summary' => '老版修改消费组密码。', ], - 'DescribeConsumerGroup' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ConfigureSynchronizationJobReplicatorCompare' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'PageSize', + 'name' => 'SynchronizationJobId', 'in' => 'query', - 'schema' => [ - 'description' => '每页记录数,取值: **30**、**50**、**100**,默认值为**30**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '30', - 'default' => '30', - ], + 'schema' => ['description' => '数据同步实例ID,可以通过调用[DescribeSynchronizationJobs](~~49454~~)接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsexjk1alb116****'], ], [ - 'name' => 'PageNum', + 'name' => 'SynchronizationDirection', 'in' => 'query', - 'schema' => [ - 'description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => '指定同步方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 只有当数据同步实例的同步拓扑为双向同步时,才需要传入本参数。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ - 'name' => 'SubscriptionInstanceId', + 'name' => 'SynchronizationReplicatorCompareEnable', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例ID,可以通过调用DescribeSubscriptionInstances接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtso5xx5t9u19e****', - ], + 'schema' => ['description' => '全镜像开关,取值:'."\n" + .'- **true**:打开。'."\n" + .'- **false**:关闭。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****'], ], [ 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekz4us4iruleja', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -5674,250 +2226,94 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4204E899-8193-4D7D-A4FB-3A7F9063****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'PageRecordCount' => [ - 'description' => '一页最多可展示的消费组数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'TotalRecordCount' => [ - 'description' => '消费组总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'PageNumber' => [ - 'description' => '页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ConsumerChannels' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DescribeConsumerChannel' => [ - 'description' => '消费组列表。', - 'type' => 'array', - 'items' => [ - 'description' => '消费组列表。', - 'type' => 'object', - 'properties' => [ - 'ConsumerGroupUserName' => [ - 'description' => '消费组账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'ConsumerGroupID' => [ - 'description' => '消费组ID。', - 'type' => 'string', - 'example' => 'dtspis1110z232****', - ], - 'MessageDelay' => [ - 'description' => '消息延迟时间=当前时间-数据订阅通道中存在时间最早的未被消费的消息的时间戳,单位为秒。'."\n" - .'> 如果该参数返回**-1**,则表示当前没有客户端连接该消费组。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '172714', - ], - 'ConsumerGroupName' => [ - 'description' => '消费组名称。'."\n", - 'type' => 'string', - 'example' => 'consumergrouptest', - ], - 'ConsumptionCheckpoint' => [ - 'description' => '消费位点,即客户端在订阅通道内消费最后一条信息的时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2019-10-02T12:00:00Z', - ], - 'UnconsumedData' => [ - 'description' => '未消费的消息总数=未被消费的订阅数据数量+心跳消息数量'."\n" - .'> 如果该参数返回**-1**,则表示当前没有客户端连接该消费组。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '186600', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => '86A8FF0F-FA92-449D-B559-05CFF9F9****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86A8FF0F-FA92-449D-B559-05CFF9F9****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '配置同步时全镜像匹配开关', + 'summary' => '配置同步全镜像匹配开关。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:ConfigureSynchronizationJobReplicatorCompare', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4204E899-8193-4D7D-A4FB-3A7F9063****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"PageRecordCount\\": 30,\\n \\"TotalRecordCount\\": 1,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PageNumber\\": 1,\\n \\"ConsumerChannels\\": {\\n \\"DescribeConsumerChannel\\": [\\n {\\n \\"ConsumerGroupUserName\\": \\"dtstest\\",\\n \\"ConsumerGroupID\\": \\"dtspis1110z232****\\",\\n \\"MessageDelay\\": 172714,\\n \\"ConsumerGroupName\\": \\"consumergrouptest\\",\\n \\"ConsumptionCheckpoint\\": \\"2019-10-02T12:00:00Z\\",\\n \\"UnconsumedData\\": 186600\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '查询订阅实例中消费组详情', - 'summary' => '查询数据订阅实例中的消费组详情。', ], - 'CreateSubscriptionInstance' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ConvertInstanceResourceGroup' => [ + 'summary' => '为实例资源转资源组', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '152991', + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例所属的地域,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'Region', - 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,与订阅对象所在地域保持一致,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'SourceEndpoint.InstanceType', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅的实例类型,取值为:**MySQL**、**PolarDB**、**DRDS**、**Oracle**。'."\n" - .'> 默认取值为:**MySQL**。', - 'type' => 'string', - 'required' => false, - 'example' => 'MySQL', - ], + 'schema' => ['description' => '历史参数,当前该参数不生效,无需传参。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'm4312mab158****'], ], [ - 'name' => 'PayType', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '付费类型。'."\n" - ."\n" - .'- **Postpaid**:按量付费,默认付费类型。'."\n" - .'- **Prepaid**:预付费。', - 'type' => 'string', - 'required' => false, - 'example' => 'Prepaid', - ], + 'schema' => ['description' => 'DTS实例所属的地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Period', + 'name' => 'ResourceId', 'in' => 'query', - 'schema' => [ - 'description' => '预付费实例的计费方式,取值:'."\n" - ."\n" - .'- **Year**:包年。'."\n" - .'- **Month**:包月。'."\n" - ."\n" - .'> 当付费类型为**Prepaid**(预付费)时,该参数才有效且必须传入。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Month', - ], + 'schema' => ['description' => 'DTS实例的ID,可在控制台对应任务列表页面的**ID/名称**列查看。'."\n" + ."\n" + .'> 本参数为必填参数。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'dtszhc12zp727o****'], ], [ - 'name' => 'UsedTime', - 'in' => 'query', - 'schema' => [ - 'description' => '预付费实例购买时长。'."\n" - ."\n" - .'- 当计费方式为**Year**(包年)时,取值范围为**1~5**。'."\n" - .'- 当计费方式为**Month**(包月)时,取值范围为**1~60**。'."\n" - ."\n" - .'> 当付费类型为**Prepaid**(预付费)时,该参数才有效且必须传入。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '12', - ], - ], - [ - 'name' => 'ClientToken', + 'name' => 'NewResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。', - 'type' => 'string', - 'required' => false, - 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', - ], + 'schema' => ['description' => '新的资源组ID,可通过资源组控制台获取。更多信息,请参见[查看资源组基本信息](~~151181~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2r4fkrqw****'], ], [ - 'name' => 'AccountId', + 'name' => 'ZeroEtlJob', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '特殊业务专用字段,无需传参。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '特殊业务专用字段,无需传参。', 'type' => 'string', 'required' => false, 'example' => 'rg-3m1213ye7l****'], ], ], 'responses' => [ @@ -5925,362 +2321,270 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4E9564C5-F99D-4176-A6BA-2D7F2DC8****', - ], - 'SubscriptionInstanceId' => [ - 'description' => '数据订阅实例ID。', - 'type' => 'string', - 'example' => 'dtsfen11q2g23x****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'AD823BD3-1BA6-4117-A536-165CB280****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'Code' => ['description' => '后端错误码,数字递增。', 'type' => 'string', 'example' => '500'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果返回**The Value of Input Parameter %s is not valid**,且DynamicMessage返回DtsJobId,则代表所传入的请求参数DtsJobId不合法。', 'type' => 'string', 'example' => 'DtsJobId'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"AD823BD3-1BA6-4117-A536-165CB280****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"500\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\"\\n}","errorExample":""},{"type":"xml","example":"<ConvertInstanceResourceGroupResponse>\\n <RequestId>AA9B0557-2424-5D56-83DF-CF68F588****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</ConvertInstanceResourceGroupResponse>","errorExample":""}]', + 'title' => '修改DTS实例的资源组', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ConvertInstanceResourceGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4E9564C5-F99D-4176-A6BA-2D7F2DC8****\\",\\n \\"SubscriptionInstanceId\\": \\"dtsfen11q2g23x****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '创建数据订阅通道', - 'summary' => '老版创建数据订阅通道。', ], - 'DeleteSubscriptionInstance' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CountJobByCondition' => [ + 'summary' => '按条件统计任务', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['title' => '查询类型', 'description' => '传入此参数,指定查询类型: '."\n" + .'- **name** :根据job名称查询 '."\n" + .'- **rds**:根据目标端实例id查询 '."\n" + .'- **instance**:根据dts实例id查询'."\n" + .'- **srcRds**:根据源端实例id查询'."\n" + ."\n" + .'> 与查询的值**JobType**对应', 'type' => 'string', 'required' => false, 'example' => 'name/instance'], ], [ - 'name' => 'SubscriptionInstanceId', + 'name' => 'Region', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例ID,可以通过调用[DescribeSubscriptionInstances](~~49442~~)接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsmxg11pfp231****', - ], + 'schema' => ['description' => '筛选条件之一,地域id,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'AccountId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => 'DTS实例所在地域的id,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'JobType', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => 'C306C198-7807-409D-930A-D6CE6C32****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + 'schema' => ['description' => '任务类型,取值为:'."\n" + ."\n" + .'- **MIGRATION**:迁移。'."\n" + .'- **SYNC**:同步。'."\n" + .'- **SUBSCRIBE**:订阅。', 'type' => 'string', 'required' => false, 'example' => 'SYNC'], ], - 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + [ + 'name' => 'Params', + 'in' => 'query', + 'schema' => ['title' => '查询的值,与Type对应', 'description' => '查询的值,与JobType对应', 'type' => 'string', 'required' => false, 'example' => 'dtspk3f13r731m****'], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C306C198-7807-409D-930A-D6CE6C32****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '释放订阅实例', - 'summary' => '释放数据订阅实例通道。', - ], - 'StartSubscriptionInstance' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Status', + 'in' => 'query', + 'schema' => ['description' => 'DTS实例状态,取值:'."\n" + ."\n" + .'迁移任务状态:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **MigrationFailed**:迁移失败。'."\n" + .'- **Finished**:完成。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Downgrade**:降级中。'."\n" + ."\n" + .'同步任务状态:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **Initializing**:同步初始化中。'."\n" + .'- **InitializeFailed**:同步初始化失败。'."\n" + .'- **Synchronizing**:同步中。'."\n" + .'- **Failed**:同步失败。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Modifying**:修改子对象中。'."\n" + .'- **Finished**:完成。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Downgrade**:降级中。'."\n" + ."\n" + .'订阅任务的状态:'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **Starting**:启动中。'."\n" + .'- **Normal**:正常。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Abnormal**:异常。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Downgrade**:降级中。', 'type' => 'string', 'required' => false, 'example' => 'Finished'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['title' => '父任务id', 'description' => '分布式同步任务的父任务id', 'type' => 'string', 'required' => false, 'example' => 'pk13r731m****'], ], [ - 'name' => 'SubscriptionInstanceId', + 'name' => 'SrcDbType', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例ID,可以通过调用[DescribeSubscriptionInstances](~~49442~~)接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtso6m11cxt26q****', - ], + 'schema' => ['title' => '源端数据库类型', 'description' => '源端数据库类型', 'type' => 'string', 'required' => false, 'example' => 'MongoDB'], ], [ - 'name' => 'AccountId', + 'name' => 'DestDbType', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['title' => '目标端数据库类型', 'description' => '目标端数据库类型', 'type' => 'string', 'required' => false, 'example' => 'MongoDB'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekz4us4iruleja', - ], + 'schema' => ['description' => '资源组ID,全局参数,当前API无需传入。', 'type' => 'string', 'required' => false, 'example' => '资源组ID,全局参数,当前API无需传入。'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => 'B083F9AB-BE9B-4716-8AD3-CFA04391****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'TaskId' => [ - 'description' => '任务ID,该参数即将下线。', - 'type' => 'string', - 'example' => '11****', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'FC3BAAF2-74E3-4471-8EB5-96202D6A****'], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。'."\n", 'type' => 'string', 'example' => 'present environment is not support,so skip.'], + 'DynamicCode' => ['description' => '服务内部错误码,该参数即将下线。', 'type' => 'string', 'example' => '403'], + 'TotalRecordCount' => ['description' => '阿里云主账号下所有符合条件的数据同步实例数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '100'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FC3BAAF2-74E3-4471-8EB5-96202D6A****\\",\\n \\"HttpStatusCode\\": 200,\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"TotalRecordCount\\": 100\\n}","type":"json"}]', + 'title' => '按条件统计任务', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dts:CountJobByCondition', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B083F9AB-BE9B-4716-8AD3-CFA04391****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"TaskId\\": \\"11****\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '启动订阅数据订阅实例通道', - 'summary' => '老版启动订阅数据订阅实例通道。', ], - 'ModifySubscriptionObject' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateConsumerChannel' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'DTS订阅实例所在地域的ID,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SubscriptionInstanceId', + 'name' => 'DtsInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例ID,可以通过调用[DescribeSubscriptionInstances](~~49442~~)接口查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsl8zl9ek6292****', - ], + 'schema' => ['description' => '订阅实例ID,可以调用[DescribeDtsJobs](~~209702~~)查询。'."\n" + .'> 参数**DtsInstanceId**与**DtsJobId**,两者必须传入其一。', 'type' => 'string', 'required' => false, 'example' => 'dtsboss6pn1w******'], ], [ - 'name' => 'SubscriptionObject', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '订阅对象,格式为JSON串且支持一定的正则表达式,详细说明请参见[订阅对象配置说明](~~141902~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"DBName":"dtstestdata"}]', - ], + 'schema' => ['description' => '订阅任务ID,可以调用[DescribeDtsJobs](~~209702~~)查询。'."\n" + .'> 参数**DtsInstanceId**与**DtsJobId**,两者必须传入其一。', 'type' => 'string', 'required' => false, 'example' => 'boss6pn1w******'], ], [ - 'name' => 'AccountId', + 'name' => 'ConsumerGroupName', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '消费组的名称,不超过128个字符。建议配置具有业务意义的名称,便于后续识别。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '订阅组A'], + ], + [ + 'name' => 'ConsumerGroupPassword', + 'in' => 'query', + 'schema' => ['description' => '消费组的账号密码。'."\n" + ."\n" + .'- 由大写字母、小写字母、数字、特殊字符中的任意两种或两种以上组成。'."\n" + .'- 密码长度为8~32个字符。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Test123456'], + ], + [ + 'name' => 'ConsumerGroupUserName', + 'in' => 'query', + 'schema' => ['description' => '消费组的账号。'."\n" + ."\n" + .'由大写字母、小写字母、数字、下划线中的任意一种或多种组成。'."\n" + .'最长 16 个字符。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtstest'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2zx4uizich7y'], ], ], 'responses' => [ @@ -6288,62 +2592,50 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'ABBACEFC-CBA9-4F80-A337-42F202F5****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'HttpStatusCode' => ['description' => '状态码。'."\n" + ."\n", 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '5F566C5B-E5B0-4020-A531-FC6F5005****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'ConsumerGroupID' => ['description' => '消费组ID,可在下游客户端消费订阅数据时传入。', 'type' => 'string', 'example' => 'dtsor2y66j4219****'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"5F566C5B-E5B0-4020-A531-FC6F5005****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"ConsumerGroupID\\": \\"dtsor2y66j4219****\\"\\n}","type":"json"}]', + 'title' => '创建订阅任务消费组', + 'summary' => '新版创建订阅任务消费组。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:CreateConsumerChannel', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ABBACEFC-CBA9-4F80-A337-42F202F5****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '修改订阅对象', - 'summary' => '老版修改订阅对象。', ], - 'ModifyConsumptionTimestamp' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateConsumerGroup' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6351,61 +2643,48 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => [], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据订阅实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'SubscriptionInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例ID,可以通过调用**DescribeSubscriptionInstances**接口查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsg2m10r1x15a****', - ], + 'schema' => ['description' => '数据订阅实例ID,可以通过调用DescribeSubscriptionInstances接口查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsg2m10r1x15a****'], ], [ - 'name' => 'ConsumptionTimestamp', + 'name' => 'ConsumerGroupName', 'in' => 'query', - 'schema' => [ - 'description' => '消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '2019-10-15T17:20:03Z', - ], + 'schema' => ['description' => '消费组名称,不超过128个字符。建议配置具有业务意义的名称,便于后续识别。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '测试订阅组'], + ], + [ + 'name' => 'ConsumerGroupUserName', + 'in' => 'query', + 'schema' => ['description' => '消费组的账号。'."\n" + ."\n" + .'由大写字母、小写字母、数字、下划线中的任意一种或多种组成。'."\n" + .'最长 16 个字符。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtstest'], + ], + [ + 'name' => 'ConsumerGroupPassword', + 'in' => 'query', + 'schema' => ['description' => '消费组账号的密码。'."\n" + ."\n" + .'- 由大写字母、小写字母、数字、特殊字符中的任意两种或两种以上组成。'."\n" + .'- 密码长度为8~32个字符。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Test123456'], ], [ 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -6413,185 +2692,110 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'ABBACEFC-CBA9-4F80-A337-42F202F5****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'ConsumerGroupID' => ['description' => '消费组ID。'."\n", 'type' => 'string', 'example' => 'dtswc411cg617p****'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6063641E-BAD1-4BA7-B70B-26FFFD18****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用出错时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ConsumerGroupID\\": \\"dtswc411cg617p****\\",\\n \\"RequestId\\": \\"6063641E-BAD1-4BA7-B70B-26FFFD18****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '创建消费组', + 'summary' => '为数据订阅实例新增消费组。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'dts:CreateConsumerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ABBACEFC-CBA9-4F80-A337-42F202F5****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '修改消费时间点', - 'summary' => '修改数据订阅实例通道的消费时间点。', ], - 'DescribeSubscriptionInstances' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateDedicatedClusterMonitorRule' => [ + 'summary' => '调用CreateDedicatedClusterMonitorRule接口创建报警规则。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例所在地域的ID,详情请参见[支持的地域列表](~~49442~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'rm-bp1162kryivb8****'], ], [ - 'name' => 'PageSize', + 'name' => 'DedicatedClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '每页记录数,取值:**30**、**50**、**100**,默认值为**30**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '30', - 'default' => '30', - ], + 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => true, 'example' => 'dts-dasd22******'], ], [ - 'name' => 'PageNum', + 'name' => 'NoticeSwitch', 'in' => 'query', - 'schema' => [ - 'description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => '报警开关,取值:'."\n" + ."\n" + .'- **1**:打开。'."\n" + .'- **0**:关闭。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'], ], [ - 'name' => 'SubscriptionInstanceName', + 'name' => 'DuAlarmThreshold', 'in' => 'query', - 'schema' => [ - 'description' => '订阅实例名称。'."\n" - .'> 传入本参数后,DTS将在调用结果中返回包含该名称的订阅实例。', - 'type' => 'string', - 'required' => false, - 'example' => 'MySQL订阅', - ], + 'schema' => ['description' => 'DU报警阈值,单位为%。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20'], ], [ - 'name' => 'ClientToken', + 'name' => 'CpuAlarmThreshold', 'in' => 'query', - 'schema' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', - ], + 'schema' => ['description' => 'CPU报警阈值,单位为%。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '30'], ], [ - 'name' => 'AccountId', + 'name' => 'MemAlarmThreshold', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => 'Mem报警阈值,单位为%。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '40'], ], [ - 'name' => 'Tag', + 'name' => 'DiskAlarmThreshold', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '数据迁移实例的标签,作为过滤项,当此项不为空时,仅拥有此标签的实例会返回。', - 'type' => 'array', - 'items' => [ - 'description' => '数据迁移实例的标签,作为过滤项,当此项不为空时,仅拥有此标签的实例会返回。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '标签的键。'."\n" - .'> - N表示传入第几个标签的键。例如:Tag.1.Key表示传入第一个标签的键;Tag.2.Key表示传入第二个标签的键。可以同时查询1~20个标签键。'."\n" - .'- 不允许传入空字符串。'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'testkey1', - ], - 'Value' => [ - 'description' => '标签的值。'."\n" - .'>- N表示传入第几个标签的值。例如:Tag.1.Value表示传入第一个标签的值;Tag.2.Value表示传入第二个标签的值。可以同时查询1~20个标签值。'."\n" - .'- 允许传入空字符串。', - 'type' => 'string', - 'required' => false, - 'example' => 'testvalue1', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 11, - ], + 'schema' => ['description' => '磁盘报警阈值,单位为%。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100'], + ], + [ + 'name' => 'Phones', + 'in' => 'query', + 'schema' => ['description' => '报警电话,多个用逗号(,)隔开。', 'type' => 'string', 'required' => true, 'example' => '186****7654'], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'DTS实例所在地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekz4us4iruleja', - ], + 'schema' => ['description' => '资源组ID,全局参数,当前API无需传入。', 'type' => 'string', 'required' => false, 'example' => '资源组ID,全局参数,当前API无需传入。'], ], ], 'responses' => [ @@ -6599,301 +2803,48 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => 'FC3BAAF2-74E3-4471-8EB5-96202D6A****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'PageRecordCount' => [ - 'description' => '当前页可展示的最大记录数。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'TotalRecordCount' => [ - 'description' => '阿里云主账号下所有符合条件的数据订阅实例数量。'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'PageNumber' => [ - 'description' => '页码。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SubscriptionInstances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SubscriptionInstance' => [ - 'description' => '数据订阅实例列表和各订阅实例的详情。', - 'type' => 'array', - 'items' => [ - 'description' => '数据订阅实例列表和各订阅实例的详情。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '订阅实例的状态,返回值为:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **Starting**:启动中。'."\n" - .'- **Normal**:正常。'."\n" - .'- **Abnormal**:异常。', - 'type' => 'string', - 'example' => 'Normal', - ], - 'ErrorMessage' => [ - 'description' => '数据订阅异常的错误提示。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'xxxxxxxx', - ], - 'PayType' => [ - 'description' => '订阅实例的付费类型,返回值:'."\n" - .'- **PrePaid**:包年包月(预付费)。'."\n" - .'- **PostPaid**:按量付费(后付费)。'."\n", - 'type' => 'string', - 'example' => 'PrePaid', - ], - 'ConsumptionClient' => [ - 'description' => '下游链接对应的IP和随机标识信息,其中IP为下游客户端的IP地址,随机标示为DTS生成的随机ID。', - 'type' => 'string', - 'example' => '114.***.***.**:dts********', - ], - 'ConsumptionCheckpoint' => [ - 'description' => '订阅实例的下游消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2021-06-21T09:30:31Z', - ], - 'EndTimestamp' => [ - 'description' => '订阅实例保存数据范围的末尾时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n", - 'type' => 'string', - 'example' => '2021-06-21T10:17:21Z', - ], - 'InstanceCreateTime' => [ - 'description' => '订阅实例创建时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n", - 'type' => 'string', - 'example' => '2021-06-21T02:48:20Z', - ], - 'BeginTimestamp' => [ - 'description' => '订阅实例保存数据范围的起始时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2021-06-21T08:25:43Z', - ], - 'SubscribeTopic' => [ - 'description' => '订阅Topic。'."\n" - .'> 当该订阅实例为新版,且调用[CreateConsumerGroup](~~122863~~)接口创建了消费组时,才会返回本参数。', - 'type' => 'string', - 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2', - ], - 'SubscriptionInstanceName' => [ - 'description' => '数据订阅实例名称。', - 'type' => 'string', - 'example' => 'mysql订阅', - ], - 'SubscriptionInstanceID' => [ - 'description' => '数据订阅实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1162kryivb8****', - ], - 'JobCreateTime' => [ - 'description' => '订阅任务创建时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n", - 'type' => 'string', - 'example' => '2021-06-21T02:48:20Z', - ], - 'SubscriptionObject' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SynchronousObject' => [ - 'description' => '订阅对象。', - 'type' => 'array', - 'items' => [ - 'description' => '订阅对象。', - 'type' => 'object', - 'properties' => [ - 'DatabaseName' => [ - 'description' => '订阅对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'WholeDatabase' => [ - 'description' => '是否订阅整库,返回值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。'."\n", - 'type' => 'string', - 'example' => 'false', - ], - 'TableList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Table' => [ - 'description' => '订阅对象的表名。', - 'type' => 'array', - 'items' => [ - 'description' => '订阅对象的表名。', - 'type' => 'string', - 'example' => 'test1', - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => '标签集合。'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '标签集合。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '标签键。'."\n", - 'type' => 'string', - 'example' => 'testkey1', - ], - 'Value' => [ - 'description' => '标签键对应的标签值。'."\n", - 'type' => 'string', - 'example' => 'testvalue1', - ], - ], - ], - ], - ], - ], - 'SourceEndpoint' => [ - 'description' => '源实例的连接信息。', - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => '源实例类型。'."\n" - .'> 当该订阅实例为新版时,才会返回该参数。'."\n", - 'type' => 'string', - 'example' => 'RDS', - ], - 'InstanceID' => [ - 'description' => '源实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1162kryivb8****', - ], - ], - ], - 'SubscriptionDataType' => [ - 'description' => '订阅数据的类型。', - 'type' => 'object', - 'properties' => [ - 'DML' => [ - 'description' => '订阅数据是否包含DML语句,返回值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DDL' => [ - 'description' => '订阅数据是否包含DDL语句,返回值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - 'SubscriptionHost' => [ - 'description' => '订阅实例的连接地址。', - 'type' => 'object', - 'properties' => [ - 'VPCHost' => [ - 'description' => '订阅实例的专有网络VPC(Virtual Private Cloud)连接信息,格式为`地址:端口号`。'."\n", - 'type' => 'string', - 'example' => 'dts-cn-****-vpc.aliyuncs.com:18003', - ], - 'PublicHost' => [ - 'description' => '订阅实例的公网连接信息,格式为`地址:端口号`。', - 'type' => 'string', - 'example' => 'dts-cn-****.aliyuncs.com:18001', - ], - 'PrivateHost' => [ - 'description' => '订阅实例的私网连接信息,格式为`地址:端口号`。', - 'type' => 'string', - 'example' => 'dts-cn-****-internal.aliyuncs.com:18002', - ], - ], - ], - ], - ], - ], - ], - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用出错时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateDedicatedClusterMonitorRuleResponse>\\n <code>200</code>\\n <data>\\n <RequestId>C80CF904-73D1-1983-9A1C-****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>C80CF904-73D1-1983-9A1C-****</requestId>\\n <successResponse>true</successResponse>\\n</CreateDedicatedClusterMonitorRuleResponse>","errorExample":""}]', + 'title' => '创建报警规则', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:CreateDedicatedClusterMonitorRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FC3BAAF2-74E3-4471-8EB5-96202D6A****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"PageRecordCount\\": 30,\\n \\"Success\\": \\"true\\",\\n \\"TotalRecordCount\\": 1,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PageNumber\\": 1,\\n \\"SubscriptionInstances\\": {\\n \\"SubscriptionInstance\\": [\\n {\\n \\"Status\\": \\"Normal\\",\\n \\"ErrorMessage\\": \\"xxxxxxxx\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"ConsumptionCheckpoint\\": \\"2021-06-21T09:30:31Z\\",\\n \\"EndTimestamp\\": \\"2021-06-21T10:17:21Z\\",\\n \\"InstanceCreateTime\\": \\"2021-06-21T02:48:20Z\\",\\n \\"BeginTimestamp\\": \\"2021-06-21T08:25:43Z\\",\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"SubscriptionInstanceName\\": \\"mysql订阅\\",\\n \\"SubscriptionInstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"JobCreateTime\\": \\"2021-06-21T02:48:20Z\\",\\n \\"SubscriptionObject\\": {\\n \\"SynchronousObject\\": [\\n {\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"WholeDatabase\\": \\"false\\",\\n \\"TableList\\": {\\n \\"Table\\": [\\n \\"test1\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"testkey1\\",\\n \\"Value\\": \\"testvalue1\\"\\n }\\n ]\\n },\\n \\"SourceEndpoint\\": {\\n \\"InstanceType\\": \\"RDS\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\"\\n },\\n \\"SubscriptionDataType\\": {\\n \\"DML\\": true,\\n \\"DDL\\": true\\n },\\n \\"SubscriptionHost\\": {\\n \\"VPCHost\\": \\"dts-cn-****-vpc.aliyuncs.com:18003\\",\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\"\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeSubscriptionInstancesResponse>\\r\\n <TotalRecordCount>1</TotalRecordCount>\\r\\n <PageRecordCount>30</PageRecordCount>\\r\\n <RequestId>FC3BAAF2-74E3-4471-8EB5-96202D6A****</RequestId>\\r\\n <PageNumber>1</PageNumber>\\r\\n <Success>true</Success>\\r\\n <SubscriptionInstances>\\r\\n <SubscriptionInstance>\\r\\n <Status>Normal</Status>\\r\\n <SubscriptionObject>\\r\\n <SynchronousObject>\\r\\n <DatabaseName>dtstestdata</DatabaseName>\\r\\n <WholeDatabase>false</WholeDatabase>\\r\\n <TableList>\\r\\n <Table>test1</Table>\\r\\n </TableList>\\r\\n </SynchronousObject>\\r\\n </SubscriptionObject>\\r\\n <SubscriptionDataType>\\r\\n <DML>true</DML>\\r\\n <DDL>true</DDL>\\r\\n </SubscriptionDataType>\\r\\n <SubscriptionInstanceName>mysql订阅</SubscriptionInstanceName>\\r\\n <SubscriptionHost>\\r\\n <PublicHost>dts-cn-hangzhou.aliyuncs.com:18001</PublicHost>\\r\\n <PrivateHost>dts-cn-hangzhou-internal.aliyuncs.com:18002</PrivateHost>\\r\\n <VPCHost>dts-cn-hangzhou-vpc.aliyuncs.com:18003</VPCHost>\\r\\n </SubscriptionHost>\\r\\n <SubscribeTopic>cn_hangzhou_rm_bp1162kryiv******_dtstest_version2</SubscribeTopic>\\r\\n <SourceEndpoint>\\r\\n <InstanceID>rm-bp1162kryivb8****</InstanceID>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n </SourceEndpoint>\\r\\n <InstanceCreateTime>2021-06-21T10:17:21Z</InstanceCreateTime>\\r\\n <JobCreateTime>2021-06-21T10:17:21Z</JobCreateTime>\\r\\n <EndTimestamp>2021-06-21T10:17:21Z</EndTimestamp>\\r\\n <PayType>PrePaid</PayType>\\r\\n <SubscriptionInstanceID>dtsy0zz3t13h******</SubscriptionInstanceID>\\r\\n <BeginTimestamp>2021-06-21T08:25:43Z</BeginTimestamp>\\r\\n <Tags></Tags>\\r\\n </SubscriptionInstance>\\r\\n </SubscriptionInstances>\\r\\n</DescribeSubscriptionInstancesResponse>","errorExample":""}]', - 'title' => '查询订阅实例列表及各实例详情', - 'summary' => '查询订阅实例列表和各订阅实例详情。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'DescribeSubscriptionInstanceStatus' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateDocParserJob' => [ + 'summary' => '创建文档解析任务。', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -6902,49 +2853,51 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '52309', + 'abilityTreeNodes' => ['FEATUREdtsE4ZR2L'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '文档解析任务所属的地域ID,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SubscriptionInstanceId', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例ID,可以通过调用[DescribeSubscriptionInstances](~~49442~~)接口查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsy0zz3t13h7d****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], [ - 'name' => 'AccountId', + 'name' => 'FileUrl', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '待解析文档的OSS地址。'."\n" + ."\n" + .'> 通过SDK调用时该参数为自动填充。', 'type' => 'string', 'required' => false, 'example' => 'https://oss-cn-hangzhou.aliyuncs.com/storage/pdf/40184458-fbb0-44cf-a391-350628ceccdd17375122****', 'isFileTransferUrl' => true], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'FileName', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '待解析文档的名称。'."\n" + ."\n" + .'> 包含扩展名,当前仅支持.pdf。', 'type' => 'string', 'required' => false, 'example' => '2.pdf'], + ], + [ + 'name' => 'ResultType', + 'in' => 'query', + 'schema' => ['description' => '解析任务完成后输出结果的格式,取值为:'."\n" + ."\n" + .'- **zip**:zip压缩包。'."\n" + .'- **content**:纯文本。', 'type' => 'string', 'required' => false, 'example' => 'zip'], + ], + [ + 'name' => 'RagInstanceId', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => false, 'description' => ''], ], ], 'responses' => [ @@ -6952,232 +2905,57 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '订阅实例的状态,返回值:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **Starting**:启动中。'."\n" - .'- **Normal**:正常。'."\n" - .'- **Abnormal**:异常。', - 'type' => 'string', - 'example' => 'Normal', - ], - 'ErrorMessage' => [ - 'description' => '数据订阅异常的错误提示。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'PayType' => [ - 'description' => '订阅实例的付费类型,返回值:'."\n" - .'- **PrePaid**:包年包月(预付费)。'."\n" - .'- **PostPaid**:按量付费(后付费)。'."\n", - 'type' => 'string', - 'example' => 'PrePaid', - ], - 'ConsumptionClient' => [ - 'description' => '下游消费客户端信息,由IP地址和DTS随机生成的随机数组成。'."\n", - 'type' => 'string', - 'example' => '114.***.***.**:dts********', - ], - 'ConsumptionCheckpoint' => [ - 'description' => '订阅实例的下游消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2021-03-23T07:30:31Z', - ], - 'EndTimestamp' => [ - 'description' => '订阅实例中保存的数据范围的截止时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n", - 'type' => 'string', - 'example' => '2021-03-26T14:03:21Z', - ], - 'BeginTimestamp' => [ - 'description' => '订阅实例中保存的数据范围的起始时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2021-03-15T08:25:34Z', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'E0845D0A-6D36-4EEB-BE26-CF191E1A****', - ], - 'SubscribeTopic' => [ - 'description' => '订阅Topic。'."\n" - .'> 当该订阅实例为新版,且调用[CreateConsumerGroup](~~122863~~)接口创建了消费组时,才会返回本参数。', - 'type' => 'string', - 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2', - ], - 'SubscriptionInstanceName' => [ - 'description' => '数据订阅实例名称。', - 'type' => 'string', - 'example' => 'api测试', - ], - 'SubscriptionInstanceID' => [ - 'description' => '数据订阅实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1162kryivb8****', - ], - 'TaskId' => [ - 'description' => '订阅任务ID。', - 'type' => 'string', - 'example' => 'y0zz3t13h7d****', - ], - 'SourceEndpoint' => [ - 'description' => '源实例的连接信息。'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => '源库的实例类型。'."\n" - .'> 当该订阅实例为新版时,才会返回该参数。'."\n", - 'type' => 'string', - 'example' => 'RDS', - ], - 'InstanceID' => [ - 'description' => '源库的实例ID。'."\n", - 'type' => 'string', - 'example' => 'rm-bp1162kryivb8****', - ], - ], - ], - 'SubscriptionDataType' => [ - 'description' => '订阅数据的类型。', - 'type' => 'object', - 'properties' => [ - 'DML' => [ - 'description' => '订阅数据是否包含DML语句,返回值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DDL' => [ - 'description' => '订阅数据是否包含DDL语句,返回值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - 'SubscriptionHost' => [ - 'description' => '订阅实例的连接地址。', - 'type' => 'object', - 'properties' => [ - 'VPCHost' => [ - 'description' => '订阅实例的专有网络VPC(Virtual Private Cloud)连接信息,格式为`地址:端口号`。', - 'type' => 'string', - 'example' => 'dts-cn-****-vpc.aliyuncs.com:18003', - ], - 'PublicHost' => [ - 'description' => '订阅实例的公网连接信息,格式为`地址:端口号`。'."\n", - 'type' => 'string', - 'example' => 'dts-cn-****.aliyuncs.com:18001', - ], - 'PrivateHost' => [ - 'description' => '订阅实例的私网连接信息,格式为`地址:端口号`。', - 'type' => 'string', - 'example' => 'dts-cn-****-internal.aliyuncs.com:18002', - ], - ], - ], - 'SubscriptionObject' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SynchronousObject' => [ - 'description' => '订阅对象。', - 'type' => 'array', - 'items' => [ - 'description' => '订阅对象。', - 'type' => 'object', - 'properties' => [ - 'DatabaseName' => [ - 'description' => '订阅对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'WholeDatabase' => [ - 'description' => '是否订阅整库,返回值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。'."\n", - 'type' => 'string', - 'example' => 'false', - ], - 'TableList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Table' => [ - 'description' => '订阅对象的表名。', - 'type' => 'array', - 'items' => [ - 'description' => '订阅对象的表名。', - 'type' => 'string', - 'example' => 'test1', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'HttpStatusCode' => ['description' => '状态码。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'FDC111B1-ACBF-457D-9656-247FDEE9****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用出错时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的%s。', 'type' => 'string', 'example' => 'present environment is not support, so skip'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], + 'DtsJobId' => ['description' => '文档解析任务的ID。', 'type' => 'string', 'example' => 'dts-20250729-boss6pn1w******'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'OperationDenied.NotPurchased', 'errorMessage' => 'The instance has not been purchased and the task cannot be started.', 'description' => '任务尚未购买,无法启动。'], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"FDC111B1-ACBF-457D-9656-247FDEE9****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"present environment is not support, so skip\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DtsJobId\\": \\"dts-20250729-boss6pn1w******\\"\\n}","type":"json"}]', + 'title' => '创建文档解析任务', + 'description' => '调用接口会创建一个文档解析的任务,并返回一个任务ID(DtsJobId)。'."\n" + ."\n" + .'> - 该接口依赖OSS进行文件中转,推荐通过SDK的方式调用,调用CreateDocParserJobAdvance接口会自动封装文件中转流程。'."\n" + .'> - 获取返回参数DtsJobId后,可以通过调用DescribeDocParserJobStatus接口查询文档解析任务的执行状态,调用DescribeDocParserJobResult接口获取文档解析的产物。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:CreateDocParserJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"Normal\\",\\n \\"ErrorMessage\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"ConsumptionCheckpoint\\": \\"2021-03-23T07:30:31Z\\",\\n \\"EndTimestamp\\": \\"2021-03-26T14:03:21Z\\",\\n \\"BeginTimestamp\\": \\"2021-03-15T08:25:34Z\\",\\n \\"RequestId\\": \\"E0845D0A-6D36-4EEB-BE26-CF191E1A****\\",\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"SubscriptionInstanceName\\": \\"api测试\\",\\n \\"SubscriptionInstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"TaskId\\": \\"y0zz3t13h7d****\\",\\n \\"SourceEndpoint\\": {\\n \\"InstanceType\\": \\"RDS\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\"\\n },\\n \\"SubscriptionDataType\\": {\\n \\"DML\\": true,\\n \\"DDL\\": true\\n },\\n \\"SubscriptionHost\\": {\\n \\"VPCHost\\": \\"dts-cn-****-vpc.aliyuncs.com:18003\\",\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\"\\n },\\n \\"SubscriptionObject\\": {\\n \\"SynchronousObject\\": [\\n {\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"WholeDatabase\\": \\"false\\",\\n \\"TableList\\": {\\n \\"Table\\": [\\n \\"test1\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '查看订阅通道实例状态详情', - 'summary' => '老版查看订阅通道实例状态详情。', ], - 'ConfigureSubscriptionInstance' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateDtsInstance' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7186,250 +2964,223 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '52216', + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例所在地域的ID,详情请参见。'."\n" - .'[支持的地域列表](~~141033~~)', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '调用**ConfigureDtsJob**接口获得的任务ID(**DtsJobId**)。'."\n" + .'>传入本参数后,则无需再传**SourceRegion**、**DestinationRegion**、**Type**、**SourceEndpointEngineName**、**DestinationEndpointEngineName**参数。即使传入也以**JobId**中的配置为准。', 'type' => 'string', 'required' => false, 'example' => 'bi6e22ay243****'], ], [ - 'name' => 'SubscriptionInstanceId', + 'name' => 'InstanceClass', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例ID,可以通过调用[DescribeSubscriptionInstances](~~49442~~)接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtshp8n2ze4r5x****', - ], + 'schema' => ['description' => '迁移或同步实例的规格。'."\n" + ."\n" + .'- 迁移实例支持的规格:**xxlarge**、**xlarge**、**large**、**medium**、**small**。'."\n" + .'- 同步实例支持的规格:**large**、**medium**、**small**、**micro**。'."\n" + ."\n" + .'> 不同规格对应的性能说明,请参见[数据迁移链路规格说明](~~26606~~)和[数据同步链路规格说明](~~26605~~)。', 'type' => 'string', 'required' => false, 'example' => 'xxlarge'], ], [ - 'name' => 'SubscriptionInstanceName', + 'name' => 'PayType', 'in' => 'query', - 'schema' => [ - 'description' => '订阅实例名称。'."\n" - .'> 建议配置具有业务意义的名称(无唯一性要求),便于后续识别。', - 'type' => 'string', - 'required' => false, - 'example' => 'MySQL订阅', - ], + 'schema' => ['description' => '支付类型:'."\n" + .'- **PrePaid**:预付费。'."\n" + .'- **PostPaid**:后付费。'."\n" + ."\n" + .'> 更正:本参数为必填参数。', 'type' => 'string', 'required' => false, 'example' => 'PrePaid'], ], [ - 'name' => 'SourceEndpoint.InstanceType', + 'name' => 'Period', 'in' => 'query', - 'schema' => [ - 'description' => '源数据库的实例类型,取值:'."\n" - .'- **RDS**:RDS MySQL。'."\n" - .'- **PolarDB**:PolarDB MySQL。'."\n" - .'- **LocalInstance**:有公网IP的自建数据库。'."\n" - .'- **ECS**:ECS上的自建数据库。'."\n" - .'- **Express**:通过专线接入的自建数据库。'."\n" - .'- **CEN**:通过云企业网CEN接入的自建数据库。'."\n" - .'- **dg**:通过数据库网关接入的自建数据库。'."\n" - ."\n" - .'> 支持自建数据库的数据库类型为MySQL、Oracle,您需要提前调用[CreateSubscriptionInstance](~~49436~~)设置。', - 'type' => 'string', - 'required' => false, - 'example' => 'RDS', - ], + 'schema' => ['description' => '预付费实例的计费方式,取值:**Year**(年)**Month**(月)。'."\n" + .'> 当**PayType**为**PrePaid**(预付费)时,该参数才有效且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'Month'], ], [ - 'name' => 'SourceEndpoint.InstanceID', + 'name' => 'SyncArchitecture', 'in' => 'query', - 'schema' => [ - 'description' => '源实例ID。'."\n" - .'> 源数据库的实例类型为RDS MySQL、PolarDB-X 1.0、PolarDB MySQL时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp1zc3iyqe3qw****', - ], + 'schema' => ['description' => '同步拓扑,取值:'."\n" + ."\n" + .'- **oneway**:单向同步,为默认值。'."\n" + .'- **bidirectional**:双向同步。', 'type' => 'string', 'required' => false, 'example' => 'oneway'], ], [ - 'name' => 'SubscriptionDataType.DDL', + 'name' => 'AutoStart', 'in' => 'query', - 'schema' => [ - 'description' => '是否订阅DDL类型的数据,取值:'."\n" - ."\n" - .'- **true**:是,为默认值。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - 'example' => 'true', - ], + 'schema' => ['description' => '购买完成后是否自动启动任务,取值:'."\n" + .'- **false**:否,为默认值。'."\n" + .'- **true**:是。'."\n" + ."\n" + .'> 仅当参数**JobId**传入有效的任务ID时,本参数取值为**true**才会生效。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'SubscriptionDataType.DML', + 'name' => 'UsedTime', 'in' => 'query', - 'schema' => [ - 'description' => '是否订阅DML类型的数据,取值:'."\n" - .'- **true**:是,为默认值。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - 'example' => 'true', - ], + 'schema' => ['description' => '预付费实例购买时长。'."\n" + .'- 当**Period**为**Month**时,取值为:1、2、3、4、5、6、7、8、9。'."\n" + .'- 当**Period**为**Year**时,取值为:1、2、3、5。'."\n" + .'> - 当**PayType**为**PrePaid**(预付费)时,该参数才有效且必须传入。'."\n" + .'- 预付费实例的计费方式,您可在参数**Period**中进行设置。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10000', 'minimum' => '1', 'example' => '5', 'default' => '1'], ], [ - 'name' => 'SubscriptionObject', - 'in' => 'formData', - 'schema' => [ - 'description' => '订阅对象,格式为JSON串且支持一定的正则表达式,详细说明,请参见[订阅对象配置说明](~~141902~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{ "DBName": "dtstestdata" }]', - ], + 'name' => 'Quantity', + 'in' => 'query', + 'schema' => ['description' => '购买实例数量。'."\n" + .'>当前单次调用最多支持购买1个。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '9999999', 'minimum' => '1', 'example' => '1', 'default' => '1'], ], [ - 'name' => 'SourceEndpoint.IP', + 'name' => 'AutoPay', 'in' => 'query', - 'schema' => [ - 'description' => '源数据库的连接地址。'."\n" - .'> 当源数据库为自建数据库时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '172.16.88.*** ', - ], + 'schema' => ['description' => '到期是否自动续费,取值:'."\n" + .'- **false**:否,为默认值。'."\n" + .'- **true**:是。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'SourceEndpoint.Port', + 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'description' => '源数据库的服务端口。'."\n" - .'> 当源数据库为自建数据库时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '3306', - ], + 'schema' => ['description' => '实例类型,取值为:'."\n" + ."\n" + .'- **MIGRATION**:迁移。'."\n" + .'- **SYNC**:同步。'."\n" + .'- **SUBSCRIBE**:订阅。'."\n" + .'>本参数或**JobId**必须传入其中之一。', 'type' => 'string', 'required' => false, 'example' => 'SYNC'], ], [ - 'name' => 'SourceEndpoint.UserName', + 'name' => 'DatabaseCount', 'in' => 'query', - 'schema' => [ - 'description' => '源实例的数据库账号。'."\n" - .'> 订阅不同的数据库所需的权限有所差异,详情请参见[DTS数据订阅方案概览](~~145715~~)中对应的配置案例。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestaccount', - ], + 'schema' => ['description' => 'PolarDB-X下的私有定制RDS实例的数量,默认值为**1**。'."\n" + .'>仅**SourceEndpointEngineName**为**drds**时需要传入该参数。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10000', 'minimum' => '1', 'example' => '3', 'default' => '1'], ], [ - 'name' => 'SourceEndpoint.Password', + 'name' => 'SourceRegion', 'in' => 'query', - 'schema' => [ - 'description' => '源实例的数据库账号密码。', - 'type' => 'string', - 'required' => false, - 'example' => 'Test123456 ', - ], + 'schema' => ['description' => '源实例区域,详情请参见[支持的地域列表](~~141033~~)。'."\n" + .'>本参数或**JobId**必须传入其中之一。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SourceEndpoint.OracleSID', + 'name' => 'DestinationRegion', 'in' => 'query', - 'schema' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当源数据库为自建Oracle时,且Oracle数据库为非RAC实例时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'testsid', - ], + 'schema' => ['description' => '目标实例区域,详情请参见[支持的地域列表](~~141033~~)。'."\n" + .'>本参数或**JobId**必须传入其中之一。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SourceEndpoint.DatabaseName', + 'name' => 'SourceEndpointEngineName', 'in' => 'query', - 'schema' => [ - 'description' => '待订阅的数据库名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestdata', - ], + 'schema' => ['description' => '源实例数据库引擎类型。'."\n" + .'- **MySQL**:MySQL数据库(包括RDS MySQL和自建MySQL)。'."\n" + .'- **PolarDB**:PolarDB MySQL。'."\n" + .'- **polardb_o**:PolarDB O引擎。'."\n" + .'- **polardb_pg**:PolarDB PostgreSQL。'."\n" + .'- **Redis**:Redis数据库,包括云数据库Tair(兼容Redis)和自建Redis。'."\n" + .'- **DRDS**:云原生分布式数据库PolarDB-X 1.0和2.0。'."\n" + .'- **PostgreSQL**:自建PostgreSQL。'."\n" + .'- **odps**:MaxCompute。'."\n" + .'- **oracle**:自建Oracle。'."\n" + .'- **mongodb**:MongoDB数据库(包括云数据库MongoDB和自建MongoDB)。'."\n" + .'- **tidb**:TiDB数据库。'."\n" + .'- **ADS**:云原生数仓 AnalyticDB MySQL 2.0。'."\n" + .'- **ADB30**:云原生数仓 AnalyticDB MySQL 3.0。'."\n" + .'- **Greenplum**:云原生数仓 AnalyticDB PostgreSQL。'."\n" + .'- **MSSQL**:SQL Server数据库(包括RDS SQL Server和自建SQL Server)。'."\n" + .'- **kafka**:Kafka数据库(包括消息队列Kafka版和自建Kafka)。'."\n" + .'- **DataHub**:阿里云流式数据服务DataHub。'."\n" + .'- **DB2**:自建DB2 LUW。'."\n" + .'- **as400**:AS/400。'."\n" + .'- **Tablestore**:表格存储Tablestore。'."\n" + .'- **OceanBase**:OceanBase(MySQL),仅迁移实例支持。'."\n" + ."\n" + .'> - 默认取值为**MySQL**。'."\n" + .'- 关于支持的源库和目标库对应情况,请参见支持的[数据库、同步初始化类型和同步拓扑](~~130744~~), [支持的数据库和迁移类型](~~26618~~)。'."\n" + .'- 本参数或**JobId**必须传入其中之一。', 'type' => 'string', 'required' => false, 'example' => 'MySQL'], ], [ - 'name' => 'SourceEndpoint.OwnerID', + 'name' => 'DestinationEndpointEngineName', 'in' => 'query', - 'schema' => [ - 'description' => '源实例所属的阿里云账号ID。'."\n" - .'> 仅在配置跨阿里云账号的数据订阅时本参数才可用,且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '140692647406****', - ], + 'schema' => ['description' => '目标数据库引擎类型。'."\n" + .'- **MySQL**:MySQL数据库(包括RDS MySQL和自建MySQL)。'."\n" + .'- **PolarDB**:PolarDB MySQL。'."\n" + .'- **polardb_o**:PolarDB O引擎。'."\n" + .'- **polardb_pg**:PolarDB PostgreSQL。'."\n" + .'- **Redis**:Redis数据库,包括云数据库Tair(兼容Redis)和自建Redis。'."\n" + .'- **DRDS**:云原生分布式数据库PolarDB-X 1.0和2.0。'."\n" + .'- **PostgreSQL**:自建PostgreSQL。'."\n" + .'- **odps**:MaxCompute。'."\n" + .'- **oracle**:自建Oracle。'."\n" + .'- **mongodb**:MongoDB数据库(包括云数据库MongoDB和自建MongoDB)。'."\n" + .'- **tidb**:TiDB数据库。'."\n" + .'- **ADS**:云原生数仓 AnalyticDB MySQL 2.0。'."\n" + .'- **ADB30**:云原生数仓 AnalyticDB MySQL 3.0。'."\n" + .'- **Greenplum**:云原生数仓 AnalyticDB PostgreSQL。'."\n" + .'- **MSSQL**:SQL Server数据库(包括RDS SQL Server和自建SQL Server)。'."\n" + .'- **kafka**:Kafka数据库(包括消息队列Kafka版和自建Kafka)。'."\n" + .'- **DataHub**:阿里云流式数据服务DataHub。'."\n" + .'- **DB2**:自建DB2 LUW。'."\n" + .'- **as400**:AS/400。'."\n" + .'- **Tablestore**:表格存储Tablestore。'."\n" + ."\n" + .'> - 默认取值为**MySQL**。'."\n" + .'- 关于支持的源库和目标库对应情况,请参见支持的[数据库、同步初始化类型和同步拓扑](~~130744~~), [支持的数据库和迁移类型](~~26618~~)。'."\n" + .'- 本参数或**JobId**必须传入其中之一。', 'type' => 'string', 'required' => false, 'example' => 'MySQL'], ], [ - 'name' => 'SourceEndpoint.Role', + 'name' => 'ComputeUnit', 'in' => 'query', - 'schema' => [ - 'description' => '源实例的授权角色。当源实例与配置订阅任务所属阿里云账号不同时,需传入该参数,来指定源实例的授权角色,以允许配置订阅任务所属阿里云账号访问源实例的实例信息。'."\n" - .'> 角色所需的权限及授权方式,请参见[跨阿里云账号数据迁移或同步时如何配置RAM授权](~~48468~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ram-for-dts', - ], + 'schema' => ['description' => 'ETL的规格。单位为计算单元ComputeUnit(CU),1CU=1vCPU+4 GB内存。取值范围为大于等于2的整数。'."\n" + .'<props="china">'."\n" + .'> 传入该参数,开通[ETL功能](~~212324~~),进行数据清洗和转换。</props>'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '999999', 'minimum' => '1', 'example' => '5', 'default' => '2'], ], [ - 'name' => 'SubscriptionInstanceNetworkType', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '订阅实例的网络类型,目前取值仅支持**vpc**,表示专有网络。'."\n" - ."\n" - .'> - 如果传入了本参数,则订阅实例被定义为新版,您还需要正确设置**SubscriptionInstance.VPCId**和**SubscriptionInstance.VSwitchID**参数;如果不传入该参数,则订阅实例被定义为旧版。'."\n" - .'- 旧版订阅实例支持订阅自建MySQL、RDS for MySQL和DRDS的数据,新版订阅实例支持订阅自建MySQL、RDS for MySQL、PolarDB MySQL和Oracle的数据。', - 'type' => 'string', - 'required' => false, - 'example' => 'vpc', - ], + 'schema' => ['description' => '实例所属的地域,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SubscriptionInstance.VPCId', + 'name' => 'FeeType', 'in' => 'query', - 'schema' => [ - 'description' => '订阅实例的专有网络ID。'."\n" - .'> 当**SubscriptionInstanceNetworkType**取值为**vpc**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-bp1vwnn14rqpyiczj****', - ], + 'schema' => ['description' => '订阅计费类型,ONLY_CONFIGURATION_FEE,仅收取配置费,免收数据流量费;CONFIGURATION_FEE_AND_DATA_FEE,将额外收取数据流量费用。', 'type' => 'string', 'required' => false, 'example' => 'ONLY_CONFIGURATION_FEE'], ], [ - 'name' => 'SubscriptionInstance.VSwitchId', + 'name' => 'Du', 'in' => 'query', - 'schema' => [ - 'description' => '订阅实例的虚拟交换机ID。'."\n" - .'> 当**SubscriptionInstanceNetworkType**取值为**vpc**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp10df3mxae6lpmku****', - ], + 'schema' => ['description' => '分配指定数量的DU资源给DTS专属集群上的DTS任务。取值范围:**1**~**100**。'."\n" + ."\n" + .'>- 传入的值必须在DTS专属集群可用DU数范围内。'."\n" + .'- 关于DTS专属集群的信息,请参见[什么是DTS专属集群](~~417481~~)。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30'], ], [ - 'name' => 'AccountId', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'MinDu', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => 'DU下限。'."\n" + ."\n" + .'> 仅Serverless实例支持。', 'type' => 'number', 'format' => 'double', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'MaxDu', + 'in' => 'query', + 'schema' => ['description' => 'DU上限。'."\n" + ."\n" + .'> 仅Serverless实例支持。', 'type' => 'number', 'format' => 'double', 'required' => false, 'example' => '16'], + ], + [ + 'name' => 'DtsRegion', + 'in' => 'query', + 'schema' => ['description' => '实例的归属地域,需与**RegionId**保持一致。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'InsightModule', + 'in' => 'query', + 'schema' => ['type' => 'boolean'], ], ], 'responses' => [ @@ -7437,279 +3188,142 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => '0CC15092-8957-4532-B559-B4FB80AC****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'C166D79D-436B-45F0-B5A5-25E1****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'bi6e22ay243****'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'InstanceId' => ['description' => '实例ID。', 'type' => 'string', 'example' => 'dtsbi6e22ay243****'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'LXCreateOrderError', 'errorMessage' => 'Failed to create order, failure message: The module is invalid', 'description' => 'DTS跨境同步功能未全网开放,如果需要使用,请填写<a href="https://page.aliyun.com/form/act409679078/index.htm" target="_blank">DTS跨境数据同步权限申请表单</a>进行需求审核'], + ['errorCode' => 'LXCreateOrder.NotFoundPricePlan', 'errorMessage' => 'Pricing plan price result not found, please check the parameters of the task configuration.', 'description' => '创建订单失败,定价计划没有找到,可能的原因有:传入的购买参数尚不支持购买、定价缺失、购买参数传入错误。'], + ['errorCode' => 'LXPayOrder.InsufficientBalance', 'errorMessage' => 'Insufficient balance, order payment failed.', 'description' => '账户下余额不足,无法完成支付,请充值后重试。'], + ['errorCode' => 'DTS.Msg.LXCreateOrderError', 'errorMessage' => 'Failed to create order, failure message: The module is invalid', 'description' => 'DTS跨境同步功能未全网开放,如果需要使用,请填写<a href="https://page.aliyun.com/form/act409679078/index.htm" target="_blank">DTS跨境数据同步权限申请表单</a>进行需求审核'], + ['errorCode' => 'DTS.Msg.LXCreateOrder.NotFoundPricePlan', 'errorMessage' => 'Pricing plan price result not found, please check the parameters of the task configuration.', 'description' => '创建订单失败,定价计划没有找到,可能的原因有:传入的购买参数尚不支持购买、定价缺失、购买参数传入错误。'], + ['errorCode' => 'DTS.Msg.LXPayOrder.InsufficientBalance', 'errorMessage' => 'Insufficient balance, order payment failed.', 'description' => '账户下余额不足,无法完成支付,请充值后重试。'], + ['errorCode' => 'DTS.Msg.LXCreateOrderErrorIntl', 'errorMessage' => 'DTS supports cross-border data synchronization only in specific scenarios. To purchase a data synchronization instance used to synchronize data across countries, application for DTS cross-border data synchronization.', 'description' => 'DTS跨境同步功能未全网开放,如果需要使用,请填写<a href="https://page-intl.aliyun.com/form/act1633074550/index.htm" target="_blank">DTS跨境数据同步权限申请表单</a>进行需求审核'], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0CC15092-8957-4532-B559-B4FB80AC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ConfigureSubscriptionInstanceResponse>\\n <RequestId>0CC15092-8957-4532-B559-B4FB80AC****</RequestId>\\n <Success>true</Success>\\n</ConfigureSubscriptionInstanceResponse>","errorExample":""}]', - 'title' => '配置订阅通道', - 'summary' => '老版配置订阅通道。', - 'description' => '调用本接口前,已调用[CreateSubscriptionInstance](~~49436~~)接口创建了数据订阅实例。'."\n" - ."\n" - .'> 您可以在控制台的**高级配置**阶段,将鼠标光标移动至**下一步保存任务并预检查**按钮上,然后单击气泡中的**预览OpenAPI调用**,查看该实例使用API接口配置时的参数信息。', + 'title' => '购买DTS实例', + 'summary' => '调用CreateDtsInstance接口购买DTS实例。', + 'description' => '<props="china">'."\n" + .'- 请确保在使用该接口前,已充分了解云数据库DTS产品的收费方式和[价格](https://www.aliyun.com/price/product#/dts/detail)。</props>'."\n" + .'<props="intl">'."\n" + .'- 请确保在使用该接口前,已充分了解云数据库DTS产品的收费方式和[价格](https://www.alibabacloud.com/product/data-transmission-service/pricing)。</props>'."\n" + .'- 专属集群的任务仅支持先配置任务后购买实例,您可以调用[ConfigureDtsJob](~~208399~~)接口配置任务。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateSynchronizationJob' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:CreateDtsInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:*:{#accountId}:instance/*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C166D79D-436B-45F0-B5A5-25E1****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"JobId\\": \\"bi6e22ay243****\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"InstanceId\\": \\"dtsbi6e22ay243****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateDtsInstanceResponse>\\n <RequestId>C166D79D-436B-45F0-B5A5-25E1****</RequestId>\\n <InstanceId>dtsmne11yo2j9n****</InstanceId>\\n <Success>true</Success>\\n <JobId>mne11yo2j9n****</JobId>\\n</CreateDtsInstanceResponse>","errorExample":""}]', + ], + 'CreateJobMonitorRule' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '52221', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例地域的ID,与**DestRegion**参数保持一致。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '迁移、同步或订阅任务ID,可通过调用[DescribeDtsJobs](~~209702~~)获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'i03e3zty16i****'], ], [ - 'name' => 'SourceRegion', + 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步的源数据库所属地域的ID,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '监控项的类型,取值:'."\n" + .'- **delay**:**延迟**监控项。'."\n" + .'- **error**:**迁移状态**监控项。'."\n" + .'- **full_timeout**:**全量运行耗时**监控项。'."\n" + ."\n" + .'默认值:**error**;需手动填入。', 'type' => 'string', 'required' => false, 'example' => 'delay'], ], [ - 'name' => 'DestRegion', + 'name' => 'State', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步的目标数据库所属地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n" - .'> 如果**SourceRegion**参数传入的地域为中国香港或海外地区,那么本参数须传入相同地域的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '是否启用告警规则,取值:'."\n" + ."\n" + .'- **Y**:启用。'."\n" + .'- **N**:不启用。'."\n" + ."\n" + .'默认值:**Y**', 'type' => 'string', 'required' => false, 'example' => 'Y'], ], [ - 'name' => 'Topology', + 'name' => 'Phone', 'in' => 'query', - 'schema' => [ - 'description' => '同步拓扑,取值:'."\n" - ."\n" - .'- **oneway**:单向同步'."\n" - .'- **bidirectional**:双向同步。'."\n" - ."\n" - .'> - 默认取值为**oneway**。'."\n" - .'- 当**SourceEndpoint.InstanceType**和**DestinationEndpoint.InstanceType**参数取值为**MySQL**、**PolarDB**或**Redis**时,本参数才可以传入**bidirectional**。', - 'type' => 'string', - 'required' => false, - 'example' => 'oneway', - ], + 'schema' => ['description' => '告警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" + .'>- 本参数目前只支持中国站,仅支持中国内地手机号码,且最多传入10个手机号码。'."\n" + .'- 国际站不支持手机告警,仅支持[通过云监控平台为DTS任务设置报警规则](~~175876~~)。', 'type' => 'string', 'required' => false, 'example' => '1361234****,1371234****'], ], [ - 'name' => 'SynchronizationJobClass', + 'name' => 'DelayRuleTime', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步链路的规格,取值:**micro**、**small**、**medium**、**large**。'."\n" - .'> 关于各链路规格的说明及性能测试情况请参见[数据同步链路规格说明](~~26605~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'small', - ], + 'schema' => ['description' => '触发告警的阈值。'."\n" + ."\n" + .'- 当**Type**取值为**delay**时,单位为秒且需为整数,可根据业务需要设置阈值,建议设置10秒以上,避免因网络、数据库负载等原因导致的延迟波动。'."\n" + ."\n" + .'- 当**Type**取值为**full_timeout**时,单位为小时且需为整数。'."\n" + ."\n" + .'> 当**Type**取值为**delay**或**full_timeout**且**State**取值为**Y**时,本参数必须传入。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '11'], ], [ - 'name' => 'PayType', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '付费类型。'."\n" - ."\n" - .'- **PrePaid**:预付费。'."\n" - .'- **PostPaid**:按量付费,默认付费类型。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'PostPaid ', - ], + 'schema' => ['description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Period', 'in' => 'query', - 'schema' => [ - 'description' => '预付费实例的计费方式,取值:'."\n" - ."\n" - .'- **Year**:包年。'."\n" - .'- **Month**:包月。'."\n" - ."\n" - .'> 当付费类型为**PrePaid**(预付费)时,该参数才有效且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'Year', - ], - ], - [ - 'name' => 'UsedTime', - 'in' => 'query', - 'schema' => [ - 'description' => '预付费实例购买时长。'."\n" - ."\n" - .'- 当计费方式为**Year**(包年)时,取值范围为**1~5**。'."\n" - .'- 当计费方式为**Month**(包月)时,取值范围为**1~60**。'."\n" - ."\n" - .'> 当付费类型为**PrePaid**(预付费)时,该参数才有效且必须传入。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。', - 'type' => 'string', - 'required' => false, - 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', - ], + 'schema' => ['description' => '增量校验任务的统计周期,单位为分钟。'."\n" + ."\n" + .'> 当前支持取值为1分钟、5分钟、10分钟和30分钟。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5'], ], [ - 'name' => 'SourceEndpoint.InstanceType', - 'in' => 'query', - 'schema' => [ - 'description' => '源库的实例类型,取值:'."\n" - ."\n" - .'- **MySQL**:MySQL数据库(包括RDS MySQL和自建MySQL)。'."\n" - .'- **PolarDB**:PolarDB集群(仅支持MySQL或兼容Oracle语法的引擎)。'."\n" - .'- **Redis**:Redis数据库。'."\n" - .'- **DRDS**:云原生分布式数据库PolarDB-X 1.0。'."\n" - ."\n" - .'> - 默认取值为**MySQL**。'."\n" - .'- 关于支持的源库和目标库对应情况,请参见支持的[数据库、同步初始化类型和同步拓扑](~~130744~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'MySQL', - ], - ], - [ - 'name' => 'DestinationEndpoint.InstanceType', - 'in' => 'query', - 'schema' => [ - 'description' => '目标库的实例类型,取值:'."\n" - .'- **MySQL**:MySQL数据库(包括RDS MySQL和自建MySQL)。'."\n" - .'- **PolarDB**:PolarDB集群(仅支持MySQL或兼容Oracle语法的引擎)。'."\n" - .'- **Redis**:Redis数据库。'."\n" - .'- **MaxCompute**:MaxCompute实例。'."\n" - ."\n" - .'>- 默认取值为**MySQL**。'."\n" - .'- 关于支持的源库和目标库对应情况,请参见支持的[数据库、同步初始化类型和同步拓扑](~~130744~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'MySQL', - ], - ], - [ - 'name' => 'networkType', + 'name' => 'Times', 'in' => 'query', - 'schema' => [ - 'description' => '数据传输网络类型,固定取值为**Intranet**(专线)。', - 'type' => 'string', - 'required' => false, - 'example' => 'Intranet', - ], + 'schema' => ['description' => '增量校验任务的周期数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], ], [ - 'name' => 'AccountId', + 'name' => 'NoticeValue', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], - ], - [ - 'name' => 'DBInstanceCount', - 'in' => 'query', - 'schema' => [ - 'description' => '当**SourceEndpoint.InstanceType**传入**DRDS**时,您需要传入本参数来指定源PolarDB-X下挂的私有定制RDS实例数量,默认值为**1**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'maximum' => '10000', - 'minimum' => '0', - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => '告警阈值。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -7717,69 +3331,62 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9056C8B0-5799-493A-9655-70F607B8****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'SynchronizationJobId' => [ - 'description' => '数据同步实例ID。', - 'type' => 'string', - 'example' => 'dtshvj11k25255****', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8C498360-7892-433C-847A-BA71A850****'], + 'DtsJobId' => ['description' => '迁移、同步或订阅任务ID。', 'type' => 'string', 'example' => 'i03e3zty16i****'], + 'ErrCode' => ['description' => '调用错误时返回的错误码。', 'type' => 'string', 'example' => '403'], + 'Success' => ['description' => '请求是否成功,返回值:'."\n" + .'- **true**:请求成功。'."\n" + .'- **false**:请求失败。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'Code' => ['description' => '错误码,本参数即将下线。', 'type' => 'string', 'example' => '200'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'DtsJobId'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"8C498360-7892-433C-847A-BA71A850****\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"ErrCode\\": \\"403\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateJobMonitorRuleResponse>\\n <RequestId>8C498360-7892-433C-847A-BA71A850****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n <DtsJobId>i03e3zty16i****</DtsJobId>\\n</CreateJobMonitorRuleResponse>","errorExample":""}]', + 'title' => '创建或修改任务告警规则', + 'summary' => '创建或修改任务的告警规则。', + 'description' => 'DTS目前支持的监控项为**延迟**、**迁移状态**和**全量运行耗时**:'."\n" + ."\n" + .'- **延迟**:监控增量数据迁移延迟信息,当迁移延迟、同步延迟或订阅延迟的时间超过设定值时(单位为秒),触发告警规则。'."\n" + .'- **迁移状态**:监控任务的状态,当任务的状态为**异常**或**恢复**时,触发告警规则。'."\n" + .'- **全量运行耗时**:全量运行的耗时,超过设定值时(单位为小时),触发告警规则。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:CreateJobMonitorRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9056C8B0-5799-493A-9655-70F607B8****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"SynchronizationJobId\\": \\"dtshvj11k25255****\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '创建一个数据同步作业实例', - 'summary' => '老版创建一个数据同步作业实例。', ], - 'DeleteSynchronizationJob' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateMigrationJob' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7787,50 +3394,40 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据迁移实例所属的地域,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SynchronizationJobId', + 'name' => 'Region', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例ID,可以通过调用[DescribeSynchronizationJobs](~~49454~~)接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtshn6107ve264****', - ], + 'schema' => ['description' => '数据迁移实例所属的地域,即迁移的目标数据库实例所属地域,详情请参见支持的[地域列表](~~141033~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'MigrationJobClass', + 'in' => 'query', + 'schema' => ['description' => '数据迁移实例的规格,取值为:**small**、**medium**、**large**、**xlarge**、**2xlarge**。'."\n" + ."\n" + .'> - 各个规格的测试性能,请参见[数据迁移规格说明](~~26606~~)。'."\n" + .'- 实例规格及定价,请参见[产品定价](~~117780~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2xlarge'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**参数只支持传入ASCII字符,且不能超过64个字符。', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****'], ], [ 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -7838,63 +3435,49 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'C306C198-7807-409D-930A-D6CE6C32****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'C166D79D-436B-45F0-B5A5-25E1959F****'], + 'MigrationJobId' => ['description' => '数据迁移实例ID。', 'type' => 'string', 'example' => 'dtsi8911td9233****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C166D79D-436B-45F0-B5A5-25E1959F****\\",\\n \\"MigrationJobId\\": \\"dtsi8911td9233****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '购买迁移实例', + 'summary' => '购买一个数据迁移实例。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:CreateMigrationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C306C198-7807-409D-930A-D6CE6C32****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '释放同步实例', - 'summary' => '释放数据同步作业实例。', ], - 'StartSynchronizationJob' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateReverseDtsJob' => [ + 'summary' => '调用CreateReverseDtsJob接口,为目标同步或迁移任务创建一个反向任务。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7904,63 +3487,34 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '195766', + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例所在地域的id,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'SynchronizationJobId', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例ID,可以通过调用**DescribeSynchronizationJobs**接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsf19100l2186****', - ], + 'schema' => ['description' => '同步或迁移任务的ID,可调用[DescribeDtsJobs](~~209702~~)查询。', 'type' => 'string', 'required' => true, 'example' => 'n99m9jx822k****'], ], [ - 'name' => 'SynchronizationDirection', + 'name' => 'ShardUsername', 'in' => 'query', - 'schema' => [ - 'description' => '同步方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'> - 当数据同步实例的拓扑类型为双向时,才可以传入**Reverse**以启动反向同步链路。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => 'MongoDB分片集群实例的Shard的账号。', 'type' => 'string', 'required' => false, 'example' => 'dtstest'], ], [ - 'name' => 'AccountId', + 'name' => 'ShardPassword', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '1689726061829****', - ], + 'schema' => ['description' => 'MongoDB分片集群实例的Shard的密码。'."\n" + ."\n" + .'> - 当源数据库实例为MongoDB(分片集群架构)时,本参数才可用且必须传入。'."\n" + .'- 当**ModifyAccount**取值为**true**时才生效。', 'type' => 'string', 'required' => false, 'example' => 'DTStest****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID,全局参数,当前API无需传入。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -7968,65 +3522,54 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => 'FDC111B1-ACBF-457D-9656-247FDEE9****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功,返回值:'."\n" - .'- **true**:请求成功。'."\n" - .'- **false**:请求失败。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'DtsJobId' => ['description' => '生成的反向同步任务的ID。', 'type' => 'string', 'example' => 'n99m9jx822k****'], + 'DtsInstanceId' => ['description' => '生成的反向任务对应实例的ID。', 'type' => 'string', 'example' => 'dtsor1f9kr822l****'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ['errorCode' => 'ReverseJob.Exists', 'errorMessage' => 'The operation is not permitted due to reverse Dts job is already exists.', 'description' => '创建失败,反向任务已经存在。'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"DtsJobId\\": \\"n99m9jx822k****\\",\\n \\"DtsInstanceId\\": \\"dtsor1f9kr822l****\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateReverseDtsJobResponse>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>621BB4F8-3016-4FAA-8D5A-5D3163CC****</RequestId>\\n <DtsJobId>n99m9jx822k****</DtsJobId>\\n <DtsInstanceId>dtsor1f9kr822l****</DtsInstanceId>\\n <Success>true</Success>\\n</CreateReverseDtsJobResponse>","errorExample":""}]', + 'title' => '创建反向任务', + 'description' => '调用接口创建的反向任务会立即进行预检查,预检查通过后会进行增量数据采集,增量数据写入模块不会运行(需要调用**StartReverseWriter**接口运行)。'."\n" + ."\n" + .'> 创建的反向任务固定为同步任务,且只有增量写入模块。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:CreateReverseDtsJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FDC111B1-ACBF-457D-9656-247FDEE9****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '启动同步实例', - 'summary' => '启动数据同步作业。', ], - 'ModifySynchronizationObject' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateSubscriptionInstance' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8034,76 +3577,66 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据订阅实例所属的地域,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SynchronizationJobId', + 'name' => 'Region', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例ID,可以通过调用[DescribeSynchronizationJobs](~~49454~~)接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtskfq1149w254****', - ], + 'schema' => ['description' => '地域ID,与订阅对象所在地域保持一致,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SynchronizationObjects', - 'in' => 'formData', - 'schema' => [ - 'description' => '修改后的同步对象,格式为JSON串且支持一定的正则表达式,详细说明请参见[同步对象配置说明](~~141901~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"DBName": "dtstestdata"}]', - ], + 'name' => 'SourceEndpoint.InstanceType', + 'in' => 'query', + 'schema' => ['description' => '数据订阅的实例类型,取值为:**MySQL**、**PolarDB**、**DRDS**、**Oracle**。'."\n" + .'> 默认取值为:**MySQL**。', 'type' => 'string', 'required' => false, 'example' => 'MySQL'], ], [ - 'name' => 'SynchronizationDirection', + 'name' => 'PayType', 'in' => 'query', - 'schema' => [ - 'description' => '指定同步方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 只有当数据同步实例的同步拓扑为双向同步时,才需要传入本参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => '付费类型。'."\n" + ."\n" + .'- **Postpaid**:按量付费,默认付费类型。'."\n" + .'- **Prepaid**:预付费。', 'type' => 'string', 'required' => false, 'example' => 'Prepaid'], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => ['description' => '预付费实例的计费方式,取值:'."\n" + ."\n" + .'- **Year**:包年。'."\n" + .'- **Month**:包月。'."\n" + ."\n" + .'> 当付费类型为**Prepaid**(预付费)时,该参数才有效且必须传入。'."\n", 'type' => 'string', 'required' => false, 'example' => 'Month'], + ], + [ + 'name' => 'UsedTime', + 'in' => 'query', + 'schema' => ['description' => '预付费实例购买时长。'."\n" + ."\n" + .'- 当计费方式为**Year**(包年)时,取值范围为**1~5**。'."\n" + .'- 当计费方式为**Month**(包月)时,取值范围为**1~60**。'."\n" + ."\n" + .'> 当付费类型为**Prepaid**(预付费)时,该参数才有效且必须传入。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****'], ], [ 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -8111,342 +3644,171 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => '902DDCDE-C755-4458-85DA-DF9A323C****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'TaskId' => [ - 'description' => '任务ID,您可以根据此参数调用[DescribeSynchronizationObjectModifyStatus](~~49452~~)接口查询同步对象变更的状态及进度。', - 'type' => 'string', - 'example' => 'tl911uvi25z****', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4E9564C5-F99D-4176-A6BA-2D7F2DC8****'], + 'SubscriptionInstanceId' => ['description' => '数据订阅实例ID。', 'type' => 'string', 'example' => 'dtsfen11q2g23x****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4E9564C5-F99D-4176-A6BA-2D7F2DC8****\\",\\n \\"SubscriptionInstanceId\\": \\"dtsfen11q2g23x****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '创建数据订阅通道', + 'summary' => '老版创建数据订阅通道。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:CreateSubscriptionInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"902DDCDE-C755-4458-85DA-DF9A323C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"TaskId\\": \\"tl911uvi25z****\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '修改数据同步作业实例同步对象', - 'summary' => '老版修改数据同步作业实例中的同步对象。', ], - 'DescribeSynchronizationJobReplicatorCompare' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateSynchronizationJob' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', + 'abilityTreeCode' => '52221', + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据同步实例地域的ID,与**DestRegion**参数保持一致。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SynchronizationJobId', + 'name' => 'SourceRegion', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例ID,可以通过调用[DescribeSynchronizationJobs](~~49454~~)接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsexjk1alb116****', - ], + 'schema' => ['description' => '数据同步的源数据库所属地域的ID,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SynchronizationDirection', + 'name' => 'DestRegion', 'in' => 'query', - 'schema' => [ - 'description' => '指定同步方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 只有当数据同步实例的同步拓扑为双向同步时,才需要传入本参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => '数据同步的目标数据库所属地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n" + .'> 如果**SourceRegion**参数传入的地域为中国香港或海外地区,那么本参数须传入相同地域的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ClientToken', + 'name' => 'Topology', 'in' => 'query', - 'schema' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', - ], + 'schema' => ['description' => '同步拓扑,取值:'."\n" + ."\n" + .'- **oneway**:单向同步'."\n" + .'- **bidirectional**:双向同步。'."\n" + ."\n" + .'> - 默认取值为**oneway**。'."\n" + .'- 当**SourceEndpoint.InstanceType**和**DestinationEndpoint.InstanceType**参数取值为**MySQL**、**PolarDB**或**Redis**时,本参数才可以传入**bidirectional**。', 'type' => 'string', 'required' => false, 'example' => 'oneway'], ], [ - 'name' => 'AccountId', + 'name' => 'SynchronizationJobClass', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '数据同步链路的规格,取值:**micro**、**small**、**medium**、**large**。'."\n" + .'> 关于各链路规格的说明及性能测试情况请参见[数据同步链路规格说明](~~26605~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'small'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'PayType', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '付费类型。'."\n" + ."\n" + .'- **PrePaid**:预付费。'."\n" + .'- **PostPaid**:按量付费,默认付费类型。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'PostPaid '], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'SynchronizationReplicatorCompareEnable' => [ - 'description' => '全镜像开关,返回值:'."\n" - .'- **true**:打开。'."\n" - .'- **false**:关闭。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'E6EB407F-C59F-4682-A682-A00FA6A2****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], - ], - 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SynchronizationReplicatorCompareEnable\\": true,\\n \\"RequestId\\": \\"E6EB407F-C59F-4682-A682-A00FA6A2****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '获取当前镜像匹配开关配置', - 'summary' => '老版获取当前镜像匹配开关配置。', - ], - 'DescribeSynchronizationJobs' => [ - 'summary' => '通过DescribeSynchronizationJobs查询数据同步实例列表和各同步实例的详情。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREdtsDW6WLD', + 'name' => 'Period', + 'in' => 'query', + 'schema' => ['description' => '预付费实例的计费方式,取值:'."\n" + ."\n" + .'- **Year**:包年。'."\n" + .'- **Month**:包月。'."\n" + ."\n" + .'> 当付费类型为**PrePaid**(预付费)时,该参数才有效且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'Year'], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'UsedTime', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '预付费实例购买时长。'."\n" + ."\n" + .'- 当计费方式为**Year**(包年)时,取值范围为**1~5**。'."\n" + .'- 当计费方式为**Month**(包月)时,取值范围为**1~60**。'."\n" + ."\n" + .'> 当付费类型为**PrePaid**(预付费)时,该参数才有效且必须传入。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'PageSize', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => '每页记录数。取值为: **10**、**20**、**30**,默认值为**30**,最大值为**30**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '30', - 'default' => '30', - ], + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****'], ], [ - 'name' => 'PageNum', + 'name' => 'SourceEndpoint.InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => '源库的实例类型,取值:'."\n" + ."\n" + .'- **MySQL**:MySQL数据库(包括RDS MySQL和自建MySQL)。'."\n" + .'- **PolarDB**:PolarDB集群(仅支持MySQL或兼容Oracle语法的引擎)。'."\n" + .'- **Redis**:Redis数据库。'."\n" + .'- **DRDS**:云原生分布式数据库PolarDB-X 1.0。'."\n" + ."\n" + .'> - 默认取值为**MySQL**。'."\n" + .'- 关于支持的源库和目标库对应情况,请参见支持的[数据库、同步初始化类型和同步拓扑](~~130744~~)。', 'type' => 'string', 'required' => false, 'example' => 'MySQL'], ], [ - 'name' => 'SynchronizationJobName', + 'name' => 'DestinationEndpoint.InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '同步实例名称。'."\n" - .'> 支持模糊查询。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'MySQL同步', - ], + 'schema' => ['description' => '目标库的实例类型,取值:'."\n" + .'- **MySQL**:MySQL数据库(包括RDS MySQL和自建MySQL)。'."\n" + .'- **PolarDB**:PolarDB集群(仅支持MySQL或兼容Oracle语法的引擎)。'."\n" + .'- **Redis**:Redis数据库。'."\n" + .'- **MaxCompute**:MaxCompute实例。'."\n" + ."\n" + .'>- 默认取值为**MySQL**。'."\n" + .'- 关于支持的源库和目标库对应情况,请参见支持的[数据库、同步初始化类型和同步拓扑](~~130744~~)。', 'type' => 'string', 'required' => false, 'example' => 'MySQL'], ], [ - 'name' => 'ClientToken', + 'name' => 'networkType', 'in' => 'query', - 'schema' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', - ], + 'schema' => ['description' => '数据传输网络类型,固定取值为**Intranet**(专线)。', 'type' => 'string', 'required' => false, 'example' => 'Intranet'], ], [ 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ - 'name' => 'Tag', + 'name' => 'DBInstanceCount', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '数据同步实例的标签,作为过滤项,当此项不为空时,仅拥有此标签的实例任务会返回。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '标签键,可以通过调用[ListTagResources](~~191187~~)接口查询。'."\n" - .'> - N表示第几个标签的键。例如:Tag.1.Key表示第一个标签的键;Tag.2.Key表示第二个标签的键。可以同时传入1~20个标签键。'."\n" - .'- 该参数传入时不允许传入空字符串。'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'testkey1', - ], - 'Value' => [ - 'description' => '标签的值,可以通过调用[ListTagResources](~~191187~~)接口查询。'."\n" - .'>- N表示第几个标签的值。例如:Tag.1.Value表示第一个标签的值;Tag.2.Value表示第二个标签的值。可以同时传入1~20个标签值。'."\n" - .'- 允许传入空字符串。', - 'type' => 'string', - 'required' => false, - 'example' => 'testvalue1 ', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 11, - ], + 'schema' => ['description' => '当**SourceEndpoint.InstanceType**传入**DRDS**时,您需要传入本参数来指定源PolarDB-X下挂的私有定制RDS实例数量,默认值为**1**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '10000', 'minimum' => '0', 'example' => '1', 'default' => '1'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -8454,585 +3816,84 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageNumber' => [ - 'description' => '页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '92E1E99D-5224-4AD3-8C94-23A3516B****', - ], - 'PageRecordCount' => [ - 'description' => '当前页可展示的最大记录数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'TotalRecordCount' => [ - 'description' => '阿里云主账号下所有符合条件的数据同步实例数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'SynchronizationInstances' => [ - 'description' => '数据同步实例列表和各同步实例的详情。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DataInitialization' => [ - 'description' => '是否执行全量数据初始化,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'string', - 'example' => 'true', - ], - 'Status' => [ - 'description' => '同步实例的状态,返回值:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **Initializating **:同步初始化。'."\n" - .'- **InitializeFailed**:同步初始化失败。'."\n" - .'- **Synchronizing **:同步中。'."\n" - .'- **Failed**:同步失败。'."\n" - .'- **Suspending**:暂停。'."\n" - .'- **Modifying**:同步对象变更中。'."\n" - .'- **Finished**:完成。', - 'type' => 'string', - 'example' => 'synchronizing', - ], - 'SynchronizationJobName' => [ - 'description' => '同步实例名称。', - 'type' => 'string', - 'example' => 'MySQL同步', - ], - 'Delay' => [ - 'description' => '同步延迟,单位为秒。', - 'type' => 'string', - 'example' => '0', - ], - 'ErrorMessage' => [ - 'description' => '数据同步失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].', - ], - 'ExpireTime' => [ - 'description' => '同步实例的到期时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" - .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', - 'type' => 'string', - 'example' => '2021-07-07T16:00:00Z', - ], - 'CreateTime' => [ - 'description' => '同步任务创建时间,<i>yyyy-MM-dd HH:mm:ss</i>.0(北京时间)。', - 'type' => 'string', - 'example' => '2021-06-28 17:34:53.0', - ], - 'PayType' => [ - 'description' => '同步实例的付费类型,返回值:'."\n" - .'- **PrePaid**:包年包月(预付费)。'."\n" - .'- **PostPaid**:按量付费(后付费)。'."\n", - 'type' => 'string', - 'example' => 'PrePaid', - ], - 'StructureInitialization' => [ - 'description' => '是否执行结构初始化,返回值:'."\n" - ."\n" - .'- **true**:是'."\n" - .'- **false**:否', - 'type' => 'string', - 'example' => 'true', - ], - 'SynchronizationJobClass' => [ - 'description' => '同步链路规格。', - 'type' => 'string', - 'example' => 'large', - ], - 'InstanceCreateTime' => [ - 'description' => '同步实例创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2021-06-28T09:36:32Z', - ], - 'SynchronizationJobId' => [ - 'description' => '数据同步实例ID。', - 'type' => 'string', - 'example' => 'dtsexjk1alb116****', - ], - 'SynchronizationDirection' => [ - 'description' => '同步方向,返回值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。', - 'type' => 'string', - 'example' => 'Forward', - ], - 'JobCreateTime' => [ - 'description' => '同步任务创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2021-06-28T09:34:53Z', - ], - 'Tags' => [ - 'description' => '标签集合。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '标签键。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'testkey1', - ], - 'Value' => [ - 'description' => '标签键对应的标签值。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'testvalue1', - ], - ], - ], - ], - 'SynchronizationObjects' => [ - 'description' => '同步对象。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'NewSchemaName' => [ - 'description' => '待同步的库在目标数据库中映射的名称。', - 'type' => 'string', - 'example' => 'newdtstestdatabase', - ], - 'SchemaName' => [ - 'description' => '待同步的库名。', - 'type' => 'string', - 'example' => 'dtstestdatabase', - ], - 'TableExcludes' => [ - 'description' => '待同步库中排除的表,这些表将不会被同步。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'TableName' => [ - 'description' => '排除的表的名称。', - 'type' => 'string', - 'example' => 'order', - ], - ], - ], - ], - 'TableIncludes' => [ - 'description' => '待同步的表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'TableName' => [ - 'description' => '待同步表名。', - 'type' => 'string', - 'example' => 'customer', - ], - ], - ], - ], - ], - ], - ], - 'DataInitializationStatus' => [ - 'description' => '全量数据初始化状态。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '全量数据初始化状态,取值包括:'."\n" - .'- **NotStarted**:未初始化。'."\n" - .'- **Migrating**:初始化中。'."\n" - .'- **Failed**:初始化失败。'."\n" - .'- **Finished**:初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '全量数据初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '全量数据初始化失败的错误提示。', - 'type' => 'string', - 'example' => 'java.lang.NumberFormatException: For input string: ""', - ], - 'Progress' => [ - 'description' => '已完成全量数据初始化的记录数。', - 'type' => 'string', - 'example' => '200001', - ], - ], - ], - 'DataSynchronizationStatus' => [ - 'description' => '增量数据同步状态。'."\n" - .'> 本参数集合及所包含的参数已下线。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '增量数据同步状态。'."\n" - .'> 本参数已下线。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Delay' => [ - 'description' => '增量数据同步延迟。'."\n" - .'> 本参数已下线。', - 'type' => 'string', - 'example' => '0', - ], - 'Percent' => [ - 'description' => '增量数据同步进度。'."\n" - .'> 本参数已下线。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '增量数据同步失败的错误提示。'."\n" - .'> 本参数已下线。', - 'type' => 'string', - 'example' => '任务失败太久无法恢复', - ], - ], - ], - 'DestinationEndpoint' => [ - 'description' => '目标实例的连接信息。', - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'description' => '目标实例ID。', - 'type' => 'string', - 'example' => 'rm-bp162d4tp0500****', - ], - 'IP' => [ - 'description' => '目标实例的连接地址。', - 'type' => 'string', - 'example' => '172.16.88.***', - ], - 'InstanceType' => [ - 'description' => '目标实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'Port' => [ - 'description' => '目标实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'UserName' => [ - 'description' => '目标实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'EngineName' => [ - 'description' => '目标实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], - ], - ], - 'Performance' => [ - 'description' => '同步链路概况信息。', - 'type' => 'object', - 'properties' => [ - 'RPS' => [ - 'description' => '每秒同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。', - 'type' => 'string', - 'example' => '100', - ], - 'FLOW' => [ - 'description' => '每秒同步数据的流量,单位为MB/s。'."\n", - 'type' => 'string', - 'example' => '1', - ], - ], - ], - 'PrecheckStatus' => [ - 'description' => '预检查状态。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '预检查结果,返回值:'."\n" - .'- **Success**:通过该项检查。'."\n" - .'- **Failed**:未通过该项检查。', - 'type' => 'string', - 'example' => 'Success', - ], - 'Percent' => [ - 'description' => '预检查整体进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'Detail' => [ - 'description' => '各预检查项的执行情况。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CheckStatus' => [ - 'description' => '检查结果,返回值:'."\n" - .'- **Success**:通过该项检查。'."\n" - .'- **Failed**:未通过该项检查。', - 'type' => 'string', - 'example' => 'Success', - ], - 'ErrorMessage' => [ - 'description' => '预检查未通过的错误提示。'."\n" - .'> 当**CheckStatus**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)', - ], - 'ItemName' => [ - 'description' => '预检查项目。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC', - ], - 'RepairMethod' => [ - 'description' => '预检查未通过时对应的修复方法。'."\n" - .'> 当**CheckStatus**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2', - ], - ], - ], - ], - ], - ], - 'SourceEndpoint' => [ - 'description' => '源实例连接信息。', - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'description' => '源实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1i99e8l7913****', - ], - 'IP' => [ - 'description' => '源实例的连接地址。', - 'type' => 'string', - 'example' => '172.16.88.***', - ], - 'InstanceType' => [ - 'description' => '源实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'Port' => [ - 'description' => '源实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'UserName' => [ - 'description' => '源实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'EngineName' => [ - 'description' => '源实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], - ], - ], - 'StructureInitializationStatus' => [ - 'description' => '结构初始化状态。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '结构初始化状态,取值包括:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating **:初始化中。'."\n" - .'- **Failed **:初始化失败。'."\n" - .'- **Finished**:初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '结构初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '结构初始化失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;', - ], - 'Progress' => [ - 'description' => '已完成结构初始化的表的数量。', - 'type' => 'string', - 'example' => '1', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9056C8B0-5799-493A-9655-70F607B8****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n" + ."\n", 'type' => 'string', 'example' => 'true'], + 'SynchronizationJobId' => ['description' => '数据同步实例ID。', 'type' => 'string', 'example' => 'dtshvj11k25255****'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9056C8B0-5799-493A-9655-70F607B8****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"SynchronizationJobId\\": \\"dtshvj11k25255****\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '创建一个数据同步作业实例', + 'summary' => '老版创建一个数据同步作业实例。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:CreateSynchronizationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"92E1E99D-5224-4AD3-8C94-23A3516B****\\",\\n \\"PageRecordCount\\": 30,\\n \\"TotalRecordCount\\": 100,\\n \\"SynchronizationInstances\\": [\\n {\\n \\"DataInitialization\\": \\"true\\",\\n \\"Status\\": \\"synchronizing\\",\\n \\"SynchronizationJobName\\": \\"MySQL同步\\",\\n \\"Delay\\": \\"0\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"ExpireTime\\": \\"2021-07-07T16:00:00Z\\",\\n \\"CreateTime\\": \\"2021-06-28 17:34:53.0\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"StructureInitialization\\": \\"true\\",\\n \\"SynchronizationJobClass\\": \\"large\\",\\n \\"InstanceCreateTime\\": \\"2021-06-28T09:36:32Z\\",\\n \\"SynchronizationJobId\\": \\"dtsexjk1alb116****\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"JobCreateTime\\": \\"2021-06-28T09:34:53Z\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"testkey1\\",\\n \\"Value\\": \\"testvalue1\\"\\n }\\n ],\\n \\"SynchronizationObjects\\": [\\n {\\n \\"NewSchemaName\\": \\"newdtstestdatabase\\",\\n \\"SchemaName\\": \\"dtstestdatabase\\",\\n \\"TableExcludes\\": [\\n {\\n \\"TableName\\": \\"order\\"\\n }\\n ],\\n \\"TableIncludes\\": [\\n {\\n \\"TableName\\": \\"customer\\"\\n }\\n ]\\n }\\n ],\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"200001\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Delay\\": \\"0\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"InstanceId\\": \\"rm-bp162d4tp0500****\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"Performance\\": {\\n \\"RPS\\": \\"100\\",\\n \\"FLOW\\": \\"1\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Success\\",\\n \\"Percent\\": \\"100\\",\\n \\"Detail\\": [\\n {\\n \\"CheckStatus\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"ItemName\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"SourceEndpoint\\": {\\n \\"InstanceId\\": \\"rm-bp1i99e8l7913****\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n }\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSynchronizationJobsResponse>\\r\\n <TotalRecordCount>100</TotalRecordCount>\\r\\n <SynchronizationInstances>\\r\\n <Status>synchronizing</Status>\\r\\n <SynchronizationObjects>\\r\\n <SchemaName>dtstestdatabase</SchemaName>\\r\\n <NewSchemaName>newdtstestdatabase</NewSchemaName>\\r\\n </SynchronizationObjects>\\r\\n <DataInitializationStatus>\\r\\n <Status>Finished</Status>\\r\\n <Progress>200001</Progress>\\r\\n <Percent>100</Percent>\\r\\n </DataInitializationStatus>\\r\\n <SynchronizationJobName>MySQL同步</SynchronizationJobName>\\r\\n <InstanceCreateTime>2021-06-28T09:36:32Z</InstanceCreateTime>\\r\\n <CreateTime>2021-06-28 17:34:53.0</CreateTime>\\r\\n <JobCreateTime>2021-06-28T09:34:53Z</JobCreateTime>\\r\\n <PayType>PostPaid</PayType>\\r\\n <Delay>0</Delay>\\r\\n <PrecheckStatus>\\r\\n <Status>Finished</Status>\\r\\n <Percent>100</Percent>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_CONN_SRC</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_AUTH_SRC</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_CONN_DEST</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_AUTH_DEST</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_ON</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_MODE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_ROW_IMAGE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SERVER_ID</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_EXIST</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_ENGINE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_MYSQL_PASSOWRD_FORMAT</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SRC</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SAME_OBJ</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SQL_MODE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SAME_USER</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_TOPOLOGY</ItemName>\\r\\n </Detail>\\r\\n </PrecheckStatus>\\r\\n <SynchronizationJobId>dtsexjk1alb116lbf1</SynchronizationJobId>\\r\\n <DataInitialization>true</DataInitialization>\\r\\n <DestinationEndpoint>\\r\\n <InstanceId>rm-bp162d4tp0500****</InstanceId>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </DestinationEndpoint>\\r\\n <SourceEndpoint>\\r\\n <InstanceId>rm-bp1i99e8l7913****</InstanceId>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </SourceEndpoint>\\r\\n <StructureInitialization>true</StructureInitialization>\\r\\n <ExpireTime>2021-07-07T16:00:00Z</ExpireTime>\\r\\n <Performance>\\r\\n <RPS>0</RPS>\\r\\n <FLOW>0.00MB/s</FLOW>\\r\\n </Performance>\\r\\n <SynchronizationJobClass>large</SynchronizationJobClass>\\r\\n <DataSynchronizationStatus/>\\r\\n <StructureInitializationStatus>\\r\\n <Status>Finished</Status>\\r\\n <Progress>1</Progress>\\r\\n <Percent>100</Percent>\\r\\n </StructureInitializationStatus>\\r\\n </SynchronizationInstances>\\r\\n <PageRecordCount>30</PageRecordCount>\\r\\n <RequestId>92E1E99D-5224-4AD3-8C94-23A3516B****</RequestId>\\r\\n <PageNumber>1</PageNumber>\\r\\n</DescribeSynchronizationJobsResponse>","errorExample":""}]', - 'title' => '查询数据同步实例列表及各实例详情', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'DescribeSynchronizationJobStatus' => [ - 'summary' => '老版查询同步作业的运行状态。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteConsumerChannel' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREdtsDW6WLD', - ], - ], + 'systemTags' => [], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - 'enum' => [ - 'cn-hangzhou', - 'cn-shanghai', - 'cn-beijing', - 'cn-guangzhou', - 'cn-shenzhen', - 'cn-chengdu', - 'cn-heyuan', - 'cn-hongkong', - 'cn-qingdao', - 'cn-zhangbei', - 'cn-zhangjiakou', - 'us-east-1', - 'us-west-1', - 'cn-hangzhou-finance', - 'cn-shanghai-finance', - 'cn-shanghai-finance-1', - 'cn-shenzhen-finance', - 'cn-shenzhen-finance-1', - 'cn-beijing-finance-1', - 'cn-huhehaote', - 'cn-north-2-gov-1', - 'eu-central-1', - 'eu-west-1', - 'me-central-1', - 'me-east-1', - 'ap-northeast-1', - 'ap-northeast-2', - 'ap-southeast-1', - 'ap-southeast-3', - 'ap-southeast-5', - 'ap-southeast-6', - 'ap-southeast-7', - 'cn-wulanchabu', - 'cn-zhengzhou-jva', - 'cn-wuhan-lr', - ], - ], - ], - [ - 'name' => 'SynchronizationJobId', - 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例ID,可以通过调用[DescribeSynchronizationJobs](~~49454~~)接口查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsexjk1alb116****', - ], + 'schema' => ['description' => 'DTS订阅实例所在地域的ID,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SynchronizationDirection', + 'name' => 'DtsInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '同步方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> 默认取值为**Forward**。'."\n" - .'只有当数据同步实例的同步拓扑为双向同步时,本参数传入**Reverse**才会生效。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => '订阅实例ID,可以调用[DescribeDtsJobs](~~209702~~)查询。'."\n" + .'> 参数**DtsInstanceId**与**DtsJobId**,两者必须传入其一。', 'type' => 'string', 'required' => false, 'example' => 'dtsboss6pn1w73****'], ], [ - 'name' => 'ClientToken', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。', - 'type' => 'string', - 'required' => false, - 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', - ], + 'schema' => ['description' => '订阅任务ID,可以调用[DescribeDtsJobs](~~209702~~)查询。'."\n" + .'> 参数**DtsInstanceId**与**DtsJobId**,两者必须传入其一。', 'type' => 'string', 'required' => false, 'example' => 'boss6pn1w73****'], ], [ - 'name' => 'AccountId', + 'name' => 'ConsumerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '消费组ID,您可以调用[DescribeConsumerChannel](~~264169~~)接口查询消费组ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsktbb6jdn2******'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -9040,514 +3901,84 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'SynchronizationJobName' => [ - 'description' => '同步实例名称。'."\n", - 'type' => 'string', - 'example' => 'MySQL同步', - ], - 'Status' => [ - 'description' => '同步实例的状态,返回值:'."\n" - ."\n" - .'- **notStarted**:未启动。'."\n" - .'- **prechecking**:预检查中。'."\n" - .'- **precheckFailed**:预检查失败。'."\n" - .'- **initializating**:同步初始化中。'."\n" - .'- **initializeFailed**:同步初始化失败。'."\n" - .'- **synchronizing**:同步中。'."\n" - .'- **failed**:同步失败。'."\n" - .'- **suspending**:暂停。'."\n" - .'- **modifying**:同步对象变更中。'."\n" - .'- **finished**:完成。', - 'type' => 'string', - 'example' => 'synchronizing', - ], - 'DataInitialization' => [ - 'description' => '是否执行全量数据初始化,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'string', - 'example' => 'true', - ], - 'Delay' => [ - 'description' => '同步延迟,单位为秒。'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'ErrorMessage' => [ - 'description' => '数据同步失败的错误提示。'."\n", - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].', - ], - 'ExpireTime' => [ - 'description' => '同步实例的到期时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" - .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', - 'type' => 'string', - 'example' => '2021-03-07T16:00:00Z', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'StructureInitialization' => [ - 'description' => '是否执行结构初始化,返回值:'."\n" - ."\n" - .'- **true**:是'."\n" - .'- **false**:否', - 'type' => 'string', - 'example' => 'true', - ], - 'PayType' => [ - 'description' => '同步实例的付费类型,返回值:'."\n" - ."\n" - .'- **PrePaid**:包年包月(预付费)。'."\n" - .'- **PostPaid**:按量付费(后付费)。', - 'type' => 'string', - 'example' => 'PrePaid', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'SynchronizationJobClass' => [ - 'description' => '同步链路规格。'."\n", - 'type' => 'string', - 'example' => 'large', - ], - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => 'DACDF659-AFC6-4DC8-ADB8-4569419A4****', - ], - 'SynchronizationJobId' => [ - 'description' => '数据同步实例ID。', - 'type' => 'string', - 'example' => 'dtsexjk1alb116****', - ], - 'DelayMillis' => [ - 'description' => '同步延迟,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '506', - ], - 'SynchronizationDirection' => [ - 'description' => '同步方向,返回值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。', - 'type' => 'string', - 'example' => 'Forward', - ], - 'TaskId' => [ - 'description' => '数据同步任务ID。', - 'type' => 'string', - 'example' => 'exjk1alb116****', - ], - 'Checkpoint' => [ - 'description' => '同步最新一条数据的时间戳,格式为Unix时间戳。'."\n" - ."\n" - .'> Unix时间戳转换工具可用搜索引擎获取。', - 'type' => 'string', - 'example' => '1610616144', - ], - 'DataInitializationStatus' => [ - 'description' => '全量数据初始化状态。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '全量数据初始化状态,取值包括:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:初始化中。'."\n" - .'- **Failed**:初始化失败。'."\n" - .'- **Finished**:初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '全量数据初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '全量数据初始化失败的错误提示。', - 'type' => 'string', - 'example' => 'java.lang.NumberFormatException: For input string: ""', - ], - 'Progress' => [ - 'description' => '已完成全量数据初始化的记录数。', - 'type' => 'string', - 'example' => '200001', - ], - ], - ], - 'DataSynchronizationStatus' => [ - 'description' => '增量数据同步状态。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '增量数据同步状态,取值包括:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:同步中。'."\n" - .'- **Failed**:同步失败。'."\n" - .'- **Finished**:同步完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Delay' => [ - 'description' => '增量数据同步延迟,单位为秒。', - 'type' => 'string', - 'example' => '0', - ], - 'Percent' => [ - 'description' => '增量数据同步进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '增量数据同步失败的错误提示。', - 'type' => 'string', - 'example' => '任务失败太久无法恢复', - ], - 'DelayMillis' => [ - 'description' => '增量数据同步延迟,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '856', - ], - 'Checkpoint' => [ - 'description' => '同步最新一条数据的时间戳,格式为Unix时间戳。', - 'type' => 'string', - 'example' => '1610709865', - ], - ], - ], - 'DestinationEndpoint' => [ - 'description' => '目标实例的连接信息。', - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'description' => '目标实例ID。', - 'type' => 'string', - 'example' => 'rm-bp162d4tp0500****', - ], - 'IP' => [ - 'description' => '目标实例的连接地址。', - 'type' => 'string', - 'example' => '172.16.88.***', - ], - 'InstanceType' => [ - 'description' => '目标实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'Port' => [ - 'description' => '目标实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'UserName' => [ - 'description' => '目标实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'EngineName' => [ - 'description' => '目标实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], - ], - ], - 'Performance' => [ - 'description' => '同步链路概况信息。', - 'type' => 'object', - 'properties' => [ - 'RPS' => [ - 'description' => '每秒同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。', - 'type' => 'string', - 'example' => '100', - ], - 'FLOW' => [ - 'description' => '每秒同步数据的流量,单位为MB/s。'."\n", - 'type' => 'string', - 'example' => '1', - ], - ], - ], - 'PrecheckStatus' => [ - 'description' => '预检查状态。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '预检查结果,返回值:'."\n" - .'- **Success**:通过该项检查。'."\n" - .'- **Failed**:未通过该项检查。', - 'type' => 'string', - 'example' => 'Success', - ], - 'Percent' => [ - 'description' => '预检查整体进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'Detail' => [ - 'description' => '各预检查项的执行情况。', - 'type' => 'array', - 'items' => [ - 'description' => '各预检查项的执行情况。', - 'type' => 'object', - 'properties' => [ - 'CheckStatus' => [ - 'description' => '检查结果,返回值:'."\n" - .'- **Success**:通过该项检查。'."\n" - .'- **Failed**:未通过该项检查。', - 'type' => 'string', - 'example' => 'Success', - ], - 'ErrorMessage' => [ - 'description' => '预检查未通过的错误提示。'."\n" - .'> 当**CheckStatus**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)', - ], - 'ItemName' => [ - 'description' => '预检查项目。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC', - ], - 'RepairMethod' => [ - 'description' => '预检查未通过时对应的修复方法。'."\n" - .'> 当**CheckStatus**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2', - ], - ], - ], - ], - ], - ], - 'SourceEndpoint' => [ - 'description' => '源实例连接信息。', - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'description' => '源实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1i99e8l7913****', - ], - 'IP' => [ - 'description' => '源实例的连接地址。', - 'type' => 'string', - 'example' => '172.16.88.***', - ], - 'InstanceType' => [ - 'description' => '源实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'Port' => [ - 'description' => '源实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'UserName' => [ - 'description' => '源实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'EngineName' => [ - 'description' => '源实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], - ], - ], - 'StructureInitializationStatus' => [ - 'description' => '结构初始化状态。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '结构初始化状态,取值包括:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:初始化中。'."\n" - .'- **Failed**:初始化失败。'."\n" - .'- **Finished**:初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '结构初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '结构初始化出现异常的错误提示。', - 'type' => 'string', - 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;', - ], - 'Progress' => [ - 'description' => '已完成结构初始化的表的数量。', - 'type' => 'string', - 'example' => '1', - ], - ], - ], - 'SynchronizationObjects' => [ - 'description' => '同步对象。', - 'type' => 'array', - 'items' => [ - 'description' => '同步对象。', - 'type' => 'object', - 'properties' => [ - 'NewSchemaName' => [ - 'description' => '待同步的库在目标数据库中映射的名称。', - 'type' => 'string', - 'example' => 'newdtstestdatabase', - ], - 'SchemaName' => [ - 'description' => '待同步的库名。', - 'type' => 'string', - 'example' => 'dtstestdatabase', - ], - 'TableExcludes' => [ - 'description' => '待同步库中排除的表,这些表将不会被同步。', - 'type' => 'array', - 'items' => [ - 'description' => '待同步库中排除的表,这些表将不会被同步。', - 'type' => 'object', - 'properties' => [ - 'TableName' => [ - 'description' => '排除的表的名称。', - 'type' => 'string', - 'example' => 'order', - ], - ], - ], - ], - 'TableIncludes' => [ - 'description' => '待同步的表。', - 'type' => 'array', - 'items' => [ - 'description' => '待同步的表。', - 'type' => 'object', - 'properties' => [ - 'TableName' => [ - 'description' => '待同步表名。', - 'type' => 'string', - 'example' => 'customer', - ], - ], - ], - ], - ], - ], - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'F9E00ABE-2AD9-40A9-8C3C-D817E648****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用出错时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"SynchronizationJobName\\": \\"MySQL同步\\",\\n \\"Status\\": \\"synchronizing\\",\\n \\"DataInitialization\\": \\"true\\",\\n \\"Delay\\": \\"0\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"ExpireTime\\": \\"2021-03-07T16:00:00Z\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"StructureInitialization\\": \\"true\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"SynchronizationJobClass\\": \\"large\\",\\n \\"RequestId\\": \\"DACDF659-AFC6-4DC8-ADB8-4569419A4****\\",\\n \\"SynchronizationJobId\\": \\"dtsexjk1alb116****\\",\\n \\"DelayMillis\\": 506,\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"TaskId\\": \\"exjk1alb116****\\",\\n \\"Checkpoint\\": \\"1610616144\\",\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"200001\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Delay\\": \\"0\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\",\\n \\"DelayMillis\\": 856,\\n \\"Checkpoint\\": \\"1610709865\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"InstanceId\\": \\"rm-bp162d4tp0500****\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"Performance\\": {\\n \\"RPS\\": \\"100\\",\\n \\"FLOW\\": \\"1\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Success\\",\\n \\"Percent\\": \\"100\\",\\n \\"Detail\\": [\\n {\\n \\"CheckStatus\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"ItemName\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"SourceEndpoint\\": {\\n \\"InstanceId\\": \\"rm-bp1i99e8l7913****\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n },\\n \\"SynchronizationObjects\\": [\\n {\\n \\"NewSchemaName\\": \\"newdtstestdatabase\\",\\n \\"SchemaName\\": \\"dtstestdatabase\\",\\n \\"TableExcludes\\": [\\n {\\n \\"TableName\\": \\"order\\"\\n }\\n ],\\n \\"TableIncludes\\": [\\n {\\n \\"TableName\\": \\"customer\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSynchronizationJobStatusResponse>\\r\\n <TaskId>exjk1alb116****</TaskId>\\r\\n <SynchronizationObjects>\\r\\n <SchemaName>newdtstestdatabase</SchemaName>\\r\\n <NewSchemaName>dtstestdatabase</NewSchemaName>\\r\\n </SynchronizationObjects>\\r\\n <DataInitializationStatus>\\r\\n <Status>Finished</Status>\\r\\n <Progress>200001</Progress>\\r\\n <Percent>100</Percent>\\r\\n </DataInitializationStatus>\\r\\n <Delay>0</Delay>\\r\\n <Success>true</Success>\\r\\n <DelayMillis>0</DelayMillis>\\r\\n <DataInitialization>true</DataInitialization>\\r\\n <SynchronizationJobClass>large</SynchronizationJobClass>\\r\\n <Status>synchronizing</Status>\\r\\n <RequestId>DACDF659-AFC6-4DC8-ADB8-4569419A****</RequestId>\\r\\n <SynchronizationJobName>MySQL同步</SynchronizationJobName>\\r\\n <PayType>PostPaid</PayType>\\r\\n <ErrMessage/>\\r\\n <PrecheckStatus>\\r\\n <Status>Finished</Status>\\r\\n <Percent>100</Percent>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_CONN_SRC</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_AUTH_SRC</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_CONN_DEST</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_AUTH_DEST</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_ON</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_MODE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_ROW_IMAGE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SERVER_ID</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_EXIST</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_ENGINE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_MYSQL_PASSOWRD_FORMAT</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SRC</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SAME_OBJ</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SQL_MODE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SAME_USER</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_TOPOLOGY</ItemName>\\r\\n </Detail>\\r\\n </PrecheckStatus>\\r\\n <Checkpoint>1610616144</Checkpoint>\\r\\n <SynchronizationJobId>dtsexjk1alb116****</SynchronizationJobId>\\r\\n <DestinationEndpoint>\\r\\n <InstanceId>rm-bp1u40w1ip917****</InstanceId>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </DestinationEndpoint>\\r\\n <SourceEndpoint>\\r\\n <InstanceId>rm-bp1i99e8l7913****</InstanceId>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </SourceEndpoint>\\r\\n <StructureInitialization>true</StructureInitialization>\\r\\n <Performance>\\r\\n <RPS>0</RPS>\\r\\n <FLOW>0.00MB/s</FLOW>\\r\\n </Performance>\\r\\n <StructureInitializationStatus>\\r\\n <Status>Finished</Status>\\r\\n <Progress>1</Progress>\\r\\n <Percent>100</Percent>\\r\\n </StructureInitializationStatus>\\r\\n</DescribeSynchronizationJobStatusResponse>","errorExample":""}]', - 'title' => '查询同步作业的运行状态', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"F9E00ABE-2AD9-40A9-8C3C-D817E648****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteConsumerChannelResponse>\\n <RequestId>F9E00ABE-2AD9-40A9-8C3C-D817E648****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</DeleteConsumerChannelResponse>","errorExample":""}]', + 'title' => '删除订阅任务消费组', + 'summary' => '新版删除订阅任务消费组。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeSynchronizationJobStatusList' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'dts:DeleteConsumerChannel', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], ], + ], + 'DeleteConsumerGroup' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => [], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SynchronizationJobIdListJsonStr', + 'name' => 'SubscriptionInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例ID,格式为JSON数组,可以通过调用[DescribeSynchronizationJobs](~~49454~~)接口查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '["dtsexjk1alb116****","dtskfq1149w254****"]', - ], + 'schema' => ['description' => '数据订阅实例ID,可以通过调用**DescribeSubscriptionInstances**接口查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsg2m10r1x15a****'], ], [ - 'name' => 'ClientToken', + 'name' => 'ConsumerGroupID', 'in' => 'query', - 'schema' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', - ], + 'schema' => ['description' => '消费组ID,您可以调用[DescribeConsumerGroup](~~122886~~)接口查询消费组ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtssb911ydd192****'], ], [ 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -9555,138 +3986,47 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '1413460B-138A-48D1-836C-B24EDDC1****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'PageRecordCount' => [ - 'description' => '一页展示的同步实例数量。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'TotalRecordCount' => [ - 'description' => '所查询的同步实例总数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'PageNumber' => [ - 'description' => '页码。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SynchronizationJobListStatusList' => [ - 'description' => '同步任务状态列表。', - 'type' => 'array', - 'items' => [ - 'description' => '同步任务状态列表。', - 'type' => 'object', - 'properties' => [ - 'SynchronizationJobId' => [ - 'description' => '数据同步实例ID。', - 'type' => 'string', - 'example' => 'dtsexjk1alb116****', - ], - 'SynchronizationDirectionInfoList' => [ - 'description' => '同步方向详情列表。', - 'type' => 'array', - 'items' => [ - 'description' => '同步方向详情列表。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '同步实例在该方向上的同步状态,返回值:'."\n" - ."\n" - .'- **NotStarted**:未启动'."\n" - .'- **Prechecking**:预检查中'."\n" - .'- **PrecheckFailed**:预检查失败'."\n" - .'- **Initializing**:同步初始化'."\n" - .'- **InitializeFailed**:同步初始化失败'."\n" - .'- **Synchronizing**:同步中'."\n" - .'- **Failed**:同步失败'."\n" - .'- **Suspending**:暂停'."\n" - .'- **Modifying**:同步对象变更中'."\n" - .'- **Finished**:完成', - 'type' => 'string', - 'example' => 'InitializeFailed', - ], - 'SynchronizationDirection' => [ - 'description' => '同步方向,返回值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。', - 'type' => 'string', - 'example' => 'Forward', - ], - 'Checkpoint' => [ - 'description' => '同步最新一条数据的时间戳,格式为Unix时间戳。'."\n" - ."\n" - .'> Unix时间戳转换工具可用搜索引擎获取。', - 'type' => 'string', - 'example' => '1610524452', - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4D0ADAD5-DD97-41B6-B78F-D1961AB1****'], + 'ErrCode' => ['description' => '调用错误时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用出错时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4D0ADAD5-DD97-41B6-B78F-D1961AB1****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '删除消费组', + 'summary' => '删除订阅通道中的消费组。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'dts:DeleteConsumerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1413460B-138A-48D1-836C-B24EDDC1****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"PageRecordCount\\": 2,\\n \\"Success\\": \\"true\\",\\n \\"TotalRecordCount\\": 2,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PageNumber\\": 1,\\n \\"SynchronizationJobListStatusList\\": [\\n {\\n \\"SynchronizationJobId\\": \\"dtsexjk1alb116****\\",\\n \\"SynchronizationDirectionInfoList\\": [\\n {\\n \\"Status\\": \\"InitializeFailed\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"Checkpoint\\": \\"1610524452\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => '获取同步作业状态列表', - 'summary' => '老版获取同步作业状态列表。', ], - 'DescribeSynchronizationObjectModifyStatus' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteDtsJob' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -9695,59 +4035,54 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', + 'abilityTreeCode' => '52224', + 'abilityTreeNodes' => ['FEATUREdtsQYRBZN'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '迁移、同步或订阅任务ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'l3m1213ye7l****'], ], [ - 'name' => 'TaskId', + 'name' => 'DtsInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '任务ID,调用[ModifySynchronizationObject](~~49451~~)接口修改同步对象时会返回该值。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'k71r16fj13g****', - ], + 'schema' => ['description' => '迁移、同步或订阅实例ID。', 'type' => 'string', 'required' => false, 'example' => 'dtsl3m1213ye7l****'], ], [ - 'name' => 'ClientToken', + 'name' => 'SynchronizationDirection', 'in' => 'query', - 'schema' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', - ], + 'schema' => ['description' => '同步方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 当数据同步实例的拓扑为双向时,才可以传入**Reverse**以释放反向同步链路。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ - 'name' => 'AccountId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '数据迁移或同步实例所在地域的id,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'], + ], + [ + 'name' => 'JobType', + 'in' => 'query', + 'schema' => ['description' => 'DTS实例的任务类型,取值:'."\n" + ."\n" + .'- **MIGRATION**:迁移。'."\n" + .'- **SYNC**:同步。'."\n" + .'- **SUBSCRIBE**:订阅。', 'type' => 'string', 'required' => false, 'example' => 'MIGRATION'], + ], + [ + 'name' => 'ZeroEtlJob', + 'in' => 'query', + 'schema' => ['description' => '特殊业务专用字段,无需传参。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '特殊业务专用字段,无需传参。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek26lwshij****'], ], ], 'responses' => [ @@ -9755,282 +4090,89 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '同步对象变更状态,取值:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **Migrating**:同步中。'."\n" - .'- **Failed**:同步失败。'."\n" - .'- **Finished**:同步完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '修改同步对象任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].', - ], - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => 'B38C644B-4395-4F6F-86E3-592F26BE****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'DataInitializationStatus' => [ - 'description' => '全量数据初始化状态。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '同步对象变更状态,取值包括:-**notstarted**:未启动。-**migrating**:同步中。-**failed**:同步失败。-**finaciallocked**:欠费锁定。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '全量数据初始化进度,单位为百分比。'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '全量数据初始化失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].', - ], - 'Progress' => [ - 'description' => '已完成全量数据初始化的记录数。', - 'type' => 'string', - 'example' => '39754', - ], - ], - ], - 'DataSynchronizationStatus' => [ - 'description' => '增量数据同步状态。'."\n" - .'> 该参数合集及包含的返回参数即将下线。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '同步对象变更状态,取值:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **Migrating**:同步中。'."\n" - .'- **Failed**:同步失败。'."\n" - .'- **Finished**:同步完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Delay' => [ - 'description' => '增量数据同步延迟,单位为秒。', - 'type' => 'string', - 'example' => '0', - ], - 'Percent' => [ - 'description' => '增量数据同步进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '增量数据同步失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].', - ], - ], - ], - 'PrecheckStatus' => [ - 'description' => '预检查状态。'."\n", - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '预检查状态。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '预检查进度,单位为百分比。'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'Detail' => [ - 'description' => '各预检查项的执行情况。'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '各预检查项的执行情况。'."\n", - 'type' => 'object', - 'properties' => [ - 'CheckStatus' => [ - 'description' => '检查结果,返回值:'."\n" - ."\n" - .'- Success:通过该项检查。'."\n" - .'- Failed:未通过该项检查。', - 'type' => 'string', - 'example' => 'Success', - ], - 'ErrorMessage' => [ - 'description' => '预检查未通过的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].', - ], - 'ItemName' => [ - 'description' => '预检查项目。'."\n", - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC', - ], - 'RepairMethod' => [ - 'description' => '预检查未通过时对应的修复方法。'."\n" - .'> 当**CheckStatus**参数返回值为Failed时,才会返回本参数。', - 'type' => 'string', - 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2', - ], - ], - ], - ], - ], - ], - 'StructureInitializationStatus' => [ - 'description' => '结构初始化状态。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '结构初始化状态,取值包括:NotStarted:未启动。 Migrating :初始化中。 Failed :初始化失败。 Finished:初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '结构初始化进度,单位为百分比。'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '结构初始化失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].', - ], - 'Progress' => [ - 'description' => '已完成结构初始化的表的数量。'."\n", - 'type' => 'string', - 'example' => '1', - ], - ], - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '01B6F25-21E7-4484-99D5-3EF2625C****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'DtsJobId'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"01B6F25-21E7-4484-99D5-3EF2625C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteDtsJobResponse>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>01B6F25-21E7-4484-99D5-3EF2625C****</RequestId>\\n <ErrCode>InternalError</ErrCode>\\n <Success>true</Success>\\n <ErrMessage>The Value of Input Parameter %s is not valid.</ErrMessage>\\n <DynamicMessage>DtsJobId</DynamicMessage>\\n <DynamicCode>403</DynamicCode>\\n</DeleteDtsJobResponse>","errorExample":""}]', + 'title' => '释放DTS实例', + 'summary' => '释放一个数据迁移、同步或订阅实例。', + 'description' => '> <props="china"><ph>包年包月的DTS实例不支持通过API释放,您可以通过退订的方式进行释放。更多信息,请参见[释放DTS实例](~~289054~~)。</ph></props><props="intl"><ph>包年包月的DTS实例不支持释放。</ph></props>', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dts:DeleteDtsJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"RequestId\\": \\"B38C644B-4395-4F6F-86E3-592F26BE****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"Progress\\": \\"39754\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Delay\\": \\"0\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"Detail\\": [\\n {\\n \\"CheckStatus\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"ItemName\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"Progress\\": \\"1\\"\\n }\\n}","type":"json"}]', - 'title' => '查询修改同步对象任务的执行状态', - 'summary' => '老版查询修改同步对象任务的执行状态。', ], - 'SuspendSynchronizationJob' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteDtsJobs' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'delete', + 'abilityTreeCode' => '52225', + 'abilityTreeNodes' => ['FEATUREdtsQYRBZN'], ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'SynchronizationJobId', + 'name' => 'DtsJobIds', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例ID,可以通过调用**DescribeSynchronizationJobs**接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsmr1q4mc2152****', - ], + 'schema' => ['description' => '迁移、同步或订阅任务ID。'."\n" + .'> - 当有多个任务ID时,最多支持传入10个任务ID,且需以英文逗号(,)分隔。'."\n" + .'- 可调用[DescribeDtsJobs](~~209702~~)获取DTS任务ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'l5o11f9029c****'], ], [ - 'name' => 'SynchronizationDirection', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '同步方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 当数据同步实例的拓扑为双向时,才可以传入**Reverse**以暂停反向同步链路。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'AccountId', + 'name' => 'ZeroEtlJob', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '特殊业务专用字段,无需传参。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '特殊业务专用字段,无需传参。', 'type' => 'string', 'required' => false, 'example' => 'rg3m1213ye7l****'], ], ], 'responses' => [ @@ -10038,69 +4180,55 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => 'C306C198-7807-409D-930A-D6CE6C32****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'AD823BD3-1BA6-4117-A536-165CB280****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'DtsJobId'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C306C198-7807-409D-930A-D6CE6C32****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<SuspendSynchronizationJobResponse>\\n <RequestId>C306C198-7807-409D-930A-D6CE6C32****</RequestId>\\n <Success>true</Success>\\n</SuspendSynchronizationJobResponse>","errorExample":""}]', - 'title' => '暂停同步作业', - 'summary' => '暂停处于同步中的数据同步作业。', - 'description' => '> - 调用本接口时,同步作业须处于同步中状态。'."\n" - .'- 暂停同步作业不能超过6个小时,否则将无法被再次启动。'."\n" - .'- 按量付费类型的同步作业即使处于暂停状态,DTS依然会收取费用。这是由于DTS只是暂停向目标库写入数据,仍然会继续拉取源库的日志以便重启任务后快速恢复运行,因此还是会占用源数据库的带宽等资源。 ', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"AD823BD3-1BA6-4117-A536-165CB280****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteDtsJobsResponse>\\n <RequestId>AD823BD3-1BA6-4117-A536-165CB280****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</DeleteDtsJobsResponse>","errorExample":""}]', + 'title' => '批量释放DTS任务', + 'summary' => '调用DeleteDtsJobs接口批量释放数据迁移、同步或订阅任务。', + 'description' => '> <props="china"><ph>包年包月的DTS实例不支持通过API释放,您可以通过退订的方式进行释放。更多信息,请参见[释放DTS实例](~~289054~~)。</ph></props><props="intl"><ph>包年包月的DTS实例不支持释放。</ph></props>', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ResetSynchronizationJob' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dts:DeleteDtsJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteMigrationJob' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10108,66 +4236,27 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'SynchronizationJobId', - 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例ID,可以通过调用**DescribeSynchronizationJobs**接口查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsm761239l27m****', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SynchronizationDirection', + 'name' => 'MigrationJobId', 'in' => 'query', - 'schema' => [ - 'description' => '同步方向,取值:'."\n" - ."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 当数据同步实例的拓扑为双向时,才可以传入**Reverse**以清空反向同步链路。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => '数据迁移实例ID,可以通过调用**DescribeMigrationJobs**接口查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsyiwe9b0gp2p****'], ], [ 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -10175,67 +4264,47 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'FDC111B1-ACBF-457D-9656-247FDEE9****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => 'F28A96B1-F897-4246-833B-310A3345****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用出错时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F28A96B1-F897-4246-833B-310A3345****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '释放迁移实例', + 'summary' => '释放数据迁移实例。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dts:DeleteMigrationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FDC111B1-ACBF-457D-9656-247FDEE9****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ResetSynchronizationJobResponse>\\n <RequestId>FDC111B1-ACBF-457D-9656-247FDEE9****</RequestId>\\n <Success>true</Success>\\n</ResetSynchronizationJobResponse>","errorExample":""}]', - 'title' => '清空同步作业配置', - 'summary' => '清空数据同步作业配置。', - 'description' => '> 清空数据同步任务配置后,原先的同步任务就会被释放,您需要调用接口**ConfigureSynchronizationJob**重新配置同步任务,才能成功启动该任务。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'ConfigureSynchronizationJobReplicatorCompare' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteSubscriptionInstance' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10243,87 +4312,27 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'SynchronizationJobId', - 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例ID,可以通过调用[DescribeSynchronizationJobs](~~49454~~)接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsexjk1alb116****', - ], - ], - [ - 'name' => 'SynchronizationDirection', - 'in' => 'query', - 'schema' => [ - 'description' => '指定同步方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 只有当数据同步实例的同步拓扑为双向同步时,才需要传入本参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], - ], - [ - 'name' => 'SynchronizationReplicatorCompareEnable', - 'in' => 'query', - 'schema' => [ - 'description' => '全镜像开关,取值:'."\n" - .'- **true**:打开。'."\n" - .'- **false**:关闭。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '数据订阅实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ClientToken', + 'name' => 'SubscriptionInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', - ], + 'schema' => ['description' => '数据订阅实例ID,可以通过调用[DescribeSubscriptionInstances](~~49442~~)接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsmxg11pfp231****'], ], [ 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -10331,63 +4340,47 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => '86A8FF0F-FA92-449D-B559-05CFF9F9****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => 'C306C198-7807-409D-930A-D6CE6C32****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用出错时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C306C198-7807-409D-930A-D6CE6C32****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '释放订阅实例', + 'summary' => '释放数据订阅实例通道。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dts:DeleteSubscriptionInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86A8FF0F-FA92-449D-B559-05CFF9F9****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '配置同步时全镜像匹配开关', - 'summary' => '配置同步全镜像匹配开关。', ], - 'ConfigureSynchronizationJob' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteSynchronizationJob' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10395,395 +4388,27 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例所在地域的id,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'SynchronizationJobName', - 'in' => 'query', - 'schema' => [ - 'description' => '同步任务名称。'."\n" - .'>建议配置具有业务意义的名称(无唯一性要求),便于后续识别。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'MySQL同步', - ], + 'schema' => ['description' => '数据同步实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'SynchronizationJobId', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例ID,可以通过调用[DescribeSynchronizationJobs](~~49454~~)接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsz4ao1dor13d****', - ], - ], - [ - 'name' => 'SynchronizationDirection', - 'in' => 'query', - 'schema' => [ - 'description' => '同步方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 只有当数据同步实例的同步拓扑为双向同步时,本参数传入**Reverse**才会生效。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], - ], - [ - 'name' => 'SourceEndpoint.InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => '源实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp1i99e8l7913****', - ], - ], - [ - 'name' => 'SourceEndpoint.InstanceType', - 'in' => 'query', - 'schema' => [ - 'description' => '源实例类型,取值为:'."\n" - ."\n" - .'- **RDS**:阿里云RDS实例。'."\n" - .'- **Redis**:阿里云Redis实例。'."\n" - .'- **PolarDB**:阿里云PolarDB集群(仅支持MySQL或兼容Oracle语法的引擎)。'."\n" - .'- **ECS**:ECS上的自建数据库。'."\n" - .'- **Express**:通过专线接入的自建数据库。'."\n" - .'- **dg**:通过数据库网关DG接入的自建数据库。'."\n" - .'- **cen**:通过云企业网CEN接入的自建数据库。'."\n" - ."\n" - .'> 默认取值为**RDS**。', - 'type' => 'string', - 'required' => false, - 'example' => 'RDS', - ], - ], - [ - 'name' => 'SourceEndpoint.IP', - 'in' => 'query', - 'schema' => [ - 'description' => '源库的IP地址。'."\n" - .'> 当**SourceEndpoint.InstanceType**取值为**ECS**、**Express**、**dg**或**cen**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '172.16.88.***', - ], - ], - [ - 'name' => 'SourceEndpoint.Port', - 'in' => 'query', - 'schema' => [ - 'description' => '源库的数据库服务端口。'."\n" - .'> 当**SourceEndpoint.InstanceType**取值为**ECS**、**Express**、**dg**或**cen**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '3306', - ], - ], - [ - 'name' => 'SourceEndpoint.UserName', - 'in' => 'query', - 'schema' => [ - 'description' => '源库的数据库账号。'."\n" - .'> - 当**SourceEndpoint.InstanceType**取值为**ECS**、**Express**、**dg**或**cen**时,本参数才可用且必须传入。'."\n" - .'- 当**SourceEndpoint.InstanceType**取值为**Redis**时,本参数无需传入。'."\n" - .'- 同步不同的数据库所需的权限有所差异,详情请参见[DTS数据同步方案概览](~~140954~~)中对应的配置案例。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestaccount', - ], - ], - [ - 'name' => 'SourceEndpoint.Password', - 'in' => 'query', - 'schema' => [ - 'description' => '源库数据库账号密码。'."\n" - .'> 当**SourceEndpoint.InstanceType**取值为**ECS**、**Express**、**dg**或**cen**时,本参数必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'Test123456', - ], - ], - [ - 'name' => 'DestinationEndpoint.InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => '同步目标实例的实例ID'."\n" - .'> 当**DestinationEndpoint.InstanceType**取值为**MaxCompute**或**DataHub**时,本参数传入MaxCompute实例或DataHub的Project名称。'."\n" - .'当目标实例为阿里云分析型数据库MySQL版时,传入分析型数据库MySQL版的集群ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp1r46452ai50****', - ], - ], - [ - 'name' => 'DestinationEndpoint.InstanceType', - 'in' => 'query', - 'schema' => [ - 'description' => '目标实例类型,取值为:'."\n" - ."\n" - .'- **Redis**:阿里云Redis实例。'."\n" - .'- **RDS**:阿里云RDS实例。'."\n" - .'- **PolarDB**:阿里云PolarDB集群(仅支持MySQL或兼容Oracle语法的引擎)。'."\n" - .'- **ECS**:ECS上的自建数据库。'."\n" - .'- **Express**:通过专线接入的本地数据库。'."\n" - .'- **DataHub**:阿里云DataHub实例。'."\n" - .'- **MaxCompute**:阿里云MaxCompute实例。'."\n" - .'- **AnalyticDB**:云原生数据仓库AnalyticDB MySQL 3.0和2.0版本。'."\n" - .'- **Greenplum**:云原生数据仓库ADB PostgreSQL版(原分析型数据库PostgreSQL版)。'."\n" - ."\n" - .'> 默认取值为**RDS**。', - 'type' => 'string', - 'required' => false, - 'example' => 'RDS', - ], - ], - [ - 'name' => 'DestinationEndpoint.IP', - 'in' => 'query', - 'schema' => [ - 'description' => '目标库的IP地址。'."\n" - .'> 当**DestinationEndpoint.InstanceType**取值为**Express**、**dg**或**cen**时,本参数必须传入本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '172.16.88.***', - ], - ], - [ - 'name' => 'DestinationEndpoint.Port', - 'in' => 'query', - 'schema' => [ - 'description' => '目标库的数据库服务端口。'."\n" - .'> 当**DestinationEndpoint.InstanceType**取值为**ECS**、**Express**、**dg**或**cen**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '3306', - ], - ], - [ - 'name' => 'DestinationEndpoint.UserName', - 'in' => 'query', - 'schema' => [ - 'description' => '目标库的数据库账号。'."\n" - .'> - 同步不同的数据库所需的权限有所差异,详情请参见[DTS数据同步方案概览](~~140954~~)中对应的配置案例。'."\n" - .'- 当**DestinationEndpoint.InstanceType**取值为**ECS**、**Express**、**dg**或**cen**时,本参数必须传入。'."\n" - .'- 当**DestinationEndpoint.InstanceType**取值为RDS且数据库版本为MySQL 5.5或MySQL 5.6,无需传入本参数和**DestinationEndpoint.Password**参数。'."\n" - .'- 当**DestinationEndpoint.InstanceType**取值为**Redis**时,无需传入本参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestaccount', - ], - ], - [ - 'name' => 'DestinationEndpoint.Password', - 'in' => 'query', - 'schema' => [ - 'description' => '目标库数据库账号密码。'."\n" - ."\n" - .'> - 当**DestinationEndpoint.InstanceType**取值为**ECS**、**Express**、**dg**或**cen**时,本参数必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'Test654321', - ], - ], - [ - 'name' => 'StructureInitialization', - 'in' => 'query', - 'schema' => [ - 'description' => '是否执行结构初始化,取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。'."\n" - ."\n" - .'> 默认取值:**true**。', - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - 'example' => 'true', - ], - ], - [ - 'name' => 'DataInitialization', - 'in' => 'query', - 'schema' => [ - 'description' => '是否执行全量数据初始化,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。'."\n" - ."\n" - .'> 默认取值:**true**。', - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - 'example' => 'true', - ], - ], - [ - 'name' => 'SynchronizationObjects', - 'in' => 'formData', - 'schema' => [ - 'description' => '同步对象,格式为JSON串且支持一定的正则表达式,详细说明,请参见[同步对象配置说明](~~141901~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"DBName":"dtstestdata","TableIncludes":[{"TableName":"customer"}]}]', - ], - ], - [ - 'name' => 'SourceEndpoint.OwnerID', - 'in' => 'query', - 'schema' => [ - 'description' => '源RDS实例所属的阿里云账号ID。'."\n" - .'> 传入本参数即代表执行跨阿里云账号的数据同步,同时您还需要传入**SourceEndpoint.Role**参数。', - 'type' => 'string', - 'required' => false, - 'example' => '140692647406****', - ], - ], - [ - 'name' => 'SourceEndpoint.Role', - 'in' => 'query', - 'schema' => [ - 'description' => '源实例所属云账号配置的角色名称。'."\n" - .'> 执行跨阿里云账号的数据同步时须传入本参数,该角色所需的权限及授权方式请参见[跨阿里云账号数据迁移或同步时如何配置RAM授权](~~48468~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'ram-for-dts', - ], - ], - [ - 'name' => 'PartitionKey.ModifyTime_Year', - 'in' => 'query', - 'schema' => [ - 'description' => '设置增量日志表是否包含以增量更新时间对应年份信息定义的分区,取值:**true**或**false**。'."\n" - .'> 当**DestinationEndpoint.InstanceType**参数取值为**Maxcompute**时,本参数才可用。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'PartitionKey.ModifyTime_Month', - 'in' => 'query', - 'schema' => [ - 'description' => '设置增量日志表是否包含以增量更新时间对应月份信息定义的分区,取值:**true**或**false**。'."\n" - .'> 当**DestinationEndpoint.InstanceType**参数取值为**Maxcompute**时,本参数才可用。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'PartitionKey.ModifyTime_Day', - 'in' => 'query', - 'schema' => [ - 'description' => '设置增量日志表是否包含以增量更新时间对应日期信息定义的分区,取值:**true**或**false**。'."\n" - .'> 当**DestinationEndpoint.InstanceType**参数取值为**Maxcompute**时,本参数才可用。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'PartitionKey.ModifyTime_Hour', - 'in' => 'query', - 'schema' => [ - 'description' => '设置增量日志表是否包含以增量更新时间对应小时信息定义的分区,取值:**true**或**false**。'."\n" - .'> 当**DestinationEndpoint.InstanceType**参数取值为**Maxcompute**时,本参数才可用。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'PartitionKey.ModifyTime_Minute', - 'in' => 'query', - 'schema' => [ - 'description' => '设置增量日志表是否包含以增量更新时间对应分钟信息定义的分区,取值:**true**或**false**。'."\n" - ."\n" - .'> 当**DestinationEndpoint.InstanceType**参数取值为**Maxcompute**时,本参数才可用。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'MigrationReserved', - 'in' => 'query', - 'schema' => [ - 'description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。'."\n" - .'> 如在Redis企业版实例间的数据同步可使用该参数,更多信息,请参见[调用OpenAPI配置Redis企业版实例间单向或双向数据同步](~~155967~~)。', - 'type' => 'string', - 'required' => false, - 'example' => '{ "autoStartModulesAfterConfig": "none", "targetTableMode": 2 }', - ], - ], - [ - 'name' => 'Checkpoint', - 'in' => 'query', - 'schema' => [ - 'description' => '同步位点。', - 'type' => 'string', - 'required' => false, - 'example' => '1610540493', - ], + 'schema' => ['description' => '数据同步实例ID,可以通过调用[DescribeSynchronizationJobs](~~49454~~)接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtshn6107ve264****'], ], [ 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], - ], - [ - 'name' => 'SourceEndpoint.DatabaseName', - 'in' => 'query', - 'schema' => [ - 'description' => '源实例中的同步对象所属数据库名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestdata', - ], - ], - [ - 'name' => 'DestinationEndpoint.DataBaseName', - 'in' => 'query', - 'schema' => [ - 'description' => '目标实例中的同步对象所属数据库名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestdata', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -10791,220 +4416,99 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '2690E467-7773-43BC-A009-370EE2E7****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'C306C198-7807-409D-930A-D6CE6C32****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C306C198-7807-409D-930A-D6CE6C32****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '释放同步实例', + 'summary' => '释放数据同步作业实例。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dts:DeleteSynchronizationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2690E467-7773-43BC-A009-370EE2E7****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ConfigureSynchronizationJobResponse>\\n <RequestId>2690E467-7773-43BC-A009-370EE2E7****</RequestId>\\n <Success>true</Success>\\n</ConfigureSynchronizationJobResponse>","errorExample":""}]', - 'title' => '配置数据同步作业', - 'summary' => '老版配置数据同步作业。', - 'description' => '调用本接口前,已调用[CreateSynchronizationJob](~~49446~~)接口创建了数据同步实例。'."\n" - .'> - 本接口调用成功后,数据同步实例会自动启动并执行预检查,您无需调用[StartSynchronizationJob](~~49448~~)接口来启动。'."\n" - .'- 如果数据同步实例没有被成功启动,可能是预检查失败,您可以调用[DescribeSynchronizationJobStatus](~~49453~~)接口查询数据同步实例的状态,获取预检查失败的错误提示并进行参数调整。调整完成后,您可以调用[StartSynchronizationJob](~~49448~~)接口来重启数据同步实例。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'SwitchSynchronizationEndpoint' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeCheckJobs' => [ + 'summary' => '包含迁移任务关联的校验任务和同步任务关联的校验任务', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', + 'abilityTreeCode' => '143962', + 'abilityTreeNodes' => ['FEATUREdtsEGTFKE'], ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'SynchronizationJobId', - 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例ID,可以通过调用DescribeSynchronizationJobs接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsexjk1alb116****', - ], - ], - [ - 'name' => 'SynchronizationDirection', - 'in' => 'query', - 'schema' => [ - 'description' => '同步方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> 默认取值为**Forward**。'."\n" - .'只有当数据同步实例的同步拓扑为双向同步时,本参数传入**Reverse**才会生效。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], - ], - [ - 'name' => 'Endpoint.Type', - 'in' => 'query', - 'schema' => [ - 'description' => '待调整连接信息的实例,取值:'."\n" - ."\n" - .'- **Source**:源实例。'."\n" - .'- **Destination**:目标实例。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Destination', - ], - ], - [ - 'name' => 'Endpoint.InstanceType', - 'in' => 'query', - 'schema' => [ - 'description' => '新数据库所属的实例类型,取值:'."\n" - ."\n" - .'- **LocalInstance**:有公网IP的自建数据库;'."\n" - .'- **ECS**:ECS上的自建数据库。'."\n" - .'- **Express**:通过专线接入的自建数据库。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ECS', - ], - ], - [ - 'name' => 'Endpoint.InstanceId', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'ECS或专有网络的实例ID。'."\n" - .'> - 当**Endpoint.InstanceType**取值为**ECS**时,本参数需传入ECS实例的ID。'."\n" - .'- 当**Endpoint.InstanceType**取值为**Express**时,本参数需传入专有网络ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'i-bp11haem1kpkhoup****', - ], + 'schema' => ['description' => '每页记录数,取值:**30**、**50**、**100**,默认值为**30**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '1', 'example' => '30', 'default' => '20'], ], [ - 'name' => 'Endpoint.IP', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '新数据库的IP地址。'."\n" - .'> 当**Endpoint.InstanceType**取值为**Express**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '172.15.185.***', - ], + 'schema' => ['description' => '页码。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'example' => '1', 'default' => '0'], ], [ - 'name' => 'Endpoint.Port', + 'name' => 'CheckType', 'in' => 'query', - 'schema' => [ - 'description' => '新的数据库服务端口。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3306', - ], + 'schema' => ['description' => '数据校验方式,取值:'."\n" + ."\n" + .'- **1**:全量校验。'."\n" + .'- **2**:增量校验。'."\n" + .'- **3**:所有', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'SourceEndpoint.OwnerID', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '当源实例与目标实例所属阿里云账号不同时,您需要传入该参数指定源实例的所属阿里云账号的ID。', - 'type' => 'string', - 'required' => false, - 'example' => '14069264****', - ], + 'schema' => ['description' => '数据迁移实例id,可以通过调用**describemigrationjobs**接口查询。', 'type' => 'string', 'required' => false, 'example' => 'dtsz9p104ib23e972e'], ], [ - 'name' => 'SourceEndpoint.Role', + 'name' => 'JobName', 'in' => 'query', - 'schema' => [ - 'description' => '当源实例与目标实例所属阿里云账号不同时,需传入该参数,来指定源实例的授权角色,以允许目标实例阿里云账号访问源实例的实例信息。'."\n" - .'> 角色所需的权限及授权方式,请参见[跨阿里云账号数据迁移或同步时如何配置RAM授权](~~48468~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'ram-for-dts', - ], + 'schema' => ['description' => '数据迁移或同步的作业名称。', 'type' => 'string', 'required' => false, 'example' => 'zwy_test'], ], [ - 'name' => 'AccountId', + 'name' => 'CheckJobId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云账号ID,无需设置,该参数即将下线。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '检查任务作业ID。', 'type' => 'string', 'required' => false, 'example' => 'z9p104ib23***'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -11012,68 +4516,85 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => '3232F84C-C961-4811-B014-4EA7A27C****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'TaskId' => [ - 'description' => '任务ID,您可以根据此返回值调用[DescribeEndpointSwitchStatus](~~135598~~)接口查询该任务的执行状态。', - 'type' => 'string', - 'example' => '11**** ', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => 'FC1D920B-AB89-52A9-AA5F-AA724C4205E8'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'boolean', 'example' => 'True'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**errmessage**错误信息中的**%s**。>如果**errmessale**返回**thevalueofinputparameter%sisnotvalid**,且**dynamicmessage**返回*[1,2,3]**,则代表所传入的请求参数**dtsjobid**不合法。', 'type' => 'string', 'example' => 'present environment is not support,so skip.'], + 'PageNumber' => ['description' => '当前页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageRecordCount' => ['description' => '当前页可展示的最大记录数。', 'type' => 'integer', 'format' => 'int64', 'example' => '20'], + 'TotalRecordCount' => ['description' => '总记录数。'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100'], + 'CheckJobs' => [ + 'description' => '检查项信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DtsJobId' => ['description' => '迁移、同步或订阅任务id。', 'type' => 'string', 'example' => 'n08o6si4q338b1x'], + 'JobStepId' => ['description' => '任务id。', 'type' => 'string', 'example' => 'as0e1ks426bq3z0'], + 'JobName' => ['description' => '检查任务的名称。', 'type' => 'string', 'example' => 'dtstest'], + 'Status' => ['description' => '检查结果,返回值:-**0**:检查通过-**1**:检查不通过', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'CheckType' => ['description' => '数据校验方式,取值:'."\n" + ."\n" + .'- **1**:全量校验。'."\n" + .'- **2**:增量校验。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'InstanceClass' => ['description' => '实例规格。', 'type' => 'string', 'example' => 'SMALL'], + 'CheckPoint' => ['description' => '检查点', 'type' => 'integer', 'format' => 'int64', 'example' => '1111****'], + 'TotalCount' => ['description' => '校验数据的总行数。', 'type' => 'integer', 'format' => 'int64', 'example' => '159'], + 'DiffCount' => ['description' => '数据不一致的行数。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'], + 'DiffSum' => ['description' => '同步初始化的进度,单位为百分比。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'FinishCount' => ['description' => '表中已完成校验的数据行数。', 'type' => 'integer', 'format' => 'int64', 'example' => '15094'], + 'GroupId' => ['description' => 'DTS任务ID。'."\n" + .'> 一般情况下无需设置该参数。', 'type' => 'string', 'example' => 'c3d12dii27t632g'], + 'DtsInstanceID' => ['description' => '迁移、同步或订阅实例id。', 'type' => 'string', 'example' => 'dtsz8tc99sy2158b36'], + 'ChargeType' => ['description' => '付费类型,返回值:'."\n" + .'- **POSTPAY**:按量付费(后付费)。'."\n" + .'- **PREPAY**:包年包月(预付费)。', 'type' => 'string', 'example' => 'POSTPAY'], + 'ParentJobType' => ['description' => '本参数即将下线。', 'type' => 'string', 'example' => '****'], + 'RegionId' => ['description' => '所属地域id。', 'type' => 'string', 'example' => 'cn-hangzhou'], + ], + 'description' => '', + ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"FC1D920B-AB89-52A9-AA5F-AA724C4205E8\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"DynamicCode\\": \\"403\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"PageNumber\\": 1,\\n \\"PageRecordCount\\": 20,\\n \\"TotalRecordCount\\": 100,\\n \\"CheckJobs\\": [\\n {\\n \\"DtsJobId\\": \\"n08o6si4q338b1x\\",\\n \\"JobStepId\\": \\"as0e1ks426bq3z0\\",\\n \\"JobName\\": \\"dtstest\\",\\n \\"Status\\": 0,\\n \\"CheckType\\": 1,\\n \\"InstanceClass\\": \\"SMALL\\",\\n \\"CheckPoint\\": 0,\\n \\"TotalCount\\": 159,\\n \\"DiffCount\\": 0,\\n \\"DiffSum\\": 1,\\n \\"FinishCount\\": 15094,\\n \\"GroupId\\": \\"c3d12dii27t632g\\",\\n \\"DtsInstanceID\\": \\"dtsz8tc99sy2158b36\\",\\n \\"ChargeType\\": \\"POSTPAY\\",\\n \\"ParentJobType\\": \\"****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => '当前账号创建的所有校验任务的任务列表', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeCheckJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3232F84C-C961-4811-B014-4EA7A27C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"TaskId\\": \\"11****\\\\t\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '切换同步连接信息', - 'summary' => '主备切换后新数据库的连接信息传给DTS,DTS将从断点处重新启动数据同步。', ], - 'DescribeMigrationJobAlert' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeClusterOperateLogs' => [ + 'summary' => '调用DescribeClusterOperateLogs接口查询DTS集群日志信息。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -11081,165 +4602,126 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例所在地域的id,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'name' => 'StartTime', + 'in' => 'formData', + 'schema' => ['title' => '当不传时默认最近返回七天的数据', 'description' => '起始时间戳,当不传时默认最近返回七天的数据,单位为毫秒(ms)。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1650866955000'], ], [ - 'name' => 'MigrationJobId', - 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例id,可以通过调用 DescribeMigrationJobs 接口查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtslb9113qq11n****', - ], + 'name' => 'EndTime', + 'in' => 'formData', + 'schema' => ['description' => '结束时间戳,单位为毫秒(ms)。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1650866995000'], + ], + [ + 'name' => 'DedicatedClusterId', + 'in' => 'formData', + 'schema' => ['description' => 'DTS专属集群ID。', 'type' => 'string', 'required' => true, 'example' => 'dtsxxxxx'], + ], + [ + 'name' => 'PageSize', + 'in' => 'formData', + 'schema' => ['description' => '每页日志的请求条数,默认值为:**20**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'default' => '20'], + ], + [ + 'name' => 'PageNumber', + 'in' => 'formData', + 'schema' => ['description' => '页码,取值为大于0且不超过Integer数据类型的最大值,默认值为**1**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '0'], + ], + [ + 'name' => 'DtsJobId', + 'in' => 'formData', + 'schema' => ['title' => 'migration job id', 'description' => '迁移或同步任务ID。', 'type' => 'string', 'required' => false, 'example' => 'k2gm967v16f****'], ], [ 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => '用于保证请求的幂等性。由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过 64 个 ASCII 字符,且该参数值中不能包含非 ASCII 字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'ETnLKlblzczshOTUbOCz****', - ], + 'in' => 'formData', + 'schema' => ['title' => '幂等性验证', 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****'], ], [ 'name' => 'AccountId', - 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'in' => 'formData', + 'schema' => ['title' => 'callType=AssumedRoleUser', 'description' => '阿里云主账号ID。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'DescribeClusterOperateLogsResponse', + 'description' => 'DescribeClusterOperateLogsResponse', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => 'CFB89C51-6F03-519C-A921-AAE28D50AEFB', - ], - 'MigrationJobName' => [ - 'description' => '数据迁移任务名称。', - 'type' => 'string', - 'example' => 'zwy-test5', - ], - 'ErrorAlertStatus' => [ - 'description' => '是否监控异常状态,返回值:'."\n" - ."\n" - .'- **enable**:是。'."\n" - .'- **disable**:否。', - 'type' => 'string', - 'example' => 'enable', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrorAlertPhone' => [ - 'description' => '异常报警的联系人手机号码。', - 'type' => 'string', - 'example' => '1361234****,1371234****', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'DelayAlertStatus' => [ - 'description' => '是否监控延迟状态,返回值:'."\n" - ."\n" - .'- **enable**:是。'."\n" - .'- **disable**:否。', - 'type' => 'string', - 'example' => 'enable', - ], - 'DelayAlertPhone' => [ - 'description' => '延迟报警的联系人手机号码。', - 'type' => 'string', - 'example' => '1361234****,1371234****'."\n", - ], - 'MigrationJobId' => [ - 'description' => '数据迁移实例id。', - 'type' => 'string', - 'example' => 'dtslb9113qq11n****', - ], - 'DelayOverSeconds' => [ - 'description' => '触发延迟报警的阈值,单位为秒。', - 'type' => 'string', - 'example' => '0', + 'DataPoints' => [ + 'description' => '监控统计信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => '日志记录表的主键。', 'type' => 'string', 'example' => '237827'], + 'LogDatetime' => ['description' => '时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1642077211574'], + 'OperationName' => ['description' => '操作类型。', 'type' => 'string', 'example' => 'modify-oversold-ratio'], + 'OperationUser' => ['description' => '操作人。', 'type' => 'string', 'example' => 'null'], + 'OldValue' => ['description' => '操作类型是修改时,旧的参数值。', 'type' => 'string', 'example' => '100'], + 'NewValue' => ['description' => '操作类型是修改时,新的参数值。', 'type' => 'string', 'example' => '105'], + 'Content' => ['description' => '其他备注信息。', 'type' => 'string', 'example' => 'null'], + 'Success' => ['description' => '调用结果,是否成功,**1**代表成功。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + ], + 'description' => '', + ], ], + 'PageNumber' => ['title' => '当前页码', 'description' => '当前页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageRecordCount' => ['title' => '当前每页显示数量', 'description' => '当前每页显示的数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'TotalRecordCount' => ['title' => '总数', 'description' => '记录的总数。', 'type' => 'integer', 'format' => 'int64', 'example' => '100'], + 'Success' => ['title' => '调用结果', 'description' => '调用结果。', 'type' => 'boolean', 'example' => 'true'], + 'Code' => ['title' => '后端错误码 数字递增', 'description' => '后端错误码,数字递增。', 'type' => 'string', 'example' => '500'], + 'ErrCode' => ['title' => '错误短码 ps:InternalError', 'description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'ErrMessage' => ['title' => '错误信息(返回给用户)', 'description' => '错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DynamicMessage' => ['title' => '动态错误信息,会替换错误码里的"%s"', 'description' => '动态错误信息,用于替换返回参数ErrMessage错误信息中的%s。', 'type' => 'string', 'example' => 'Type'], + 'HttpStatusCode' => ['title' => '异常对应的http code', 'description' => '异常对应的状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The Value of Input Parameter %s is not valid.', 'description' => ''], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"DataPoints\\": [\\n {\\n \\"Id\\": \\"237827\\",\\n \\"LogDatetime\\": 1642077211574,\\n \\"OperationName\\": \\"modify-oversold-ratio\\",\\n \\"OperationUser\\": \\"null\\",\\n \\"OldValue\\": \\"100\\",\\n \\"NewValue\\": \\"105\\",\\n \\"Content\\": \\"null\\",\\n \\"Success\\": 1\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageRecordCount\\": 20,\\n \\"TotalRecordCount\\": 100,\\n \\"Success\\": true,\\n \\"Code\\": \\"500\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeClusterOperateLogsResponse>\\n <requestId>1651135450713-***</requestId>\\n <success>true</success>\\n <code/>\\n <errCode/>\\n <errMessage/>\\n <dynamicMessage/>\\n <httpStatusCode>200</httpStatusCode>\\n <pageNumber>1</pageNumber>\\n <pageRecordCount>3</pageRecordCount>\\n <totalRecordCount>3</totalRecordCount>\\n <dataPoints>\\n <id>2</id>\\n <logDatetime>1642077211574</logDatetime>\\n <operationName>modify-network-***</operationName>\\n <operationUser/>\\n <oldValue>1</oldValue>\\n <newValue>2</newValue>\\n <content>ak</content>\\n <success>1</success>\\n </dataPoints>\\n <dataPoints>\\n <id>3</id>\\n <logDatetime>1642077211574</logDatetime>\\n <operationName>modify-network-***</operationName>\\n <operationUser/>\\n <oldValue>2</oldValue>\\n <newValue>3</newValue>\\n <content>ak</content>\\n <success>1</success>\\n </dataPoints>\\n <dataPoints>\\n <id>4</id>\\n <logDatetime>1642077211574</logDatetime>\\n <operationName>modify-network-***</operationName>\\n <operationUser/>\\n <oldValue>3</oldValue>\\n <newValue>4</newValue>\\n <content>ak</content>\\n <success>1</success>\\n </dataPoints>\\n</DescribeClusterOperateLogsResponse>","errorExample":""}]', + 'title' => '查询集群日志信息', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeClusterOperateLogs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CFB89C51-6F03-519C-A921-AAE28D50AEFB\\",\\n \\"MigrationJobName\\": \\"zwy-test5\\",\\n \\"ErrorAlertStatus\\": \\"enable\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrorAlertPhone\\": \\"1361234****,1371234****\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DelayAlertStatus\\": \\"enable\\",\\n \\"DelayAlertPhone\\": \\"1361234****,1371234****\\\\n\\",\\n \\"MigrationJobId\\": \\"dtslb9113qq11n****\\",\\n \\"DelayOverSeconds\\": \\"0\\"\\n}","type":"json"}]', - 'title' => '查询迁移任务的监控报警', - 'summary' => '查询迁移任务的监控报警设置详情。', ], - 'DescribeSynchronizationJobAlert' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeClusterUsedUtilization' => [ + 'summary' => '调用DescribeClusterUsedUtilization接口查看集群当前使用量。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -11247,190 +4729,110 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定订阅通道所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'name' => 'DedicatedClusterId', + 'in' => 'formData', + 'schema' => ['description' => '当**MetricType**为**CLUSTER**填入独享集群ID,否则为**nodeid**。', 'type' => 'string', 'required' => true, 'example' => 'nodeid'], ], [ - 'name' => 'SynchronizationJobId', - 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例ID,可以通过调用**DescribeSynchronizationJobs**接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'kxz1170c10p****', - ], + 'name' => 'Env', + 'in' => 'formData', + 'schema' => ['description' => '默认为**ALIYUN**。', 'type' => 'string', 'required' => false, 'example' => 'ALIYUN', 'default' => 'ALIYUN'], ], [ - 'name' => 'SynchronizationDirection', - 'in' => 'query', - 'schema' => [ - 'description' => '同步方向,取值:'."\n" - ."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> 默认取值为**Forward**。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'name' => 'MetricType', + 'in' => 'formData', + 'schema' => ['description' => '查询集群或节点,取值:'."\n" + .'- **CLUSTER**(默认值):集群。'."\n" + .'- **NODE**:节点', 'type' => 'string', 'required' => false, 'example' => 'NODE', 'default' => 'CLUSTER'], + ], + [ + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => ['description' => '实例所在地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'DtsJobId', + 'in' => 'formData', + 'schema' => ['title' => 'migration job id', 'description' => '迁移或同步任务ID。', 'type' => 'string', 'required' => false, 'example' => 'k2gm967v16f****'], ], [ 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => '用于保证请求的幂等性。由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符,且该参数值中不能包含非ASCII字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'ETnLKlblzczshOTUbOCz****', - ], + 'in' => 'formData', + 'schema' => ['title' => '幂等性验证', 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****'], ], [ 'name' => 'AccountId', - 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'in' => 'formData', + 'schema' => ['title' => 'callType=AssumedRoleUser', 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'DescribeClusterUsedUtilizationResponse', + 'description' => 'DescribeClusterUsedUtilizationResponse', 'type' => 'object', 'properties' => [ - 'SynchronizationJobName' => [ - 'description' => '数据同步作业名称。'."\n", - 'type' => 'string', - 'example' => 'Polar MySQL_TO_RDS MySQL', - ], - 'ErrorAlertStatus' => [ - 'description' => '是否监控异常状态,返回值:'."\n" - ."\n" - .'- **enable**:是。'."\n" - .'- **disable**:否。', - 'type' => 'string', - 'example' => 'enable', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ErrorAlertPhone' => [ - 'description' => '异常报警的联系人手机号码。', - 'type' => 'string', - 'example' => '1361234****,1371234****', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'DelayAlertStatus' => [ - 'description' => '是否监控延迟状态,返回值:'."\n" - ."\n" - .'- **enable**:是。'."\n" - .'- **disable**:否。', - 'type' => 'string', - 'example' => 'enable', - ], - 'DelayAlertPhone' => [ - 'description' => '延迟报警的联系人手机号码。', - 'type' => 'string', - 'example' => '1361234****,1371234****', - ], - 'DelayOverSeconds' => [ - 'description' => '触发延迟报警的阈值,单位为秒。', - 'type' => 'string', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => '210ec20e16055205968635339d****', - ], - 'SynchronizationJobId' => [ - 'description' => '数据同步实例ID。'."\n", - 'type' => 'string', - 'example' => 'kxz1170c10p****', - ], - 'SynchronizationDirection' => [ - 'description' => '同步方向,取值:'."\n" - ."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> 默认取值为**Forward**。', - 'type' => 'string', - 'example' => 'Forward', - ], + 'DedicatedClusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => 'dtscluster_h3fl1cs217sx952'], + 'CpuTotal' => ['description' => '集群CPU使用率,单位为%。', 'type' => 'number', 'format' => 'float', 'example' => '50'], + 'MemoryUsed' => ['description' => '内存使用量,暂时返回0。', 'type' => 'number', 'format' => 'float', 'example' => '0'], + 'MemoryTotal' => ['description' => '内存总量,暂时返回0。', 'type' => 'number', 'format' => 'float', 'example' => '0'], + 'DiskTotal' => ['description' => '集群磁盘总量,单位GB。', 'type' => 'number', 'format' => 'float', 'example' => '1024'], + 'DiskUsed' => ['description' => '集群磁盘使用量,单位GB。', 'type' => 'number', 'format' => 'float', 'example' => '96'], + 'DuTotal' => ['description' => '总DU量。', 'type' => 'integer', 'format' => 'int32', 'example' => '30'], + 'DuUsed' => ['description' => 'DU使用量。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'TaskRunning' => ['description' => '运行任务数。', 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'Success' => ['title' => '调用结果', 'description' => '调用结果是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'Code' => ['title' => '后端错误码 数字递增', 'description' => '后端错误码,数字递增。', 'type' => 'string', 'example' => '200'], + 'ErrCode' => ['title' => '错误短码 ps:InternalError', 'description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'ErrMessage' => ['title' => '错误信息(返回给用户)', 'description' => '错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DynamicMessage' => ['title' => '动态错误信息,会替换错误码里的 "%s"', 'description' => '动态错误信息,用于替换返回参数ErrMessage错误信息中的%s。', 'type' => 'string', 'example' => 'Type'], + 'HttpStatusCode' => ['title' => '异常对应的http code', 'description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****'], + 'MemoryUsedPercentage' => ['description' => '内存使用百分比。', 'type' => 'number', 'format' => 'float', 'example' => '1.0'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"DedicatedClusterId\\": \\"dtscluster_h3fl1cs217sx952\\",\\n \\"CpuTotal\\": 50,\\n \\"MemoryUsed\\": 0,\\n \\"MemoryTotal\\": 0,\\n \\"DiskTotal\\": 1024,\\n \\"DiskUsed\\": 96,\\n \\"DuTotal\\": 30,\\n \\"DuUsed\\": 2,\\n \\"TaskRunning\\": 3,\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"MemoryUsedPercentage\\": 1\\n}","errorExample":""},{"type":"xml","example":"<DescribeClusterUsedUtilizationResponse>\\n <code>200</code>\\n <data>\\n <DedicatedClusterId>dtscluster_****</DedicatedClusterId>\\n <RequestId>E2E2AD3E-B7A4-106C-9063-****</RequestId>\\n <DuUsed>14</DuUsed>\\n <Success>true</Success>\\n <DuTotal>30</DuTotal>\\n <DiskTotal>982.3013</DiskTotal>\\n <HttpStatusCode>200</HttpStatusCode>\\n <MemoryUsedPercentage>5.5200005</MemoryUsedPercentage>\\n <MemoryUsed>0</MemoryUsed>\\n <TaskRunning>3</TaskRunning>\\n <DiskUsed>92.0647</DiskUsed>\\n <MemoryTotal>0</MemoryTotal>\\n <CpuTotal>1.7</CpuTotal>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>E2E2AD3E-B7A4-106C-9063-****</requestId>\\n <successResponse>true</successResponse>\\n</DescribeClusterUsedUtilizationResponse>","errorExample":""}]', + 'title' => '查看集群当前使用量', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeClusterUsedUtilization', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SynchronizationJobName\\": \\"Polar MySQL_TO_RDS MySQL\\",\\n \\"ErrorAlertStatus\\": \\"enable\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrorAlertPhone\\": \\"1361234****,1371234****\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DelayAlertStatus\\": \\"enable\\",\\n \\"DelayAlertPhone\\": \\"1361234****,1371234****\\",\\n \\"DelayOverSeconds\\": \\"10\\",\\n \\"RequestId\\": \\"210ec20e16055205968635339d****\\",\\n \\"SynchronizationJobId\\": \\"kxz1170c10p****\\",\\n \\"SynchronizationDirection\\": \\"Forward\\"\\n}","type":"json"}]', - 'title' => '查询同步作业的监控报警', - 'summary' => '查询同步作业的监控报警设置详情。', ], - 'DescribeSubscriptionInstanceAlert' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeConnectionStatus' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -11438,488 +4840,179 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'SourceEndpointArchitecture', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '当**SourceEndpointEngineName**为**Oracle**时,才需要传入本参数,取值为:'."\n" + ."\n" + .'- **SID**:非集群架构。'."\n" + .'- **RAC**:集群架构。'."\n" + ."\n\n" + .'> 该参数为非必填参数。'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'SID'], ], [ - 'name' => 'SubscriptionInstanceId', + 'name' => 'SourceEndpointInstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例ID,可以通过调用DescribeSubscriptionInstances接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsl8zl9ek6292****', - ], + 'schema' => ['description' => '源实例类别:'."\n" + .'- **RDS**:RDS实例。'."\n" + .'- **LocalInstance**:本地自建数据库。'."\n" + .'- **ECS**:ECS上的自建数据库。'."\n" + .'- **Express**:通过专线接入的自建数据库。'."\n" + .'- **dg**:通过DG网关接入的数据库。'."\n" + .'- **MongoDB**:阿里云MongoDB实例。'."\n" + .'- **POLARDB**:阿里云PolarDB MySQL集群。'."\n" + .'- **PolarDB_o**:阿里云PolarDB O引擎集群。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'RDS'], ], [ - 'name' => 'ClientToken', + 'name' => 'SourceEndpointInstanceID', 'in' => 'query', - 'schema' => [ - 'description' => '用于保证请求的幂等性。由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符,且该参数值中不能包含非ASCII字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'ETnLKlblzczshOTUbOCz****', - ], + 'schema' => ['description' => '源实例ID。'."\n" + ."\n", 'type' => 'string', 'required' => false, 'example' => 'rm-bp1imrtn6fq7h****'], ], [ - 'name' => 'AccountId', + 'name' => 'SourceEndpointEngineName', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '源实例数据库引擎类型,取值包括:**MySQL**、**TiDB**、**SQLServer**、**PostgreSQL**、**Oracle**、**MongoDB**、**Redis**。'."\n" + ."\n" + .'> 默认取值为**MySQL**。', 'type' => 'string', 'required' => false, 'example' => 'MySQL'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'SourceEndpointRegion', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '源实例所属地域,详情请参见[支持的地域列表](~~141033~~)。'."\n" + ."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => '210ec2e116055198849072222d****', - ], - 'ErrorAlertStatus' => [ - 'description' => '是否监控异常状态,返回值:'."\n" - ."\n" - .'- **enable**:是。'."\n" - .'- **disable**:否。', - 'type' => 'string', - 'example' => 'enable', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrorAlertPhone' => [ - 'description' => '异常报警的联系人手机号码。', - 'type' => 'string', - 'example' => '13555*****', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'DelayAlertStatus' => [ - 'description' => '是否监控延迟状态,返回值:'."\n" - ."\n" - .'- **enable**:是。'."\n" - .'- **disable**:否。', - 'type' => 'string', - 'example' => 'enable', - ], - 'SubscriptionInstanceName' => [ - 'description' => '数据订阅实例名称。'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'DelayAlertPhone' => [ - 'description' => '延迟报警的联系人手机号码。', - 'type' => 'string', - 'example' => '13465****', - ], - 'SubscriptionInstanceID' => [ - 'description' => '数据订阅实例ID。', - 'type' => 'string', - 'example' => 'dtsl8zl9ek6292****', - ], - 'DelayOverSeconds' => [ - 'description' => '触发延迟报警的阈值,单位为秒且需为整数,建议取值为10秒。', - 'type' => 'string', - 'example' => '10', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], - ], - 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"210ec2e116055198849072222d****\\",\\n \\"ErrorAlertStatus\\": \\"enable\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrorAlertPhone\\": \\"13555*****\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DelayAlertStatus\\": \\"enable\\",\\n \\"SubscriptionInstanceName\\": \\"test\\",\\n \\"DelayAlertPhone\\": \\"13465****\\",\\n \\"SubscriptionInstanceID\\": \\"dtsl8zl9ek6292****\\",\\n \\"DelayOverSeconds\\": \\"10\\"\\n}","type":"json"}]', - 'title' => '查询订阅实例的监控报警', - 'summary' => '查询数据订阅实例的监控报警设置详情。', - ], - 'ConfigureMigrationJobAlert' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], - 'parameters' => [ - [ - 'name' => 'RegionId', + 'name' => 'SourceEndpointIP', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例所在地域的 ID,详情请参见支持的地域列表。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '源库的连接地址。'."\n" + .'> 当**SourceEndpointInstanceType**取值为**LocalInstance**或**Express**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '172.16.88.*** '], ], [ - 'name' => 'MigrationJobId', + 'name' => 'SourceEndpointPort', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例ID,可以通过调用**DescribeMigrationJobs**接口查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtslb9113qq11n****', - ], + 'schema' => ['description' => '源库的服务端口。'."\n" + .'> 当**SourceEndpointInstanceType**取值为**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '3306'], ], [ - 'name' => 'DelayAlertStatus', + 'name' => 'SourceEndpointOracleSID', 'in' => 'query', - 'schema' => [ - 'description' => '是否监控延迟状态,取值:'."\n" - ."\n" - .'- **enable**:是。'."\n" - .'- **disable**:否。'."\n" - ."\n" - .'> - 默认取值为**enable**。'."\n" - .'- 本参数和**ErrorAlertStatus**参数两者中至少传入一个。', - 'type' => 'string', - 'required' => false, - 'example' => 'enable', - ], + 'schema' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当**SourceEndpointEngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,本参数才可用且必须传入。'."\n", 'type' => 'string', 'required' => false, 'example' => 'testsid'], ], [ - 'name' => 'DelayAlertPhone', + 'name' => 'SourceEndpointDatabaseName', 'in' => 'query', - 'schema' => [ - 'description' => '延迟报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" - ."\n" - .'本参数目前只支持中国站,仅支持大陆手机号码,且最多传入 10 个手机号码。'."\n" - .'国际站不支持手机告警,仅支持通过云监控平台为 DTS 任务设置报警规则。', - 'type' => 'string', - 'required' => false, - 'example' => '1361234****,1371234****', - ], + 'schema' => ['description' => '待迁移的数据库名称或鉴权数据库名称。'."\n" + .'>- 当**SourceEndpointEngineName**取值为**PostgreSQL**或**MongoDB**,或者**SourceEndpointInstanceType**为**PolarDB_o**时,本参数才可用且必须传入。'."\n" + .'- 当**SourceEndpointEngineName**取值为**PostgreSQL**或**DRDS**时,传入待迁移的数据库名称;取值为**MongoDB**时,传入数据库账号的鉴权数据库名称。'."\n" + .'- 当**SourceEndpointInstanceType**取值为**PolarDB_o**时,传入待迁移的数据库名称。'."\n", 'type' => 'string', 'required' => false, 'example' => 'dtstestdata'], ], [ - 'name' => 'ErrorAlertStatus', + 'name' => 'SourceEndpointUserName', 'in' => 'query', - 'schema' => [ - 'description' => '是否监控异常状态,取值:'."\n" - ."\n" - .'- **enable**:是。'."\n" - .'- **disable**:否。'."\n" - ."\n" - .'> - 默认取值为**enable**。'."\n" - .'- 本参数和**DelayAlertStatus**参数两者中至少传入一个。'."\n" - .'- 开启监控异常状态功能后,如果检测到异常,将触发报警。', - 'type' => 'string', - 'required' => false, - 'example' => 'enable', - ], + 'schema' => ['description' => '源库的数据库账号。', 'type' => 'string', 'required' => false, 'example' => 'dtstest'], ], [ - 'name' => 'ErrorAlertPhone', + 'name' => 'SourceEndpointPassword', 'in' => 'query', - 'schema' => [ - 'description' => '异常报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" - ."\n" - .'本参数目前只支持中国站,仅支持大陆手机号码,且最多传入 10 个手机号码。'."\n" - .'国际站不支持手机告警,仅支持通过云监控平台为 DTS 任务设置报警规则。', - 'type' => 'string', - 'required' => false, - 'example' => '1361234****,1371234****', - ], + 'schema' => ['description' => '源库数据库账号的密码。', 'type' => 'string', 'required' => false, 'example' => 'Test123456'], ], [ - 'name' => 'DelayOverSeconds', + 'name' => 'DestinationEndpointInstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '触发延迟报警的阈值,单位为秒且需为整数,可根据业务需要设置阈值,建议设置10秒以上,避免因网络、数据库负载等原因导致的延迟波动。'."\n" - .'> 当**DelayAlertStatus**取值为**enable**时,本参数必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '目标库的实例类型,取值:'."\n" + .'> - **ECS**:ECS上的自建数据库。'."\n" + .'- **LocalInstance**:有公网IP的自建数据库。'."\n" + .'- **RDS**:阿里云RDS实例。'."\n" + .'- **DRDS**:阿里云PolarDB-X实例。'."\n" + .'- **MongoDB**:阿里云MongoDB实例。'."\n" + .'- **Redis**:阿里云Redis实例。'."\n" + .'- **PetaData**:阿里云HybridDB for MySQL实例。'."\n" + .'- **POLARDB**:阿里云PolarDB MySQL集群。'."\n" + .'- **PolarDB_o**:阿里云PolarDB O引擎集群。'."\n" + .'- **AnalyticDB**:阿里云云原生数据仓库AnalyticDB MySQL 3.0和2.0版本。'."\n" + .'- **Greenplum**:阿里云云原生数据仓库AnalyticDB PostgreSQL。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'PolarDB_o'], ], [ - 'name' => 'AccountId', + 'name' => 'DestinationEndpointInstanceID', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号id,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '目标实例ID。'."\n", 'type' => 'string', 'required' => false, 'example' => 'testsid'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'DestinationEndpointEngineName', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '0a2a047516051973705541561d****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - ], - ], + 'schema' => ['description' => '目标库的数据库类型。取值:**MySQL**、**DRDS**、**SQLServer**、**PostgreSQL**、**PPAS**、**MongoDB**或**Redis**。'."\n" + .'> 当**DestinationEndpointInstanceType**取值为**RDS**、**DRDS**、**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'MySQL'], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], - ], - 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0a2a047516051973705541561d****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '配置迁移任务的监控报警', - 'summary' => '配置监控报警,来监控迁移任务的延迟和异常状态。', - ], - 'ConfigureSynchronizationJobAlert' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'DestinationEndpointRegion', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '目标实例所属地域,详情请参见[支持的地域列表](~~141033~~)。'."\n" + ."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SynchronizationJobId', + 'name' => 'DestinationEndpointIP', 'in' => 'query', - 'schema' => [ - 'description' => '数据同步实例ID,可以通过调用DescribeSynchronizationJobs接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtskxz1170c10p****', - ], + 'schema' => ['description' => '目标库连接地址。'."\n" + .'> 当**DestinationEndpointInstanceType**取值为**LocalInstance**或**Express**时,本参数才可用且必须传入。'."\n" + ."\n", 'type' => 'string', 'required' => false, 'example' => '172.16.88.*** '], ], [ - 'name' => 'SynchronizationDirection', + 'name' => 'DestinationEndpointPort', 'in' => 'query', - 'schema' => [ - 'description' => '同步方向,取值:'."\n" - ."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> 默认取值为**Forward**。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => '源库的服务端口。'."\n" + .'> 当**SourceEndpointInstanceType**取值为**ECS**、**LocalInstance**或**Express**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '3306'], ], [ - 'name' => 'DelayAlertStatus', + 'name' => 'DestinationEndpointDatabaseName', 'in' => 'query', - 'schema' => [ - 'description' => '是否监控延迟状态,取值:'."\n" - ."\n" - .'- **enable**:是。'."\n" - .'- **disable**:否。'."\n" - ."\n" - .'> - 默认取值为**enable**。'."\n" - .'- 本参数和**ErrorAlertStatus**参数两者中至少传入一个。', - 'type' => 'string', - 'required' => false, - 'example' => 'enable', - ], + 'schema' => ['description' => '待迁入的数据库名称或鉴权数据库名称。'."\n" + .'> - 当**DestinationEndpointEngineName**取值为**PostgreSQL**、**DRDS**或**MongoDB**时,或者**DestinationEndpointInstanceType**取值为**PolarDB_o**时,本参数才可用且必须传入。'."\n" + .'- 当**DestinationEndpointEngineName**取值为**PostgreSQL**或**DRDS**时,传入待迁移的数据库名称;取值为**MongoDB**时,传入数据库账号的鉴权数据库名称。'."\n" + .'- 当**DestinationEndpointInstanceType**取值为**PolarDB_o**时,传入待迁移的数据库名称。'."\n", 'type' => 'string', 'required' => false, 'example' => 'dtstestdata'], ], [ - 'name' => 'DelayAlertPhone', + 'name' => 'DestinationEndpointUserName', 'in' => 'query', - 'schema' => [ - 'description' => '延迟报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" - ."\n" - .'说明'."\n" - .'本参数目前只支持中国站,仅支持大陆手机号码,且最多传入 10 个手机号码。'."\n" - .'国际站不支持手机告警,仅支持通过云监控平台为 DTS 任务设置报警规则。', - 'type' => 'string', - 'required' => false, - 'example' => '1361234****,1371234****', - ], + 'schema' => ['description' => '目标库的数据库账号。', 'type' => 'string', 'required' => false, 'example' => 'dtstest'], ], [ - 'name' => 'ErrorAlertStatus', + 'name' => 'DestinationEndpointPassword', 'in' => 'query', - 'schema' => [ - 'description' => '是否监控异常状态,取值:'."\n" - ."\n" - .'- **enable**:是。'."\n" - .'- **disable**:否。'."\n" - ."\n" - .'> - 默认取值为**enable**。'."\n" - .'- 本参数和**DelayAlertStatus**参数两者中至少传入一个。'."\n" - .'- 开启监控异常状态功能后,如果检测到异常,将触发报警。', - 'type' => 'string', - 'required' => false, - 'example' => 'enable', - ], + 'schema' => ['description' => '目标库数据库账号的密码。', 'type' => 'string', 'required' => false, 'example' => 'Test123456'], ], [ - 'name' => 'ErrorAlertPhone', + 'name' => 'DestinationEndpointOracleSID', 'in' => 'query', - 'schema' => [ - 'description' => '异常报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" - ."\n" - .'说明'."\n" - .'本参数目前只支持中国站,仅支持大陆手机号码,且最多传入 10 个手机号码。'."\n" - .'国际站不支持手机告警,仅支持通过云监控平台为 DTS 任务设置报警规则。', - 'type' => 'string', - 'required' => false, - 'example' => '1361234****,1371234****', - ], + 'schema' => ['description' => '当**DestinationEndpointEngineName**为**Oracle**时,才需要传入本参数,取值为:'."\n" + ."\n" + .'- **SID**:非集群架构。'."\n" + .'- **RAC**:集群架构。'."\n" + ."\n\n" + .'> 该参数的类型应为String,且为非必填参数。'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'SID'], ], [ - 'name' => 'DelayOverSeconds', + 'name' => 'DestinationEndpointArchitecture', 'in' => 'query', - 'schema' => [ - 'description' => '触发延迟报警的阈值,单位为秒且需为整数,可根据业务需要设置阈值,建议设置10秒以上,避免因网络、数据库负载等原因导致的延迟波动。'."\n" - .'> 当**DelayAlertStatus**取值为**enable**时,本参数必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '当**SourceEndpointEngineName**为**Oracle**时,才需要传入本参数,取值为:'."\n" + .'- **SID**:非集群架构。'."\n" + .'- **RAC**:集群架构。'."\n" + ."\n" + .'> 该参数的类型应为String,且为非必填参数。'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'SID'], ], [ - 'name' => 'AccountId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号id,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => 'DTS实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n" + ."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -11927,182 +5020,95 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '8EEE7858-7D41-4EDF-9435-AEED2A34****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'SourceConnectionStatus' => ['description' => '源库测试连接结果。'."\n" + ."\n", 'type' => 'object', 'example' => '{ "connectDetail": [ { "testName": "Oracle JDBC Connect", "testSuccess": true }, { "testName": "Ping ", "testSuccess": false }, { "testName": "Telnet ", "testSuccess": true } ], "connectRes": true, "connectAdvice": "" }'], + 'DestinationConnectionStatus' => ['description' => '目标库测试连接结果。', 'type' => 'object', 'example' => '{ "connectDetail": [ { "testName": "PolarDB_o JDBC Connect", "testSuccess": true }, { "testName": "Ping ", "testSuccess": true }, { "testName": "Telnet ", "testSuccess": true } ], "connectRes": true, "connectAdvice": "" }'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '0A47C784-70EF-4111-8677-369CAA00****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '调用结果是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SourceConnectionStatus\\": {\\n \\"connectDetail\\": [\\n {\\n \\"testName\\": \\"Oracle JDBC Connect\\",\\n \\"testSuccess\\": true\\n },\\n {\\n \\"testName\\": \\"Ping \\",\\n \\"testSuccess\\": false\\n },\\n {\\n \\"testName\\": \\"Telnet \\",\\n \\"testSuccess\\": true\\n }\\n ],\\n \\"connectRes\\": true,\\n \\"connectAdvice\\": \\"\\"\\n },\\n \\"DestinationConnectionStatus\\": {\\n \\"connectDetail\\": [\\n {\\n \\"testName\\": \\"PolarDB_o JDBC Connect\\",\\n \\"testSuccess\\": true\\n },\\n {\\n \\"testName\\": \\"Ping \\",\\n \\"testSuccess\\": true\\n },\\n {\\n \\"testName\\": \\"Telnet \\",\\n \\"testSuccess\\": true\\n }\\n ],\\n \\"connectRes\\": true,\\n \\"connectAdvice\\": \\"\\"\\n },\\n \\"RequestId\\": \\"0A47C784-70EF-4111-8677-369CAA00****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '测试迁移任务的连通性', + 'summary' => '测试迁移任务的执行节点与源库、目标库的连通性。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dts:DescribeConnectionStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8EEE7858-7D41-4EDF-9435-AEED2A34****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', - 'title' => '配置同步作业的监控报警', - 'summary' => '配置监控报警,来监控同步作业的延迟和异常状态。', ], - 'ConfigureSubscriptionInstanceAlert' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeConsumerChannel' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'SubscriptionInstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => '数据订阅实例ID,可以通过调用DescribeSubscriptionInstances接口查询。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsl8zl9ek6292****', - ], + 'schema' => ['description' => 'DTS订阅实例所在地域的ID,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'DelayAlertStatus', - 'in' => 'query', - 'schema' => [ - 'description' => '是否监控延迟状态,取值:'."\n" - ."\n" - .'- **enable**:是。'."\n" - .'- **disable**:否。'."\n" - ."\n" - .'> - 默认取值为**enable**。'."\n" - .'- 本参数和**ErrorAlertStatus**参数两者中至少传入一个。', - 'type' => 'string', - 'required' => false, - 'example' => 'enable', - ], - ], - [ - 'name' => 'DelayAlertPhone', + 'name' => 'DtsInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '延迟报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" - .'>- 本参数目前只支持中国站,仅支持大陆手机号码,且最多传入10个手机号码。'."\n" - .'- 国际站不支持手机告警,仅支持[通过云监控平台为DTS任务设置报警规则](~~175876~~)。', - 'type' => 'string', - 'required' => false, - 'example' => '1361234****,1371234****', - ], + 'schema' => ['description' => '订阅实例ID,可以调用[DescribeDtsJobs](~~209702~~)查询。'."\n" + .'> 参数**DtsInstanceId**与**DtsJobId**,两者必须传入其一。', 'type' => 'string', 'required' => false, 'example' => 'dtsboss6pn1w******'], ], [ - 'name' => 'ErrorAlertStatus', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '是否监控异常状态,取值:'."\n" - ."\n" - .'- **enable**:是。'."\n" - .'- **disable**:否。'."\n" - ."\n" - .'> - 默认取值为**enable**。'."\n" - .'- 本参数和**DelayAlertStatus**参数两者中至少传入一个。'."\n" - .'- 开启监控异常状态功能后,如果检测到异常,将触发报警。', - 'type' => 'string', - 'required' => false, - 'example' => 'enable', - ], + 'schema' => ['description' => '订阅任务ID,可以调用[DescribeDtsJobs](~~209702~~)查询。'."\n" + .'> 参数**DtsInstanceId**与**DtsJobId**,两者必须传入其一。', 'type' => 'string', 'required' => false, 'example' => 'boss6pn1w******'], ], [ - 'name' => 'ErrorAlertPhone', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '异常报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" - .'>- 本参数目前只支持中国站,仅支持大陆手机号码,且最多传入10个手机号码。'."\n" - .'- 国际站不支持手机告警,仅支持[通过云监控平台为DTS任务设置报警规则](~~175876~~)。', - 'type' => 'string', - 'required' => false, - 'example' => '1361234****,1371234****', - ], + 'schema' => ['description' => '每页记录数,取值范围为**1**~**100**,默认值为**20**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], ], [ - 'name' => 'DelayOverSeconds', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '触发延迟报警的阈值,单位为秒且需为整数,可根据业务需要设置阈值,建议设置10秒以上,避免因网络、数据库负载等原因导致的延迟波动。'."\n" - .'> 当**DelayAlertStatus**取值为**enable**时,本参数必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'AccountId', + 'name' => 'ParentChannelId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'schema' => ['description' => '分布式任务的父任务ChannelId。', 'type' => 'string', 'required' => false, 'example' => 'dtsan5114c52******'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek3dcgyq7pnqwa'], ], ], 'responses' => [ @@ -12110,66 +5116,81 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '0a2a047516051973705541561d****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回的错误信息。', - 'type' => 'string', - 'example' => 'InternalError The request processing has failed due to some unknown error.', + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D66140B3-C747-42B6-8315-BAF6490E****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'PageRecordCount' => ['description' => '一页最多可展示的消费组数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'Success' => ['description' => '请求是否成功。'."\n" + ."\n", 'type' => 'string', 'example' => 'true'], + 'TotalRecordCount' => ['description' => '消费组总数。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'ErrMessage' => ['description' => '调用出错时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'PageNumber' => ['description' => '页码。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ConsumerChannels' => [ + 'description' => '消费组列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ConsumerGroupUserName' => ['description' => '消费组的账号。'."\n" + ."\n", 'type' => 'string', 'example' => 'dtstest'], + 'ConsumerGroupId' => ['description' => '消费组ID。'."\n" + ."\n", 'type' => 'string', 'example' => 'dtsor2y66j4219****'], + 'MessageDelay' => ['description' => '消息延迟时间,该时间=下游客户端最新消费数据的时间戳-数据订阅任务中最新订阅数据的时间戳,格式为Unix时间戳,单位为秒。'."\n" + .'例如,源库最新的数据于10点产生,目前DTS订阅任务已读取到源库9点55分的数据,下游客户端消费到9点30分的数据,此时消息延迟时间应为9点55分至9点30分的unix时间戳差值。'."\n" + ."\n" + .'> 如果该参数返回**-1**,则表示当前没有客户端连接该消费组。'."\n" + ."\n\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1500'], + 'ConsumerGroupName' => ['description' => '消费组的名称。'."\n" + ."\n", 'type' => 'string', 'example' => '订阅组A'], + 'ConsumptionCheckpoint' => ['description' => '消费位点,即客户端在订阅通道内消费最后一条信息的时间点,格式为yyyy-MM-ddTHH:mm:ssZ(UTC时间)。', 'type' => 'string', 'example' => '2021-06-20T12:00:00Z'], + 'UnconsumedData' => ['description' => '未消费的消息总数,为未消费的订阅数据数量与心跳消息数量的和。'."\n" + .'> 如果该参数返回-1,则表示当前没有客户端连接该消费组。', 'type' => 'integer', 'format' => 'int64', 'example' => '186600'], + ], + 'description' => '', + ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0a2a047516051973705541561d****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"InternalError The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ConfigureSubscriptionInstanceAlertResponse>\\n <RequestId>0a2a047516051973705541561d****</RequestId>\\n <Success>true</Success>\\n</ConfigureSubscriptionInstanceAlertResponse>","errorExample":""}]', - 'title' => '配置订阅通道的监控报警', - 'summary' => '配置监控报警,来监控订阅通道的延迟和异常状态。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"D66140B3-C747-42B6-8315-BAF6490E****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"PageRecordCount\\": 20,\\n \\"Success\\": \\"true\\",\\n \\"TotalRecordCount\\": 1,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PageNumber\\": 1,\\n \\"ConsumerChannels\\": [\\n {\\n \\"ConsumerGroupUserName\\": \\"dtstest\\",\\n \\"ConsumerGroupId\\": \\"dtsor2y66j4219****\\",\\n \\"MessageDelay\\": 1500,\\n \\"ConsumerGroupName\\": \\"订阅组A\\",\\n \\"ConsumptionCheckpoint\\": \\"2021-06-20T12:00:00Z\\",\\n \\"UnconsumedData\\": 186600\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeConsumerChannelResponse>\\n <TotalRecordCount>1</TotalRecordCount>\\n <PageRecordCount>20</PageRecordCount>\\n <RequestId>D66140B3-C747-42B6-8315-BAF6490E****</RequestId>\\n <PageNumber>1</PageNumber>\\n <HttpStatusCode>200</HttpStatusCode>\\n <ConsumerChannels>\\n <ConsumptionCheckpoint/>\\n <ConsumerGroupId>dtsor2y66j4219****</ConsumerGroupId>\\n <ConsumerGroupUserName>dtstest</ConsumerGroupUserName>\\n <ConsumerGroupName>订阅组A</ConsumerGroupName>\\n <MessageDelay>-1</MessageDelay>\\n <UnconsumedData>-1</UnconsumedData>\\n </ConsumerChannels>\\n <Success>true</Success>\\n</DescribeConsumerChannelResponse>","errorExample":""}]', + 'title' => '查询订阅任务的消费组详情', + 'summary' => '查询DTS订阅任务的消费组信息,如消费组ID、名称和账号,消费延迟时间等。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteDtsJob' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeConsumerChannel', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], ], + ], + 'DescribeConsumerGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -12177,93 +5198,37 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '52224', - 'abilityTreeNodes' => [ - 'FEATUREdtsQYRBZN', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'DtsJobId', - 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅任务ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'l3m1213ye7l****', - ], - ], - [ - 'name' => 'DtsInstanceId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsl3m1213ye7l****', - ], + 'schema' => ['description' => '数据订阅实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SynchronizationDirection', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '同步方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 当数据同步实例的拓扑为双向时,才可以传入**Reverse**以释放反向同步链路。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => '每页记录数,取值: **30**、**50**、**100**,默认值为**30**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '30', 'default' => '30'], ], [ - 'name' => 'RegionId', + 'name' => 'PageNum', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移或同步实例所在地域的id,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1'], ], [ - 'name' => 'JobType', + 'name' => 'SubscriptionInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例的任务类型,取值:'."\n" - ."\n" - .'- **MIGRATION**:迁移。'."\n" - .'- **SYNC**:同步。'."\n" - .'- **SUBSCRIBE**:订阅。', - 'type' => 'string', - 'required' => false, - 'example' => 'MIGRATION', - ], + 'schema' => ['description' => '数据订阅实例ID,可以通过调用DescribeSubscriptionInstances接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtso5xx5t9u19e****'], ], [ - 'name' => 'ZeroEtlJob', + 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '特殊业务专用字段,无需传参。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '特殊业务专用字段,无需传参。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek26lwshij****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aekz4us4iruleja'], ], ], 'responses' => [ @@ -12271,977 +5236,189 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '01B6F25-21E7-4484-99D5-3EF2625C****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4204E899-8193-4D7D-A4FB-3A7F9063****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'PageRecordCount' => ['description' => '一页最多可展示的消费组数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '30'], + 'TotalRecordCount' => ['description' => '消费组总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'PageNumber' => ['description' => '页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ConsumerChannels' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DescribeConsumerChannel' => [ + 'description' => '消费组列表。', + 'type' => 'array', + 'items' => [ + 'description' => '消费组列表。', + 'type' => 'object', + 'properties' => [ + 'ConsumerGroupUserName' => ['description' => '消费组账号。', 'type' => 'string', 'example' => 'dtstest'], + 'ConsumerGroupID' => ['description' => '消费组ID。', 'type' => 'string', 'example' => 'dtspis1110z232****'], + 'MessageDelay' => ['description' => '消息延迟时间=当前时间-数据订阅通道中存在时间最早的未被消费的消息的时间戳,单位为秒。'."\n" + .'> 如果该参数返回**-1**,则表示当前没有客户端连接该消费组。', 'type' => 'integer', 'format' => 'int64', 'example' => '172714'], + 'ConsumerGroupName' => ['description' => '消费组名称。'."\n", 'type' => 'string', 'example' => 'consumergrouptest'], + 'ConsumptionCheckpoint' => ['description' => '消费位点,即客户端在订阅通道内消费最后一条信息的时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2019-10-02T12:00:00Z'], + 'UnconsumedData' => ['description' => '未消费的消息总数=未被消费的订阅数据数量+心跳消息数量'."\n" + .'> 如果该参数返回**-1**,则表示当前没有客户端连接该消费组。', 'type' => 'integer', 'format' => 'int64', 'example' => '186600'], + ], + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4204E899-8193-4D7D-A4FB-3A7F9063****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"PageRecordCount\\": 30,\\n \\"TotalRecordCount\\": 1,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PageNumber\\": 1,\\n \\"ConsumerChannels\\": {\\n \\"DescribeConsumerChannel\\": [\\n {\\n \\"ConsumerGroupUserName\\": \\"dtstest\\",\\n \\"ConsumerGroupID\\": \\"dtspis1110z232****\\",\\n \\"MessageDelay\\": 172714,\\n \\"ConsumerGroupName\\": \\"consumergrouptest\\",\\n \\"ConsumptionCheckpoint\\": \\"2019-10-02T12:00:00Z\\",\\n \\"UnconsumedData\\": 186600\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => '查询订阅实例中消费组详情', + 'summary' => '查询数据订阅实例中的消费组详情。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeConsumerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"01B6F25-21E7-4484-99D5-3EF2625C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteDtsJobResponse>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>01B6F25-21E7-4484-99D5-3EF2625C****</RequestId>\\n <ErrCode>InternalError</ErrCode>\\n <Success>true</Success>\\n <ErrMessage>The Value of Input Parameter %s is not valid.</ErrMessage>\\n <DynamicMessage>DtsJobId</DynamicMessage>\\n <DynamicCode>403</DynamicCode>\\n</DeleteDtsJobResponse>","errorExample":""}]', - 'title' => '释放DTS实例', - 'summary' => '释放一个数据迁移、同步或订阅实例。', - 'description' => '> <props="china"><ph>包年包月的DTS实例不支持通过API释放,您可以通过退订的方式进行释放。更多信息,请参见[释放DTS实例](~~289054~~)。</ph></props><props="intl"><ph>包年包月的DTS实例不支持释放。</ph></props>', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'ConfigureDtsJob' => [ - 'summary' => '配置一个迁移或同步任务。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeDTSIP' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '52203', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'DtsJobName', - 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rdsmysql_to_mysql', - ], - ], - [ - 'name' => 'SourceEndpointInstanceType', - 'in' => 'query', - 'schema' => [ - 'description' => '源实例类型,取值:'."\n" - ."\n" - .'**阿里云数据库**'."\n" - ."\n" - .'- **RDS**:RDS MySQL、RDS SQL Server、RDS PostgreSQL、RDS MariaDB。'."\n" - .'- **PolarDB**:PolarDB MySQL版。'."\n" - .'- **ADS**:AnalyticDB MySQL版。'."\n" - .'- **REDIS**:云数据库Tair(兼容Redis)。'."\n" - .'- **DISTRIBUTED_POLARDBX10**:PolarDB-X 1.0(原DRDS)。'."\n" - .'- **POLARDBX20**:PolarDB-X 2.0。'."\n" - .'- **MONGODB**:云数据库MongoDB。'."\n" - .'- **DISTRIBUTED_DMSLOGICDB**:数据管理DMS逻辑库。'."\n" - .'- **LINDORM**:云原生多模数据库Lindorm。'."\n" - ."\n" - .'**自建数据库**'."\n" - .'- **OTHER**:有公网IP的自建数据库。'."\n" - .'- **ECS**:ECS上的自建数据库。'."\n" - .'- **EXPRESS**:通过专线接入的自建数据库。'."\n" - .'- **CEN**:通过云企业网CEN接入的自建数据库。'."\n" - .'- **DG**:通过数据库网关接入的自建数据库。'."\n" - ."\n\n" - .'> - 如源实例为PolarDB PostgreSQL版(兼容Oracle)集群,则源实例类型需选择**OTHER**或者**EXPRESS**,作为自建数据库,且通过公网IP或者专线的方式接入。'."\n" - .'- 关于支持的源库和目标库对应情况,请参见[支持的数据库](~~131497~~)。'."\n" - .'- 当源实例为自建数据库时,您还需要执行相应的准备工作,请参见[准备工作概览](~~130607~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'RDS', - ], - ], - [ - 'name' => 'SourceEndpointInstanceID', - 'in' => 'query', - 'schema' => [ - 'description' => '源实例ID。'."\n" - ."\n" - .'如源实例为阿里云数据库(如RDS MySQL),则您需要传入阿里云数据库的ID(如RDS MySQL的实例ID)。'."\n" - ."\n" - .'如源实例为自建数据库,则根据**SourceEndpointInstanceType**的取值不同,本参数的取值有所变化,例如**SourceEndpointInstanceType**取值为:'."\n" - ."\n" - .'- **ECS**,则该参数需传入ECS的实例ID。'."\n" - .'- **DG**,则该参数需传入数据库网关ID。'."\n" - .'- **EXPRESS**、**CEN**:则该参数需传入已和源库互联的VPC ID。'."\n" - ."\n" - .'> 取值为**CEN**时,您还需要在预留参数Reserve中传入云企业网CEN的实例ID。配置方式,请参见[Reserve参数说明](~~273111~~)。'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp1imrtn6fq7h****', - ], - ], - [ - 'name' => 'SourceEndpointEngineName', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '源实例的数据库类型。'."\n" - .'- **MYSQL**:MySQL数据库(包括RDS MySQL和自建MySQL)。'."\n" - .'- **MARIADB**:RDS MariaDB。'."\n" - .'- **PolarDB**:PolarDB MySQL版。'."\n" - .'- **POLARDB_O**:PolarDB PostgreSQL版(兼容Oracle)。'."\n" - .'- **POLARDBX10**:PolarDB-X 1.0(原DRDS)。'."\n" - .'- **POLARDBX20**:云原生分布式数据库PolarDB-X 2.0。'."\n" - .'- **ADB30**:AnalyticDB MySQL版 3.0。'."\n" - .'- **ORACLE**:自建Oracle。'."\n" - .'- **POSTGRESQL**:PostgreSQL数据库(包括RDS PostgreSQL和自建PostgreSQL)。'."\n" - .'- **MSSQL**:SQL Server数据库(包括RDS SQL Server和自建SQL Server)。'."\n" - .'- **MONGODB**:MongoDB数据库(包括自建MongoDB和云数据库MongoDB)。'."\n" - .'- **DB2**:自建DB2 LUW。'."\n" - .'- **AS400**:自建Db2 for i。'."\n" - .'- **DMSPOLARDB**:数据管理DMS逻辑库。'."\n" - .'- **HBASE**:自建HBase数据库。'."\n" - .'- **TERADATA**:Teradata数据库。'."\n" - .'- **TiDB**:TiDB数据库。'."\n" - .'- **REDIS**:Redis数据库,包括自建Redis和云数据库Tair(兼容Redis)。'."\n" - .'- **LINDORM**:云原生多模数据库Lindorm。'."\n" - ."\n\n" - .'>- 默认取值为**MYSQL**。'."\n" - .' - 当源实例的数据库类型取值为**MONGODB**时,您还需要在预留参数Reserve中传入部分信息。配置方式,请参见[Reserve参数说明](~~273111~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'MYSQL', - ], + 'schema' => ['description' => 'DTS任务实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'SourceEndpointRegion', 'in' => 'query', - 'schema' => [ - 'description' => '源实例区域,详情请参见[支持的地域列表](~~141033~~)。'."\n" - .'> 如源为阿里云数据库,则该参数必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'SourceEndpointIP', - 'in' => 'query', - 'schema' => [ - 'description' => '源实例的IP地址。'."\n" - .'> 当**SourceEndpointInstanceType**为**OTHER**、**EXPRESS**、**DG**、**CEN**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '172.16.**.***', - ], - ], - [ - 'name' => 'SourceEndpointPort', - 'in' => 'query', - 'schema' => [ - 'description' => '源实例的数据库服务端口。'."\n" - .'> 当源实例为自建数据库时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '3306', - ], - ], - [ - 'name' => 'SourceEndpointOracleSID', - 'in' => 'query', - 'schema' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当**SourceEndpointEngineName**取值为**Oracle**,且**Oracle**数据库为非RAC实例时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'testsid', - ], - ], - [ - 'name' => 'SourceEndpointDatabaseName', - 'in' => 'query', - 'schema' => [ - 'description' => '源实例中迁移对象所属的数据库名称。'."\n" - .'> 当源实例或者源实例的数据库类型为PolarDB PostgreSQL版(兼容Oracle)、PostgreSQL、MongoDB数据库时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestdatabase', - ], - ], - [ - 'name' => 'SourceEndpointUserName', - 'in' => 'query', - 'schema' => [ - 'description' => '源库的数据库账号。'."\n" - .'> - 大部分情况下,您需要传入源库的数据库账号。'."\n" - .'- 迁移或同步不同的数据库所需的权限有所差异,具体权限要求,请参见[准备用于数据迁移的数据库账号](~~175878~~)、[准备用于数据同步的数据库账号 ](~~213152~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstest', - ], - ], - [ - 'name' => 'SourceEndpointPassword', - 'in' => 'query', - 'schema' => [ - 'description' => '源库数据库账号密码。', - 'type' => 'string', - 'required' => false, - 'example' => 'Test123456', - ], - ], - [ - 'name' => 'SourceEndpointOwnerID', - 'in' => 'query', - 'schema' => [ - 'description' => '源实例所属的阿里云账号ID。'."\n" - .'> 传入本参数即代表执行跨阿里云账号的数据迁移或同步,同时您还需要传入**SourceEndpointRole**参数。', - 'type' => 'string', - 'required' => false, - 'example' => '140692647406****', - ], - ], - [ - 'name' => 'SourceEndpointRole', - 'in' => 'query', - 'schema' => [ - 'description' => '源实例所属云账号配置的角色名称。'."\n" - .'> 执行跨阿里云账号的数据迁移或同步时须传入本参数,该角色所需的权限及授权方式,请参见[跨阿里云账号数据迁移或同步时如何配置RAM授权](~~48468~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'ram-for-dts', - ], - ], - [ - 'name' => 'DestinationEndpointInstanceType', - 'in' => 'query', - 'schema' => [ - 'description' => '目标实例类型,取值:'."\n" - ."\n" - .'**阿里云数据库**'."\n" - .'- **RDS**:RDS MySQL、RDS SQLServer、RDS PostgreSQL、RDS MariaDB。'."\n" - .'- **PolarDB**:PolarDB MySQL版。'."\n" - .'- **DISTRIBUTED_POLARDBX10**:PolarDB-X 1.0(原DRDS)。'."\n" - .'- **POLARDBX20**:PolarDB-X 2.0。'."\n" - .'- **REDIS**:云数据库Tair(兼容Redis)。'."\n" - .'- **ADS**:AnalyticDB MySQL 2.0、3.0。'."\n" - .'- **MONGODB**:云数据库MongoDB。'."\n" - .'- **ROCKETMQ**:云数据库RocketMQ。'."\n" - .'- **GREENPLUM**:AnalyticDB PostgreSQL。'."\n" - .'- **DATAHUB**:阿里云流数据处理平台DataHub。'."\n" - .'- **ELK**:阿里云检索分析服务Elasticsearch。'."\n" - .'- **Tablestore**:表格存储Tablestore。'."\n" - .'- **ODPS**:MaxCompute。'."\n" - .'- **LINDORM**:云原生多模数据库Lindorm。'."\n" - ."\n" - .'**自建数据库**'."\n" - .'- **OTHER**:有公网IP的自建数据库。'."\n" - .'- **ECS**:ECS上的自建数据库。'."\n" - .'- **EXPRESS**:通过专线接入的自建数据库。'."\n" - .'- **CEN**:通过云企业网CEN接入的自建数据库。'."\n" - .'- **DG**:通过数据库网关接入的自建数据库。'."\n" - ."\n" - .'> - 如目标实例为PolarDB PostgreSQL版(兼容Oracle)集群,则目标实例类型需选择**OTHER**或者**EXPRESS**,作为自建数据库,且通过公网IP或者专线的方式接入。'."\n" - .'- 目标实例为消息队列Kafka版,则目标实例类型需选择**ECS**或者**EXPRESS**,作为自建数据库,且通过ECS或者专线的方式接入。'."\n" - .'- 关于支持的源库和目标库对应情况,请参见<props="china">[支持的数据库](~~131497~~)</props><props="intl">[支持的源和目标数据库](~~176064~~)</props>。'."\n" - .'- 当目标实例为自建数据库时,您还需要执行相应的准备工作,请参见[准备工作概览](~~146958~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'EXPRESS', - ], - ], - [ - 'name' => 'DestinationEndpointInstanceID', - 'in' => 'query', - 'schema' => [ - 'description' => '目标实例ID。'."\n" - ."\n" - .' 如目标实例为云数据库(如RDS MySQL),则您需要传入云数据库的实例ID(如RDS MySQL的实例ID)。'."\n" - ."\n" - .' 如目标实例为自建数据库,则根据**DestinationEndpointInstanceType**的取值不同,本参数的取值有所变化,例如**DestinationEndpointInstanceType**取值为:'."\n" - ."\n\n" - .'- **ECS**,则该参数需传入ECS的实例ID。'."\n" - .'- **DG**,则该参数需传入数据库网关ID。'."\n" - .'- **EXPRESS**、**CEN**:则该参数需传入已和源库互联的VPC ID。'."\n" - ."\n" - .'> 取值为**CEN**时,您还需要在预留参数Reserve中传入云企业网CEN的实例ID。配置方式,请参见[Reserve参数说明](~~273111~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-bp1opxu1zkhn00gzv****', - ], - ], - [ - 'name' => 'DestinationEndpointEngineName', - 'in' => 'query', - 'schema' => [ - 'description' => '目标实例的数据库类型。'."\n" - .'- **MYSQL**:MySQL数据库(包括RDS MySQL和自建MySQL)。'."\n" - .'- **MARIADB**:RDS MariaDB。'."\n" - .'- **PolarDB**:PolarDB MySQL版。'."\n" - .'- **POLARDB_O**:PolarDB PostgreSQL版(兼容Oracle)。'."\n" - .'- **POLARDBX10**:PolarDB-X 1.0(原DRDS)。'."\n" - .'- **POLARDBX20**:云原生分布式数据库PolarDB-X 2.0。'."\n" - .'- **ORACLE**:自建Oracle。'."\n" - .'- **PostgreSQL**:PostgreSQL数据库(包括RDS PostgreSQL、自建PostgreSQL)。'."\n" - .'- **MSSQL**:SQL Server数据库(包括RDS SQL Server和自建SQL Server)。'."\n" - .'- **ADS**:AnalyticDB MySQL 2.0。'."\n" - .'- **ADB30**:AnalyticDB MySQL 3.0。'."\n" - .'- **MONGODB**:MongoDB数据库(包括自建MongoDB和云数据库MongoDB)。'."\n" - .'- **ROCKETMQ**:云消息队列RocketMQ。'."\n" - .'- **GREENPLUM**:AnalyticDB PostgreSQL。'."\n" - .'- **KAFKA**:Kafka数据库(包括消息队列Kafka版和自建Kafka)。'."\n" - .'- **DATAHUB**:阿里云流式数据服务DataHub。'."\n" - .'- **DB2**:自建DB2 LUW。'."\n" - .'- **AS400**:Db2 for i。'."\n" - .'- **ODPS**:MaxCompute。'."\n" - .'- **Tablestore**:表格存储Tablestore。'."\n" - .'- **ELK**:阿里云检索分析服务Elasticsearch。'."\n" - .'- **REDIS**:Redis数据库,包括自建Redis和云数据库Tair(兼容Redis)。'."\n" - .'- **LINDORM**:云原生多模数据库Lindorm。'."\n" - ."\n" - .'> - 默认取值为**MYSQL**。'."\n" - .'- 当目标实例的数据库类型取值为**KAFKA**、**MONGODB**、**PolarDB**时,您还需要在预留参数Reserve中传入部分信息。配置方式,请参见[Reserve参数说明](~~273111~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'MYSQL', - ], + 'schema' => ['description' => '源实例所属地域ID,详情请参见[支持的地域列表](~~141033~~)。'."\n" + .'> 如果源实例为有公网IP的自建数据库,则可以传入**cn-hangzhou**或者离自建数据库物理距离最近的区域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'DestinationEndpointRegion', 'in' => 'query', - 'schema' => [ - 'description' => '目标实例区域,请参见[支持的地域列表](~~141033~~)。'."\n" - .'> 如目标为阿里云数据库,则该参数必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'DestinationEndpointIP', - 'in' => 'query', - 'schema' => [ - 'description' => '目标实例的IP地址。'."\n" - .'> 当**DestinationEndpointInstanceType**为**OTHER**、**EXPRESS**、**DG**、**CEN**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '172.16.**.***', - ], - ], - [ - 'name' => 'DestinationEndpointPort', - 'in' => 'query', - 'schema' => [ - 'description' => '目标实例的数据库服务端口。'."\n" - .'> 当目标实例为自建数据库时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '3306', - ], - ], - [ - 'name' => 'DestinationEndpointDataBaseName', - 'in' => 'query', - 'schema' => [ - 'description' => '目标实例中迁移对象所属的数据库名称。'."\n" - .'> - 当目标实例或目标数据库的类型为PolarDB PostgreSQL版(兼容Oracle)、AnalyticDB PostgreSQL、PostgreSQL、MaxCompute、MongoDB数据库时,本参数才可用且必须传入。'."\n" - .'- 若目标库为MaxCompute,您需要填写为MaxCompute实例的Project。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dtstestdata', - ], - ], - [ - 'name' => 'DestinationEndpointUserName', - 'in' => 'query', - 'schema' => [ - 'description' => '目标库的数据库账号。'."\n" - .'> - 大部分情况下,您需要传入目标库的数据库账号。'."\n" - .'- 迁移或同步不同的数据库所需的权限有所差异,具体权限要求,请参见[准备用于数据迁移的数据库账号](~~175878~~)、[准备用于数据同步的数据库账号](~~213152~~)。'."\n" - .'- 若目标库为MaxCompute,您需要填写为阿里云账号(主账号)的AccessKey ID。获取方式,请参见[创建AccessKey](~~116401~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstest', - ], - ], - [ - 'name' => 'DestinationEndpointPassword', - 'in' => 'query', - 'schema' => [ - 'description' => '目标库数据库账号密码。'."\n" - .'> 若目标库为MaxCompute,您需要填写为阿里云账号(主账号)的AccessKey Secret。获取方式,请参见[创建AccessKey](~~116401~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'Test123456', - ], + 'schema' => ['description' => '目标实例所属地域ID,详情请参见[支持的地域列表](~~141033~~)。'."\n" + .'> 如果目标实例为有公网IP的自建数据库,则可以传入**cn-hangzhou**或者离自建数据库物理距离最近的区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'DestinationEndpointOwnerID', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '目标RDS MySQL实例所属的阿里云账号ID。'."\n" - .'> - 当前仅目标实例为RDS MySQL时可以配置。'."\n" - .'- 传入本参数即代表执行跨阿里云账号的数据迁移或同步,同时您还需要传入**DestinationEndpointRole**参数。', - 'type' => 'string', - 'required' => false, - 'example' => '140692647406****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], - [ - 'name' => 'DestinationEndpointRole', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '目标实例所属云账号配置的角色名称。'."\n" - .'> 执行跨阿里云账号的数据迁移或同步时须传入本参数,该角色所需的权限及授权方式,请参见[跨阿里云账号数据迁移或同步时如何配置RAM授权](~~48468~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'ram-for-dts', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => '0C99C0BE-F312-40FA-ADFA-4DC1166B****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'DynamicMessage' => ['description' => 'DTS服务的IP地址。', 'type' => 'string', 'example' => '10.151.12.0/24,47.102.181.0/24,47.101.109.0/24,120.55.129.0/24,11.115.103.0/24,47.102.234.0/24'], + 'DynamicCode' => ['description' => '服务内部错误码,该参数即将下线。', 'type' => 'string', 'example' => '500'], + ], + 'description' => '', ], ], - [ - 'name' => 'StructureInitialization', - 'in' => 'query', - 'schema' => [ - 'description' => '是否执行库表结构迁移或初始化,取值:'."\n" - ."\n" - .'- **true**:是,为默认值。'."\n" - .'- **false**:否。'."\n" - ."\n" - .'> 若**JobType**取值为**CHECK**,只能取值为**false**。'."\n", - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - 'example' => 'true', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], - [ - 'name' => 'DataInitialization', - 'in' => 'query', - 'schema' => [ - 'description' => '是否执行全量数据迁移或全量数据初始化,取值:'."\n" - ."\n" - .'- **true**:是,为默认值。'."\n" - .'- **false**:否。'."\n" - ."\n" - .'> 若**JobType**取值为**CHECK**,只能取值为**false**。', - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - 'example' => 'true', - ], + 403 => [ + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], - [ - 'name' => 'DataSynchronization', - 'in' => 'query', - 'schema' => [ - 'description' => '是否执行增量数据迁移或同步,取值:'."\n" - ."\n" - .'- **false**:否,为默认值。'."\n" - .'- **true**:是。'."\n" - ."\n" - .'> 若**JobType**取值为**CHECK**,只能取值为**false**。'."\n" - ."\n", - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - 'example' => 'true', - ], + 500 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], - [ - 'name' => 'DbList', - 'in' => 'formData', - 'schema' => [ - 'description' => '待迁移或同步的对象,格式为JSON串。详细定义说明,请参见[迁移、同步或订阅对象说明](~~209545~~)。'."\n" - ."\n" - .'- DbList最多支持传入1 MB的数据。'."\n" - .'- 若DbList中包含过滤条件,则DbList整体(含过滤条件)的长度最大支持1 MB。'."\n" - .'- 分布式任务(例如源端为PolarDB-X 1.0的迁移或同任务)的DbList会根据物理分表进行拆分并生成多个子任务,子任务的DbList最多支持1 MB的数据。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '{"dtstest":{"name":"dtstest","all":true}}', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0C99C0BE-F312-40FA-ADFA-4DC1166B****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"10.151.12.0/24,47.102.181.0/24,47.101.109.0/24,120.55.129.0/24,11.115.103.0/24,47.102.234.0/24\\",\\n \\"DynamicCode\\": \\"500\\"\\n}","type":"json"}]', + 'title' => '获取白名单需要添加的DTS IP地址', + 'summary' => '获取源库和目标库的白名单都需要添加的DTS IP地址。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDTSIP', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + ], + 'DescribeDataCheckReportUrl' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Reserve', - 'in' => 'formData', - 'schema' => [ - 'description' => 'DTS预留参数,格式为JSON字符串,您可以传入本参数完善源目库信息(如目标Kafka数据库的数据存储格式、云企业网CEN的实例ID、配置ETL功能)。更多信息,请参见[Reserve参数说明](~~273111~~)。', - 'type' => 'string', - 'required' => false, - 'example' => '{ "srcInstanceId": "cen-9kqshqum*******" }', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'Checkpoint', + 'name' => 'CheckType', 'in' => 'query', - 'schema' => [ - 'description' => '增量数据迁移的启动位点或者同步位点,格式为Unix时间戳,单位为秒。'."\n" - ."\n" - .'> 若需传入**Checkpoint**参数,必须确保不存在与目标DTS实例相同源库的其他正在运行的DTS实例。', - 'type' => 'string', - 'required' => false, - 'example' => '1610540493', - ], + 'schema' => ['description' => '数据校验方式,当前仅支持取值为**1**,表示全量校验。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1'], ], [ - 'name' => 'DestinationEndpointOracleSID', + 'name' => 'DbName', 'in' => 'query', - 'schema' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当**DestinationEndpointEngineName**取值为**Oracle**,且**Oracle**数据库为非RAC实例时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'testsid', - ], + 'schema' => ['description' => '校验的源数据库名称。', 'type' => 'string', 'required' => true, 'example' => 'dtsdb'], ], [ - 'name' => 'JobType', + 'name' => 'TbName', 'in' => 'query', - 'schema' => [ - 'description' => '任务类型,取值为:'."\n" - ."\n" - .'- **MIGRATION**:数据迁移。'."\n" - .'- **SYNC**:数据同步。'."\n" - .'- **CHECK**:数据校验(单独购买)。'."\n" - ."\n" - .'> - 若取值为**MIGRATION**或**SYNC**,您也可以在迁移或同步实例中配置数据校验任务。'."\n" - .'- 若需要配置数据校验任务,还需配置**DataCheckConfigure**参数。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'SYNC', - ], + 'schema' => ['description' => '源数据库中校验的表名。', 'type' => 'string', 'required' => true, 'example' => 'student'], ], [ 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移或同步任务ID。'."\n" - .'> 可调用[DescribeDtsJobs](~~209702~~)获取任务ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'k2gm967v16f****', - ], - ], - [ - 'name' => 'DtsInstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => '迁移或同步实例ID。'."\n" - .'> 可调用[DescribeDtsJobs](~~209702~~)获取实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsk2gm967v16f****', - ], - ], - [ - 'name' => 'DelayPhone', - 'in' => 'query', - 'schema' => [ - 'description' => '延迟报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" - .'>- 本参数目前只支持中国站,仅支持中国内地手机号码,且最多传入10个手机号码。'."\n" - .'- 国际站不支持手机告警,仅支持[通过云监控平台为DTS任务设置报警规则](~~175876~~)。', - 'type' => 'string', - 'required' => false, - 'example' => '1361234****,1371234****', - ], - ], - [ - 'name' => 'DelayRuleTime', - 'in' => 'query', - 'schema' => [ - 'description' => '触发延迟报警的阈值,单位为秒且需为整数,可根据业务需要设置阈值,建议设置10秒以上,避免因网络、数据库负载等原因导致的延迟波动。'."\n" - .'> 当**DelayNotice**取值为**true**时,本参数必须传入。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'maximum' => '10000000000', - 'minimum' => '1', - 'example' => '10', - 'default' => '1000', - ], - ], - [ - 'name' => 'DelayNotice', - 'in' => 'query', - 'schema' => [ - 'description' => '是否监控延迟状态,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'ErrorPhone', - 'in' => 'query', - 'schema' => [ - 'description' => '异常报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" - .'>- 本参数目前只支持中国站,仅支持中国内地手机号码,且最多传入10个手机号码。'."\n" - .'- 国际站不支持手机告警,仅支持[通过云监控平台为DTS任务设置报警规则](~~175876~~)。', - 'type' => 'string', - 'required' => false, - 'example' => '1361234****,1371234****', - ], - ], - [ - 'name' => 'ErrorNotice', - 'in' => 'query', - 'schema' => [ - 'description' => '是否监控异常状态,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'SynchronizationDirection', - 'in' => 'query', - 'schema' => [ - 'description' => '同步方向,取值:'."\n" - ."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 只有当同步任务的同步拓扑为双向时,本参数传入**Reverse**才会生效。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'DedicatedClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'DTS专属集群ID。'."\n" - ."\n" - .'> 当传入专属集群的ID时,任务调度到相应的集群上。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtscluster_atyl3b5214uk***', - ], - ], - [ - 'name' => 'FileOssUrl', - 'in' => 'query', - 'schema' => [ - 'description' => '任务文件的OSS地址。', - 'type' => 'string', - 'required' => false, - 'example' => 'http://db-list-os-file.oss-cn-shanghai.aliyuncs.com/8e42_121852**********_79dd3aeabe2f43cdb**************', - 'isFileTransferUrl' => true, - ], - ], - [ - 'name' => 'DataCheckConfigure', - 'in' => 'query', - 'schema' => [ - 'description' => '数据校验任务的参数,格式为JSON字符串,如参数限制或告警配置等信息。更多信息请参见[DataCheckConfigure参数说明](~~459023~~)。', - 'type' => 'string', - 'required' => false, - 'example' => '{"fullCheckModel":1,"fullCheckRatio":20,"checkMaximumHourEnable":1,"checkMaximumHour":1,"fullCheckErrorNotice":true,"fullCheckValidFailNotice":true,"fullCheckNoticeValue":8,"incrementalCheckErrorNotice":true,"incrementalCheckValidFailNotice":true,"incrementalCheckValidFailNoticeTimes":2,"incrementalCheckValidFailNoticePeriod":1,"incrementalCheckValidFailNoticeValue":1,"incrementalCheckDelayNotice":true,"incrementalCheckDelayNoticeTimes":2,"incrementalCheckDelayNoticePeriod":1,"incrementalCheckDelayNoticeValue":60,"fullDataCheck":true,"incrementalDataCheck":true,"dataCheckNoticePhone":"13126800****","dataCheckDbList":{"dts":{"name":"dts","all":true}}}', - ], - ], - [ - 'name' => 'DisasterRecoveryJob', - 'in' => 'query', - 'schema' => [ - 'description' => '是否为灾备实例,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'SourceEndpointVSwitchID', - 'in' => 'query', - 'schema' => [ - 'title' => '数据投递链路交换机实例id', - 'description' => '数据投递链路交换机实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp10df3mxae6lpmku****', - ], - ], - [ - 'name' => 'DtsBisLabel', - 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例的环境标签,取值为:'."\n" - ."\n" - .'- **normal**:**普通**'."\n" - .'- **online**:**线上**', - 'type' => 'string', - 'required' => false, - 'example' => 'normal', - ], - ], - [ - 'name' => 'SrcCaCertificateOssUrl', - 'in' => 'query', - 'schema' => [ - 'description' => '源库通过SSL安全连接时,CA证书的路径。'."\n" - ."\n" - .'> 当前暂不支持此功能,请勿传入此参数。', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], - ], - [ - 'name' => 'SrcCaCertificatePassword', - 'in' => 'query', - 'schema' => [ - 'description' => '源库通过SSL安全连接时,CA证书的密钥。'."\n" - ."\n" - .'> 当前暂不支持此功能,请勿传入此参数。', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], - ], - [ - 'name' => 'DestCaCertificateOssUrl', - 'in' => 'query', - 'schema' => [ - 'description' => '目标库通过SSL安全连接时,CA证书的路径。'."\n" - ."\n" - .'> 当前暂不支持此功能,请勿传入此参数。', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], - ], - [ - 'name' => 'DestCaCertificatePassword', - 'in' => 'query', - 'schema' => [ - 'description' => '目标库通过SSL安全连接时,CA证书的密钥。'."\n" - ."\n" - .'> 当前暂不支持此功能,请勿传入此参数。', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], - ], - [ - 'name' => 'MinDu', - 'in' => 'query', - 'schema' => [ - 'description' => 'DU下限。'."\n" - ."\n" - .'> 仅Serverless实例支持。', - 'type' => 'number', - 'format' => 'double', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'MaxDu', - 'in' => 'query', - 'schema' => [ - 'description' => 'DU上限。'."\n" - ."\n" - .'> 仅Serverless实例支持。', - 'type' => 'number', - 'format' => 'double', - 'required' => false, - 'example' => '16', - ], - ], - [ - 'name' => 'SrcClientCertOssUrl', - 'in' => 'query', - 'schema' => [ - 'description' => '源库通过SSL安全连接时,客户端证书的路径。'."\n" - ."\n" - .'> 当前暂不支持此功能,请勿传入此参数。', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], - ], - [ - 'name' => 'SrcClientKeyOssUrl', - 'in' => 'query', - 'schema' => [ - 'description' => '源库通过SSL安全连接时,客户端证书私钥的路径。'."\n" - ."\n" - .'> 当前暂不支持此功能,请勿传入此参数。', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], - ], - [ - 'name' => 'SrcClientPassword', - 'in' => 'query', - 'schema' => [ - 'description' => '源库通过SSL安全连接时,客户端证书私钥的密码。'."\n" - ."\n" - .'> 当前暂不支持此功能,请勿传入此参数。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], - ], - [ - 'name' => 'DestClientCertOssUrl', - 'in' => 'query', - 'schema' => [ - 'description' => '目标库通过SSL安全连接时,客户端证书的路径。'."\n" - ."\n" - .'> 当前暂不支持此功能,请勿传入此参数。', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], - ], - [ - 'name' => 'DestClientKeyOssUrl', - 'in' => 'query', - 'schema' => [ - 'description' => '目标库通过SSL安全连接时,客户端证书私钥的路径。'."\n" - ."\n" - .'> 当前暂不支持此功能,请勿传入此参数。', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], - ], - [ - 'name' => 'DestClientPassword', - 'in' => 'query', - 'schema' => [ - 'description' => '目标库通过SSL安全连接时,客户端证书私钥的密码。'."\n" - ."\n" - .'> 当前暂不支持此功能,请勿传入此参数。', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], - ], - [ - 'name' => 'SrcPrimaryVswId', - 'in' => 'query', - 'schema' => [ - 'description' => 'VPCNAT源端主交换机。', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], - ], - [ - 'name' => 'SrcSecondaryVswId', - 'in' => 'query', - 'schema' => [ - 'description' => 'VPCNAT源端备交换机。', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], - ], - [ - 'name' => 'DestPrimaryVswId', - 'in' => 'query', - 'schema' => [ - 'description' => 'VPCNAT目标端主交换机。', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], - ], - [ - 'name' => 'DestSecondaryVswId', - 'in' => 'query', - 'schema' => [ - 'description' => 'VPCNAT目标端备交换机。', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], + 'schema' => ['description' => 'DTS任务ID,可以调用[DescribeDtsJobs](~~209702~~)获取。', 'type' => 'string', 'required' => true, 'example' => 'f4612nr2182****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -13249,152 +5426,51 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。'."\n" - ."\n", - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '224DB9F7-3100-4899-AB9C-C938BCCB****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'DtsJobId' => [ - 'description' => '迁移或同步任务ID。', - 'type' => 'string', - 'example' => 'k2gm967v16f****', - ], - 'DtsInstanceId' => [ - 'description' => '迁移或同步实例ID。', - 'type' => 'string', - 'example' => 'dtsk2gm967v16f****', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'AF2DE23-B692-5B85-90B7-44B6F4D8****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DynamicMessage' => ['description' => '校验报告的下载地址。', 'type' => 'string', 'example' => 'https://check-result-file-sh.oss-cn-shanghai.aliyuncs.com/dw612cru18e****/dtsdb/diff/student.diff.zip?Expires=****'], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidParameter.KafkaBrokerInvalid', - 'errorMessage' => 'kafka broker configuration must be intranet IP', - ], - [ - 'errorCode' => 'InvalidParameter.KafkaHostInvalid', - 'errorMessage' => 'kafaka host name should be intranet IP', - ], - [ - 'errorCode' => 'UpdateJob.OperationDenied.InitStatus', - 'errorMessage' => 'The operation is not permitted due to Dts job status is init.', - ], - [ - 'errorCode' => 'GetMongoDbShardInfo.NoShardAddress', - 'errorMessage' => 'MongoDb has not yet opened the shard connection address, please try again after opening.', - ], - [ - 'errorCode' => 'GetMongoDbShardInfo.EmptyInstances', - 'errorMessage' => 'Failed to get MongoDb shard information, the return is empty.', - ], - [ - 'errorCode' => 'CheckJobFailed.ServerUnAvailable', - 'errorMessage' => 'Unable to check whether the node can connect to the database because the node service is unavailable.', - ], - [ - 'errorCode' => 'DbTypeNotSupport.PolarDBRDS', - 'errorMessage' => 'The current rds instance is of type PolarDB, which is not supported for the time being. Only rds instances under drds are supported.', - ], - [ - 'errorCode' => 'DbTypeNotSupport.OnlyReadRDS', - 'errorMessage' => 'Synchronization is not currently supported due to latency issues with read-only DRDS instances.', - ], - [ - 'errorCode' => 'DTS.Msg.InvalidParameter.KafkaBrokerInvalid', - 'errorMessage' => 'kafka broker configuration must be intranet IP', - ], - [ - 'errorCode' => 'DTS.Msg.InvalidParameter.KafkaHostInvalid', - 'errorMessage' => 'kafaka host name should be intranet IP', - ], - [ - 'errorCode' => 'DTS.Msg.UpdateJob.OperationDenied.InitStatus', - 'errorMessage' => 'The operation is not permitted due to Dts job status is init.', - ], - [ - 'errorCode' => 'DTS.Msg.GetMongoDbShardInfo.NoShardAddress', - 'errorMessage' => 'MongoDb has not yet opened the shard connection address, please try again after opening.', - ], - [ - 'errorCode' => 'DTS.Msg.GetMongoDbShardInfo.EmptyInstances', - 'errorMessage' => 'Failed to get MongoDb shard information, the return is empty.', - ], - [ - 'errorCode' => 'DTS.Msg.CheckJobFailed.ServerUnAvailable', - 'errorMessage' => 'Unable to check whether the node can connect to the database because the node service is unavailable.', - ], - [ - 'errorCode' => 'DTS.Msg.DbTypeNotSupport.PolarDBRDS', - 'errorMessage' => 'The current rds instance is of type PolarDB, which is not supported for the time being. Only rds instances under drds are supported.', - ], - [ - 'errorCode' => 'DTS.Msg.DbTypeNotSupport.OnlyReadRDS', - 'errorMessage' => 'Synchronization is not currently supported due to latency issues with read-only DRDS instances.', - ], - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'DTS.Msg.FileExistValidFailError', 'errorMessage' => 'The file has not been generated, please try again later.', 'description' => '文件还未生成,请稍后再试。'], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AF2DE23-B692-5B85-90B7-44B6F4D8****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"https://check-result-file-sh.oss-cn-shanghai.aliyuncs.com/dw612cru18e****/dtsdb/diff/student.diff.zip?Expires=****\\",\\n \\"HttpStatusCode\\": 200\\n}","errorExample":""},{"type":"xml","example":"<DescribeDataCheckReportUrlResponse>\\n <RequestId>7DF6862F-E666-5509-AE36-C5E745A1****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <DynamicMessage>https://check-result-file-sh.oss-cn-shanghai.aliyuncs.com/dw612cru18e****/dtsdb/diff/student.diff.zip?Expires=****</DynamicMessage>\\n <ErrMessage/>\\n <Success>true</Success>\\n <ErrCode/>\\n</DescribeDataCheckReportUrlResponse>","errorExample":""}]', + 'title' => '查询校验报告的下载地址', + 'summary' => '以不一致数据为维度的列表数据的下载连接', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDataCheckReportUrl', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"224DB9F7-3100-4899-AB9C-C938BCCB****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"DtsJobId\\": \\"k2gm967v16f****\\",\\n \\"DtsInstanceId\\": \\"dtsk2gm967v16f****\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ConfigureDtsJobResponse>\\n <DtsJobId>k2gm967v16f****</DtsJobId>\\n <RequestId>224DB9F7-3100-4899-AB9C-C938BCCB****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <DtsInstanceId>dtsk2gm967v16f****</DtsInstanceId>\\n <Success>true</Success>\\n</ConfigureDtsJobResponse>","errorExample":""}]', - 'title' => '配置DTS迁移或同步任务', - 'description' => '- 您可以根据需求在控制台进行相应的预配置,然后预览对应配置的OpenAPI参数信息,以协助您填写请求参数。更多信息,请参见[预览OpenAPI的请求参数](~~2851612~~)。'."\n" - .'- 专属集群的任务仅支持先配置后购买,且不支持跨地域的任务。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'ModifyDtsJob' => [ - 'summary' => '调用ModifyDtsJob接口修改同步任务。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeDataCheckTableDetails' => [ + 'summary' => '以表为维度的列表结果。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -13403,239 +5479,56 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '52289', - 'abilityTreeNodes' => [ - 'FEATUREdtsQYRBZN', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREdtsMQWIQD', 'FEATUREdtsEGTFKE'], ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'DtsInstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => '同步实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsbi6e22ay243****', - ], - ], - [ - 'name' => 'SynchronizationDirection', - 'in' => 'query', - 'schema' => [ - 'description' => '指定同步方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 只有当数据同步实例的同步拓扑为双向同步时,才需要传入本参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], - ], - [ - 'name' => 'ClientToken', + 'name' => 'Status', 'in' => 'query', - 'schema' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。', - 'type' => 'string', - 'required' => false, - 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', - ], + 'schema' => ['description' => '校验结果对应的状态,取值为:'."\n" + .'- **-1**(默认值):所有状态。'."\n" + .'- **6**:存在不一致数据的表。', 'type' => 'string', 'required' => false, 'example' => '-1'], ], [ - 'name' => 'DbList', - 'in' => 'formData', - 'style' => 'json', - 'schema' => [ - 'description' => '修改后的同步对象,格式为JSON串。详细定义,请参见[迁移、同步或订阅对象说明](~~209545~~)。'."\n" - .'- 原DbList会被新传入的DbList覆盖,请确保新传入的DbList数据中包含所有需要同步的对象,否则可能会导致同步对象丢失,请谨慎修改。'."\n" - .'- 建议您提前调用[DescribeDtsJobDetail](~~208925~~)查询当前同步对象,然后根据业务需要输入修改后的同步对象。例如,当前对象为表A、B,现需要新增对象表C,那么您需要在本参数同时传入表A、B、C。'."\n" - .'- DbList最多支持传入1 MB的数据。'."\n" - .'- 若DbList中包含过滤条件,则DbList整体(含过滤条件)的长度最大支持1 MB。'."\n" - .'- 分布式任务(例如源端为PolarDB-X 1.0的迁移或同任务)的DbList会根据物理分表进行拆分并生成多个子任务,子任务的DbList最多支持1 MB的数据。', - 'type' => 'object', - 'required' => false, - 'example' => '{"dtstest":{"name":"dtstest","all":true}}', - ], - ], - [ - 'name' => 'EtlOperatorColumnReference', - 'in' => 'formData', - 'schema' => [ - 'description' => 'T+1业务专用的字段,ETL算子,为业务专用字段。', - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .' "configKeyMap": ['."\n" - .' {'."\n" - .' "moduleCode": "03",'."\n" - .' "etlOperatorColumnReference": "etlOperatorColumnReference",'."\n" - .' "etlOperatorSetting": "etlOperatorSetting"'."\n" - .' },'."\n" - .' {'."\n" - .' "moduleCode": "07",'."\n" - .' "etlOperatorColumnReference": "etlOperatorColumnReference",'."\n" - .' "etlOperatorSetting": "etlOperatorSetting"'."\n" - .' }'."\n" - .' ],'."\n" - .' "amp.increment.replicator.compare.all.columns.enable": false,'."\n" - .' "srcNetType": "VPC",'."\n" - .' "etlOperatorColumnReference": {'."\n" - .' "MODIFY_TIME": ['."\n" - .' {'."\n" - .' "datasynchron.test_timing_user_000": "user_create_date"'."\n" - .' },'."\n" - .' {'."\n" - .' "datasynchron.test_timing_user_001": "user_create_date"'."\n" - .' },'."\n" - .' {'."\n" - .' "datasynchron.test_timing_user_002": "user_create_date"'."\n" - .' },'."\n" - .' {'."\n" - .' "datasynchron.test_timing_user_003": "user_create_date"'."\n" - .' }'."\n" - .' ]'."\n" - .' },'."\n" - .' "destNetType": "VPC",'."\n" - .' "originalSrcDbInst": "sg-sit-db2-primary.mysql.polardb.rds.aliyuncs.com",'."\n" - .' "etlOperatorSetting": "adb_time_travel",'."\n" - .' "sjobUseJobTask": "1",'."\n" - .' "srcVpcNetMappingInst": "172.19.XXX.XXX:4261",'."\n" - .' "destVpcNetMappingInst": "172.19.XXX.XXX:4260",'."\n" - .' "useJobTask": "1"'."\n" - .'}', - ], - ], - [ - 'name' => 'ModifyTypeEnum', - 'in' => 'formData', - 'schema' => [ - 'title' => '修改任务的方式,当为UPDATE_RESERVED时为修改reserve字段,不传默认修改dbList', - 'description' => '指示修改同步任务的方式,不填默认修改同步对象;填写UPDATE_RESERVED为修改预留参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'UPDATE_RESERVED', - ], - ], - [ - 'name' => 'Reserved', - 'in' => 'formData', - 'schema' => [ - 'title' => '新增的reserved字段,新增而不是覆盖', - 'description' => 'DTS预留参数,更新方式为新增而非覆盖,格式为MAP JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。使用方法与Reserve参数类似,详情请参见[Reserve参数说明](~~273111~~)。', - 'type' => 'string', - 'required' => false, - 'example' => '{"definer": false,"syncArchitecture": "oneway","whitelist.dms.online.ddl.enable": false,"destSSL": "0","triggerMode": "manual","sqlparser.dms.original.ddl": true,"whitelist.ghost.online.ddl.enable": false,"privilegeMigration": false,"maxRetryTime": 43200,"srcSSL": "0","autoStartModulesAfterConfig": "none"}', - ], - ], - [ - 'name' => 'FileOssUrl', + 'name' => 'PageSize', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '文件上传后的url', - 'description' => '同步文件的OSS地址。', - 'type' => 'string', - 'required' => false, - 'example' => 'http://db-list-os-file.oss-cn-shanghai.aliyuncs.com/8e42_12185******43989_************', - 'isFileTransferUrl' => true, - ], - ], - [ - 'name' => 'FilterTableName', - 'in' => 'formData', - 'schema' => [ - 'title' => '需要过滤的db.table', - 'description' => '需要过滤的表名。', - 'type' => 'string', - 'required' => false, - 'example' => 'testtable', - ], + 'schema' => ['description' => '每页记录数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '1', 'example' => '10', 'default' => '20'], ], [ - 'name' => 'StructureInitialization', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '是否执行库表结构迁移或初始化,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'example' => '1', 'default' => '0'], ], [ - 'name' => 'DataInitialization', + 'name' => 'CheckType', 'in' => 'query', - 'schema' => [ - 'description' => '是否执行全量数据迁移或全量数据初始化,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '数据校验方式,取值:'."\n" + ."\n" + .'- **1**:全量校验。'."\n" + .'- **2**:增量校验。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1'], ], [ - 'name' => 'DataSynchronization', + 'name' => 'TableName', 'in' => 'query', - 'schema' => [ - 'description' => '是否执行增量数据迁移或同步,取值:'."\n" - ."\n" - .'- **false**:否。'."\n" - .'- **true**:是。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '源数据库中校验的表名。', 'type' => 'string', 'required' => false, 'example' => 'student'], ], [ 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '同步任务的ID,可调用[DescribeDtsJobs](~~209702~~)查询。', - 'type' => 'string', - 'required' => false, - 'example' => 'fpx1149rw7p***', - ], + 'schema' => ['description' => '迁移或同步任务ID,您可以调用[DescribeDtsJobs](~~209702~~)接口查询。', 'type' => 'string', 'required' => true, 'example' => 'xd4e4xb419q****'], ], [ - 'name' => 'ZeroEtlJob', + 'name' => 'SchemaName', 'in' => 'query', - 'schema' => [ - 'description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '源数据库中校验对象的Schema名称。', 'type' => 'string', 'required' => false, 'example' => 'dtstest'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aekz4us4iruleja'], ], ], 'responses' => [ @@ -13643,95 +5536,86 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '1D6ECADF-C5E9-4C96-8811-77602B31****', - ], - 'DtsJobId' => [ - 'description' => 'DTS任务ID。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'bi6e22a****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n" - ."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回的错误信息。'."\n" - .'> 该参数的数据类型应为String,实际示例值为**The request processing has failed due to some unknown error**.', - 'type' => 'boolean', - 'example' => 'true', + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**Type**,则代表所传入的请求参数**Type**不合法。', 'type' => 'string', 'example' => 'Type'], + 'PageNumber' => ['description' => '页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], + 'TableDetails' => [ + 'description' => '数据表校验的结果详情。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '校验结果对应的状态,返回值为:'."\n" + ."\n" + .'- **0**:已完成。'."\n" + .'- **2**:初始化中。'."\n" + .'- **3**:运行中。'."\n" + .'- **5**:失败。', 'type' => 'string', 'example' => '0'], + 'Id' => ['description' => '用于标识一条校验结果数据的自增主键。', 'type' => 'integer', 'format' => 'int64', 'example' => '167401241974****'], + 'SourceDbName' => ['description' => '源端数据库名称。', 'type' => 'string', 'example' => 'testdb'], + 'TargetDbName' => ['description' => '目标端数据库名称。', 'type' => 'string', 'example' => 'testdb'], + 'SourceTbName' => ['description' => '源端表名称。', 'type' => 'string', 'example' => 'student'], + 'TargetTbName' => ['description' => '目标端表名称。', 'type' => 'string', 'example' => 'person'], + 'TotalCount' => ['description' => '校验数据的总行数。', 'type' => 'integer', 'format' => 'int64', 'example' => '8'], + 'FinishCount' => ['description' => '表中已完成校验的数据行数。', 'type' => 'integer', 'format' => 'int64', 'example' => '7'], + 'DiffCount' => ['description' => '数据不一致的行数。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'BootTime' => ['description' => '进行校验的时间。', 'type' => 'string', 'example' => '2023-01-18 11:26:59'], + 'ErrorCode' => ['description' => '任务运行出错时,返回报错信息的错误编码。'."\n" + ."\n" + .'- **1**:无主键表的数量超过限制。'."\n" + .'- **2**:差异数据超过300行。'."\n" + .'- **3**:待查询的表不存在。'."\n" + .'- **4**:查询数据的SQL语法错误。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + ], + 'description' => '', + ], ], + 'TotalCount' => ['description' => '校验的表的总数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'FinishedCount' => ['description' => '累计已完成校验的数据行数。', 'type' => 'integer', 'format' => 'int64', 'example' => '7'], + 'DiffTableCount' => ['description' => '数据不一致表的数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'FailedTableCount' => ['description' => '校验失败的表的数量', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'OperationDenied.JobStatusModifying', - 'errorMessage' => 'jobs state is modifying, please wait sync subtask ends', - ], - [ - 'errorCode' => 'CheckStatus.InvalidInitStatus', - 'errorMessage' => 'Task has not been configured, please configure job first', - ], - [ - 'errorCode' => 'DTS.Msg.OperationDenied.JobStatusModifying', - 'errorMessage' => 'jobs state is modifying, please wait sync subtask ends', - ], - [ - 'errorCode' => 'DTS.Msg.CheckStatus.InvalidInitStatus', - 'errorMessage' => 'Task has not been configured, please configure job first', - ], - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"PageNumber\\": 2,\\n \\"DynamicCode\\": \\"403\\",\\n \\"TableDetails\\": [\\n {\\n \\"Status\\": \\"0\\",\\n \\"Id\\": 0,\\n \\"SourceDbName\\": \\"testdb\\",\\n \\"TargetDbName\\": \\"testdb\\",\\n \\"SourceTbName\\": \\"student\\",\\n \\"TargetTbName\\": \\"person\\",\\n \\"TotalCount\\": 8,\\n \\"FinishCount\\": 7,\\n \\"DiffCount\\": 1,\\n \\"BootTime\\": \\"2023-01-18 11:26:59\\",\\n \\"ErrorCode\\": 1\\n }\\n ],\\n \\"TotalCount\\": 1,\\n \\"FinishedCount\\": 7,\\n \\"DiffTableCount\\": 1,\\n \\"FailedTableCount\\": 1\\n}","errorExample":""},{"type":"xml","example":"<DescribeDataCheckTableDetailsResponse>\\n <DiffTableCount>1</DiffTableCount>\\n <TableDetails>\\n <Status>0</Status>\\n <SourceTbName>student</SourceTbName>\\n <TotalCount>8</TotalCount>\\n <TargetTbName>person</TargetTbName>\\n <TargetDbName>testdb</TargetDbName>\\n <FinishCount>7</FinishCount>\\n <BootTime>2023-04-23 18:35:05</BootTime>\\n <Id>1682246105030001</Id>\\n <SourceDbName>testdb</SourceDbName>\\n <DiffCount>1</DiffCount>\\n </TableDetails>\\n <TotalCount>1</TotalCount>\\n <RequestId>B8BCB980-CDC2-5628-A6F0-AB1910AA****</RequestId>\\n <PageNumber>1</PageNumber>\\n <FinishedCount>7</FinishedCount>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</DescribeDataCheckTableDetailsResponse>","errorExample":""}]', + 'title' => '校验任务校验结果', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDataCheckTableDetails', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"200\\",\\n \\"RequestId\\": \\"1D6ECADF-C5E9-4C96-8811-77602B31****\\",\\n \\"DtsJobId\\": \\"bi6e22a****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": true\\n}","errorExample":""},{"type":"xml","example":"<ModifyDtsJobResponse>\\n <DtsJobId>bi6e22a****</DtsJobId>\\n <RequestId>1D6ECADF-C5E9-4C96-8811-77602B31****</RequestId>\\n <Success>true</Success>\\n</ModifyDtsJobResponse>","errorExample":""}]', - 'title' => '修改DTS同步任务', - 'description' => '> 您可以根据需求在控制台进行相应的预配置,然后预览对应配置的OpenAPI参数信息,以协助您填写请求参数。更多信息,请参见[预览OpenAPI的请求参数](~~2851612~~)。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'ModifyDtsJobName' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeDataCheckTableDiffDetails' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -13739,67 +5623,45 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '52290', - 'abilityTreeNodes' => [ - 'FEATUREdtsJ32CAF', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'DtsJobId', + 'name' => 'CheckType', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅任务ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'l3m1213ye7l****', - ], + 'schema' => ['description' => '数据校验方式,取值:'."\n" + ."\n" + .'- **1**:全量校验。'."\n" + .'- **2**:增量校验。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '2'], ], [ - 'name' => 'DtsJobName', + 'name' => 'DbName', 'in' => 'query', - 'schema' => [ - 'description' => '修改后的任务名称。'."\n" - .'> 建议配置具有业务意义的名称(无唯一性要求),便于后续识别。', - 'type' => 'string', - 'required' => true, - 'example' => 'RDS间迁移', - ], + 'schema' => ['description' => '存在不一致数据的表所在的数据库的名称。', 'type' => 'string', 'required' => true, 'example' => 'db_dtstest'], ], [ - 'name' => 'RegionId', + 'name' => 'TbName', 'in' => 'query', - 'schema' => [ - 'description' => '任务所属地域ID,请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => '存在不一致数据的表名。', 'type' => 'string', 'required' => true, 'example' => 'test_person'], ], [ - 'name' => 'ZeroEtlJob', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '每页记录数。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['title' => '是否返回所有的同步子任务', 'description' => '页码,取值为大于0且不超过Integer数据类型的最大值,默认值为1。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'DtsJobId', + 'in' => 'query', + 'schema' => ['description' => '迁移或同步任务ID,您可以调用[DescribeDtsJobs](~~209702~~)接口查询。', 'type' => 'string', 'required' => true, 'example' => 'xd4e4xb419q****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekzfkjjb5gyy6i', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -13807,201 +5669,97 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '8C498360-7892-433C-847A-BA71A850****', - ], - 'ErrCode' => [ - 'description' => '调用错误时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'Code' => [ - 'description' => '错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '200', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****'], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InvalidParameter'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The value of the parameter tbName is invalid.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**Type**,则代表所传入的请求参数**Type**不合法。', 'type' => 'string', 'example' => 'Type'], + 'TbName' => ['description' => '源库中存在不一致数据的表名。', 'type' => 'string', 'example' => 'test_person'], + 'DbName' => ['description' => '源库中存在不一致数据的表所在的数据库名称。', 'type' => 'string', 'example' => 'db_dtstest'], + 'DiffDetails' => [ + 'description' => '不一致信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => '用于标识一条校验结果数据的自增主键。', 'type' => 'integer', 'format' => 'int64', 'example' => '13058****'], + 'GmtCreated' => ['description' => '执行校验的时间。', 'type' => 'string', 'example' => '2023-04-23T10:36:05.000+00:00'], + 'Diff' => ['description' => '具体不一致信息,是一个JSON字符串。'."\n" + ."\n" + .'- column:字段名称。'."\n" + .'- source:源库中的值。'."\n" + .'- dest:目标库中的值。'."\n" + .'- isPrimary:字段是否是主键。', 'type' => 'string', 'example' => '[ { "column": "id", "source": "9511", "dest": "9511", "isPrimary": true }, { "column": "state", "source": "3", "dest": "2", "isPrimary": false }, { "column": "create_time", "source": "2023-04-11 14:07:17.0", "dest": "NULL", "isPrimary": false }, { "column": "update_time", "source": "2023-04-11 06:07:17.0", "dest": "2023-04-11 06:02:29.0", "isPrimary": false } ]'], + ], + 'description' => '', + ], ], + 'DiffCount' => ['description' => '数据不一致的行数。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'InstanceId' => ['description' => '实例ID。', 'type' => 'string', 'example' => 'dtsog8q1z3tc9t****"'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"HttpStatusCode\\": 200,\\n \\"ErrCode\\": \\"InvalidParameter\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The value of the parameter tbName is invalid.\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"TbName\\": \\"test_person\\",\\n \\"DbName\\": \\"db_dtstest\\",\\n \\"DiffDetails\\": [\\n {\\n \\"Id\\": 0,\\n \\"GmtCreated\\": \\"2023-04-23T10:36:05.000+00:00\\",\\n \\"Diff\\": \\"[ { \\\\\\"column\\\\\\": \\\\\\"id\\\\\\", \\\\\\"source\\\\\\": \\\\\\"9511\\\\\\", \\\\\\"dest\\\\\\": \\\\\\"9511\\\\\\", \\\\\\"isPrimary\\\\\\": true }, { \\\\\\"column\\\\\\": \\\\\\"state\\\\\\", \\\\\\"source\\\\\\": \\\\\\"3\\\\\\", \\\\\\"dest\\\\\\": \\\\\\"2\\\\\\", \\\\\\"isPrimary\\\\\\": false }, { \\\\\\"column\\\\\\": \\\\\\"create_time\\\\\\", \\\\\\"source\\\\\\": \\\\\\"2023-04-11 14:07:17.0\\\\\\", \\\\\\"dest\\\\\\": \\\\\\"NULL\\\\\\", \\\\\\"isPrimary\\\\\\": false }, { \\\\\\"column\\\\\\": \\\\\\"update_time\\\\\\", \\\\\\"source\\\\\\": \\\\\\"2023-04-11 06:07:17.0\\\\\\", \\\\\\"dest\\\\\\": \\\\\\"2023-04-11 06:02:29.0\\\\\\", \\\\\\"isPrimary\\\\\\": false } ]\\"\\n }\\n ],\\n \\"DiffCount\\": 1,\\n \\"InstanceId\\": \\"dtsog8q1z3tc9t****\\\\\\"\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeDataCheckTableDiffDetailsResponse>\\n <DiffDetails>\\n <Diff>[{\\"column\\":\\"s_id\\",\\"source\\":null,\\"dest\\":\\"9\\",\\"isPrimary\\":true}]</Diff>\\n <Id>130581999</Id>\\n <GmtCreated>2023-04-23T10:36:05.000+00:00</GmtCreated>\\n </DiffDetails>\\n <RequestId>EE2EB5DA-1162-5FE6-AA61-DAED5E38****</RequestId>\\n <InstanceId>dtsnabt4g2r19q****</InstanceId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <TbName>test_person</TbName>\\n <DbName>db_dtstest</DbName>\\n <DiffCount>1</DiffCount>\\n <Success>true</Success>\\n</DescribeDataCheckTableDiffDetailsResponse>","errorExample":""}]', + 'title' => '校验任务校验结果', + 'summary' => '以不一致数据为维度的列表结果', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDataCheckTableDiffDetails', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"8C498360-7892-433C-847A-BA71A850****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDtsJobNameResponse>\\n <RequestId>8C498360-7892-433C-847A-BA71A850****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</ModifyDtsJobNameResponse>","errorExample":""}]', - 'title' => '修改DTS任务名称', - 'summary' => '调用ModifyDtsJobName修改DTS任务名称。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'ModifyDtsJobPassword' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeDedicatedCluster' => [ + 'summary' => '调用DescribeDedicatedCluster接口获得集群的详细信息。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '52291', - 'abilityTreeNodes' => [ - 'FEATUREdtsJ32CAF', - ], - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ - 'name' => 'DtsJobId', - 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅任务ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'l3m1213ye7l****', - ], - ], - [ - 'name' => 'UserName', - 'in' => 'query', - 'schema' => [ - 'description' => '待修改数据库的账号名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstest', - ], - ], - [ - 'name' => 'Password', + 'name' => 'DedicatedClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '修改后的账号密码。'."\n" - .'> 本参数应为必填参数,且不能与当前密码一致。', - 'type' => 'string', - 'required' => false, - 'example' => 'Test123456', - ], - ], - [ - 'name' => 'Endpoint', - 'in' => 'query', - 'schema' => [ - 'description' => '待修改的账号密码所属的数据库,取值:'."\n" - ."\n" - .'- **src**:源库。'."\n" - .'- **dest**:目标库。'."\n" - ."\n" - .'> 本参数为必填参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'src', - ], + 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => true, 'example' => 'dtsCluster****'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '实例所属的地域,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ZeroEtlJob', - 'in' => 'query', - 'schema' => [ - 'description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'DtsInstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsl3m1213ye7l****', - ], - ], - [ - 'name' => 'SynchronizationDirection', - 'in' => 'query', - 'schema' => [ - 'description' => '指定同步方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 只有当数据同步实例的同步拓扑为双向同步时,才需要传入本参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => '实例所在地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -14009,151 +5767,101 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '8C498360-7892-433C-847A-BA71A850****', - ], - 'ErrCode' => [ - 'description' => '调用错误时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'Code' => [ - 'description' => '错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '200', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DedicatedClusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => 'dtsCluster****'], + 'DedicatedClusterName' => ['description' => '集群名称。', 'type' => 'string', 'example' => 'daily_test'], + 'Du' => ['description' => 'DU数。', 'type' => 'integer', 'format' => 'int64', 'example' => '30'], + 'OversoldDu' => ['description' => '超配DU的数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '60'], + 'UsedDu' => ['description' => '已使用DU数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '5'], + 'State' => ['description' => '集群状态,取值为:'."\n" + ."\n" + .'- **init**:初始化。'."\n" + .'- **schedule**:待调度。'."\n" + .'- **running**:运行中。'."\n" + .'- **upgrade**:升级中。'."\n" + .'- **downgrade**,:降级中。'."\n" + .'- **locked**:已锁定。'."\n" + .'- **releasing**:释放中。'."\n" + .'- **released**:已经释放。', 'type' => 'string', 'example' => 'inti'], + 'RegionId' => ['description' => '实例所在区域。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'NodeCount' => ['description' => '集群节点数。', 'type' => 'integer', 'format' => 'int64', 'example' => '5'], + 'DuUtilization' => ['description' => 'DU使用百分比。', 'type' => 'integer', 'format' => 'int64', 'example' => '16'], + 'CpuUtilization' => ['description' => 'CPU使用百分比。', 'type' => 'integer', 'format' => 'int64', 'example' => '30'], + 'TotalCpuCore' => ['description' => 'CPU总核数。', 'type' => 'integer', 'format' => 'int64', 'example' => '100'], + 'UsedCpuCore' => ['description' => '已使用CPU核数。', 'type' => 'integer', 'format' => 'int64', 'example' => '30'], + 'MemUtilization' => ['description' => 'CPU使用量。', 'type' => 'integer', 'format' => 'int64', 'example' => '20'], + 'TotalMemGBSize' => ['description' => '内存总大小(GB)。', 'type' => 'integer', 'format' => 'int64', 'example' => '256'], + 'UsedMemGBSize' => ['description' => '已使用内存大小(GB)。', 'type' => 'integer', 'format' => 'int64', 'example' => '128'], + 'DiskUtilization' => ['description' => '磁盘使用量。', 'type' => 'integer', 'format' => 'int64', 'example' => '50'], + 'TotalDiskGBSize' => ['description' => '磁盘总大小(GB)。', 'type' => 'integer', 'format' => 'int64', 'example' => '2048'], + 'UsedDiskGBSize' => ['description' => '已使用磁盘大小(GB)。', 'type' => 'integer', 'format' => 'int64', 'example' => '1024'], + 'GmtCreated' => ['description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1642476144000'], + 'GmtFinished' => ['description' => '结束时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1645200000000'], + 'DtsInstanceID' => ['description' => '实例ID。', 'type' => 'string', 'example' => 'dtsb8r****'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DedicatedClusterId\\": \\"dtsCluster****\\",\\n \\"DedicatedClusterName\\": \\"daily_test\\",\\n \\"Du\\": 30,\\n \\"OversoldDu\\": 60,\\n \\"UsedDu\\": 5,\\n \\"State\\": \\"inti\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"NodeCount\\": 5,\\n \\"DuUtilization\\": 16,\\n \\"CpuUtilization\\": 30,\\n \\"TotalCpuCore\\": 100,\\n \\"UsedCpuCore\\": 30,\\n \\"MemUtilization\\": 20,\\n \\"TotalMemGBSize\\": 256,\\n \\"UsedMemGBSize\\": 128,\\n \\"DiskUtilization\\": 50,\\n \\"TotalDiskGBSize\\": 2048,\\n \\"UsedDiskGBSize\\": 1024,\\n \\"GmtCreated\\": 1642476144000,\\n \\"GmtFinished\\": 1645200000000,\\n \\"DtsInstanceID\\": \\"dtsb8r****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeDedicatedClusterResponse>\\n <code>200</code>\\n <data>\\n <UsedDu>14</UsedDu>\\n <DuUtilization>46</DuUtilization>\\n <UsedDiskGBSize>51</UsedDiskGBSize>\\n <RequestId>1D1C3EFB-3338-143F-***</RequestId>\\n <DedicatedClusterId>dtscluster_w4iv***</DedicatedClusterId>\\n <NodeCount>2</NodeCount>\\n <OversoldDu>30</OversoldDu>\\n <TotalDiskGBSize>1006</TotalDiskGBSize>\\n <DiskUtilization>6</DiskUtilization>\\n <GmtFinished>1645200000000</GmtFinished>\\n <UsedMemGBSize>63</UsedMemGBSize>\\n <GmtCreated>1642476144000</GmtCreated>\\n <DedicatedClusterName>dtscluster_w4iv***</DedicatedClusterName>\\n <DtsInstanceID>dtsb84w***</DtsInstanceID>\\n <Success>true</Success>\\n <TotalMemGBSize>259</TotalMemGBSize>\\n <MemUtilization>24</MemUtilization>\\n <Du>30</Du>\\n <State>running</State>\\n <HttpStatusCode>200</HttpStatusCode>\\n <UsedCpuCore>64</UsedCpuCore>\\n <TotalCpuCore>32</TotalCpuCore>\\n <RegionId>cn-hangzhou</RegionId>\\n <CpuUtilization>2</CpuUtilization>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>1D1C3EFB-3338-143F-8CF2-***</requestId>\\n <successResponse>true</successResponse>\\n</DescribeDedicatedClusterResponse>","errorExample":""}]', + 'title' => '查询指定集群详细信息', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'dts:DescribeDedicatedCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"8C498360-7892-433C-847A-BA71A850****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\"\\n}","type":"json"}]', - 'title' => '修改作业密码', - 'summary' => '新版修改作业密码。', ], - 'ResetDtsJob' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeDedicatedClusterMonitorRule' => [ + 'summary' => '调用DescribeDedicatedClusterMonitorRule接口查询报警规则。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'DtsJobId', - 'in' => 'query', - 'schema' => [ - 'description' => '同步或订阅任务ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'l3m1213ye7l****', - ], - ], - [ - 'name' => 'DtsInstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => '同步或订阅实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsl3m1213ye7l****', - ], - ], - [ - 'name' => 'SynchronizationDirection', + 'name' => 'DedicatedClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '同步方向,取值:'."\n" - ."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 当数据同步实例的拓扑为双向时,才可以传入**Reverse**以重置反向同步链路。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => false, 'example' => 'dtsClustervcwn1oeyu5fx4yf'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '实例所在地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekzn4iqlbsm7hy', - ], + 'schema' => ['description' => '资源组ID,全局参数,当前API无需传入。', 'type' => 'string', 'required' => false, 'example' => '资源组ID,全局参数,当前API无需传入。'], ], ], 'responses' => [ @@ -14161,84 +5869,58 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '01B6F25-21E7-4484-99D5-3EF2625C****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DedicatedClusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => 'dtsClustervcwn1oeyu5fx4yf'], + 'NoticeSwitch' => ['description' => '报警开关,取值为:'."\n" + ."\n" + .'- **1**:打开。'."\n" + .'- **0**:关闭。', 'type' => 'string', 'example' => '1'], + 'DuAlarmThreshold' => ['description' => 'DU报警阈值,单位百分比。', 'type' => 'string', 'example' => '46'], + 'CpuAlarmThreshold' => ['description' => 'CPU报警阈值,单位百分比。', 'type' => 'string', 'example' => '80'], + 'MemAlarmThreshold' => ['description' => '内存报警阈值,单位百分比。', 'type' => 'string', 'example' => '80'], + 'DiskAlarmThreshold' => ['description' => '磁盘报警阈值,单位百分比。', 'type' => 'string', 'example' => '80'], + 'Phones' => ['description' => '报警接收电话。如果有多个,用逗号(,)隔开。', 'type' => 'string', 'example' => '186****7653'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DedicatedClusterId\\": \\"dtsClustervcwn1oeyu5fx4yf\\",\\n \\"NoticeSwitch\\": \\"1\\",\\n \\"DuAlarmThreshold\\": \\"46\\",\\n \\"CpuAlarmThreshold\\": \\"80\\",\\n \\"MemAlarmThreshold\\": \\"80\\",\\n \\"DiskAlarmThreshold\\": \\"80\\",\\n \\"Phones\\": \\"186****7653\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeDedicatedClusterMonitorRuleResponse>\\n <code>200</code>\\n <data>\\n <NoticeSwitch>0</NoticeSwitch>\\n <RequestId>F3284539-46AC-1BC3-A2A6-****</RequestId>\\n <DedicatedClusterId>dtscluster_w4****</DedicatedClusterId>\\n <Phones>159****2120</Phones>\\n <DuAlarmThreshold>100</DuAlarmThreshold>\\n <CpuAlarmThreshold>85</CpuAlarmThreshold>\\n <MemAlarmThreshold>99</MemAlarmThreshold>\\n <DiskAlarmThreshold>99</DiskAlarmThreshold>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>F3284539-46AC-1BC3-A2A6-****</requestId>\\n <successResponse>true</successResponse>\\n</DescribeDedicatedClusterMonitorRuleResponse>","errorExample":""}]', + 'title' => '查询报警规则', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDedicatedClusterMonitorRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#AccountId}:instance/{#DtsInstanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"01B6F25-21E7-4484-99D5-3EF2625C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<ResetDtsJobResponse>\\n <RequestId>01B6F25-21E7-4484-99D5-3EF2625C****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</ResetDtsJobResponse>","errorExample":""}]', - 'title' => '重置DTS任务', - 'summary' => '调用ResetDtsJob重置一个数据同步或订阅任务。', - 'description' => '> 清空数据同步或订阅任务配置后,原先的任务就会被删除,DTS将重新创建一个未配置的任务,您需要调用接口[ConfigureDtsJob](~~208399~~)重新配置该任务。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'StartDtsJob' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeDocParserJobResult' => [ + 'summary' => '获取文档解析任务的结果。', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -14247,80 +5929,34 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', 'abilityTreeCode' => '52309', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], + 'abilityTreeNodes' => ['FEATUREdtsE4ZR2L'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅任务ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'l3m1213ye7l****', - ], - ], - [ - 'name' => 'DtsInstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅实例ID。'."\n" - .'> 可以通过调用[查询迁移实例列表及各实例详情](~~208139~~)、[查询数据订阅实例列表及各实例详情](~~49442~~) 、[查询数据同步实例列表及各实例详情](~~49454~~)进行查询。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsl3m1213ye7l****', - ], - ], - [ - 'name' => 'SynchronizationDirection', - 'in' => 'query', - 'schema' => [ - 'description' => '同步方向,取值:'."\n" - .'- **Forward**:正向,默认值。'."\n" - .'- **Reverse**:反向。'."\n" - .'> 当数据同步实例的拓扑类型为双向时,才可以传入**Reverse**以启动反向同步链路。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => '创建文档解析任务时返回的任务ID(DtsJobId)。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'dts-20250729-y0zz3t13h7d****'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '任务所属的地域ID,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ZeroEtlJob', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" - ."\n" - .'- **false**:否。'."\n" - .'- **true**:是。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'RagInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek2ilvoxlrdcby', - ], + 'schema' => ['description' => '用户的DTS RagFlow的实例ID', 'type' => 'string', 'required' => false, 'example' => 'dtsgbe12he619iy801'], ], ], 'responses' => [ @@ -14328,87 +5964,73 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '601B6F25-21E7-4484-99D5-3EF2625C****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。'."\n", - 'type' => 'string', - 'example' => 'DtsJobId', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'C166D79D-436B-45F0-B5A5-25E1959F****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'DtsJobId'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], + 'FileUrl' => ['description' => '文件的OSS下载地址。'."\n" + ."\n" + .'> 如果是zip类型的任务,该字段会返回zip包的下载地址,地址有效期为30分钟。', 'type' => 'string', 'example' => 'https://oss-cn-hangzhou.aliyuncs.com/806a_209584525031252870_078f1180f27b4c069c0f271758aa****'], + 'OuterFileUrl' => ['description' => '文件的 公网OSS 下载地址。', 'type' => 'string', 'example' => 'https://oss-cn-hangzhou.aliyuncs.com/806a_209584525031252870_078f1180f27b4c069c0f271758aa****'], + 'ContentList' => [ + 'description' => '完整的文本解析内容。'."\n" + .'> 如果是content类型的任务,ContentList中会将原始文档按页拆分,每一页会有一个单独的Markdown文本信息。', + 'type' => 'array', + 'items' => [ + 'description' => '每个object中有页码和每个页码内容解析后的Markdown文本。', + 'type' => 'object', + 'properties' => [ + 'PageNumber' => ['description' => '页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Content' => ['description' => '对应页码的文本内容,解析之后的完整Markdown文本。', 'type' => 'string', 'example' => '* Demo * ** Demo title **'], + ], + ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'OperationDenied.NotPurchased', - 'errorMessage' => 'The instance has not been purchased and the task cannot be started.', - ], - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'OperationDenied.NotPurchased', 'errorMessage' => 'The instance has not been purchased and the task cannot be started.', 'description' => '任务尚未购买,无法启动。'], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"C166D79D-436B-45F0-B5A5-25E1959F****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"FileUrl\\": \\"https://oss-cn-hangzhou.aliyuncs.com/806a_209584525031252870_078f1180f27b4c069c0f271758aa****\\",\\n \\"OuterFileUrl\\": \\"https://oss-cn-hangzhou.aliyuncs.com/806a_209584525031252870_078f1180f27b4c069c0f271758aa****\\",\\n \\"ContentList\\": [\\n {\\n \\"PageNumber\\": 1,\\n \\"Content\\": \\"* Demo * ** Demo title **\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => '获取文档解析任务的结果', + 'description' => '此接口对调用次数有限制,超过限制后的调用会被拒绝。'."\n" + .'- 单个地域累计允许调用的阈值为100 次/秒。'."\n" + .'- 单个地域允许单个账号调用的阈值为5 次/秒。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDocParserJobResult', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"601B6F25-21E7-4484-99D5-3EF2625C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<StartDtsJobResponse>\\n <RequestId>2D3B4615-923F-49AA-AF21-6D8E3967****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</StartDtsJobResponse>","errorExample":""}]', - 'title' => '启动DTS实例', - 'summary' => '调用StartDtsJob接口启动一个迁移、同步或订阅任务。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'StopDtsJob' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeDocParserJobStatus' => [ + 'summary' => '查询文档解析任务的执行状态。', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -14417,82 +6039,34 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '52314', - 'abilityTreeNodes' => [ - 'FEATUREdtsQYRBZN', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '52309', + 'abilityTreeNodes' => ['FEATUREdtsE4ZR2L'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅任务ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'l3m1213ye7l****', - ], - ], - [ - 'name' => 'DtsInstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsl3m1213ye7l****', - ], - ], - [ - 'name' => 'SynchronizationDirection', - 'in' => 'query', - 'schema' => [ - 'description' => '同步方向,取值:'."\n" - ."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 当数据同步实例的拓扑为双向时,才可以传入**Reverse**以结束反向同步链路。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => '创建文档解析任务时返回的任务ID(DtsJobId)。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'dts-20250729-l3m1213ye7l****'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '任务所属的地域ID,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ZeroEtlJob', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" - ."\n" - .'- **false**:否。'."\n" - .'- **true**:是。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'RagInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfm2jr35xnjh7i', - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => ''], ], ], 'responses' => [ @@ -14500,169 +6074,100 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '01B6F25-21E7-4484-99D5-3EF2625C****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'FDC111B1-ACBF-457D-9656-247FDEE9****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'DtsJobId'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], + 'Status' => ['description' => 'DTS文档解析任务状态,取值:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Running**:文档解析中。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Failed**:文档解析失败。'."\n" + .'- **Finished**:文档解析完成。', 'type' => 'string', 'example' => 'Finished'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'OperationDenied.NotPurchased', 'errorMessage' => 'The instance has not been purchased and the task cannot be started.', 'description' => '任务尚未购买,无法启动。'], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"FDC111B1-ACBF-457D-9656-247FDEE9****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"Status\\": \\"Finished\\"\\n}","type":"json"}]', + 'title' => '查询文档解析任务的状态', + 'description' => '此接口对调用次数有限制,超过限制后的调用会被拒绝。'."\n" + .'- 单个地域累计允许调用的阈值为200 次/秒。'."\n" + .'- 单个地域允许单个账号调用的阈值为20 次/秒。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDocParserJobStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"01B6F25-21E7-4484-99D5-3EF2625C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<StopDtsJobResponse>\\r\\n <RequestId>01B6F25-21E7-4484-99D5-3EF2625C****</RequestId>\\r\\n <HttpStatusCode>200</HttpStatusCode>\\r\\n <Success>true</Success>\\r\\n</StopDtsJobResponse>","errorExample":""}]', - 'title' => '结束DTS任务', - 'summary' => '调用StopDtsJob结束一个数据迁移、同步或订阅任务。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'SuspendDtsJob' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeDtsEtlJobVersionInfo' => [ + 'summary' => '查看ETL任务详情。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '52318', - 'abilityTreeNodes' => [ - 'FEATUREdtsQYRBZN', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'DtsJobId', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅任务ID。'."\n" - ."\n" - .'> 可调用[DescribeDtsJobs](~~209702~~)接口获取任务ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'l3m1213ye7l****', - ], + 'schema' => ['description' => '分页查询时设置的每页行数,默认为20。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '0', 'example' => '20', 'default' => '10'], ], [ - 'name' => 'DtsInstanceId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsl3m1213ye7l****', - ], + 'schema' => ['description' => '当前实例状态列表的页码,默认为1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '0', 'example' => '1', 'default' => '0'], ], [ - 'name' => 'SynchronizationDirection', + 'name' => 'DtsInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '同步方向,取值:'."\n" - ."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 当数据同步实例的拓扑为双向时,才可以传入**Reverse**以暂停反向同步链路。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => 'DTS实例ID,您可以调用[DescribeDtsJobs](~~209702~~)接口查询实例ID。', 'type' => 'string', 'required' => true, 'example' => 'dtsggk12iwya1a****'], ], [ - 'name' => 'RegionId', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'ETL任务ID,您可以调用[DescribeDtsJobs](~~209702~~)接口查询任务ID。', 'type' => 'string', 'required' => false, 'example' => 'l5512es7w15****'], ], [ - 'name' => 'ZeroEtlJob', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" - ."\n" - .'- **false**:否。'."\n" - .'- **true**:是。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'DTS实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)接口查询阿里云地域列表。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -14670,85 +6175,77 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '01B6F25-21E7-4484-99D5-3EF2625C****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '224DB9F7-3100-4899-AB9C-C938BCCB43E7'], + 'Success' => ['description' => '请求是否成功,如果失败则返回false。', 'type' => 'boolean', 'example' => 'true'], + 'ErrCode' => ['description' => '传入的ETL任务ID错误,找不到对应的任务。', 'type' => 'string', 'example' => 'InvalidJobId'], + 'PageNumber' => ['description' => '当前实例状态列表的页码,默认为1。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageRecordCount' => ['description' => '当前分页的记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'TotalRecordCount' => ['description' => '记录的总行数。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'ErrMessage' => ['description' => '传入的ETL任务ID错误,找不到对应的任务(任务可能已删除)。', 'type' => 'string', 'example' => 'The specified dts job id %s is not exists.'], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], + 'DynamicCode' => ['description' => '与本次请求相关的动态错误码。', 'type' => 'string', 'example' => '403'], + 'DynamicMessage' => ['description' => '与本次请求相关的动态错误信息。', 'type' => 'string', 'example' => 'present environment is not support,so skip'], + 'DtsEtlJobVersionInfos' => [ + 'description' => '返回ETL任务信息对象数组。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '日志等级,有ERROR、WARN、INFO、DEBUG4种等级。', 'type' => 'string', 'example' => 'INFO'], + 'DtsJobName' => ['description' => 'ETL任务名称。', 'type' => 'string', 'example' => 'test_sql'], + 'DtsJobId' => ['description' => 'ETL任务ID。', 'type' => 'string', 'example' => 'l5512es7w15****'], + 'Version' => ['description' => 'ETL任务版本号。', 'type' => 'integer', 'format' => 'int32', 'example' => '9'], + 'DtsInstanceId' => ['description' => 'DTS实例ID。', 'type' => 'string', 'example' => 'dtsg******gd'], + 'CreateTime' => ['description' => '创建ETL任务的时间戳。'."\n", 'type' => 'string', 'example' => '1637229315000'], + 'SafeCheckpoint' => ['description' => '安全检查点,即ETL任务的当前位点。', 'type' => 'string', 'example' => '1637230117000'], + 'Creator' => ['description' => '创建者ID。', 'type' => 'string', 'example' => '10000000'], + 'ModifyTime' => ['description' => '修改时间戳。', 'type' => 'string', 'example' => '1637230117000'], + 'CreatorName' => ['description' => '创建者用户名。', 'type' => 'string', 'example' => '***@****.com'], + ], + 'description' => '', + ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"01B6F25-21E7-4484-99D5-3EF2625C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<SuspendDtsJobResponse>\\r\\n <RequestId>01B6F25-21E7-4484-99D5-3EF2625C****</RequestId>\\r\\n <HttpStatusCode>200</HttpStatusCode>\\r\\n <Success>true</Success>\\r\\n</SuspendDtsJobResponse>","errorExample":""}]', - 'title' => '暂停DTS任务', - 'summary' => '调用SuspendDtsJob暂停一个数据迁移、同步或订阅任务。', - 'description' => '****', + 'staticInfo' => [], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"224DB9F7-3100-4899-AB9C-C938BCCB43E7\\",\\n \\"Success\\": true,\\n \\"ErrCode\\": \\"InvalidJobId\\",\\n \\"PageNumber\\": 1,\\n \\"PageRecordCount\\": 20,\\n \\"TotalRecordCount\\": 200,\\n \\"ErrMessage\\": \\"The specified dts job id %s is not exists.\\",\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip\\",\\n \\"DtsEtlJobVersionInfos\\": [\\n {\\n \\"Status\\": \\"INFO\\",\\n \\"DtsJobName\\": \\"test_sql\\",\\n \\"DtsJobId\\": \\"l5512es7w15****\\",\\n \\"Version\\": 9,\\n \\"DtsInstanceId\\": \\"dtsg******gd\\",\\n \\"CreateTime\\": \\"1637229315000\\",\\n \\"SafeCheckpoint\\": \\"1637230117000\\",\\n \\"Creator\\": \\"10000000\\",\\n \\"ModifyTime\\": \\"1637230117000\\",\\n \\"CreatorName\\": \\"***@****.com\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeDtsEtlJobVersionInfoResponse>\\n<requestId>62E37CD4-586B-50A4-99AA-3E60D2485F6C</requestId>\\n<success>true</success>\\n<dtsEtlJobVersionInfos>\\n <createTime>1637229315000</createTime>\\n <creator>10000000</creator>\\n <creatorName>***@****.com</creatorName>\\n <dtsInstanceId>dtsggk12iwya1a****</dtsInstanceId>\\n <dtsJobId>l5512es7w15****</dtsJobId>\\n <dtsJobName>test_sql</dtsJobName>\\n <modifyTime>1637230117000</modifyTime>\\n <status>INFO</status>\\n <version>9</version>\\n</dtsEtlJobVersionInfos>\\n<httpStatusCode>200</httpStatusCode>\\n</DescribeDtsEtlJobVersionInfoResponse>","errorExample":""}]', + 'title' => '查询ETL任务详情', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDtsEtlJobVersionInfo', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], ], 'DescribeDtsJobDetail' => [ 'summary' => '调用DescribeDtsJobDetail查询一个DTS任务的详情。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14761,89 +6258,50 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '52246', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅任务ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'ta7w132u12h****', - ], + 'schema' => ['description' => '迁移、同步或订阅任务ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'ta7w132u12h****'], ], [ 'name' => 'DtsInstanceID', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsta7w132u12h****', - ], + 'schema' => ['description' => '迁移、同步或订阅实例ID。', 'type' => 'string', 'required' => false, 'example' => 'dtsta7w132u12h****'], ], [ 'name' => 'SynchronizationDirection', 'in' => 'query', - 'schema' => [ - 'description' => '同步方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 只有当数据同步实例的同步拓扑为双向同步时,本参数传入**Reverse**才会生效。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => '同步方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 只有当数据同步实例的同步拓扑为双向同步时,本参数传入**Reverse**才会生效。'."\n", 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '任务所属地域ID,请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '任务所属地域ID,请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'SyncSubJobHistory', 'in' => 'query', - 'schema' => [ - 'title' => '是否返回所有的同步子任务', - 'description' => '是否返回全部同步子任务的信息,默认为**false**,只返回正在进行中或者最近一次执行的同步子任务。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['title' => '是否返回所有的同步子任务', 'description' => '是否返回全部同步子任务的信息,默认为**false**,只返回正在进行中或者最近一次执行的同步子任务。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ZeroEtlJob', 'in' => 'query', - 'schema' => [ - 'description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -14851,452 +6309,175 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '迁移或同步任务的状态,返回值为:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **Initializing**:同步初始化中。'."\n" - .'- **InitializeFailed**:同步初始化失败。'."\n" - .'- **synchronizing**:同步中。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:同步失败。'."\n" - .'- **MigrationFailed**:迁移失败。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Modifying**:同步对象变更中。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Downgrade**:降级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Finished**:完成。', - 'type' => 'string', - 'example' => 'Migrating', - ], - 'DtsJobName' => [ - 'description' => '迁移、同步或订阅任务名称。', - 'type' => 'string', - 'example' => 'api_test', - ], - 'FinishTime' => [ - 'description' => '任务结束时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2023-06-16T10:34:17Z', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].', - ], - 'DtsJobId' => [ - 'description' => '迁移、同步或订阅任务ID。', - 'type' => 'string', - 'example' => 'i03e3zty16i****', - ], - 'CreateTime' => [ - 'description' => '任务创建时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-16T08:01:19Z', - ], - 'PayType' => [ - 'description' => '实例的付费类型,返回值:'."\n" - ."\n" - .'- **PrePaid**:包年包月(预付费)。'."\n" - .'- **PostPaid**:按量付费(后付费)。', - 'type' => 'string', - 'example' => 'PrePaid', - ], - 'Reserved' => [ - 'description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', - 'type' => 'string', - 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}', - ], - 'DatabaseCount' => [ - 'description' => '如源实例为PolarDB-X 1.0时,您需要输入其下挂RDS MySQL的数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'DtsJobClass' => [ - 'description' => '链路规格。'."\n" - .'> 关于各链路规格的说明及性能测试情况请参见[数据迁移链路规格说明](~~26606~~),[数据同步链路规格说明](~~26605~~)。', - 'type' => 'string', - 'example' => 'xlarge', - ], - 'EndTimestamp' => [ - 'description' => '订阅实例中保存的数据范围的截止时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-26T14:03:21Z', - ], - 'AppName' => [ - 'description' => '是否为新版订阅,new(新版订阅)。'."\n" - .'> 该参数仅在新版订阅实例中返回。', - 'type' => 'string', - 'example' => 'new', - ], - 'DestNetType' => [ - 'description' => '消费客户端所属网络类型:'."\n" - ."\n" - .'- **CLASSIC**:经典网络。'."\n" - .'- **VPC**:专有网络。', - 'type' => 'string', - 'example' => 'VPC', - ], - 'SubscribeTopic' => [ - 'description' => '订阅Topic。'."\n" - .'> 当该订阅实例为新版,且调用[CreateConsumerGroup](~~122863~~)接口创建了消费组时,才会返回本参数。', - 'type' => 'string', - 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2', - ], - 'DtsInstanceID' => [ - 'description' => '迁移、同步或订阅实例ID。', - 'type' => 'string', - 'example' => 'dtsi03e3zty16i****', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '29207299-7C41-493A-BA4F-2FAC5DE4****', - ], - 'Code' => [ - 'description' => '错误码,本参数即将下线。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Checkpoint' => [ - 'description' => '增量数据迁移的启动位点或者同步位点,格式为Unix时间戳,单位为秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1616405159', - ], - 'Delay' => [ - 'description' => '增量数据迁移或者同步的延迟时间,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'ExpireTime' => [ - 'description' => '实例的到期时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" - .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', - 'type' => 'string', - 'example' => '2023-06-16T08:01:19Z', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'ConsumptionClient' => [ - 'description' => '下游消费客户端信息,由IP地址和DTS随机生成的随机数组成。'."\n", - 'type' => 'string', - 'example' => '114.***.***.**:dts********', - ], - 'DbObject' => [ - 'description' => '迁移、同步或订阅对象,详细定义说明,请参见[迁移、同步或订阅对象说明](~~209545~~)。', - 'type' => 'string', - 'example' => '{\\"dtstestdata\\":{\\"all\\":true,\\"name\\":\\"dtstestdata\\",\\"state\\":\\"normal\\"}}', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', - ], - 'ConsumptionCheckpoint' => [ - 'description' => '订阅任务的下游消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-23T07:30:31Z', - ], - 'EtlCalculator' => [ - 'description' => 'ETL任务的算子信息。'."\n" - .'> 当任务为ETL时,才会返回本参数。', - 'type' => 'string', - 'example' => '{ "cells ": [{\\"shape\\":\\"edge\\",\\"attrs\\":{\\"line\\":{\\"stroke\\":\\"#b1b1b1\\",\\"strokeWidth\\":1,\\"targetMarker\\":{\\"name\\":\\"block\\",\\"args\\":{\\"size\\":\\"8\\"}},\\"strokeDasharray\\":\\"\\"}},\\"id\\":\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\",\\"source\\":{\\"cell\\":\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\",\\"port\\":\\"out1\\"},\\"target\\":{\\"cell\\":\\"b36770df-f48c-4d6b-9644-54c5e924****\\",\\"port\\":\\"in1\\"},\\"zIndex\\":7 }] }', - ], - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'BeginTimestamp' => [ - 'description' => '订阅实例中保存的数据范围的起始时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-15T08:25:34Z', - ], - 'GroupId' => [ - 'description' => '资源组ID。'."\n", - 'type' => 'string', - 'example' => 'rg-acfmzawhxxc****', - ], - 'SynchronizationDirection' => [ - 'description' => '同步方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 只有当数据同步实例的同步拓扑为双向同步时,本参数传入**Reverse**才会生效。'."\n", - 'type' => 'string', - 'example' => 'Forward', - ], - 'DtsJobDirection' => [ - 'description' => '同步方向,返回值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> 当数据同步实例的拓扑为双向时,才会返回本参数。', - 'type' => 'string', - 'example' => 'Forward', - ], - 'DemoJob' => [ - 'description' => '是否子任务,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'false', - ], + 'Status' => ['description' => '迁移或同步任务的状态,返回值为:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **Initializing**:同步初始化中。'."\n" + .'- **InitializeFailed**:同步初始化失败。'."\n" + .'- **synchronizing**:同步中。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:同步失败。'."\n" + .'- **MigrationFailed**:迁移失败。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Modifying**:同步对象变更中。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Downgrade**:降级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Finished**:完成。', 'type' => 'string', 'example' => 'Migrating'], + 'DtsJobName' => ['description' => '迁移、同步或订阅任务名称。', 'type' => 'string', 'example' => 'api_test'], + 'FinishTime' => ['description' => '任务结束时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2023-06-16T10:34:17Z'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].'], + 'DtsJobId' => ['description' => '迁移、同步或订阅任务ID。', 'type' => 'string', 'example' => 'i03e3zty16i****'], + 'CreateTime' => ['description' => '任务创建时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-16T08:01:19Z'], + 'PayType' => ['description' => '实例的付费类型,返回值:'."\n" + ."\n" + .'- **PrePaid**:包年包月(预付费)。'."\n" + .'- **PostPaid**:按量付费(后付费)。', 'type' => 'string', 'example' => 'PrePaid'], + 'Reserved' => ['description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', 'type' => 'string', 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}'], + 'DatabaseCount' => ['description' => '如源实例为PolarDB-X 1.0时,您需要输入其下挂RDS MySQL的数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'DtsJobClass' => ['description' => '链路规格。'."\n" + .'> 关于各链路规格的说明及性能测试情况请参见[数据迁移链路规格说明](~~26606~~),[数据同步链路规格说明](~~26605~~)。', 'type' => 'string', 'example' => 'xlarge'], + 'EndTimestamp' => ['description' => '订阅实例中保存的数据范围的截止时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-26T14:03:21Z'], + 'AppName' => ['description' => '是否为新版订阅,new(新版订阅)。'."\n" + .'> 该参数仅在新版订阅实例中返回。', 'type' => 'string', 'example' => 'new'], + 'DestNetType' => ['description' => '消费客户端所属网络类型:'."\n" + ."\n" + .'- **CLASSIC**:经典网络。'."\n" + .'- **VPC**:专有网络。', 'type' => 'string', 'example' => 'VPC'], + 'SubscribeTopic' => ['description' => '订阅Topic。'."\n" + .'> 当该订阅实例为新版,且调用[CreateConsumerGroup](~~122863~~)接口创建了消费组时,才会返回本参数。', 'type' => 'string', 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2'], + 'DtsInstanceID' => ['description' => '迁移、同步或订阅实例ID。', 'type' => 'string', 'example' => 'dtsi03e3zty16i****'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '29207299-7C41-493A-BA4F-2FAC5DE4****'], + 'Code' => ['description' => '错误码,本参数即将下线。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Checkpoint' => ['description' => '增量数据迁移的启动位点或者同步位点,格式为Unix时间戳,单位为秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1616405159'], + 'Delay' => ['description' => '增量数据迁移或者同步的延迟时间,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'], + 'ExpireTime' => ['description' => '实例的到期时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" + .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', 'type' => 'string', 'example' => '2023-06-16T08:01:19Z'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'ConsumptionClient' => ['description' => '下游消费客户端信息,由IP地址和DTS随机生成的随机数组成。'."\n", 'type' => 'string', 'example' => '114.***.***.**:dts********'], + 'DbObject' => ['description' => '迁移、同步或订阅对象,详细定义说明,请参见[迁移、同步或订阅对象说明](~~209545~~)。', 'type' => 'string', 'example' => '{\\"dtstestdata\\":{\\"all\\":true,\\"name\\":\\"dtstestdata\\",\\"state\\":\\"normal\\"}}'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'DtsJobId'], + 'ConsumptionCheckpoint' => ['description' => '订阅任务的下游消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-23T07:30:31Z'], + 'EtlCalculator' => ['description' => 'ETL任务的算子信息。'."\n" + .'> 当任务为ETL时,才会返回本参数。', 'type' => 'string', 'example' => '{ "cells ": [{\\"shape\\":\\"edge\\",\\"attrs\\":{\\"line\\":{\\"stroke\\":\\"#b1b1b1\\",\\"strokeWidth\\":1,\\"targetMarker\\":{\\"name\\":\\"block\\",\\"args\\":{\\"size\\":\\"8\\"}},\\"strokeDasharray\\":\\"\\"}},\\"id\\":\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\",\\"source\\":{\\"cell\\":\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\",\\"port\\":\\"out1\\"},\\"target\\":{\\"cell\\":\\"b36770df-f48c-4d6b-9644-54c5e924****\\",\\"port\\":\\"in1\\"},\\"zIndex\\":7 }] }'], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'BeginTimestamp' => ['description' => '订阅实例中保存的数据范围的起始时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-15T08:25:34Z'], + 'GroupId' => ['description' => '资源组ID。'."\n", 'type' => 'string', 'example' => 'rg-acfmzawhxxc****'], + 'SynchronizationDirection' => ['description' => '同步方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 只有当数据同步实例的同步拓扑为双向同步时,本参数传入**Reverse**才会生效。'."\n", 'type' => 'string', 'example' => 'Forward'], + 'DtsJobDirection' => ['description' => '同步方向,返回值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> 当数据同步实例的拓扑为双向时,才会返回本参数。', 'type' => 'string', 'example' => 'Forward'], + 'DemoJob' => ['description' => '是否子任务,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'false'], 'SourceEndpoint' => [ 'description' => '源实例连接信息。', 'type' => 'object', 'properties' => [ - 'OracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当源实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'SslSolutionEnum' => [ - 'description' => '是否使用SSL安全连接,返回值:'."\n" - ."\n" - .'- **DISABLE**:未使用SSL安全连接。'."\n" - .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" - .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" - .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', - 'type' => 'string', - 'example' => 'DISABLE', - ], - 'Ip' => [ - 'description' => '源实例的连接地址。', - 'type' => 'string', - 'example' => '172.16.88.***', - ], - 'InstanceID' => [ - 'description' => '源实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1162kryivb8****', - ], - 'RoleName' => [ - 'description' => '源实例所属云账号配置的角色名称。', - 'type' => 'string', - 'example' => 'ram-for-dts', - ], - 'InstanceType' => [ - 'description' => '源实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'Port' => [ - 'description' => '源实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'EngineName' => [ - 'description' => '源实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], - 'Region' => [ - 'description' => '源实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'DatabaseName' => [ - 'description' => '源实例中迁移对象所属数据库的名称。'."\n", - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'AliyunUid' => [ - 'description' => '源实例所属的阿里云账号ID。', - 'type' => 'string', - 'example' => '140692647406****', - ], - 'UserName' => [ - 'description' => '源实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'CanModifyPassword' => [ - 'description' => '是否可以修改密码,返回值为:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'false', - ], + 'OracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当源实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'SslSolutionEnum' => ['description' => '是否使用SSL安全连接,返回值:'."\n" + ."\n" + .'- **DISABLE**:未使用SSL安全连接。'."\n" + .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" + .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" + .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', 'type' => 'string', 'example' => 'DISABLE'], + 'Ip' => ['description' => '源实例的连接地址。', 'type' => 'string', 'example' => '172.16.88.***'], + 'InstanceID' => ['description' => '源实例ID。', 'type' => 'string', 'example' => 'rm-bp1162kryivb8****'], + 'RoleName' => ['description' => '源实例所属云账号配置的角色名称。', 'type' => 'string', 'example' => 'ram-for-dts'], + 'InstanceType' => ['description' => '源实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'Port' => ['description' => '源实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'EngineName' => ['description' => '源实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], + 'Region' => ['description' => '源实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'DatabaseName' => ['description' => '源实例中迁移对象所属数据库的名称。'."\n", 'type' => 'string', 'example' => 'dtstestdata'], + 'AliyunUid' => ['description' => '源实例所属的阿里云账号ID。', 'type' => 'string', 'example' => '140692647406****'], + 'UserName' => ['description' => '源实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'CanModifyPassword' => ['description' => '是否可以修改密码,返回值为:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'false'], ], ], 'DestinationEndpoint' => [ 'description' => '目标实例的连接信息。', 'type' => 'object', 'properties' => [ - 'SslSolutionEnum' => [ - 'description' => '是否使用SSL安全连接,返回值:'."\n" - ."\n" - .'- **DISABLE**:未使用SSL安全连接。'."\n" - .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" - .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" - .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', - 'type' => 'string', - 'example' => 'DISABLE', - ], - 'OracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'DatabaseName' => [ - 'description' => '目标实例中迁移对象所属数据库的名称。'."\n", - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'Region' => [ - 'description' => '目标实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Ip' => [ - 'description' => '目标实例的连接地址。', - 'type' => 'string', - 'example' => '172.16.XX.XX', - ], - 'InstanceID' => [ - 'description' => '目标实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1imrtn6fq7h****', - ], - 'Port' => [ - 'description' => '目标实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'InstanceType' => [ - 'description' => '目标实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'UserName' => [ - 'description' => '目标实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'EngineName' => [ - 'description' => '目标实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], - 'CanModifyPassword' => [ - 'description' => '是否可以修改密码,返回值为:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'RoleName' => [ - 'type' => 'string', - ], - 'AliyunUid' => [ - 'type' => 'string', - ], + 'SslSolutionEnum' => ['description' => '是否使用SSL安全连接,返回值:'."\n" + ."\n" + .'- **DISABLE**:未使用SSL安全连接。'."\n" + .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" + .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" + .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', 'type' => 'string', 'example' => 'DISABLE'], + 'OracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'DatabaseName' => ['description' => '目标实例中迁移对象所属数据库的名称。'."\n", 'type' => 'string', 'example' => 'dtstestdata'], + 'Region' => ['description' => '目标实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'Ip' => ['description' => '目标实例的连接地址。', 'type' => 'string', 'example' => '172.16.XX.XX'], + 'InstanceID' => ['description' => '目标实例ID。', 'type' => 'string', 'example' => 'rm-bp1imrtn6fq7h****'], + 'Port' => ['description' => '目标实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'InstanceType' => ['description' => '目标实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'UserName' => ['description' => '目标实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'EngineName' => ['description' => '目标实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], + 'CanModifyPassword' => ['description' => '是否可以修改密码,返回值为:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'false'], + 'RoleName' => ['type' => 'string', 'description' => ''], + 'AliyunUid' => ['type' => 'string', 'description' => ''], ], ], 'MigrationMode' => [ 'description' => '迁移类型或同步初始化类型。', 'type' => 'object', 'properties' => [ - 'DataExtractTransformLoad' => [ - 'description' => '是否执行数据加工,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'DataInitialization' => [ - 'description' => '是否执行全量数据迁移或全量数据初始化,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataSynchronization' => [ - 'description' => '是否执行增量数据迁移或同步,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'StructureInitialization' => [ - 'description' => '是否执行库表结构迁移或初始化,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'DataExtractTransformLoad' => ['description' => '是否执行数据加工,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'false'], + 'DataInitialization' => ['description' => '是否执行全量数据迁移或全量数据初始化,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DataSynchronization' => ['description' => '是否执行增量数据迁移或同步,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'StructureInitialization' => ['description' => '是否执行库表结构迁移或初始化,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'SubscriptionHost' => [ 'description' => '订阅任务的连接地址。', 'type' => 'object', 'properties' => [ - 'VpcHost' => [ - 'description' => '订阅任务的专有网络VPC(Virtual Private Cloud)连接信息,格式为`地址:端口号`。', - 'type' => 'string', - 'example' => 'dts-cn-****-vpc.aliyuncs.com:18003', - ], - 'PublicHost' => [ - 'description' => '订阅任务的公网连接信息,格式为`地址:端口号`。'."\n", - 'type' => 'string', - 'example' => 'dts-cn-****.aliyuncs.com:18001', - ], - 'PrivateHost' => [ - 'description' => '订阅任务的私网连接信息,格式为`地址:端口号`。', - 'type' => 'string', - 'example' => 'dts-cn-****-internal.aliyuncs.com:18002', - ], + 'VpcHost' => ['description' => '订阅任务的专有网络VPC(Virtual Private Cloud)连接信息,格式为`地址:端口号`。', 'type' => 'string', 'example' => 'dts-cn-****-vpc.aliyuncs.com:18003'], + 'PublicHost' => ['description' => '订阅任务的公网连接信息,格式为`地址:端口号`。'."\n", 'type' => 'string', 'example' => 'dts-cn-****.aliyuncs.com:18001'], + 'PrivateHost' => ['description' => '订阅任务的私网连接信息,格式为`地址:端口号`。', 'type' => 'string', 'example' => 'dts-cn-****-internal.aliyuncs.com:18002'], ], ], 'SubscriptionDataType' => [ 'description' => '订阅数据的类型。', 'type' => 'object', 'properties' => [ - 'Dml' => [ - 'description' => '订阅数据是否包含DML语句,返回值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Ddl' => [ - 'description' => '订阅数据是否包含DDL语句,返回值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Dml' => ['description' => '订阅数据是否包含DML语句,返回值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'Ddl' => ['description' => '订阅数据是否包含DDL语句,返回值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'SubDistributedJob' => [ @@ -15309,477 +6490,184 @@ 'SubSyncJob' => [ 'description' => '同步子任务信息。', 'type' => 'array', - 'items' => [ - 'description' => '同步子任务信息。', - 'type' => 'any', - 'example' => '****', - ], - ], - 'DtsInstanceID' => [ - 'description' => 'DTS实例ID。', - 'type' => 'string', - 'example' => 'dtsnjuc14kp12u****', - ], - 'DtsJobId' => [ - 'description' => 'DTS任务ID。', - 'type' => 'string', - 'example' => 'm06j1g92124****', - ], - 'DtsJobName' => [ - 'description' => 'DTS实例名称。', - 'type' => 'string', - 'example' => 'dtstest****', - ], - 'GroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-acfmzawhxxc****', - ], - 'DatabaseCount' => [ - 'description' => '如源实例为PolarDB-X 1.0时,您需要输入其下挂RDS MySQL的数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'DtsJobClass' => [ - 'description' => '链路规格。', - 'type' => 'string', - 'example' => 'xlarge', - ], - 'DtsJobDirection' => [ - 'title' => '请使用', - 'description' => '同步方向,返回值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> 当数据同步实例的拓扑为双向时,才会返回本参数。', - 'type' => 'string', - 'example' => 'Forward', - ], - 'SynchronizationDirection' => [ - 'description' => '同步方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 只有当数据同步实例的同步拓扑为双向同步时,本参数传入**Reverse**才会生效。'."\n", - 'type' => 'string', - 'example' => 'Forward', - ], - 'PayType' => [ - 'description' => '支付类型:'."\n" - ."\n" - .'- **PrePaid**:预付费。'."\n" - .'- **PostPaid**:后付费。', - 'type' => 'string', - 'example' => 'PrePaid', - ], - 'ExpireTime' => [ - 'description' => '实例的到期时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" - .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', - 'type' => 'string', - 'example' => '2023-06-16T08:01:19Z', - ], - 'CreateTime' => [ - 'description' => '任务创建时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2023-01-12T08:34:11Z', - ], - 'FinishTime' => [ - 'description' => '任务结束时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2023-06-16T10:34:17Z', - ], + 'items' => ['description' => '同步子任务信息。', 'type' => 'any', 'example' => '****'], + ], + 'DtsInstanceID' => ['description' => 'DTS实例ID。', 'type' => 'string', 'example' => 'dtsnjuc14kp12u****'], + 'DtsJobId' => ['description' => 'DTS任务ID。', 'type' => 'string', 'example' => 'm06j1g92124****'], + 'DtsJobName' => ['description' => 'DTS实例名称。', 'type' => 'string', 'example' => 'dtstest****'], + 'GroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-acfmzawhxxc****'], + 'DatabaseCount' => ['description' => '如源实例为PolarDB-X 1.0时,您需要输入其下挂RDS MySQL的数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'DtsJobClass' => ['description' => '链路规格。', 'type' => 'string', 'example' => 'xlarge'], + 'DtsJobDirection' => ['title' => '请使用', 'description' => '同步方向,返回值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> 当数据同步实例的拓扑为双向时,才会返回本参数。', 'type' => 'string', 'example' => 'Forward'], + 'SynchronizationDirection' => ['description' => '同步方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 只有当数据同步实例的同步拓扑为双向同步时,本参数传入**Reverse**才会生效。'."\n", 'type' => 'string', 'example' => 'Forward'], + 'PayType' => ['description' => '支付类型:'."\n" + ."\n" + .'- **PrePaid**:预付费。'."\n" + .'- **PostPaid**:后付费。', 'type' => 'string', 'example' => 'PrePaid'], + 'ExpireTime' => ['description' => '实例的到期时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" + .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', 'type' => 'string', 'example' => '2023-06-16T08:01:19Z'], + 'CreateTime' => ['description' => '任务创建时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2023-01-12T08:34:11Z'], + 'FinishTime' => ['description' => '任务结束时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2023-06-16T10:34:17Z'], 'SourceEndpoint' => [ 'description' => '源实例连接信息。', 'type' => 'object', 'properties' => [ - 'InstanceID' => [ - 'description' => '源实例ID。', - 'type' => 'string', - 'example' => 'dtsnjuc14kp12u****', - ], - 'Region' => [ - 'description' => '源实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'InstanceType' => [ - 'description' => '源实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'EngineName' => [ - 'description' => '源实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], - 'Ip' => [ - 'description' => '源实例的连接地址。', - 'type' => 'string', - 'example' => '192.168.XX.XX', - ], - 'Port' => [ - 'description' => '源实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'DatabaseName' => [ - 'description' => '源实例中迁移对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'OracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'UserName' => [ - 'description' => '源实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'SslSolutionEnum' => [ - 'title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书', - 'description' => '是否使用SSL安全连接,返回值:'."\n" - ."\n" - .'- **DISABLE**:未使用SSL安全连接。'."\n" - .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" - .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" - .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', - 'type' => 'string', - 'example' => 'DISABLE', - ], - 'RoleName' => [ - 'description' => '源实例所属云账号配置的角色名称。', - 'type' => 'string', - 'example' => 'ram-for-dts', - ], - 'AliyunUid' => [ - 'description' => '源实例所属的阿里云账号ID。', - 'type' => 'string', - 'example' => '140692647406****', - ], + 'InstanceID' => ['description' => '源实例ID。', 'type' => 'string', 'example' => 'dtsnjuc14kp12u****'], + 'Region' => ['description' => '源实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'InstanceType' => ['description' => '源实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'EngineName' => ['description' => '源实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], + 'Ip' => ['description' => '源实例的连接地址。', 'type' => 'string', 'example' => '192.168.XX.XX'], + 'Port' => ['description' => '源实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'DatabaseName' => ['description' => '源实例中迁移对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'OracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'UserName' => ['description' => '源实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'SslSolutionEnum' => ['title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书', 'description' => '是否使用SSL安全连接,返回值:'."\n" + ."\n" + .'- **DISABLE**:未使用SSL安全连接。'."\n" + .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" + .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" + .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', 'type' => 'string', 'example' => 'DISABLE'], + 'RoleName' => ['description' => '源实例所属云账号配置的角色名称。', 'type' => 'string', 'example' => 'ram-for-dts'], + 'AliyunUid' => ['description' => '源实例所属的阿里云账号ID。', 'type' => 'string', 'example' => '140692647406****'], ], ], 'DestinationEndpoint' => [ 'description' => '目标实例的连接信息。', 'type' => 'object', 'properties' => [ - 'InstanceID' => [ - 'description' => '目标实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1f9guj5rhzq****', - ], - 'Region' => [ - 'description' => '目标实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'InstanceType' => [ - 'description' => '目标实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'EngineName' => [ - 'description' => '目标实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], - 'Ip' => [ - 'description' => '目标实例的连接地址。', - 'type' => 'string', - 'example' => '192.168.XX.XX', - ], - 'Port' => [ - 'description' => '目标实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'DatabaseName' => [ - 'description' => '目标实例中迁移对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'OracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testid', - ], - 'UserName' => [ - 'description' => '目标实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'SslSolutionEnum' => [ - 'title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书', - 'description' => '是否使用SSL安全连接,返回值:'."\n" - ."\n" - .'- **DISABLE**:未使用SSL安全连接。'."\n" - .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" - .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" - .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', - 'type' => 'string', - 'example' => 'DISABLE', - ], - 'RoleName' => [ - 'description' => '目标实例所属云账号配置的角色名称。', - 'type' => 'string', - 'example' => 'ram-for-dts', - ], - 'AliyunUid' => [ - 'description' => '目标实例所属的阿里云账号ID。', - 'type' => 'string', - 'example' => '140692647406****', - ], + 'InstanceID' => ['description' => '目标实例ID。', 'type' => 'string', 'example' => 'rm-bp1f9guj5rhzq****'], + 'Region' => ['description' => '目标实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'InstanceType' => ['description' => '目标实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'EngineName' => ['description' => '目标实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], + 'Ip' => ['description' => '目标实例的连接地址。', 'type' => 'string', 'example' => '192.168.XX.XX'], + 'Port' => ['description' => '目标实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'DatabaseName' => ['description' => '目标实例中迁移对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'OracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', 'type' => 'string', 'example' => 'testid'], + 'UserName' => ['description' => '目标实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'SslSolutionEnum' => ['title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书', 'description' => '是否使用SSL安全连接,返回值:'."\n" + ."\n" + .'- **DISABLE**:未使用SSL安全连接。'."\n" + .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" + .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" + .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', 'type' => 'string', 'example' => 'DISABLE'], + 'RoleName' => ['description' => '目标实例所属云账号配置的角色名称。', 'type' => 'string', 'example' => 'ram-for-dts'], + 'AliyunUid' => ['description' => '目标实例所属的阿里云账号ID。', 'type' => 'string', 'example' => '140692647406****'], ], ], - 'DbObject' => [ - 'description' => '迁移、同步或订阅对象,详细定义说明,请参见[迁移、同步或订阅对象说明](~~209545~~)。', - 'type' => 'string', - 'example' => '{\\"dtstestdata\\":{\\"all\\":true,\\"name\\":\\"dtstestdata\\",\\"state\\":\\"normal\\"}}', - ], + 'DbObject' => ['description' => '迁移、同步或订阅对象,详细定义说明,请参见[迁移、同步或订阅对象说明](~~209545~~)。', 'type' => 'string', 'example' => '{\\"dtstestdata\\":{\\"all\\":true,\\"name\\":\\"dtstestdata\\",\\"state\\":\\"normal\\"}}'], 'MigrationMode' => [ 'description' => '迁移类型或同步初始化类型。', 'type' => 'object', 'properties' => [ - 'StructureInitialization' => [ - 'description' => '是否执行库表结构迁移或初始化,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataInitialization' => [ - 'description' => '是否执行全量数据迁移或全量数据初始化,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataSynchronization' => [ - 'description' => '是否执行增量数据迁移或同步,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataExtractTransformLoad' => [ - 'description' => '是否执行数据加工,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'false', - ], + 'StructureInitialization' => ['description' => '是否执行库表结构迁移或初始化,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DataInitialization' => ['description' => '是否执行全量数据迁移或全量数据初始化,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DataSynchronization' => ['description' => '是否执行增量数据迁移或同步,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DataExtractTransformLoad' => ['description' => '是否执行数据加工,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'false'], ], ], - 'Status' => [ - 'description' => '迁移或同步任务的状态,返回值为:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **Initializing**:同步初始化中。'."\n" - .'- **InitializeFailed**:同步初始化失败。'."\n" - .'- **synchronizing**:同步中。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:同步失败。'."\n" - .'- **MigrationFailed**:迁移失败。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Modifying**:同步对象变更中。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Downgrade**:降级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Finished**:完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Delay' => [ - 'description' => '增量数据迁移或者同步的延迟时间,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], + 'Status' => ['description' => '迁移或同步任务的状态,返回值为:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **Initializing**:同步初始化中。'."\n" + .'- **InitializeFailed**:同步初始化失败。'."\n" + .'- **synchronizing**:同步中。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:同步失败。'."\n" + .'- **MigrationFailed**:迁移失败。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Modifying**:同步对象变更中。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Downgrade**:降级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Finished**:完成。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Delay' => ['description' => '增量数据迁移或者同步的延迟时间,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'], 'TagList' => [ 'description' => '标签集合。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Id' => [ - 'title' => '主键', - 'description' => '主键。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'GmtCreate' => [ - 'title' => '创建时间', - 'description' => '创建时间。', - 'type' => 'string', - 'example' => '2022-03-16T08:01:19Z', - ], - 'GmtModified' => [ - 'title' => '修改时间', - 'description' => '修改时间。', - 'type' => 'string', - 'example' => '2022-03-16T08:01:19Z', - ], - 'ResourceId' => [ - 'title' => 'dts instance id', - 'description' => '数据迁移、同步和订阅的实例ID。', - 'type' => 'string', - 'example' => 'dtsnjuc14kp12u****', - ], - 'ResourceType' => [ - 'title' => '资源类型', - 'description' => '资源类型。', - 'type' => 'string', - 'example' => 'ALIYUN::DTS::INSTANCE', - ], - 'RegionId' => [ - 'title' => 'region_id', - 'description' => '任务所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'AliUid' => [ - 'title' => '用户id', - 'description' => '阿里云账号ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '191448876515****', - ], - 'TagKey' => [ - 'title' => '标签键tagkey', - 'description' => '标签键tagkey', - 'type' => 'string', - 'example' => 'key1', - ], - 'TagValue' => [ - 'title' => '标签值tagvalue', - 'description' => '标签值tagvalue', - 'type' => 'string', - 'example' => 'value1', - ], - 'TagCategory' => [ - 'title' => '标签类型:系统标签-System,用户标签-Custom (Custom, System, All)', - 'description' => '标签类型,取值:'."\n" - ."\n" - .'- **System**:系统创建的标签。'."\n" - .'- **Custom**:用户添加的标签。'."\n" - ."\n" - .'> 当值为空时,默认返回可公示的标签。', - 'type' => 'string', - 'example' => 'System', - ], - 'SrcRegion' => [ - 'title' => '任务所在region,注意一般是dts的目标端region', - 'description' => '任务所在地域。'."\n" - ."\n" - .'> 一般是指目标端地域。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Scope' => [ - 'title' => '0为public,1为private (Public, Private, All)', - 'description' => '标签的可见性,取值:'."\n" - .'- **0**:public'."\n" - .'- **1**:private', - 'type' => 'string', - 'example' => '0', - ], - 'Creator' => [ - 'title' => '标签操作者', - 'description' => '标签操作者。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '191448876515****', - ], + 'Id' => ['title' => '主键', 'description' => '主键。', 'type' => 'integer', 'format' => 'int64', 'example' => '2'], + 'GmtCreate' => ['title' => '创建时间', 'description' => '创建时间。', 'type' => 'string', 'example' => '2022-03-16T08:01:19Z'], + 'GmtModified' => ['title' => '修改时间', 'description' => '修改时间。', 'type' => 'string', 'example' => '2022-03-16T08:01:19Z'], + 'ResourceId' => ['title' => 'dts instance id', 'description' => '数据迁移、同步和订阅的实例ID。', 'type' => 'string', 'example' => 'dtsnjuc14kp12u****'], + 'ResourceType' => ['title' => '资源类型', 'description' => '资源类型。', 'type' => 'string', 'example' => 'ALIYUN::DTS::INSTANCE'], + 'RegionId' => ['title' => 'region_id', 'description' => '任务所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'AliUid' => ['title' => '用户id', 'description' => '阿里云账号ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '191448876515****'], + 'TagKey' => ['title' => '标签键tagkey', 'description' => '标签键tagkey', 'type' => 'string', 'example' => 'key1'], + 'TagValue' => ['title' => '标签值tagvalue', 'description' => '标签值tagvalue', 'type' => 'string', 'example' => 'value1'], + 'TagCategory' => ['title' => '标签类型:系统标签-System,用户标签-Custom (Custom, System, All)', 'description' => '标签类型,取值:'."\n" + ."\n" + .'- **System**:系统创建的标签。'."\n" + .'- **Custom**:用户添加的标签。'."\n" + ."\n" + .'> 当值为空时,默认返回可公示的标签。', 'type' => 'string', 'example' => 'System'], + 'SrcRegion' => ['title' => '任务所在region,注意一般是dts的目标端region', 'description' => '任务所在地域。'."\n" + ."\n" + .'> 一般是指目标端地域。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'Scope' => ['title' => '0为public,1为private (Public, Private, All)', 'description' => '标签的可见性,取值:'."\n" + .'- **0**:public'."\n" + .'- **1**:private', 'type' => 'string', 'example' => '0'], + 'Creator' => ['title' => '标签操作者', 'description' => '标签操作者。', 'type' => 'integer', 'format' => 'int64', 'example' => '191448876515****'], ], + 'description' => '', ], ], - 'Checkpoint' => [ - 'description' => '增量数据迁移的启动位点或者同步位点,格式为Unix时间戳,单位为秒。', - 'type' => 'string', - 'example' => '1616405159', - ], + 'Checkpoint' => ['description' => '增量数据迁移的启动位点或者同步位点,格式为Unix时间戳,单位为秒。', 'type' => 'string', 'example' => '1616405159'], 'PrecheckStatus' => [ 'description' => '预检查状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => '预检查状态,返回值为:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **Finished**:完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '预检查整体进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => '预检查状态,返回值为:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **Finished**:完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '预检查整体进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], 'Detail' => [ 'description' => '各预检查项的执行情况。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'CheckItem' => [ - 'title' => '预检查项', - 'description' => '预检查项目。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC', - ], - 'CheckItemDescription' => [ - 'title' => '检查项的描述', - 'description' => '预检查项目描述。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC_DETAIL', - ], - 'CheckResult' => [ - 'title' => '检查结果 (NotStarted: 未启动, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Warning: 警告, Success: 完成)', - 'description' => '预检查结果,返回值为:'."\n" - .'- **Success**:通过该项检查。'."\n" - .'- **Failed**:未通过该项检查。', - 'type' => 'string', - 'example' => 'Success', - ], - 'FailedReason' => [ - 'title' => '错误原因', - 'description' => '预检查未通过的错误提示。'."\n" - ."\n" - .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)', - ], - 'RepairMethod' => [ - 'title' => '修复方法', - 'description' => '预检查未通过时对应的修复方法。'."\n" - .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2', - ], + 'CheckItem' => ['title' => '预检查项', 'description' => '预检查项目。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC'], + 'CheckItemDescription' => ['title' => '检查项的描述', 'description' => '预检查项目描述。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC_DETAIL'], + 'CheckResult' => ['title' => '检查结果 (NotStarted: 未启动, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Warning: 警告, Success: 完成)', 'description' => '预检查结果,返回值为:'."\n" + .'- **Success**:通过该项检查。'."\n" + .'- **Failed**:未通过该项检查。', 'type' => 'string', 'example' => 'Success'], + 'FailedReason' => ['title' => '错误原因', 'description' => '预检查未通过的错误提示。'."\n" + ."\n" + .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)'], + 'RepairMethod' => ['title' => '修复方法', 'description' => '预检查未通过时对应的修复方法。'."\n" + .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2'], ], + 'description' => '', ], ], ], @@ -15788,126 +6676,54 @@ 'description' => '库表结构初始化状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => '库表结构初始化状态,取值包括:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:初始化中。'."\n" - .'- **Failed**:初始化失败。'."\n" - .'- **Finished**:初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Percent' => [ - 'title' => '迁移进度', - 'description' => '库表结构初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'Progress' => [ - 'title' => '已经完成迁移的表数量', - 'description' => '已完成库表结构初始化的表的数量。', - 'type' => 'string', - 'example' => '1', - ], - 'NeedUpgrade' => [ - 'title' => '是否显示提升升级规格', - 'description' => '是否显示提升升级规格,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => '库表结构初始化状态,取值包括:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:初始化中。'."\n" + .'- **Failed**:初始化失败。'."\n" + .'- **Finished**:初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Percent' => ['title' => '迁移进度', 'description' => '库表结构初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'Progress' => ['title' => '已经完成迁移的表数量', 'description' => '已完成库表结构初始化的表的数量。', 'type' => 'string', 'example' => '1'], + 'NeedUpgrade' => ['title' => '是否显示提升升级规格', 'description' => '是否显示提升升级规格,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'DataInitializationStatus' => [ 'description' => '全量数据迁移或初始化的状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => '全量数据迁移或初始化状态,取值包括:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移或初始化中。'."\n" - .'- **Failed**:迁移或初始化失败。'."\n" - .'- **Finished**:迁移或初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '全量数据迁移或初始化失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Percent' => [ - 'title' => '迁移进度', - 'description' => '全量数据迁移或初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'Progress' => [ - 'title' => '已经完成迁移的表数量', - 'description' => '已完成全量数据迁移或初始化的记录数。', - 'type' => 'string', - 'example' => '16', - ], - 'NeedUpgrade' => [ - 'title' => '是否显示提升升级规格', - 'description' => '是否显示提升升级规格,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => '全量数据迁移或初始化状态,取值包括:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移或初始化中。'."\n" + .'- **Failed**:迁移或初始化失败。'."\n" + .'- **Finished**:迁移或初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '全量数据迁移或初始化失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Percent' => ['title' => '迁移进度', 'description' => '全量数据迁移或初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'Progress' => ['title' => '已经完成迁移的表数量', 'description' => '已完成全量数据迁移或初始化的记录数。', 'type' => 'string', 'example' => '16'], + 'NeedUpgrade' => ['title' => '是否显示提升升级规格', 'description' => '是否显示提升升级规格,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'DataSynchronizationStatus' => [ 'description' => '增量数据迁移或同步的状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => '增量数据迁移或同步状态,返回值为:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移或同步中。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Checking**:检查中。'."\n" - .'- **Failed**:迁移或同步失败。'."\n" - .'- **Finished**:迁移或同步完成。'."\n" - .'- **Catched**:无延迟。', - 'type' => 'string', - 'example' => 'Catched', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Percent' => [ - 'title' => '迁移进度', - 'description' => '增量数据迁移或同步进度。', - 'type' => 'string', - 'example' => '95', - ], - 'Progress' => [ - 'title' => '已经完成迁移的表数量', - 'description' => '每秒增量同步或迁移至目标表的数据行数和数据量。', - 'type' => 'string', - 'example' => '0.00RPS/(0.000MB/s)', - ], - 'NeedUpgrade' => [ - 'title' => '是否显示提升升级规格', - 'description' => '是否显示提升升级规格,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => '增量数据迁移或同步状态,返回值为:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移或同步中。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Checking**:检查中。'."\n" + .'- **Failed**:迁移或同步失败。'."\n" + .'- **Finished**:迁移或同步完成。'."\n" + .'- **Catched**:无延迟。', 'type' => 'string', 'example' => 'Catched'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Percent' => ['title' => '迁移进度', 'description' => '增量数据迁移或同步进度。', 'type' => 'string', 'example' => '95'], + 'Progress' => ['title' => '已经完成迁移的表数量', 'description' => '每秒增量同步或迁移至目标表的数据行数和数据量。', 'type' => 'string', 'example' => '0.00RPS/(0.000MB/s)'], + 'NeedUpgrade' => ['title' => '是否显示提升升级规格', 'description' => '是否显示提升升级规格,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'DataEtlStatus' => [ @@ -15916,60 +6732,26 @@ .'> 配置ETL任务后,才会返回该参数集合。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => 'ETL任务状态,返回值为:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:执行中。'."\n" - .'- **Failed**:执行失败。'."\n" - .'- **Finished**:完成。'."\n" - .'- **Catched**:无延迟。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Percent' => [ - 'title' => '迁移进度', - 'description' => '全量数据迁移或初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'Progress' => [ - 'title' => '已经完成迁移的表数量', - 'description' => '已完成全量数据迁移或初始化的记录数。', - 'type' => 'string', - 'example' => '16', - ], - 'NeedUpgrade' => [ - 'title' => '是否显示提升升级规格', - 'description' => '是否显示提升升级规格,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => 'ETL任务状态,返回值为:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:执行中。'."\n" + .'- **Failed**:执行失败。'."\n" + .'- **Finished**:完成。'."\n" + .'- **Catched**:无延迟。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Percent' => ['title' => '迁移进度', 'description' => '全量数据迁移或初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'Progress' => ['title' => '已经完成迁移的表数量', 'description' => '已完成全量数据迁移或初始化的记录数。', 'type' => 'string', 'example' => '16'], + 'NeedUpgrade' => ['title' => '是否显示提升升级规格', 'description' => '是否显示提升升级规格,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'Performance' => [ 'description' => '迁移或同步链路的性能信息。', 'type' => 'object', 'properties' => [ - 'Rps' => [ - 'title' => '每秒同步的记录数', - 'description' => '每秒迁移或同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。', - 'type' => 'string', - 'example' => '100', - ], - 'Flow' => [ - 'title' => '每秒同步的流量,单位为:MB/s', - 'description' => '每秒迁移或同步数据的流量,单位为MB/s。', - 'type' => 'string', - 'example' => '1', - ], + 'Rps' => ['title' => '每秒同步的记录数', 'description' => '每秒迁移或同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。', 'type' => 'string', 'example' => '100'], + 'Flow' => ['title' => '每秒同步的流量,单位为:MB/s', 'description' => '每秒迁移或同步数据的流量,单位为MB/s。', 'type' => 'string', 'example' => '1'], ], ], 'ReverseJob' => [ @@ -15978,429 +6760,164 @@ .'> 当该任务为数据同步,且拓扑类型为双向时,才会返回该参数合集。', 'type' => 'object', 'properties' => [ - 'DtsInstanceID' => [ - 'description' => 'DTS实例ID。', - 'type' => 'string', - 'example' => 'dtsnjuc14kp12u****', - ], - 'DtsJobId' => [ - 'description' => 'DTS任务ID。', - 'type' => 'string', - 'example' => 'm06j1g92124****', - ], - 'DtsJobName' => [ - 'description' => 'DTS实例名称。', - 'type' => 'string', - 'example' => 'dtstest****', - ], - 'GroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-acfmzawhxxc****', - ], - 'DatabaseCount' => [ - 'description' => '如源实例为PolarDB-X 1.0时,您需要输入其下挂RDS MySQL的数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'DtsJobClass' => [ - 'description' => '链路规格。', - 'type' => 'string', - 'example' => 'xlarge', - ], - 'DtsJobDirection' => [ - 'title' => '请使用', - 'description' => '同步方向,返回值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> 当数据同步实例的拓扑为双向时,才会返回本参数。', - 'type' => 'string', - 'example' => 'Forward', - ], - 'SynchronizationDirection' => [ - 'description' => '同步方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 只有当数据同步实例的同步拓扑为双向同步时,本参数传入**Reverse**才会生效。'."\n", - 'type' => 'string', - 'example' => 'Forward', - ], - 'PayType' => [ - 'description' => '支付类型:'."\n" - ."\n" - .'- **PrePaid**:预付费。'."\n" - .'- **PostPaid**:后付费。', - 'type' => 'string', - 'example' => 'PrePaid', - ], - 'ExpireTime' => [ - 'description' => '实例的到期时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" - .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', - 'type' => 'string', - 'example' => '2023-06-16T08:01:19Z', - ], - 'CreateTime' => [ - 'description' => '任务创建时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2023-01-12T08:34:11Z', - ], - 'FinishTime' => [ - 'description' => '任务结束时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2023-06-16T10:34:17Z', - ], + 'DtsInstanceID' => ['description' => 'DTS实例ID。', 'type' => 'string', 'example' => 'dtsnjuc14kp12u****'], + 'DtsJobId' => ['description' => 'DTS任务ID。', 'type' => 'string', 'example' => 'm06j1g92124****'], + 'DtsJobName' => ['description' => 'DTS实例名称。', 'type' => 'string', 'example' => 'dtstest****'], + 'GroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-acfmzawhxxc****'], + 'DatabaseCount' => ['description' => '如源实例为PolarDB-X 1.0时,您需要输入其下挂RDS MySQL的数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'DtsJobClass' => ['description' => '链路规格。', 'type' => 'string', 'example' => 'xlarge'], + 'DtsJobDirection' => ['title' => '请使用', 'description' => '同步方向,返回值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> 当数据同步实例的拓扑为双向时,才会返回本参数。', 'type' => 'string', 'example' => 'Forward'], + 'SynchronizationDirection' => ['description' => '同步方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 只有当数据同步实例的同步拓扑为双向同步时,本参数传入**Reverse**才会生效。'."\n", 'type' => 'string', 'example' => 'Forward'], + 'PayType' => ['description' => '支付类型:'."\n" + ."\n" + .'- **PrePaid**:预付费。'."\n" + .'- **PostPaid**:后付费。', 'type' => 'string', 'example' => 'PrePaid'], + 'ExpireTime' => ['description' => '实例的到期时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" + .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', 'type' => 'string', 'example' => '2023-06-16T08:01:19Z'], + 'CreateTime' => ['description' => '任务创建时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2023-01-12T08:34:11Z'], + 'FinishTime' => ['description' => '任务结束时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2023-06-16T10:34:17Z'], 'SourceEndpoint' => [ 'description' => '源实例连接信息。', 'type' => 'object', 'properties' => [ - 'InstanceID' => [ - 'description' => '源实例ID。', - 'type' => 'string', - 'example' => 'rm-bp2f3huj5rhzq****', - ], - 'Region' => [ - 'description' => '源实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'InstanceType' => [ - 'description' => '源实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'EngineName' => [ - 'description' => '源实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], - 'Ip' => [ - 'description' => '源实例的连接地址。', - 'type' => 'string', - 'example' => '192.168.XX.XX', - ], - 'Port' => [ - 'description' => '源实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'DatabaseName' => [ - 'description' => '源实例中迁移对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'OracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'UserName' => [ - 'description' => '源实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'SslSolutionEnum' => [ - 'title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书', - 'description' => '是否使用SSL安全连接,返回值:'."\n" - ."\n" - .'- **DISABLE**:未使用SSL安全连接。'."\n" - .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" - .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" - .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', - 'type' => 'string', - 'example' => 'DISABLE', - ], - 'RoleName' => [ - 'description' => '源实例所属云账号配置的角色名称。', - 'type' => 'string', - 'example' => 'ram-for-dts', - ], - 'AliyunUid' => [ - 'description' => '源实例所属的阿里云账号ID。', - 'type' => 'string', - 'example' => '140692647406****', - ], + 'InstanceID' => ['description' => '源实例ID。', 'type' => 'string', 'example' => 'rm-bp2f3huj5rhzq****'], + 'Region' => ['description' => '源实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'InstanceType' => ['description' => '源实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'EngineName' => ['description' => '源实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], + 'Ip' => ['description' => '源实例的连接地址。', 'type' => 'string', 'example' => '192.168.XX.XX'], + 'Port' => ['description' => '源实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'DatabaseName' => ['description' => '源实例中迁移对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'OracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'UserName' => ['description' => '源实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'SslSolutionEnum' => ['title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书', 'description' => '是否使用SSL安全连接,返回值:'."\n" + ."\n" + .'- **DISABLE**:未使用SSL安全连接。'."\n" + .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" + .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" + .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', 'type' => 'string', 'example' => 'DISABLE'], + 'RoleName' => ['description' => '源实例所属云账号配置的角色名称。', 'type' => 'string', 'example' => 'ram-for-dts'], + 'AliyunUid' => ['description' => '源实例所属的阿里云账号ID。', 'type' => 'string', 'example' => '140692647406****'], ], ], 'DestinationEndpoint' => [ 'description' => '目标实例的连接信息。', 'type' => 'object', 'properties' => [ - 'InstanceID' => [ - 'description' => '目标实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1f9guj5rhzq****', - ], - 'Region' => [ - 'description' => '目标实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'InstanceType' => [ - 'description' => '目标实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'EngineName' => [ - 'description' => '目标实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], - 'Ip' => [ - 'description' => '目标实例的连接地址。', - 'type' => 'string', - 'example' => '192.168.XX.XX', - ], - 'Port' => [ - 'description' => '目标实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'DatabaseName' => [ - 'description' => '目标实例中迁移对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'OracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'UserName' => [ - 'description' => '目标实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'SslSolutionEnum' => [ - 'title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书', - 'description' => '是否使用SSL安全连接,返回值:'."\n" - ."\n" - .'- **DISABLE**:未使用SSL安全连接。'."\n" - .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" - .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" - .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', - 'type' => 'string', - 'example' => 'DISABLE', - ], - 'RoleName' => [ - 'description' => '目标例所属云账号配置的角色名称。', - 'type' => 'string', - 'example' => 'ram-for-dts', - ], - 'AliyunUid' => [ - 'description' => '目标实例所属的阿里云账号ID。', - 'type' => 'string', - 'example' => '140692647406****', - ], + 'InstanceID' => ['description' => '目标实例ID。', 'type' => 'string', 'example' => 'rm-bp1f9guj5rhzq****'], + 'Region' => ['description' => '目标实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'InstanceType' => ['description' => '目标实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'EngineName' => ['description' => '目标实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], + 'Ip' => ['description' => '目标实例的连接地址。', 'type' => 'string', 'example' => '192.168.XX.XX'], + 'Port' => ['description' => '目标实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'DatabaseName' => ['description' => '目标实例中迁移对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'OracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'UserName' => ['description' => '目标实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'SslSolutionEnum' => ['title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书', 'description' => '是否使用SSL安全连接,返回值:'."\n" + ."\n" + .'- **DISABLE**:未使用SSL安全连接。'."\n" + .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" + .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" + .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', 'type' => 'string', 'example' => 'DISABLE'], + 'RoleName' => ['description' => '目标例所属云账号配置的角色名称。', 'type' => 'string', 'example' => 'ram-for-dts'], + 'AliyunUid' => ['description' => '目标实例所属的阿里云账号ID。', 'type' => 'string', 'example' => '140692647406****'], ], ], - 'DbObject' => [ - 'description' => '迁移、同步或订阅对象,详细定义说明,请参见[迁移、同步或订阅对象说明](~~209545~~)。', - 'type' => 'string', - 'example' => '{\\"dtstestdata\\":{\\"all\\":true,\\"name\\":\\"dtstestdata\\",\\"state\\":\\"normal\\"}}', - ], + 'DbObject' => ['description' => '迁移、同步或订阅对象,详细定义说明,请参见[迁移、同步或订阅对象说明](~~209545~~)。', 'type' => 'string', 'example' => '{\\"dtstestdata\\":{\\"all\\":true,\\"name\\":\\"dtstestdata\\",\\"state\\":\\"normal\\"}}'], 'MigrationMode' => [ 'description' => '迁移类型或同步初始化类型。', 'type' => 'object', 'properties' => [ - 'StructureInitialization' => [ - 'description' => '是否执行库表结构迁移或初始化,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataInitialization' => [ - 'description' => '是否执行全量数据迁移或全量数据初始化,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataSynchronization' => [ - 'description' => '是否执行增量数据迁移或同步,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataExtractTransformLoad' => [ - 'description' => '是否执行数据加工,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'false', - ], + 'StructureInitialization' => ['description' => '是否执行库表结构迁移或初始化,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DataInitialization' => ['description' => '是否执行全量数据迁移或全量数据初始化,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DataSynchronization' => ['description' => '是否执行增量数据迁移或同步,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DataExtractTransformLoad' => ['description' => '是否执行数据加工,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'false'], ], ], - 'Status' => [ - 'description' => '迁移或同步任务的状态,返回值为:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **Initializing**:同步初始化中。'."\n" - .'- **InitializeFailed**:同步初始化失败。'."\n" - .'- **synchronizing**:同步中。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:同步失败。'."\n" - .'- **MigrationFailed**:迁移失败。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Modifying**:同步对象变更中。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Downgrade**:降级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Finished**:完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Delay' => [ - 'description' => '增量数据迁移或者同步的延迟时间,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], + 'Status' => ['description' => '迁移或同步任务的状态,返回值为:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **Initializing**:同步初始化中。'."\n" + .'- **InitializeFailed**:同步初始化失败。'."\n" + .'- **synchronizing**:同步中。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:同步失败。'."\n" + .'- **MigrationFailed**:迁移失败。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Modifying**:同步对象变更中。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Downgrade**:降级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Finished**:完成。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Delay' => ['description' => '增量数据迁移或者同步的延迟时间,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'], 'TagList' => [ 'description' => '标签集合。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Id' => [ - 'title' => '主键', - 'description' => '主键。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'GmtCreate' => [ - 'title' => '创建时间', - 'description' => '创建时间。', - 'type' => 'string', - 'example' => '2022-03-16T08:01:19Z', - ], - 'GmtModified' => [ - 'title' => '修改时间', - 'description' => '修改时间。', - 'type' => 'string', - 'example' => '2022-03-16T08:01:19Z', - ], - 'ResourceId' => [ - 'title' => 'dts instance id', - 'description' => '数据迁移、同步和订阅的实例ID。', - 'type' => 'string', - 'example' => 'dtsnjuc14kp12u****', - ], - 'ResourceType' => [ - 'title' => '资源类型', - 'description' => '资源类型。', - 'type' => 'string', - 'example' => 'ALIYUN::DTS::INSTANCE', - ], - 'RegionId' => [ - 'title' => 'region_id', - 'description' => '任务所属地域ID,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'AliUid' => [ - 'title' => '用户id', - 'description' => '阿里云账号ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '191448876515****', - ], - 'TagKey' => [ - 'title' => '标签键tagkey', - 'description' => '标签键。', - 'type' => 'string', - 'example' => 'key1', - ], - 'TagValue' => [ - 'title' => '标签值tagvalue', - 'description' => '标签值。', - 'type' => 'string', - 'example' => 'value1', - ], - 'TagCategory' => [ - 'title' => '标签类型:系统标签-System,用户标签-Custom (Custom, System, All)', - 'description' => '标签类型,取值:'."\n" - ."\n" - .'- **System**:系统创建的标签。'."\n" - .'- **Custom**:用户添加的标签。'."\n" - ."\n" - .'> 当值为空时,默认返回可公示的标签。', - 'type' => 'string', - 'example' => 'System', - ], - 'SrcRegion' => [ - 'title' => '任务所在region,注意一般是dts的目标端region', - 'description' => '任务所在地域。'."\n" - ."\n" - .'> 一般是指目标端地域。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Scope' => [ - 'title' => '0为public,1为private (Public, Private, All)', - 'description' => '标签的可见性,取值:'."\n" - .'- **0**:public'."\n" - .'- **1**:private', - 'type' => 'string', - 'example' => '0', - ], - 'Creator' => [ - 'title' => '标签操作者', - 'description' => '标签操作者。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '191448876515****', - ], + 'Id' => ['title' => '主键', 'description' => '主键。', 'type' => 'integer', 'format' => 'int64', 'example' => '2'], + 'GmtCreate' => ['title' => '创建时间', 'description' => '创建时间。', 'type' => 'string', 'example' => '2022-03-16T08:01:19Z'], + 'GmtModified' => ['title' => '修改时间', 'description' => '修改时间。', 'type' => 'string', 'example' => '2022-03-16T08:01:19Z'], + 'ResourceId' => ['title' => 'dts instance id', 'description' => '数据迁移、同步和订阅的实例ID。', 'type' => 'string', 'example' => 'dtsnjuc14kp12u****'], + 'ResourceType' => ['title' => '资源类型', 'description' => '资源类型。', 'type' => 'string', 'example' => 'ALIYUN::DTS::INSTANCE'], + 'RegionId' => ['title' => 'region_id', 'description' => '任务所属地域ID,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'AliUid' => ['title' => '用户id', 'description' => '阿里云账号ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '191448876515****'], + 'TagKey' => ['title' => '标签键tagkey', 'description' => '标签键。', 'type' => 'string', 'example' => 'key1'], + 'TagValue' => ['title' => '标签值tagvalue', 'description' => '标签值。', 'type' => 'string', 'example' => 'value1'], + 'TagCategory' => ['title' => '标签类型:系统标签-System,用户标签-Custom (Custom, System, All)', 'description' => '标签类型,取值:'."\n" + ."\n" + .'- **System**:系统创建的标签。'."\n" + .'- **Custom**:用户添加的标签。'."\n" + ."\n" + .'> 当值为空时,默认返回可公示的标签。', 'type' => 'string', 'example' => 'System'], + 'SrcRegion' => ['title' => '任务所在region,注意一般是dts的目标端region', 'description' => '任务所在地域。'."\n" + ."\n" + .'> 一般是指目标端地域。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'Scope' => ['title' => '0为public,1为private (Public, Private, All)', 'description' => '标签的可见性,取值:'."\n" + .'- **0**:public'."\n" + .'- **1**:private', 'type' => 'string', 'example' => '0'], + 'Creator' => ['title' => '标签操作者', 'description' => '标签操作者。', 'type' => 'integer', 'format' => 'int64', 'example' => '191448876515****'], ], + 'description' => '', ], ], - 'Checkpoint' => [ - 'description' => '增量数据迁移的启动位点或者同步位点,格式为Unix时间戳,单位为秒。', - 'type' => 'string', - 'example' => '1616405159', - ], + 'Checkpoint' => ['description' => '增量数据迁移的启动位点或者同步位点,格式为Unix时间戳,单位为秒。', 'type' => 'string', 'example' => '1616405159'], 'PrecheckStatus' => [ 'description' => '预检查状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => '预检查状态,返回值为:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **Finished**:完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '预检查整体进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => '预检查状态,返回值为:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **Finished**:完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '预检查整体进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], 'Detail' => [ 'description' => '各预检查项的执行情况。', 'type' => 'array', @@ -16408,41 +6925,16 @@ 'description' => '各预检查项的执行情况。', 'type' => 'object', 'properties' => [ - 'CheckItem' => [ - 'title' => '预检查项', - 'description' => '预检查项目。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC', - ], - 'CheckItemDescription' => [ - 'title' => '检查项的描述', - 'description' => '预检查项目描述。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC_DETAIL', - ], - 'CheckResult' => [ - 'title' => '检查结果 (NotStarted: 未启动, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Warning: 警告, Success: 完成)', - 'description' => '检查结果,返回值:'."\n" - .'- **Success**:通过该项检查。'."\n" - .'- **Failed**:未通过该项检查。', - 'type' => 'string', - 'example' => 'Success', - ], - 'FailedReason' => [ - 'title' => '错误原因', - 'description' => '预检查未通过的错误提示。'."\n" - ."\n" - .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)', - ], - 'RepairMethod' => [ - 'title' => '修复方法', - 'description' => '预检查未通过时对应的修复方法。'."\n" - .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2', - ], + 'CheckItem' => ['title' => '预检查项', 'description' => '预检查项目。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC'], + 'CheckItemDescription' => ['title' => '检查项的描述', 'description' => '预检查项目描述。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC_DETAIL'], + 'CheckResult' => ['title' => '检查结果 (NotStarted: 未启动, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Warning: 警告, Success: 完成)', 'description' => '检查结果,返回值:'."\n" + .'- **Success**:通过该项检查。'."\n" + .'- **Failed**:未通过该项检查。', 'type' => 'string', 'example' => 'Success'], + 'FailedReason' => ['title' => '错误原因', 'description' => '预检查未通过的错误提示。'."\n" + ."\n" + .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)'], + 'RepairMethod' => ['title' => '修复方法', 'description' => '预检查未通过时对应的修复方法。'."\n" + .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2'], ], ], ], @@ -16452,126 +6944,54 @@ 'description' => '库表结构初始化状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => '库表结构初始化状态,取值包括:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:初始化中。'."\n" - .'- **Failed**:初始化失败。'."\n" - .'- **Finished**:初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Percent' => [ - 'title' => '迁移进度', - 'description' => '库表结构初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'Progress' => [ - 'title' => '已经完成迁移的表数量', - 'description' => '已完成库表结构初始化的表的数量。', - 'type' => 'string', - 'example' => '1', - ], - 'NeedUpgrade' => [ - 'title' => '是否显示提升升级规格', - 'description' => '是否显示提升升级规格,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => '库表结构初始化状态,取值包括:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:初始化中。'."\n" + .'- **Failed**:初始化失败。'."\n" + .'- **Finished**:初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Percent' => ['title' => '迁移进度', 'description' => '库表结构初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'Progress' => ['title' => '已经完成迁移的表数量', 'description' => '已完成库表结构初始化的表的数量。', 'type' => 'string', 'example' => '1'], + 'NeedUpgrade' => ['title' => '是否显示提升升级规格', 'description' => '是否显示提升升级规格,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'DataInitializationStatus' => [ 'description' => '全量数据迁移或初始化的状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => '全量数据迁移或初始化状态,取值包括:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移或初始化中。'."\n" - .'- **Failed**:迁移或初始化失败。'."\n" - .'- **Finished**:迁移或初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '全量数据迁移或初始化失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Percent' => [ - 'title' => '迁移进度', - 'description' => '全量数据迁移或初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'Progress' => [ - 'title' => '已经完成迁移的表数量', - 'description' => '已完成全量数据迁移或初始化的记录数。', - 'type' => 'string', - 'example' => '16', - ], - 'NeedUpgrade' => [ - 'title' => '是否显示提升升级规格', - 'description' => '是否显示提升升级规格,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => '全量数据迁移或初始化状态,取值包括:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移或初始化中。'."\n" + .'- **Failed**:迁移或初始化失败。'."\n" + .'- **Finished**:迁移或初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '全量数据迁移或初始化失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Percent' => ['title' => '迁移进度', 'description' => '全量数据迁移或初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'Progress' => ['title' => '已经完成迁移的表数量', 'description' => '已完成全量数据迁移或初始化的记录数。', 'type' => 'string', 'example' => '16'], + 'NeedUpgrade' => ['title' => '是否显示提升升级规格', 'description' => '是否显示提升升级规格,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'DataSynchronizationStatus' => [ 'description' => '增量数据迁移或同步的状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => '增量数据迁移或同步状态,返回值为:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移或同步中。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Checking**:检查中。'."\n" - .'- **Failed**:迁移或同步失败。'."\n" - .'- **Finished**:迁移或同步完成。'."\n" - .'- **Catched**:无延迟。', - 'type' => 'string', - 'example' => 'Catched', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Percent' => [ - 'title' => '迁移进度', - 'description' => '增量数据迁移或同步进度。', - 'type' => 'string', - 'example' => '95', - ], - 'Progress' => [ - 'title' => '已经完成迁移的表数量', - 'description' => '每秒增量同步或迁移至目标表的数据行数和数据量。', - 'type' => 'string', - 'example' => '0.00RPS/(0.000MB/s)', - ], - 'NeedUpgrade' => [ - 'title' => '是否显示提升升级规格', - 'description' => '是否显示提升升级规格,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => '增量数据迁移或同步状态,返回值为:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移或同步中。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Checking**:检查中。'."\n" + .'- **Failed**:迁移或同步失败。'."\n" + .'- **Finished**:迁移或同步完成。'."\n" + .'- **Catched**:无延迟。', 'type' => 'string', 'example' => 'Catched'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Percent' => ['title' => '迁移进度', 'description' => '增量数据迁移或同步进度。', 'type' => 'string', 'example' => '95'], + 'Progress' => ['title' => '已经完成迁移的表数量', 'description' => '每秒增量同步或迁移至目标表的数据行数和数据量。', 'type' => 'string', 'example' => '0.00RPS/(0.000MB/s)'], + 'NeedUpgrade' => ['title' => '是否显示提升升级规格', 'description' => '是否显示提升升级规格,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'DataEtlStatus' => [ @@ -16580,483 +7000,192 @@ .'> 配置ETL任务后,才会返回该参数集合。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => 'ETL任务状态,返回值为:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:执行中。'."\n" - .'- **Failed**:执行失败。'."\n" - .'- **Finished**:完成。'."\n" - .'- **Catched**:无延迟。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Percent' => [ - 'title' => '迁移进度', - 'description' => '全量数据迁移或初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'Progress' => [ - 'title' => '已经完成迁移的表数量', - 'description' => '已完成全量数据迁移或初始化的记录数。', - 'type' => 'string', - 'example' => '16', - ], - 'NeedUpgrade' => [ - 'title' => '是否显示提升升级规格', - 'description' => '是否显示提升升级规格,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => 'ETL任务状态,返回值为:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:执行中。'."\n" + .'- **Failed**:执行失败。'."\n" + .'- **Finished**:完成。'."\n" + .'- **Catched**:无延迟。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Percent' => ['title' => '迁移进度', 'description' => '全量数据迁移或初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'Progress' => ['title' => '已经完成迁移的表数量', 'description' => '已完成全量数据迁移或初始化的记录数。', 'type' => 'string', 'example' => '16'], + 'NeedUpgrade' => ['title' => '是否显示提升升级规格', 'description' => '是否显示提升升级规格,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'Performance' => [ 'description' => '迁移或同步链路的性能信息。', 'type' => 'object', 'properties' => [ - 'Rps' => [ - 'title' => '每秒同步的记录数', - 'description' => '每秒迁移或同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。', - 'type' => 'string', - 'example' => '100', - ], - 'Flow' => [ - 'title' => '每秒同步的流量,单位为:MB/s', - 'description' => '每秒迁移或同步数据的流量,单位为MB/s。', - 'type' => 'string', - 'example' => '1', - ], + 'Rps' => ['title' => '每秒同步的记录数', 'description' => '每秒迁移或同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。', 'type' => 'string', 'example' => '100'], + 'Flow' => ['title' => '每秒同步的流量,单位为:MB/s', 'description' => '每秒迁移或同步数据的流量,单位为MB/s。', 'type' => 'string', 'example' => '1'], ], ], - 'ReverseJob' => [ - 'description' => '反向同步任务执行详情。'."\n" - ."\n" - .'> 当该任务为数据同步,且拓扑类型为双向时,才会返回该参数合集。', - 'type' => 'any', - 'example' => '****', - ], - 'Reserved' => [ - 'description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', - 'type' => 'string', - 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}', - ], + 'ReverseJob' => ['description' => '反向同步任务执行详情。'."\n" + ."\n" + .'> 当该任务为数据同步,且拓扑类型为双向时,才会返回该参数合集。', 'type' => 'any', 'example' => '****'], + 'Reserved' => ['description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', 'type' => 'string', 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}'], 'SubscriptionHost' => [ 'description' => '订阅任务的连接地址。', 'type' => 'object', 'properties' => [ - 'PublicHost' => [ - 'description' => '订阅任务的公网连接信息,格式为`地址:端口号`。'."\n", - 'type' => 'string', - 'example' => 'dts-cn-****.aliyuncs.com:18001', - ], - 'PrivateHost' => [ - 'description' => '订阅任务的私网连接信息,格式为`地址:端口号`。', - 'type' => 'string', - 'example' => 'dts-cn-****-internal.aliyuncs.com:18002', - ], - 'VpcHost' => [ - 'description' => '订阅任务的专有网络VPC(Virtual Private Cloud)连接信息,格式为`地址:端口号`。', - 'type' => 'string', - 'example' => 'dts-cn-****.aliyuncs.com:18001', - ], + 'PublicHost' => ['description' => '订阅任务的公网连接信息,格式为`地址:端口号`。'."\n", 'type' => 'string', 'example' => 'dts-cn-****.aliyuncs.com:18001'], + 'PrivateHost' => ['description' => '订阅任务的私网连接信息,格式为`地址:端口号`。', 'type' => 'string', 'example' => 'dts-cn-****-internal.aliyuncs.com:18002'], + 'VpcHost' => ['description' => '订阅任务的专有网络VPC(Virtual Private Cloud)连接信息,格式为`地址:端口号`。', 'type' => 'string', 'example' => 'dts-cn-****.aliyuncs.com:18001'], ], ], - 'SubscribeTopic' => [ - 'description' => '订阅Topic。'."\n" - .'> 当该订阅实例为新版,且调用[CreateConsumerGroup](~~122863~~)接口创建了消费组时,才会返回本参数。', - 'type' => 'string', - 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2', - ], - 'ConsumptionCheckpoint' => [ - 'description' => '订阅任务的下游消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-23T07:30:31Z', - ], - 'BeginTimestamp' => [ - 'description' => '订阅实例中保存的数据范围的起始时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-15T08:25:34Z', - ], - 'EndTimestamp' => [ - 'description' => '订阅实例中保存的数据范围的截止时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-26T14:03:21Z', - ], - 'ConsumptionClient' => [ - 'description' => '下游消费客户端信息,由IP地址和DTS随机生成的随机数组成。', - 'type' => 'string', - 'example' => '114.***.***.**:dts********', - ], - 'DestNetType' => [ - 'description' => '消费客户端所属网络类型:'."\n" - ."\n" - .'- **CLASSIC**:经典网络。'."\n" - .'- **VPC**:专有网络。', - 'type' => 'string', - 'example' => 'VPC', - ], + 'SubscribeTopic' => ['description' => '订阅Topic。'."\n" + .'> 当该订阅实例为新版,且调用[CreateConsumerGroup](~~122863~~)接口创建了消费组时,才会返回本参数。', 'type' => 'string', 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2'], + 'ConsumptionCheckpoint' => ['description' => '订阅任务的下游消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-23T07:30:31Z'], + 'BeginTimestamp' => ['description' => '订阅实例中保存的数据范围的起始时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-15T08:25:34Z'], + 'EndTimestamp' => ['description' => '订阅实例中保存的数据范围的截止时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-26T14:03:21Z'], + 'ConsumptionClient' => ['description' => '下游消费客户端信息,由IP地址和DTS随机生成的随机数组成。', 'type' => 'string', 'example' => '114.***.***.**:dts********'], + 'DestNetType' => ['description' => '消费客户端所属网络类型:'."\n" + ."\n" + .'- **CLASSIC**:经典网络。'."\n" + .'- **VPC**:专有网络。', 'type' => 'string', 'example' => 'VPC'], 'SubscriptionDataType' => [ 'description' => '订阅数据的类型。', 'type' => 'object', 'properties' => [ - 'Ddl' => [ - 'description' => '订阅数据是否包含DDL语句,返回值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Dml' => [ - 'description' => '订阅数据是否包含DML语句,返回值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Ddl' => ['description' => '订阅数据是否包含DDL语句,返回值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'Dml' => ['description' => '订阅数据是否包含DML语句,返回值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], - 'AppName' => [ - 'description' => '是否为新版订阅,new(新版订阅)。'."\n" - ."\n" - .'> 该参数仅在新版订阅实例中返回。', - 'type' => 'string', - 'example' => 'new', - ], - 'EtlCalculator' => [ - 'description' => 'ETL任务的算子信息。'."\n" - ."\n" - .'> 当任务为ETL时,才会返回本参数。', - 'type' => 'string', - 'example' => '{ "cells ": [{\\"shape\\":\\"edge\\",\\"attrs\\":{\\"line\\":{\\"stroke\\":\\"#b1b1b1\\",\\"strokeWidth\\":1,\\"targetMarker\\":{\\"name\\":\\"block\\",\\"args\\":{\\"size\\":\\"8\\"}},\\"strokeDasharray\\":\\"\\"}},\\"id\\":\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\",\\"source\\":{\\"cell\\":\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\",\\"port\\":\\"out1\\"},\\"target\\":{\\"cell\\":\\"b36770df-f48c-4d6b-9644-54c5e924****\\",\\"port\\":\\"in1\\"},\\"zIndex\\":7 }] }', - ], + 'AppName' => ['description' => '是否为新版订阅,new(新版订阅)。'."\n" + ."\n" + .'> 该参数仅在新版订阅实例中返回。', 'type' => 'string', 'example' => 'new'], + 'EtlCalculator' => ['description' => 'ETL任务的算子信息。'."\n" + ."\n" + .'> 当任务为ETL时,才会返回本参数。', 'type' => 'string', 'example' => '{ "cells ": [{\\"shape\\":\\"edge\\",\\"attrs\\":{\\"line\\":{\\"stroke\\":\\"#b1b1b1\\",\\"strokeWidth\\":1,\\"targetMarker\\":{\\"name\\":\\"block\\",\\"args\\":{\\"size\\":\\"8\\"}},\\"strokeDasharray\\":\\"\\"}},\\"id\\":\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\",\\"source\\":{\\"cell\\":\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\",\\"port\\":\\"out1\\"},\\"target\\":{\\"cell\\":\\"b36770df-f48c-4d6b-9644-54c5e924****\\",\\"port\\":\\"in1\\"},\\"zIndex\\":7 }] }'], 'RetryState' => [ 'description' => '由于任务异常,DTS正在重试。', 'type' => 'object', 'properties' => [ - 'JobId' => [ - 'title' => '任务ID', - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'ta7w132u12h****', - ], - 'MaxRetryTime' => [ - 'title' => '最大重试时间,单位秒', - 'description' => '最大重试时间,单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '7200', - ], - 'RetryTime' => [ - 'title' => '已重试时间,单位秒', - 'description' => '已重试时间,单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3600', - ], - 'RetryCount' => [ - 'title' => '已重试次数', - 'description' => '已重试次数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Retrying' => [ - 'title' => '是否重试中', - 'description' => '是否在重试中,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Module' => [ - 'title' => '模块名称 reader/store/writer/full/struct', - 'description' => '实例进展。', - 'type' => 'string', - 'example' => '03', - ], - 'RetryTarget' => [ - 'title' => 'srcDB/destDB/metaDB/dstore', - 'description' => '重试目标,返回值:'."\n" - ."\n" - .'- **srcDB**:源数据库。'."\n" - .'- **destDB**:目标数据库。'."\n" - .'- **inner_module**:DTS内部模块。', - 'type' => 'string', - 'example' => 'srcDB', - ], - 'ErrMsg' => [ - 'title' => '错误信息', - 'description' => '报错信息。', - 'type' => 'string', - 'example' => 'CHECK__ERROR_SAME_OBJ', - ], + 'JobId' => ['title' => '任务ID', 'description' => '任务ID。', 'type' => 'string', 'example' => 'ta7w132u12h****'], + 'MaxRetryTime' => ['title' => '最大重试时间,单位秒', 'description' => '最大重试时间,单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '7200'], + 'RetryTime' => ['title' => '已重试时间,单位秒', 'description' => '已重试时间,单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '3600'], + 'RetryCount' => ['title' => '已重试次数', 'description' => '已重试次数。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'Retrying' => ['title' => '是否重试中', 'description' => '是否在重试中,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'Module' => ['title' => '模块名称 reader/store/writer/full/struct', 'description' => '实例进展。', 'type' => 'string', 'example' => '03'], + 'RetryTarget' => ['title' => 'srcDB/destDB/metaDB/dstore', 'description' => '重试目标,返回值:'."\n" + ."\n" + .'- **srcDB**:源数据库。'."\n" + .'- **destDB**:目标数据库。'."\n" + .'- **inner_module**:DTS内部模块。', 'type' => 'string', 'example' => 'srcDB'], + 'ErrMsg' => ['title' => '错误信息', 'description' => '报错信息。', 'type' => 'string', 'example' => 'CHECK__ERROR_SAME_OBJ'], ], ], - 'OriginType' => [ - 'title' => '任务来源 pts任务、dms任务 (PTS, DMS, DTS)', - 'description' => '任务来源:'."\n" - .'- **PTS任务**'."\n" - .'- **DMS任务**'."\n" - .'- **DTS任务**', - 'type' => 'string', - 'example' => 'DTS任务', - ], - 'JobType' => [ - 'title' => '返回结果中新增jobType字段', - 'description' => 'DTS实例的任务类型,取值:'."\n" - ."\n" - .'- **online**:迁移。'."\n" - .'- **SYNC**:同步。'."\n" - .'- **SUBSCRIBE**:订阅。', - 'type' => 'string', - 'example' => 'SYNC', - ], - 'IsDemoJob' => [ - 'description' => '是否子任务,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'TaskType' => [ - 'description' => '任务类型。', - 'type' => 'string', - 'example' => 'rds', - ], - 'MinDu' => [ - 'description' => 'DU下限。'."\n" - ."\n" - .'> 仅Serverless实例支持。', - 'type' => 'number', - 'format' => 'double', - 'example' => '1', - ], - 'MaxDu' => [ - 'description' => 'DU上限。'."\n" - ."\n" - .'> 仅Serverless实例支持。', - 'type' => 'number', - 'format' => 'double', - 'example' => '16', - ], + 'OriginType' => ['title' => '任务来源 pts任务、dms任务 (PTS, DMS, DTS)', 'description' => '任务来源:'."\n" + .'- **PTS任务**'."\n" + .'- **DMS任务**'."\n" + .'- **DTS任务**', 'type' => 'string', 'example' => 'DTS任务'], + 'JobType' => ['title' => '返回结果中新增jobType字段', 'description' => 'DTS实例的任务类型,取值:'."\n" + ."\n" + .'- **online**:迁移。'."\n" + .'- **SYNC**:同步。'."\n" + .'- **SUBSCRIBE**:订阅。', 'type' => 'string', 'example' => 'SYNC'], + 'IsDemoJob' => ['description' => '是否子任务,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'false'], + 'TaskType' => ['description' => '任务类型。', 'type' => 'string', 'example' => 'rds'], + 'MinDu' => ['description' => 'DU下限。'."\n" + ."\n" + .'> 仅Serverless实例支持。', 'type' => 'number', 'format' => 'double', 'example' => '1'], + 'MaxDu' => ['description' => 'DU上限。'."\n" + ."\n" + .'> 仅Serverless实例支持。', 'type' => 'number', 'format' => 'double', 'example' => '16'], ], ], - 'Reserved' => [ - 'description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', - 'type' => 'string', - 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}', - ], + 'Reserved' => ['description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', 'type' => 'string', 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}'], 'SubscriptionHost' => [ 'description' => '订阅任务的连接地址。', 'type' => 'object', 'properties' => [ - 'PublicHost' => [ - 'description' => '订阅任务的公网连接信息,格式为`地址:端口号`。'."\n", - 'type' => 'string', - 'example' => 'dts-cn-****.aliyuncs.com:18001', - ], - 'PrivateHost' => [ - 'description' => '订阅任务的私网连接信息,格式为`地址:端口号`。', - 'type' => 'string', - 'example' => 'dts-cn-****-internal.aliyuncs.com:18002', - ], - 'VpcHost' => [ - 'description' => '订阅任务的专有网络VPC(Virtual Private Cloud)连接信息,格式为`地址:端口号`。', - 'type' => 'string', - 'example' => 'dts-cn-****.aliyuncs.com:18001', - ], + 'PublicHost' => ['description' => '订阅任务的公网连接信息,格式为`地址:端口号`。'."\n", 'type' => 'string', 'example' => 'dts-cn-****.aliyuncs.com:18001'], + 'PrivateHost' => ['description' => '订阅任务的私网连接信息,格式为`地址:端口号`。', 'type' => 'string', 'example' => 'dts-cn-****-internal.aliyuncs.com:18002'], + 'VpcHost' => ['description' => '订阅任务的专有网络VPC(Virtual Private Cloud)连接信息,格式为`地址:端口号`。', 'type' => 'string', 'example' => 'dts-cn-****.aliyuncs.com:18001'], ], ], - 'SubscribeTopic' => [ - 'description' => '订阅Topic。'."\n" - .'> 当该订阅实例为新版,且调用[CreateConsumerGroup](~~122863~~)接口创建了消费组时,才会返回本参数。', - 'type' => 'string', - 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2', - ], - 'ConsumptionCheckpoint' => [ - 'description' => '订阅任务的下游消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-23T07:30:31Z', - ], - 'BeginTimestamp' => [ - 'description' => '订阅实例中保存的数据范围的起始时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-15T08:25:34Z', - ], - 'EndTimestamp' => [ - 'description' => '订阅实例中保存的数据范围的截止时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-26T14:03:21Z', - ], - 'ConsumptionClient' => [ - 'description' => '下游消费客户端信息,由IP地址和DTS随机生成的随机数组成。', - 'type' => 'string', - 'example' => '114.***.***.**:dts********', - ], - 'DestNetType' => [ - 'description' => '消费客户端所属网络类型:'."\n" - ."\n" - .'- **CLASSIC**:经典网络。'."\n" - .'- **VPC**:专有网络。', - 'type' => 'string', - 'example' => 'VPC', - ], + 'SubscribeTopic' => ['description' => '订阅Topic。'."\n" + .'> 当该订阅实例为新版,且调用[CreateConsumerGroup](~~122863~~)接口创建了消费组时,才会返回本参数。', 'type' => 'string', 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2'], + 'ConsumptionCheckpoint' => ['description' => '订阅任务的下游消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-23T07:30:31Z'], + 'BeginTimestamp' => ['description' => '订阅实例中保存的数据范围的起始时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-15T08:25:34Z'], + 'EndTimestamp' => ['description' => '订阅实例中保存的数据范围的截止时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-26T14:03:21Z'], + 'ConsumptionClient' => ['description' => '下游消费客户端信息,由IP地址和DTS随机生成的随机数组成。', 'type' => 'string', 'example' => '114.***.***.**:dts********'], + 'DestNetType' => ['description' => '消费客户端所属网络类型:'."\n" + ."\n" + .'- **CLASSIC**:经典网络。'."\n" + .'- **VPC**:专有网络。', 'type' => 'string', 'example' => 'VPC'], 'SubscriptionDataType' => [ 'description' => '订阅数据的类型。', 'type' => 'object', 'properties' => [ - 'Ddl' => [ - 'description' => '订阅数据是否包含DDL语句,返回值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Dml' => [ - 'description' => '订阅数据是否包含DML语句,返回值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Ddl' => ['description' => '订阅数据是否包含DDL语句,返回值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'Dml' => ['description' => '订阅数据是否包含DML语句,返回值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], - 'AppName' => [ - 'description' => '是否为新版订阅,new(新版订阅)。'."\n" - ."\n" - .'> 该参数仅在新版订阅实例中返回。', - 'type' => 'string', - 'example' => 'new', - ], - 'EtlCalculator' => [ - 'description' => 'ETL任务的算子信息。'."\n" - .'> 当任务为ETL时,才会返回本参数。', - 'type' => 'string', - 'example' => '{ "cells ": [{\\"shape\\":\\"edge\\",\\"attrs\\":{\\"line\\":{\\"stroke\\":\\"#b1b1b1\\",\\"strokeWidth\\":1,\\"targetMarker\\":{\\"name\\":\\"block\\",\\"args\\":{\\"size\\":\\"8\\"}},\\"strokeDasharray\\":\\"\\"}},\\"id\\":\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\",\\"source\\":{\\"cell\\":\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\",\\"port\\":\\"out1\\"},\\"target\\":{\\"cell\\":\\"b36770df-f48c-4d6b-9644-54c5e924****\\",\\"port\\":\\"in1\\"},\\"zIndex\\":7 }] }', - ], + 'AppName' => ['description' => '是否为新版订阅,new(新版订阅)。'."\n" + ."\n" + .'> 该参数仅在新版订阅实例中返回。', 'type' => 'string', 'example' => 'new'], + 'EtlCalculator' => ['description' => 'ETL任务的算子信息。'."\n" + .'> 当任务为ETL时,才会返回本参数。', 'type' => 'string', 'example' => '{ "cells ": [{\\"shape\\":\\"edge\\",\\"attrs\\":{\\"line\\":{\\"stroke\\":\\"#b1b1b1\\",\\"strokeWidth\\":1,\\"targetMarker\\":{\\"name\\":\\"block\\",\\"args\\":{\\"size\\":\\"8\\"}},\\"strokeDasharray\\":\\"\\"}},\\"id\\":\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\",\\"source\\":{\\"cell\\":\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\",\\"port\\":\\"out1\\"},\\"target\\":{\\"cell\\":\\"b36770df-f48c-4d6b-9644-54c5e924****\\",\\"port\\":\\"in1\\"},\\"zIndex\\":7 }] }'], 'RetryState' => [ 'description' => '由于任务异常,DTS正在重试。', 'type' => 'object', 'properties' => [ - 'JobId' => [ - 'title' => '任务ID', - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'ta7w132u12h****', - ], - 'MaxRetryTime' => [ - 'title' => '最大重试时间,单位秒', - 'description' => '最大重试时间,单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '7200', - ], - 'RetryTime' => [ - 'title' => '已重试时间,单位秒', - 'description' => '已重试时间,单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3600', - ], - 'RetryCount' => [ - 'title' => '已重试次数', - 'description' => '已重试次数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Retrying' => [ - 'title' => '是否重试中', - 'description' => '是否在重试中,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Module' => [ - 'title' => '模块名称 reader/store/writer/full/struct', - 'description' => '实例进展。', - 'type' => 'string', - 'example' => '03', - ], - 'RetryTarget' => [ - 'title' => 'srcDB/destDB/metaDB/dstore', - 'description' => '重试目标,返回值:'."\n" - ."\n" - .'- **srcDB**:源数据库。'."\n" - .'- **destDB**:目标数据库。'."\n" - .'- **inner_module**:DTS内部模块。', - 'type' => 'string', - 'example' => 'srcDB', - ], - 'ErrMsg' => [ - 'title' => '错误信息', - 'description' => '报错信息。', - 'type' => 'string', - 'example' => 'CHECK__ERROR_SAME_OBJ', - ], + 'JobId' => ['title' => '任务ID', 'description' => '任务ID。', 'type' => 'string', 'example' => 'ta7w132u12h****'], + 'MaxRetryTime' => ['title' => '最大重试时间,单位秒', 'description' => '最大重试时间,单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '7200'], + 'RetryTime' => ['title' => '已重试时间,单位秒', 'description' => '已重试时间,单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '3600'], + 'RetryCount' => ['title' => '已重试次数', 'description' => '已重试次数。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'Retrying' => ['title' => '是否重试中', 'description' => '是否在重试中,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'Module' => ['title' => '模块名称 reader/store/writer/full/struct', 'description' => '实例进展。', 'type' => 'string', 'example' => '03'], + 'RetryTarget' => ['title' => 'srcDB/destDB/metaDB/dstore', 'description' => '重试目标,返回值:'."\n" + ."\n" + .'- **srcDB**:源数据库。'."\n" + .'- **destDB**:目标数据库。'."\n" + .'- **inner_module**:DTS内部模块。', 'type' => 'string', 'example' => 'srcDB'], + 'ErrMsg' => ['title' => '错误信息', 'description' => '报错信息。', 'type' => 'string', 'example' => 'CHECK__ERROR_SAME_OBJ'], ], ], - 'OriginType' => [ - 'title' => '任务来源 pts任务、dms任务 (PTS, DMS, DTS)', - 'description' => '任务来源:'."\n" - .'- **PTS任务**'."\n" - .'- **DMS任务**'."\n" - .'- **DTS任务**', - 'type' => 'string', - 'example' => 'DTS任务', - ], - 'JobType' => [ - 'title' => '返回结果中新增jobType字段', - 'description' => 'DTS实例的任务类型,取值:'."\n" - ."\n" - .'- **online**:迁移。'."\n" - .'- **SYNC**:同步。'."\n" - .'- **SUBSCRIBE**:订阅。', - 'type' => 'string', - 'example' => 'SYNC', - ], - 'IsDemoJob' => [ - 'description' => '是否子任务,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'TaskType' => [ - 'description' => '任务类型。', - 'type' => 'string', - 'example' => 'rds', - ], - 'MinDu' => [ - 'description' => 'DU下限。'."\n" - ."\n" - .'> 仅Serverless实例支持。', - 'type' => 'number', - 'format' => 'double', - 'example' => '1', - ], - 'MaxDu' => [ - 'description' => 'DU上限。'."\n" - ."\n" - .'> 仅Serverless实例支持。', - 'type' => 'number', - 'format' => 'double', - 'example' => '16', - ], + 'OriginType' => ['title' => '任务来源 pts任务、dms任务 (PTS, DMS, DTS)', 'description' => '任务来源:'."\n" + .'- **PTS任务**'."\n" + .'- **DMS任务**'."\n" + .'- **DTS任务**', 'type' => 'string', 'example' => 'DTS任务'], + 'JobType' => ['title' => '返回结果中新增jobType字段', 'description' => 'DTS实例的任务类型,取值:'."\n" + ."\n" + .'- **online**:迁移。'."\n" + .'- **SYNC**:同步。'."\n" + .'- **SUBSCRIBE**:订阅。', 'type' => 'string', 'example' => 'SYNC'], + 'IsDemoJob' => ['description' => '是否子任务,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'false'], + 'TaskType' => ['description' => '任务类型。', 'type' => 'string', 'example' => 'rds'], + 'MinDu' => ['description' => 'DU下限。'."\n" + ."\n" + .'> 仅Serverless实例支持。', 'type' => 'number', 'format' => 'double', 'example' => '1'], + 'MaxDu' => ['description' => 'DU上限。'."\n" + ."\n" + .'> 仅Serverless实例支持。', 'type' => 'number', 'format' => 'double', 'example' => '16'], ], + 'description' => '', ], ], 'SubSyncJob' => [ @@ -17069,307 +7198,122 @@ 'SubSyncJob' => [ 'description' => '同步子任务信息。', 'type' => 'array', - 'items' => [ - 'description' => '同步子任务信息。', - 'type' => 'any', - 'example' => '****', - ], - ], - 'DtsInstanceID' => [ - 'description' => 'DTS实例ID。', - 'type' => 'string', - 'example' => 'dtsnjuc14kp12u****', - ], - 'DtsJobId' => [ - 'description' => 'DTS任务ID。', - 'type' => 'string', - 'example' => 'm06j1g92124****', - ], - 'DtsJobName' => [ - 'description' => 'DTS实例名称。', - 'type' => 'string', - 'example' => 'dtstest****', - ], - 'GroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-acfmzawhxxc****', - ], - 'DatabaseCount' => [ - 'description' => '如源实例为PolarDB-X 1.0时,您需要输入其下挂RDS MySQL的数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'DtsJobClass' => [ - 'description' => '链路规格。', - 'type' => 'string', - 'example' => 'xlarge', - ], - 'DtsJobDirection' => [ - 'title' => '请使用', - 'description' => '同步方向,返回值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> 当数据同步实例的拓扑为双向时,才会返回本参数。', - 'type' => 'string', - 'example' => 'Forward', - ], - 'SynchronizationDirection' => [ - 'description' => '同步方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 只有当数据同步实例的同步拓扑为双向同步时,本参数传入**Reverse**才会生效。'."\n", - 'type' => 'string', - 'example' => 'Forward', - ], - 'PayType' => [ - 'description' => '支付类型:'."\n" - ."\n" - .'- **PrePaid**:预付费。'."\n" - .'- **PostPaid**:后付费。', - 'type' => 'string', - 'example' => 'PrePaid', - ], - 'ExpireTime' => [ - 'description' => '实例的到期时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" - .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', - 'type' => 'string', - 'example' => '2023-06-16T08:01:19Z', - ], - 'CreateTime' => [ - 'description' => '任务创建时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2023-01-12T08:34:11Z', - ], - 'FinishTime' => [ - 'description' => '任务结束时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2023-06-16T10:34:17Z', - ], + 'items' => ['description' => '同步子任务信息。', 'type' => 'any', 'example' => '****'], + ], + 'DtsInstanceID' => ['description' => 'DTS实例ID。', 'type' => 'string', 'example' => 'dtsnjuc14kp12u****'], + 'DtsJobId' => ['description' => 'DTS任务ID。', 'type' => 'string', 'example' => 'm06j1g92124****'], + 'DtsJobName' => ['description' => 'DTS实例名称。', 'type' => 'string', 'example' => 'dtstest****'], + 'GroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-acfmzawhxxc****'], + 'DatabaseCount' => ['description' => '如源实例为PolarDB-X 1.0时,您需要输入其下挂RDS MySQL的数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'DtsJobClass' => ['description' => '链路规格。', 'type' => 'string', 'example' => 'xlarge'], + 'DtsJobDirection' => ['title' => '请使用', 'description' => '同步方向,返回值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> 当数据同步实例的拓扑为双向时,才会返回本参数。', 'type' => 'string', 'example' => 'Forward'], + 'SynchronizationDirection' => ['description' => '同步方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 只有当数据同步实例的同步拓扑为双向同步时,本参数传入**Reverse**才会生效。'."\n", 'type' => 'string', 'example' => 'Forward'], + 'PayType' => ['description' => '支付类型:'."\n" + ."\n" + .'- **PrePaid**:预付费。'."\n" + .'- **PostPaid**:后付费。', 'type' => 'string', 'example' => 'PrePaid'], + 'ExpireTime' => ['description' => '实例的到期时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" + .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', 'type' => 'string', 'example' => '2023-06-16T08:01:19Z'], + 'CreateTime' => ['description' => '任务创建时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2023-01-12T08:34:11Z'], + 'FinishTime' => ['description' => '任务结束时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2023-06-16T10:34:17Z'], 'SourceEndpoint' => [ 'description' => '源实例连接信息。', 'type' => 'object', 'properties' => [ - 'InstanceID' => [ - 'description' => '源实例ID。', - 'type' => 'string', - 'example' => 'rm-bp2f3huj5rhzq****', - ], - 'Region' => [ - 'description' => '源实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'InstanceType' => [ - 'description' => '源实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'EngineName' => [ - 'description' => '源实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], - 'Ip' => [ - 'description' => '源实例的连接地址。', - 'type' => 'string', - 'example' => '192.168.XX.XX', - ], - 'Port' => [ - 'description' => '源实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'DatabaseName' => [ - 'description' => '源实例中迁移对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'OracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'UserName' => [ - 'description' => '源实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'SslSolutionEnum' => [ - 'title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书', - 'description' => '是否使用SSL安全连接,返回值:'."\n" - ."\n" - .'- **DISABLE**:未使用SSL安全连接。'."\n" - .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" - .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" - .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', - 'type' => 'string', - 'example' => 'DISABLE', - ], - 'RoleName' => [ - 'description' => '源实例所属云账号配置的角色名称。', - 'type' => 'string', - 'example' => 'ram-for-dts', - ], - 'AliyunUid' => [ - 'description' => '源实例所属的阿里云账号ID。', - 'type' => 'string', - 'example' => '140692647406****', - ], + 'InstanceID' => ['description' => '源实例ID。', 'type' => 'string', 'example' => 'rm-bp2f3huj5rhzq****'], + 'Region' => ['description' => '源实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'InstanceType' => ['description' => '源实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'EngineName' => ['description' => '源实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], + 'Ip' => ['description' => '源实例的连接地址。', 'type' => 'string', 'example' => '192.168.XX.XX'], + 'Port' => ['description' => '源实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'DatabaseName' => ['description' => '源实例中迁移对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'OracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'UserName' => ['description' => '源实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'SslSolutionEnum' => ['title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书', 'description' => '是否使用SSL安全连接,返回值:'."\n" + ."\n" + .'- **DISABLE**:未使用SSL安全连接。'."\n" + .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" + .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" + .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', 'type' => 'string', 'example' => 'DISABLE'], + 'RoleName' => ['description' => '源实例所属云账号配置的角色名称。', 'type' => 'string', 'example' => 'ram-for-dts'], + 'AliyunUid' => ['description' => '源实例所属的阿里云账号ID。', 'type' => 'string', 'example' => '140692647406****'], ], ], 'DestinationEndpoint' => [ 'description' => '目标实例的连接信息。', 'type' => 'object', 'properties' => [ - 'InstanceID' => [ - 'description' => '目标实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1f9guj5rhzq****', - ], - 'Region' => [ - 'description' => '目标实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'InstanceType' => [ - 'description' => '目标实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'EngineName' => [ - 'description' => '目标实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], - 'Ip' => [ - 'description' => '目标实例的连接地址。', - 'type' => 'string', - 'example' => '192.168.XX.XX', - ], - 'Port' => [ - 'description' => '目标实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'DatabaseName' => [ - 'description' => '目标实例中迁移对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'OracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'UserName' => [ - 'description' => '目标实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'SslSolutionEnum' => [ - 'title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书', - 'description' => '是否使用SSL安全连接,返回值:'."\n" - ."\n" - .'- **DISABLE**:未使用SSL安全连接。'."\n" - .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" - .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" - .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', - 'type' => 'string', - 'example' => 'DISABLE', - ], - 'RoleName' => [ - 'description' => '目标实例所属云账号配置的角色名称。', - 'type' => 'string', - 'example' => 'ram-for-dts', - ], - 'AliyunUid' => [ - 'description' => '目标实例所属的阿里云账号ID。', - 'type' => 'string', - 'example' => '140692647406****', - ], + 'InstanceID' => ['description' => '目标实例ID。', 'type' => 'string', 'example' => 'rm-bp1f9guj5rhzq****'], + 'Region' => ['description' => '目标实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'InstanceType' => ['description' => '目标实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'EngineName' => ['description' => '目标实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], + 'Ip' => ['description' => '目标实例的连接地址。', 'type' => 'string', 'example' => '192.168.XX.XX'], + 'Port' => ['description' => '目标实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'DatabaseName' => ['description' => '目标实例中迁移对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'OracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'UserName' => ['description' => '目标实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'SslSolutionEnum' => ['title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书', 'description' => '是否使用SSL安全连接,返回值:'."\n" + ."\n" + .'- **DISABLE**:未使用SSL安全连接。'."\n" + .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" + .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" + .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', 'type' => 'string', 'example' => 'DISABLE'], + 'RoleName' => ['description' => '目标实例所属云账号配置的角色名称。', 'type' => 'string', 'example' => 'ram-for-dts'], + 'AliyunUid' => ['description' => '目标实例所属的阿里云账号ID。', 'type' => 'string', 'example' => '140692647406****'], ], ], - 'DbObject' => [ - 'description' => '迁移、同步或订阅对象,详细定义说明,请参见[迁移、同步或订阅对象说明](~~209545~~)。', - 'type' => 'string', - 'example' => '{\\"dtstestdata\\":{\\"all\\":true,\\"name\\":\\"dtstestdata\\",\\"state\\":\\"normal\\"}}', - ], + 'DbObject' => ['description' => '迁移、同步或订阅对象,详细定义说明,请参见[迁移、同步或订阅对象说明](~~209545~~)。', 'type' => 'string', 'example' => '{\\"dtstestdata\\":{\\"all\\":true,\\"name\\":\\"dtstestdata\\",\\"state\\":\\"normal\\"}}'], 'MigrationMode' => [ 'description' => '迁移类型或同步初始化类型。', 'type' => 'object', 'properties' => [ - 'StructureInitialization' => [ - 'description' => '是否执行库表结构迁移或初始化,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataInitialization' => [ - 'description' => '是否执行全量数据迁移或全量数据初始化,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataSynchronization' => [ - 'description' => '是否执行增量数据迁移或同步,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataExtractTransformLoad' => [ - 'description' => '是否执行数据加工,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'false', - ], + 'StructureInitialization' => ['description' => '是否执行库表结构迁移或初始化,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DataInitialization' => ['description' => '是否执行全量数据迁移或全量数据初始化,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DataSynchronization' => ['description' => '是否执行增量数据迁移或同步,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DataExtractTransformLoad' => ['description' => '是否执行数据加工,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'false'], ], ], - 'Status' => [ - 'description' => '迁移或同步任务的状态,返回值为:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **Initializing**:同步初始化中。'."\n" - .'- **InitializeFailed**:同步初始化失败。'."\n" - .'- **synchronizing**:同步中。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:同步失败。'."\n" - .'- **MigrationFailed**:迁移失败。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Modifying**:同步对象变更中。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Downgrade**:降级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Finished**:完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Delay' => [ - 'description' => '增量数据迁移或者同步的延迟时间,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], + 'Status' => ['description' => '迁移或同步任务的状态,返回值为:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **Initializing**:同步初始化中。'."\n" + .'- **InitializeFailed**:同步初始化失败。'."\n" + .'- **synchronizing**:同步中。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:同步失败。'."\n" + .'- **MigrationFailed**:迁移失败。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Modifying**:同步对象变更中。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Downgrade**:降级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Finished**:完成。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Delay' => ['description' => '增量数据迁移或者同步的延迟时间,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'], 'TagList' => [ 'description' => '标签集合。', 'type' => 'array', @@ -17377,170 +7321,61 @@ 'description' => '标签集合。', 'type' => 'object', 'properties' => [ - 'Id' => [ - 'title' => '主键', - 'description' => '主键。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'GmtCreate' => [ - 'title' => '创建时间', - 'description' => '创建时间。', - 'type' => 'string', - 'example' => '2022-03-16T08:01:19Z', - ], - 'GmtModified' => [ - 'title' => '修改时间', - 'description' => '修改时间。', - 'type' => 'string', - 'example' => '2022-03-16T08:01:19Z', - ], - 'ResourceId' => [ - 'title' => 'dts instance id', - 'description' => '数据迁移、同步和订阅的实例ID。', - 'type' => 'string', - 'example' => 'dtsnjuc14kp12u****', - ], - 'ResourceType' => [ - 'title' => '资源类型', - 'description' => '资源类型。', - 'type' => 'string', - 'example' => 'ALIYUN::DTS::INSTANCE', - ], - 'RegionId' => [ - 'title' => 'region_id', - 'description' => '任务所属地域ID,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'AliUid' => [ - 'title' => '用户id', - 'description' => '阿里云账号ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '191448876515****', - ], - 'TagKey' => [ - 'title' => '标签键tagkey', - 'description' => '标签键。', - 'type' => 'string', - 'example' => 'key1', - ], - 'TagValue' => [ - 'title' => '标签值tagvalue', - 'description' => '标签值。', - 'type' => 'string', - 'example' => 'value1', - ], - 'TagCategory' => [ - 'title' => '标签类型:系统标签-System,用户标签-Custom (Custom, System, All)', - 'description' => '标签类型,取值:'."\n" - ."\n" - .'- **System**:系统创建的标签。'."\n" - .'- **Custom**:用户添加的标签。'."\n" - ."\n" - .'> 当值为空时,默认返回可公示的标签。', - 'type' => 'string', - 'example' => 'System', - ], - 'SrcRegion' => [ - 'title' => '任务所在region,注意一般是dts的目标端region', - 'description' => '任务所在地域。'."\n" - ."\n" - .'> 一般是指目标端地域。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Scope' => [ - 'title' => '0为public,1为private (Public, Private, All)', - 'description' => '标签的可见性,取值:'."\n" - .'- **0**:public'."\n" - .'- **1**:private', - 'type' => 'string', - 'example' => '0', - ], - 'Creator' => [ - 'title' => '标签操作者', - 'description' => '标签操作者。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '191448876515****', - ], + 'Id' => ['title' => '主键', 'description' => '主键。', 'type' => 'integer', 'format' => 'int64', 'example' => '2'], + 'GmtCreate' => ['title' => '创建时间', 'description' => '创建时间。', 'type' => 'string', 'example' => '2022-03-16T08:01:19Z'], + 'GmtModified' => ['title' => '修改时间', 'description' => '修改时间。', 'type' => 'string', 'example' => '2022-03-16T08:01:19Z'], + 'ResourceId' => ['title' => 'dts instance id', 'description' => '数据迁移、同步和订阅的实例ID。', 'type' => 'string', 'example' => 'dtsnjuc14kp12u****'], + 'ResourceType' => ['title' => '资源类型', 'description' => '资源类型。', 'type' => 'string', 'example' => 'ALIYUN::DTS::INSTANCE'], + 'RegionId' => ['title' => 'region_id', 'description' => '任务所属地域ID,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'AliUid' => ['title' => '用户id', 'description' => '阿里云账号ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '191448876515****'], + 'TagKey' => ['title' => '标签键tagkey', 'description' => '标签键。', 'type' => 'string', 'example' => 'key1'], + 'TagValue' => ['title' => '标签值tagvalue', 'description' => '标签值。', 'type' => 'string', 'example' => 'value1'], + 'TagCategory' => ['title' => '标签类型:系统标签-System,用户标签-Custom (Custom, System, All)', 'description' => '标签类型,取值:'."\n" + ."\n" + .'- **System**:系统创建的标签。'."\n" + .'- **Custom**:用户添加的标签。'."\n" + ."\n" + .'> 当值为空时,默认返回可公示的标签。', 'type' => 'string', 'example' => 'System'], + 'SrcRegion' => ['title' => '任务所在region,注意一般是dts的目标端region', 'description' => '任务所在地域。'."\n" + ."\n" + .'> 一般是指目标端地域。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'Scope' => ['title' => '0为public,1为private (Public, Private, All)', 'description' => '标签的可见性,取值:'."\n" + .'- **0**:public'."\n" + .'- **1**:private', 'type' => 'string', 'example' => '0'], + 'Creator' => ['title' => '标签操作者', 'description' => '标签操作者。', 'type' => 'integer', 'format' => 'int64', 'example' => '191448876515****'], ], ], ], - 'Checkpoint' => [ - 'description' => '增量数据迁移的启动位点或者同步位点,格式为Unix时间戳,单位为秒。', - 'type' => 'string', - 'example' => '1616405159', - ], + 'Checkpoint' => ['description' => '增量数据迁移的启动位点或者同步位点,格式为Unix时间戳,单位为秒。', 'type' => 'string', 'example' => '1616405159'], 'PrecheckStatus' => [ 'description' => '预检查状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => '预检查状态,返回值为:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **Finished**:完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '预检查整体进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => '预检查状态,返回值为:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **Finished**:完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '预检查整体进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], 'Detail' => [ 'description' => '各预检查项的执行情况。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'CheckItem' => [ - 'title' => '预检查项', - 'description' => '预检查项目。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC', - ], - 'CheckItemDescription' => [ - 'title' => '检查项的描述', - 'description' => '预检查项目描述。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC_DETAIL', - ], - 'CheckResult' => [ - 'title' => '检查结果 (NotStarted: 未启动, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Warning: 警告, Success: 完成)', - 'description' => '检查结果,返回值:'."\n" - .'- **Success**:通过该项检查。'."\n" - .'- **Failed**:未通过该项检查。', - 'type' => 'string', - 'example' => 'Success', - ], - 'FailedReason' => [ - 'title' => '错误原因', - 'description' => '预检查未通过的错误提示。'."\n" - ."\n" - .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)', - ], - 'RepairMethod' => [ - 'title' => '修复方法', - 'description' => '预检查未通过时对应的修复方法。'."\n" - .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2', - ], + 'CheckItem' => ['title' => '预检查项', 'description' => '预检查项目。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC'], + 'CheckItemDescription' => ['title' => '检查项的描述', 'description' => '预检查项目描述。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC_DETAIL'], + 'CheckResult' => ['title' => '检查结果 (NotStarted: 未启动, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Warning: 警告, Success: 完成)', 'description' => '检查结果,返回值:'."\n" + .'- **Success**:通过该项检查。'."\n" + .'- **Failed**:未通过该项检查。', 'type' => 'string', 'example' => 'Success'], + 'FailedReason' => ['title' => '错误原因', 'description' => '预检查未通过的错误提示。'."\n" + ."\n" + .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)'], + 'RepairMethod' => ['title' => '修复方法', 'description' => '预检查未通过时对应的修复方法。'."\n" + .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2'], ], + 'description' => '', ], ], ], @@ -17549,126 +7384,54 @@ 'description' => '库表结构初始化状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => '库表结构初始化状态,取值包括:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:初始化中。'."\n" - .'- **Failed**:初始化失败。'."\n" - .'- **Finished**:初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Percent' => [ - 'title' => '迁移进度', - 'description' => '库表结构初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'Progress' => [ - 'title' => '已经完成迁移的表数量', - 'description' => '已完成库表结构初始化的表的数量。', - 'type' => 'string', - 'example' => '1', - ], - 'NeedUpgrade' => [ - 'title' => '是否显示提升升级规格', - 'description' => '是否显示提升升级规格,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => '库表结构初始化状态,取值包括:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:初始化中。'."\n" + .'- **Failed**:初始化失败。'."\n" + .'- **Finished**:初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Percent' => ['title' => '迁移进度', 'description' => '库表结构初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'Progress' => ['title' => '已经完成迁移的表数量', 'description' => '已完成库表结构初始化的表的数量。', 'type' => 'string', 'example' => '1'], + 'NeedUpgrade' => ['title' => '是否显示提升升级规格', 'description' => '是否显示提升升级规格,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'DataInitializationStatus' => [ 'description' => '全量数据迁移或初始化的状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => '全量数据迁移或初始化状态,取值包括:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移或初始化中。'."\n" - .'- **Failed**:迁移或初始化失败。'."\n" - .'- **Finished**:迁移或初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '全量数据迁移或初始化失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Percent' => [ - 'title' => '迁移进度', - 'description' => '全量数据迁移或初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'Progress' => [ - 'title' => '已经完成迁移的表数量', - 'description' => '已完成全量数据迁移或初始化的记录数。', - 'type' => 'string', - 'example' => '16', - ], - 'NeedUpgrade' => [ - 'title' => '是否显示提升升级规格', - 'description' => '是否显示提升升级规格,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => '全量数据迁移或初始化状态,取值包括:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移或初始化中。'."\n" + .'- **Failed**:迁移或初始化失败。'."\n" + .'- **Finished**:迁移或初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '全量数据迁移或初始化失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Percent' => ['title' => '迁移进度', 'description' => '全量数据迁移或初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'Progress' => ['title' => '已经完成迁移的表数量', 'description' => '已完成全量数据迁移或初始化的记录数。', 'type' => 'string', 'example' => '16'], + 'NeedUpgrade' => ['title' => '是否显示提升升级规格', 'description' => '是否显示提升升级规格,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'DataSynchronizationStatus' => [ 'description' => '增量数据迁移或同步的状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => '增量数据迁移或同步状态,返回值为:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移或同步中。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Checking**:检查中。'."\n" - .'- **Failed**:迁移或同步失败。'."\n" - .'- **Finished**:迁移或同步完成。'."\n" - .'- **Catched**:无延迟。', - 'type' => 'string', - 'example' => 'Catched', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Percent' => [ - 'title' => '迁移进度', - 'description' => '增量数据迁移或同步进度。', - 'type' => 'string', - 'example' => '95', - ], - 'Progress' => [ - 'title' => '已经完成迁移的表数量', - 'description' => '每秒增量同步或迁移至目标表的数据行数和数据量。', - 'type' => 'string', - 'example' => '0.00RPS/(0.000MB/s)', - ], - 'NeedUpgrade' => [ - 'title' => '是否显示提升升级规格', - 'description' => '是否显示提升升级规格,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => '增量数据迁移或同步状态,返回值为:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移或同步中。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Checking**:检查中。'."\n" + .'- **Failed**:迁移或同步失败。'."\n" + .'- **Finished**:迁移或同步完成。'."\n" + .'- **Catched**:无延迟。', 'type' => 'string', 'example' => 'Catched'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Percent' => ['title' => '迁移进度', 'description' => '增量数据迁移或同步进度。', 'type' => 'string', 'example' => '95'], + 'Progress' => ['title' => '已经完成迁移的表数量', 'description' => '每秒增量同步或迁移至目标表的数据行数和数据量。', 'type' => 'string', 'example' => '0.00RPS/(0.000MB/s)'], + 'NeedUpgrade' => ['title' => '是否显示提升升级规格', 'description' => '是否显示提升升级规格,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'DataEtlStatus' => [ @@ -17677,60 +7440,26 @@ .'> 配置ETL任务后,才会返回该参数集合。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => 'ETL任务状态,返回值为:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:执行中。'."\n" - .'- **Failed**:执行失败。'."\n" - .'- **Finished**:完成。'."\n" - .'- **Catched**:无延迟。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Percent' => [ - 'title' => '迁移进度', - 'description' => '全量数据迁移或初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'Progress' => [ - 'title' => '已经完成迁移的表数量', - 'description' => '已完成全量数据迁移或初始化的记录数。', - 'type' => 'string', - 'example' => '16', - ], - 'NeedUpgrade' => [ - 'title' => '是否显示提升升级规格', - 'description' => '是否显示提升升级规格,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => 'ETL任务状态,返回值为:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:执行中。'."\n" + .'- **Failed**:执行失败。'."\n" + .'- **Finished**:完成。'."\n" + .'- **Catched**:无延迟。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Percent' => ['title' => '迁移进度', 'description' => '全量数据迁移或初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'Progress' => ['title' => '已经完成迁移的表数量', 'description' => '已完成全量数据迁移或初始化的记录数。', 'type' => 'string', 'example' => '16'], + 'NeedUpgrade' => ['title' => '是否显示提升升级规格', 'description' => '是否显示提升升级规格,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'Performance' => [ 'description' => '迁移或同步链路的性能信息。', 'type' => 'object', 'properties' => [ - 'Rps' => [ - 'title' => '每秒同步的记录数', - 'description' => '每秒迁移或同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。', - 'type' => 'string', - 'example' => '100', - ], - 'Flow' => [ - 'title' => '每秒同步的流量,单位为:MB/s', - 'description' => '每秒迁移或同步数据的流量,单位为MB/s。', - 'type' => 'string', - 'example' => '1', - ], + 'Rps' => ['title' => '每秒同步的记录数', 'description' => '每秒迁移或同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。', 'type' => 'string', 'example' => '100'], + 'Flow' => ['title' => '每秒同步的流量,单位为:MB/s', 'description' => '每秒迁移或同步数据的流量,单位为MB/s。', 'type' => 'string', 'example' => '1'], ], ], 'ReverseJob' => [ @@ -17739,471 +7468,182 @@ .'> 当该任务为数据同步,且拓扑类型为双向时,才会返回该参数合集。', 'type' => 'object', 'properties' => [ - 'DtsInstanceID' => [ - 'description' => 'DTS实例ID。', - 'type' => 'string', - 'example' => 'dtsnjuc14kp12u****', - ], - 'DtsJobId' => [ - 'description' => 'DTS任务ID。', - 'type' => 'string', - 'example' => 'm06j1g92124****', - ], - 'DtsJobName' => [ - 'description' => 'DTS实例名称。', - 'type' => 'string', - 'example' => 'dtstest****', - ], - 'GroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-acfmzawhxxc****', - ], - 'DatabaseCount' => [ - 'description' => '如源实例为PolarDB-X 1.0时,您需要输入其下挂RDS MySQL的数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'DtsJobClass' => [ - 'description' => '链路规格。', - 'type' => 'string', - 'example' => 'xlarge', - ], - 'DtsJobDirection' => [ - 'title' => '请使用', - 'description' => '同步方向,返回值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> 当数据同步实例的拓扑为双向时,才会返回本参数。', - 'type' => 'string', - 'example' => 'Forward', - ], - 'SynchronizationDirection' => [ - 'description' => '同步方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 只有当数据同步实例的同步拓扑为双向同步时,本参数传入**Reverse**才会生效。'."\n", - 'type' => 'string', - 'example' => 'Forward', - ], - 'PayType' => [ - 'description' => '支付类型:'."\n" - ."\n" - .'- **PrePaid**:预付费。'."\n" - .'- **PostPaid**:后付费。', - 'type' => 'string', - 'example' => 'PrePaid', - ], - 'ExpireTime' => [ - 'description' => '实例的到期时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" - .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', - 'type' => 'string', - 'example' => '2023-06-16T08:01:19Z', - ], - 'CreateTime' => [ - 'description' => '任务创建时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2023-01-12T08:34:11Z', - ], - 'FinishTime' => [ - 'description' => '任务结束时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2023-06-16T10:34:17Z', - ], + 'DtsInstanceID' => ['description' => 'DTS实例ID。', 'type' => 'string', 'example' => 'dtsnjuc14kp12u****'], + 'DtsJobId' => ['description' => 'DTS任务ID。', 'type' => 'string', 'example' => 'm06j1g92124****'], + 'DtsJobName' => ['description' => 'DTS实例名称。', 'type' => 'string', 'example' => 'dtstest****'], + 'GroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-acfmzawhxxc****'], + 'DatabaseCount' => ['description' => '如源实例为PolarDB-X 1.0时,您需要输入其下挂RDS MySQL的数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'DtsJobClass' => ['description' => '链路规格。', 'type' => 'string', 'example' => 'xlarge'], + 'DtsJobDirection' => ['title' => '请使用', 'description' => '同步方向,返回值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> 当数据同步实例的拓扑为双向时,才会返回本参数。', 'type' => 'string', 'example' => 'Forward'], + 'SynchronizationDirection' => ['description' => '同步方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 只有当数据同步实例的同步拓扑为双向同步时,本参数传入**Reverse**才会生效。'."\n", 'type' => 'string', 'example' => 'Forward'], + 'PayType' => ['description' => '支付类型:'."\n" + ."\n" + .'- **PrePaid**:预付费。'."\n" + .'- **PostPaid**:后付费。', 'type' => 'string', 'example' => 'PrePaid'], + 'ExpireTime' => ['description' => '实例的到期时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" + .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', 'type' => 'string', 'example' => '2023-06-16T08:01:19Z'], + 'CreateTime' => ['description' => '任务创建时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2023-01-12T08:34:11Z'], + 'FinishTime' => ['description' => '任务结束时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2023-06-16T10:34:17Z'], 'SourceEndpoint' => [ 'description' => '源实例连接信息。', 'type' => 'object', 'properties' => [ - 'InstanceID' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'rm-bp2f3huj5rhzq****', - ], - 'Region' => [ - 'description' => '源实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'InstanceType' => [ - 'description' => '源实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'EngineName' => [ - 'description' => '源实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], - 'Ip' => [ - 'description' => '源实例的连接地址。', - 'type' => 'string', - 'example' => '192.168.XX.XX', - ], - 'Port' => [ - 'description' => '源实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'DatabaseName' => [ - 'description' => '源实例中迁移对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'OracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'UserName' => [ - 'description' => '源实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'SslSolutionEnum' => [ - 'title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书', - 'description' => '是否使用SSL安全连接,返回值:'."\n" - ."\n" - .'- **DISABLE**:未使用SSL安全连接。'."\n" - .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" - .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" - .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', - 'type' => 'string', - 'example' => 'DISABLE', - ], - 'RoleName' => [ - 'description' => '源实例所属云账号配置的角色名称。', - 'type' => 'string', - 'example' => 'ram-for-dts', - ], - 'AliyunUid' => [ - 'description' => '源实例所属的阿里云账号ID。', - 'type' => 'string', - 'example' => '140692647406****', - ], + 'InstanceID' => ['description' => '实例ID。', 'type' => 'string', 'example' => 'rm-bp2f3huj5rhzq****'], + 'Region' => ['description' => '源实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'InstanceType' => ['description' => '源实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'EngineName' => ['description' => '源实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], + 'Ip' => ['description' => '源实例的连接地址。', 'type' => 'string', 'example' => '192.168.XX.XX'], + 'Port' => ['description' => '源实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'DatabaseName' => ['description' => '源实例中迁移对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'OracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'UserName' => ['description' => '源实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'SslSolutionEnum' => ['title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书', 'description' => '是否使用SSL安全连接,返回值:'."\n" + ."\n" + .'- **DISABLE**:未使用SSL安全连接。'."\n" + .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" + .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" + .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', 'type' => 'string', 'example' => 'DISABLE'], + 'RoleName' => ['description' => '源实例所属云账号配置的角色名称。', 'type' => 'string', 'example' => 'ram-for-dts'], + 'AliyunUid' => ['description' => '源实例所属的阿里云账号ID。', 'type' => 'string', 'example' => '140692647406****'], ], ], 'DestinationEndpoint' => [ 'description' => '目标实例的连接信息。', 'type' => 'object', 'properties' => [ - 'InstanceID' => [ - 'description' => '目标实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1f9guj5rhzq****', - ], - 'Region' => [ - 'description' => '目标实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'InstanceType' => [ - 'description' => '目标实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'EngineName' => [ - 'description' => '目标实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], - 'Ip' => [ - 'description' => '目标实例的连接地址。', - 'type' => 'string', - 'example' => '192.168.XX,XX', - ], - 'Port' => [ - 'description' => '目标实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'DatabaseName' => [ - 'description' => '目标实例中迁移对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'OracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'UserName' => [ - 'description' => '目标实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'SslSolutionEnum' => [ - 'title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书', - 'description' => '是否使用SSL安全连接,返回值:'."\n" - ."\n" - .'- **DISABLE**:未使用SSL安全连接。'."\n" - .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" - .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" - .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', - 'type' => 'string', - 'example' => 'DISABLE', - ], - 'RoleName' => [ - 'description' => '目标实例所属云账号配置的角色名称。', - 'type' => 'string', - 'example' => 'ram-for-dts', - ], - 'AliyunUid' => [ - 'description' => '目标实例所属的阿里云账号ID。', - 'type' => 'string', - 'example' => '140692647406****', - ], + 'InstanceID' => ['description' => '目标实例ID。', 'type' => 'string', 'example' => 'rm-bp1f9guj5rhzq****'], + 'Region' => ['description' => '目标实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'InstanceType' => ['description' => '目标实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'EngineName' => ['description' => '目标实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], + 'Ip' => ['description' => '目标实例的连接地址。', 'type' => 'string', 'example' => '192.168.XX,XX'], + 'Port' => ['description' => '目标实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'DatabaseName' => ['description' => '目标实例中迁移对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'OracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'UserName' => ['description' => '目标实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'SslSolutionEnum' => ['title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书', 'description' => '是否使用SSL安全连接,返回值:'."\n" + ."\n" + .'- **DISABLE**:未使用SSL安全连接。'."\n" + .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" + .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" + .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', 'type' => 'string', 'example' => 'DISABLE'], + 'RoleName' => ['description' => '目标实例所属云账号配置的角色名称。', 'type' => 'string', 'example' => 'ram-for-dts'], + 'AliyunUid' => ['description' => '目标实例所属的阿里云账号ID。', 'type' => 'string', 'example' => '140692647406****'], ], ], - 'DbObject' => [ - 'description' => '迁移、同步或订阅对象,详细定义说明,请参见[迁移、同步或订阅对象说明](~~209545~~)。', - 'type' => 'string', - 'example' => '{\\"dtstestdata\\":{\\"all\\":true,\\"name\\":\\"dtstestdata\\",\\"state\\":\\"normal\\"}}', - ], + 'DbObject' => ['description' => '迁移、同步或订阅对象,详细定义说明,请参见[迁移、同步或订阅对象说明](~~209545~~)。', 'type' => 'string', 'example' => '{\\"dtstestdata\\":{\\"all\\":true,\\"name\\":\\"dtstestdata\\",\\"state\\":\\"normal\\"}}'], 'MigrationMode' => [ 'description' => '迁移类型或同步初始化类型。', 'type' => 'object', 'properties' => [ - 'StructureInitialization' => [ - 'description' => '是否执行库表结构迁移或初始化,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataInitialization' => [ - 'description' => '是否执行全量数据迁移或全量数据初始化,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataSynchronization' => [ - 'description' => '是否执行增量数据迁移或同步,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataExtractTransformLoad' => [ - 'description' => '是否执行数据加工,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'false', - ], + 'StructureInitialization' => ['description' => '是否执行库表结构迁移或初始化,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DataInitialization' => ['description' => '是否执行全量数据迁移或全量数据初始化,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DataSynchronization' => ['description' => '是否执行增量数据迁移或同步,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DataExtractTransformLoad' => ['description' => '是否执行数据加工,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'false'], ], ], - 'Status' => [ - 'description' => '迁移或同步任务的状态,返回值为:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **Initializing**:同步初始化中。'."\n" - .'- **InitializeFailed**:同步初始化失败。'."\n" - .'- **synchronizing**:同步中。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:同步失败。'."\n" - .'- **MigrationFailed**:迁移失败。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Modifying**:同步对象变更中。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Downgrade**:降级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Finished**:完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Delay' => [ - 'description' => '增量数据迁移或者同步的延迟时间,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], + 'Status' => ['description' => '迁移或同步任务的状态,返回值为:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **Initializing**:同步初始化中。'."\n" + .'- **InitializeFailed**:同步初始化失败。'."\n" + .'- **synchronizing**:同步中。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:同步失败。'."\n" + .'- **MigrationFailed**:迁移失败。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Modifying**:同步对象变更中。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Downgrade**:降级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Finished**:完成。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Delay' => ['description' => '增量数据迁移或者同步的延迟时间,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'], 'TagList' => [ 'description' => '标签集合。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Id' => [ - 'title' => '主键', - 'description' => '主键。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'GmtCreate' => [ - 'title' => '创建时间', - 'description' => '创建时间。', - 'type' => 'string', - 'example' => '2022-03-16T08:01:19Z', - ], - 'GmtModified' => [ - 'title' => '修改时间', - 'description' => '修改时间。', - 'type' => 'string', - 'example' => '2022-03-16T08:01:19Z', - ], - 'ResourceId' => [ - 'title' => 'dts instance id', - 'description' => '数据迁移、同步和订阅的实例ID。', - 'type' => 'string', - 'example' => 'dtsnjuc14kp12u****', - ], - 'ResourceType' => [ - 'title' => '资源类型', - 'description' => '资源类型。', - 'type' => 'string', - 'example' => 'ALIYUN::DTS::INSTANCE', - ], - 'RegionId' => [ - 'title' => 'region_id', - 'description' => '任务所属地域ID,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'AliUid' => [ - 'title' => '用户id', - 'description' => '阿里云账号ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '191448876515****', - ], - 'TagKey' => [ - 'title' => '标签键tagkey', - 'description' => '标签键。', - 'type' => 'string', - 'example' => 'key1', - ], - 'TagValue' => [ - 'title' => '标签值tagvalue', - 'description' => '标签值。', - 'type' => 'string', - 'example' => 'value1', - ], - 'TagCategory' => [ - 'title' => '标签类型:系统标签-System,用户标签-Custom (Custom, System, All)', - 'description' => '标签类型,取值:'."\n" - ."\n" - .'- **System**:系统创建的标签。'."\n" - .'- **Custom**:用户添加的标签。'."\n" - ."\n" - .'> 当值为空时,默认返回可公示的标签。', - 'type' => 'string', - 'example' => 'System', - ], - 'SrcRegion' => [ - 'title' => '任务所在region,注意一般是dts的目标端region', - 'description' => '任务所在地域。'."\n" - ."\n" - .'> 一般是指目标端地域。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Scope' => [ - 'title' => '0为public,1为private (Public, Private, All)', - 'description' => '标签的可见性,取值:'."\n" - .'- **0**:public'."\n" - .'- **1**:private', - 'type' => 'string', - 'example' => '0', - ], - 'Creator' => [ - 'title' => '标签操作者', - 'description' => '标签操作者。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '191448876515****', - ], + 'Id' => ['title' => '主键', 'description' => '主键。', 'type' => 'integer', 'format' => 'int64', 'example' => '2'], + 'GmtCreate' => ['title' => '创建时间', 'description' => '创建时间。', 'type' => 'string', 'example' => '2022-03-16T08:01:19Z'], + 'GmtModified' => ['title' => '修改时间', 'description' => '修改时间。', 'type' => 'string', 'example' => '2022-03-16T08:01:19Z'], + 'ResourceId' => ['title' => 'dts instance id', 'description' => '数据迁移、同步和订阅的实例ID。', 'type' => 'string', 'example' => 'dtsnjuc14kp12u****'], + 'ResourceType' => ['title' => '资源类型', 'description' => '资源类型。', 'type' => 'string', 'example' => 'ALIYUN::DTS::INSTANCE'], + 'RegionId' => ['title' => 'region_id', 'description' => '任务所属地域ID,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'AliUid' => ['title' => '用户id', 'description' => '阿里云账号ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '191448876515****'], + 'TagKey' => ['title' => '标签键tagkey', 'description' => '标签键。', 'type' => 'string', 'example' => 'key1'], + 'TagValue' => ['title' => '标签值tagvalue', 'description' => '标签值。', 'type' => 'string', 'example' => 'value1'], + 'TagCategory' => ['title' => '标签类型:系统标签-System,用户标签-Custom (Custom, System, All)', 'description' => '标签类型,取值:'."\n" + ."\n" + .'- **System**:系统创建的标签。'."\n" + .'- **Custom**:用户添加的标签。'."\n" + ."\n" + .'> 当值为空时,默认返回可公示的标签。', 'type' => 'string', 'example' => 'System'], + 'SrcRegion' => ['title' => '任务所在region,注意一般是dts的目标端region', 'description' => '任务所在地域。'."\n" + ."\n" + .'> 一般是指目标端地域。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'Scope' => ['title' => '0为public,1为private (Public, Private, All)', 'description' => '标签的可见性,取值:'."\n" + .'- **0**:public'."\n" + .'- **1**:private', 'type' => 'string', 'example' => '0'], + 'Creator' => ['title' => '标签操作者', 'description' => '标签操作者。', 'type' => 'integer', 'format' => 'int64', 'example' => '191448876515****'], ], + 'description' => '', ], ], - 'Checkpoint' => [ - 'description' => '增量数据迁移的启动位点或者同步位点,格式为Unix时间戳,单位为秒。', - 'type' => 'string', - 'example' => '1616405159', - ], + 'Checkpoint' => ['description' => '增量数据迁移的启动位点或者同步位点,格式为Unix时间戳,单位为秒。', 'type' => 'string', 'example' => '1616405159'], 'PrecheckStatus' => [ 'description' => '预检查状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => '预检查状态,返回值为:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **Finished**:完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '预检查整体进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => '预检查状态,返回值为:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **Finished**:完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '预检查整体进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], 'Detail' => [ 'description' => '各预检查项的执行情况。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'CheckItem' => [ - 'title' => '预检查项', - 'description' => '预检查项目。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC', - ], - 'CheckItemDescription' => [ - 'title' => '检查项的描述', - 'description' => '预检查项目描述。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC_DETAIL', - ], - 'CheckResult' => [ - 'title' => '检查结果 (NotStarted: 未启动, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Warning: 警告, Success: 完成)', - 'description' => '检查结果,返回值:'."\n" - .'- **Success**:通过该项检查。'."\n" - .'- **Failed**:未通过该项检查。', - 'type' => 'string', - 'example' => 'Success', - ], - 'FailedReason' => [ - 'title' => '错误原因', - 'description' => '预检查未通过的错误提示。'."\n" - ."\n" - .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)', - ], - 'RepairMethod' => [ - 'title' => '修复方法', - 'description' => '预检查未通过时对应的修复方法。'."\n" - .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2', - ], + 'CheckItem' => ['title' => '预检查项', 'description' => '预检查项目。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC'], + 'CheckItemDescription' => ['title' => '检查项的描述', 'description' => '预检查项目描述。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC_DETAIL'], + 'CheckResult' => ['title' => '检查结果 (NotStarted: 未启动, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Warning: 警告, Success: 完成)', 'description' => '检查结果,返回值:'."\n" + .'- **Success**:通过该项检查。'."\n" + .'- **Failed**:未通过该项检查。', 'type' => 'string', 'example' => 'Success'], + 'FailedReason' => ['title' => '错误原因', 'description' => '预检查未通过的错误提示。'."\n" + ."\n" + .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)'], + 'RepairMethod' => ['title' => '修复方法', 'description' => '预检查未通过时对应的修复方法。'."\n" + .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2'], ], + 'description' => '', ], ], ], @@ -18212,126 +7652,54 @@ 'description' => '库表结构初始化状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => '库表结构初始化状态,取值包括:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:初始化中。'."\n" - .'- **Failed**:初始化失败。'."\n" - .'- **Finished**:初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Percent' => [ - 'title' => '迁移进度', - 'description' => '库表结构初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'Progress' => [ - 'title' => '已经完成迁移的表数量', - 'description' => '已完成库表结构初始化的表的数量。', - 'type' => 'string', - 'example' => '1', - ], - 'NeedUpgrade' => [ - 'title' => '是否显示提升升级规格', - 'description' => '是否显示提升升级规格,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => '库表结构初始化状态,取值包括:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:初始化中。'."\n" + .'- **Failed**:初始化失败。'."\n" + .'- **Finished**:初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Percent' => ['title' => '迁移进度', 'description' => '库表结构初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'Progress' => ['title' => '已经完成迁移的表数量', 'description' => '已完成库表结构初始化的表的数量。', 'type' => 'string', 'example' => '1'], + 'NeedUpgrade' => ['title' => '是否显示提升升级规格', 'description' => '是否显示提升升级规格,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'DataInitializationStatus' => [ 'description' => '全量数据迁移或初始化的状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => '全量数据迁移或初始化状态,取值包括:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移或初始化中。'."\n" - .'- **Failed**:迁移或初始化失败。'."\n" - .'- **Finished**:迁移或初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '全量数据迁移或初始化失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Percent' => [ - 'title' => '迁移进度', - 'description' => '全量数据迁移或初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'Progress' => [ - 'title' => '已经完成迁移的表数量', - 'description' => '已完成全量数据迁移或初始化的记录数。', - 'type' => 'string', - 'example' => '16', - ], - 'NeedUpgrade' => [ - 'title' => '是否显示提升升级规格', - 'description' => '是否显示提升升级规格,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => '全量数据迁移或初始化状态,取值包括:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移或初始化中。'."\n" + .'- **Failed**:迁移或初始化失败。'."\n" + .'- **Finished**:迁移或初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '全量数据迁移或初始化失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Percent' => ['title' => '迁移进度', 'description' => '全量数据迁移或初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'Progress' => ['title' => '已经完成迁移的表数量', 'description' => '已完成全量数据迁移或初始化的记录数。', 'type' => 'string', 'example' => '16'], + 'NeedUpgrade' => ['title' => '是否显示提升升级规格', 'description' => '是否显示提升升级规格,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'DataSynchronizationStatus' => [ 'description' => '增量数据迁移或同步的状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => '增量数据迁移或同步状态,返回值为:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移或同步中。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Checking**:检查中。'."\n" - .'- **Failed**:迁移或同步失败。'."\n" - .'- **Finished**:迁移或同步完成。'."\n" - .'- **Catched**:无延迟。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Percent' => [ - 'title' => '迁移进度', - 'description' => '增量数据迁移或同步进度。', - 'type' => 'string', - 'example' => '95', - ], - 'Progress' => [ - 'title' => '已经完成迁移的表数量', - 'description' => '每秒增量同步或迁移至目标表的数据行数和数据量。', - 'type' => 'string', - 'example' => '0.00RPS/(0.000MB/s)', - ], - 'NeedUpgrade' => [ - 'title' => '是否显示提升升级规格', - 'description' => '是否显示提升升级规格,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => '增量数据迁移或同步状态,返回值为:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移或同步中。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Checking**:检查中。'."\n" + .'- **Failed**:迁移或同步失败。'."\n" + .'- **Finished**:迁移或同步完成。'."\n" + .'- **Catched**:无延迟。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Percent' => ['title' => '迁移进度', 'description' => '增量数据迁移或同步进度。', 'type' => 'string', 'example' => '95'], + 'Progress' => ['title' => '已经完成迁移的表数量', 'description' => '每秒增量同步或迁移至目标表的数据行数和数据量。', 'type' => 'string', 'example' => '0.00RPS/(0.000MB/s)'], + 'NeedUpgrade' => ['title' => '是否显示提升升级规格', 'description' => '是否显示提升升级规格,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'DataEtlStatus' => [ @@ -18340,709 +7708,285 @@ .'> 配置ETL任务后,才会返回该参数集合。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', - 'description' => 'ETL任务状态,返回值为:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:执行中。'."\n" - .'- **Failed**:执行失败。'."\n" - .'- **Finished**:完成。'."\n" - .'- **Catched**:无延迟。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by ****', - ], - 'Percent' => [ - 'title' => '迁移进度', - 'description' => '全量数据迁移或初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'Progress' => [ - 'title' => '已经完成迁移的表数量', - 'description' => '已完成全量数据迁移或初始化的记录数。', - 'type' => 'string', - 'example' => '16', - ], - 'NeedUpgrade' => [ - 'title' => '是否显示提升升级规格', - 'description' => '是否显示升级实例规格,返回值:'."\n" - ."\n" - .'- **true**:需要。'."\n" - .'- **false**:不需要。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Status' => ['title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成', 'description' => 'ETL任务状态,返回值为:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:执行中。'."\n" + .'- **Failed**:执行失败。'."\n" + .'- **Finished**:完成。'."\n" + .'- **Catched**:无延迟。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by ****'], + 'Percent' => ['title' => '迁移进度', 'description' => '全量数据迁移或初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'Progress' => ['title' => '已经完成迁移的表数量', 'description' => '已完成全量数据迁移或初始化的记录数。', 'type' => 'string', 'example' => '16'], + 'NeedUpgrade' => ['title' => '是否显示提升升级规格', 'description' => '是否显示升级实例规格,返回值:'."\n" + ."\n" + .'- **true**:需要。'."\n" + .'- **false**:不需要。', 'type' => 'boolean', 'example' => 'true'], ], ], 'Performance' => [ 'description' => '迁移或同步链路的性能信息。', 'type' => 'object', 'properties' => [ - 'Rps' => [ - 'title' => '每秒同步的记录数', - 'description' => '每秒迁移或同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。', - 'type' => 'string', - 'example' => '100', - ], - 'Flow' => [ - 'title' => '每秒同步的流量,单位为:MB/s', - 'description' => '每秒迁移或同步数据的流量,单位为MB/s。', - 'type' => 'string', - 'example' => '1', - ], + 'Rps' => ['title' => '每秒同步的记录数', 'description' => '每秒迁移或同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。', 'type' => 'string', 'example' => '100'], + 'Flow' => ['title' => '每秒同步的流量,单位为:MB/s', 'description' => '每秒迁移或同步数据的流量,单位为MB/s。', 'type' => 'string', 'example' => '1'], ], ], - 'ReverseJob' => [ - 'description' => '反向同步任务执行详情。'."\n" - ."\n" - .'> 当该任务为数据同步,且拓扑类型为双向时,才会返回该参数合集。', - 'type' => 'any', - 'example' => '****', - ], - 'Reserved' => [ - 'description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', - 'type' => 'string', - 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}', - ], + 'ReverseJob' => ['description' => '反向同步任务执行详情。'."\n" + ."\n" + .'> 当该任务为数据同步,且拓扑类型为双向时,才会返回该参数合集。', 'type' => 'any', 'example' => '****'], + 'Reserved' => ['description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', 'type' => 'string', 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}'], 'SubscriptionHost' => [ 'description' => '订阅任务的连接地址。', 'type' => 'object', 'properties' => [ - 'PublicHost' => [ - 'description' => '订阅任务的公网连接信息,格式为`地址:端口号`。'."\n", - 'type' => 'string', - 'example' => 'dts-cn-****.aliyuncs.com:18001', - ], - 'PrivateHost' => [ - 'description' => '订阅任务的私网连接信息,格式为`地址:端口号`。', - 'type' => 'string', - 'example' => 'dts-cn-****-internal.aliyuncs.com:18002', - ], - 'VpcHost' => [ - 'description' => '订阅任务的专有网络VPC(Virtual Private Cloud)连接信息,格式为`地址:端口号`。', - 'type' => 'string', - 'example' => 'dts-cn-****.aliyuncs.com:18001', - ], + 'PublicHost' => ['description' => '订阅任务的公网连接信息,格式为`地址:端口号`。'."\n", 'type' => 'string', 'example' => 'dts-cn-****.aliyuncs.com:18001'], + 'PrivateHost' => ['description' => '订阅任务的私网连接信息,格式为`地址:端口号`。', 'type' => 'string', 'example' => 'dts-cn-****-internal.aliyuncs.com:18002'], + 'VpcHost' => ['description' => '订阅任务的专有网络VPC(Virtual Private Cloud)连接信息,格式为`地址:端口号`。', 'type' => 'string', 'example' => 'dts-cn-****.aliyuncs.com:18001'], ], ], - 'SubscribeTopic' => [ - 'description' => '订阅Topic。'."\n" - .'> 当该订阅实例为新版,且调用[CreateConsumerGroup](~~122863~~)接口创建了消费组时,才会返回本参数。', - 'type' => 'string', - 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2', - ], - 'ConsumptionCheckpoint' => [ - 'description' => '订阅任务的下游消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-23T07:30:31Z', - ], - 'BeginTimestamp' => [ - 'description' => '订阅实例中保存的数据范围的起始时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-15T08:25:34Z', - ], - 'EndTimestamp' => [ - 'description' => '订阅实例中保存的数据范围的截止时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-26T14:03:21Z', - ], - 'ConsumptionClient' => [ - 'description' => '下游消费客户端信息,由IP地址和DTS随机生成的随机数组成。', - 'type' => 'string', - 'example' => '114.***.***.**:dts********', - ], - 'DestNetType' => [ - 'description' => '消费客户端所属网络类型:'."\n" - ."\n" - .'- **CLASSIC**:经典网络。'."\n" - .'- **VPC**:专有网络。', - 'type' => 'string', - 'example' => 'VPC', - ], + 'SubscribeTopic' => ['description' => '订阅Topic。'."\n" + .'> 当该订阅实例为新版,且调用[CreateConsumerGroup](~~122863~~)接口创建了消费组时,才会返回本参数。', 'type' => 'string', 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2'], + 'ConsumptionCheckpoint' => ['description' => '订阅任务的下游消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-23T07:30:31Z'], + 'BeginTimestamp' => ['description' => '订阅实例中保存的数据范围的起始时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-15T08:25:34Z'], + 'EndTimestamp' => ['description' => '订阅实例中保存的数据范围的截止时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-26T14:03:21Z'], + 'ConsumptionClient' => ['description' => '下游消费客户端信息,由IP地址和DTS随机生成的随机数组成。', 'type' => 'string', 'example' => '114.***.***.**:dts********'], + 'DestNetType' => ['description' => '消费客户端所属网络类型:'."\n" + ."\n" + .'- **CLASSIC**:经典网络。'."\n" + .'- **VPC**:专有网络。', 'type' => 'string', 'example' => 'VPC'], 'SubscriptionDataType' => [ 'description' => '订阅数据的类型。', 'type' => 'object', 'properties' => [ - 'Ddl' => [ - 'description' => '订阅数据是否包含DDL语句,返回值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Dml' => [ - 'description' => '订阅数据是否包含DML语句,返回值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Ddl' => ['description' => '订阅数据是否包含DDL语句,返回值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'Dml' => ['description' => '订阅数据是否包含DML语句,返回值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], - 'AppName' => [ - 'description' => '是否为新版订阅,new(新版订阅)。'."\n" - ."\n" - .'> 该参数仅在新版订阅实例中返回。', - 'type' => 'string', - 'example' => 'new', - ], - 'EtlCalculator' => [ - 'description' => 'ETL任务的算子信息。'."\n" - .'> 当任务为ETL时,才会返回本参数。', - 'type' => 'string', - 'example' => '{ "cells ": [{\\"shape\\":\\"edge\\",\\"attrs\\":{\\"line\\":{\\"stroke\\":\\"#b1b1b1\\",\\"strokeWidth\\":1,\\"targetMarker\\":{\\"name\\":\\"block\\",\\"args\\":{\\"size\\":\\"8\\"}},\\"strokeDasharray\\":\\"\\"}},\\"id\\":\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\",\\"source\\":{\\"cell\\":\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\",\\"port\\":\\"out1\\"},\\"target\\":{\\"cell\\":\\"b36770df-f48c-4d6b-9644-54c5e924****\\",\\"port\\":\\"in1\\"},\\"zIndex\\":7 }] }', - ], + 'AppName' => ['description' => '是否为新版订阅,new(新版订阅)。'."\n" + ."\n" + .'> 该参数仅在新版订阅实例中返回。', 'type' => 'string', 'example' => 'new'], + 'EtlCalculator' => ['description' => 'ETL任务的算子信息。'."\n" + .'> 当任务为ETL时,才会返回本参数。', 'type' => 'string', 'example' => '{ "cells ": [{\\"shape\\":\\"edge\\",\\"attrs\\":{\\"line\\":{\\"stroke\\":\\"#b1b1b1\\",\\"strokeWidth\\":1,\\"targetMarker\\":{\\"name\\":\\"block\\",\\"args\\":{\\"size\\":\\"8\\"}},\\"strokeDasharray\\":\\"\\"}},\\"id\\":\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\",\\"source\\":{\\"cell\\":\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\",\\"port\\":\\"out1\\"},\\"target\\":{\\"cell\\":\\"b36770df-f48c-4d6b-9644-54c5e924****\\",\\"port\\":\\"in1\\"},\\"zIndex\\":7 }] }'], 'RetryState' => [ 'description' => '由于任务异常,DTS正在重试。', 'type' => 'object', 'properties' => [ - 'JobId' => [ - 'title' => '任务ID', - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'ta7w132u12h****', - ], - 'MaxRetryTime' => [ - 'title' => '最大重试时间,单位秒', - 'description' => '最大重试时间,单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '7200', - ], - 'RetryTime' => [ - 'title' => '已重试时间,单位秒', - 'description' => '已重试时间,单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3600', - ], - 'RetryCount' => [ - 'title' => '已重试次数', - 'description' => '已重试次数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Retrying' => [ - 'title' => '是否重试中', - 'description' => '是否在重试中,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Module' => [ - 'title' => '模块名称 reader/store/writer/full/struct', - 'description' => '实例进展。', - 'type' => 'string', - 'example' => '03', - ], - 'RetryTarget' => [ - 'title' => 'srcDB/destDB/metaDB/dstore', - 'description' => '重试目标,返回值:'."\n" - ."\n" - .'- **srcDB**:源数据库。'."\n" - .'- **destDB**:目标数据库。'."\n" - .'- **inner_module**:DTS内部模块。', - 'type' => 'string', - 'example' => 'srcDB', - ], - 'ErrMsg' => [ - 'title' => '错误信息', - 'description' => '报错信息。', - 'type' => 'string', - 'example' => 'CHECK__ERROR_SAME_OBJ', - ], + 'JobId' => ['title' => '任务ID', 'description' => '任务ID。', 'type' => 'string', 'example' => 'ta7w132u12h****'], + 'MaxRetryTime' => ['title' => '最大重试时间,单位秒', 'description' => '最大重试时间,单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '7200'], + 'RetryTime' => ['title' => '已重试时间,单位秒', 'description' => '已重试时间,单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '3600'], + 'RetryCount' => ['title' => '已重试次数', 'description' => '已重试次数。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'Retrying' => ['title' => '是否重试中', 'description' => '是否在重试中,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'Module' => ['title' => '模块名称 reader/store/writer/full/struct', 'description' => '实例进展。', 'type' => 'string', 'example' => '03'], + 'RetryTarget' => ['title' => 'srcDB/destDB/metaDB/dstore', 'description' => '重试目标,返回值:'."\n" + ."\n" + .'- **srcDB**:源数据库。'."\n" + .'- **destDB**:目标数据库。'."\n" + .'- **inner_module**:DTS内部模块。', 'type' => 'string', 'example' => 'srcDB'], + 'ErrMsg' => ['title' => '错误信息', 'description' => '报错信息。', 'type' => 'string', 'example' => 'CHECK__ERROR_SAME_OBJ'], ], ], - 'OriginType' => [ - 'title' => '任务来源 pts任务、dms任务 (PTS, DMS, DTS)', - 'description' => '任务来源:'."\n" - .'- **PTS任务**'."\n" - .'- **DMS任务**'."\n" - .'- **DTS任务**', - 'type' => 'string', - 'example' => 'DTS任务', - ], - 'JobType' => [ - 'title' => '返回结果中新增jobType字段', - 'description' => 'DTS实例的任务类型,取值:'."\n" - ."\n" - .'- **online**:迁移。'."\n" - .'- **SYNC**:同步。'."\n" - .'- **SUBSCRIBE**:订阅。', - 'type' => 'string', - 'example' => 'SYNC', - ], - 'IsDemoJob' => [ - 'description' => '是否子任务,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'TaskType' => [ - 'description' => '任务类型。', - 'type' => 'string', - 'example' => 'rds', - ], + 'OriginType' => ['title' => '任务来源 pts任务、dms任务 (PTS, DMS, DTS)', 'description' => '任务来源:'."\n" + .'- **PTS任务**'."\n" + .'- **DMS任务**'."\n" + .'- **DTS任务**', 'type' => 'string', 'example' => 'DTS任务'], + 'JobType' => ['title' => '返回结果中新增jobType字段', 'description' => 'DTS实例的任务类型,取值:'."\n" + ."\n" + .'- **online**:迁移。'."\n" + .'- **SYNC**:同步。'."\n" + .'- **SUBSCRIBE**:订阅。', 'type' => 'string', 'example' => 'SYNC'], + 'IsDemoJob' => ['description' => '是否子任务,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'false'], + 'TaskType' => ['description' => '任务类型。', 'type' => 'string', 'example' => 'rds'], ], ], - 'Reserved' => [ - 'description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', - 'type' => 'string', - 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}', - ], + 'Reserved' => ['description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', 'type' => 'string', 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}'], 'SubscriptionHost' => [ 'description' => '订阅任务的连接地址。', 'type' => 'object', 'properties' => [ - 'PublicHost' => [ - 'description' => '订阅任务的公网连接信息,格式为`地址:端口号`。'."\n", - 'type' => 'string', - 'example' => 'dts-cn-****.aliyuncs.com:18001', - ], - 'PrivateHost' => [ - 'description' => '订阅任务的私网连接信息,格式为`地址:端口号`。', - 'type' => 'string', - 'example' => 'dts-cn-****-internal.aliyuncs.com:18002', - ], - 'VpcHost' => [ - 'description' => '订阅任务的专有网络VPC(Virtual Private Cloud)连接信息,格式为`地址:端口号`。', - 'type' => 'string', - 'example' => 'dts-cn-****.aliyuncs.com:18001', - ], + 'PublicHost' => ['description' => '订阅任务的公网连接信息,格式为`地址:端口号`。'."\n", 'type' => 'string', 'example' => 'dts-cn-****.aliyuncs.com:18001'], + 'PrivateHost' => ['description' => '订阅任务的私网连接信息,格式为`地址:端口号`。', 'type' => 'string', 'example' => 'dts-cn-****-internal.aliyuncs.com:18002'], + 'VpcHost' => ['description' => '订阅任务的专有网络VPC(Virtual Private Cloud)连接信息,格式为`地址:端口号`。', 'type' => 'string', 'example' => 'dts-cn-****.aliyuncs.com:18001'], ], ], - 'SubscribeTopic' => [ - 'description' => '订阅Topic。'."\n" - .'> 当该订阅实例为新版,且调用[CreateConsumerGroup](~~122863~~)接口创建了消费组时,才会返回本参数。', - 'type' => 'string', - 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2', - ], - 'ConsumptionCheckpoint' => [ - 'description' => '订阅任务的下游消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-23T07:30:31Z', - ], - 'BeginTimestamp' => [ - 'description' => '订阅实例中保存的数据范围的起始时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-15T08:25:34Z', - ], - 'EndTimestamp' => [ - 'description' => '订阅实例中保存的数据范围的截止时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-26T14:03:21Z', - ], - 'ConsumptionClient' => [ - 'description' => '下游消费客户端信息,由IP地址和DTS随机生成的随机数组成。', - 'type' => 'string', - 'example' => '114.***.***.**:dts********', - ], - 'DestNetType' => [ - 'description' => '消费客户端所属网络类型:'."\n" - ."\n" - .'- **CLASSIC**:经典网络。'."\n" - .'- **VPC**:专有网络。', - 'type' => 'string', - 'example' => 'VPC', - ], + 'SubscribeTopic' => ['description' => '订阅Topic。'."\n" + .'> 当该订阅实例为新版,且调用[CreateConsumerGroup](~~122863~~)接口创建了消费组时,才会返回本参数。', 'type' => 'string', 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2'], + 'ConsumptionCheckpoint' => ['description' => '订阅任务的下游消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-23T07:30:31Z'], + 'BeginTimestamp' => ['description' => '订阅实例中保存的数据范围的起始时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-15T08:25:34Z'], + 'EndTimestamp' => ['description' => '订阅实例中保存的数据范围的截止时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-26T14:03:21Z'], + 'ConsumptionClient' => ['description' => '下游消费客户端信息,由IP地址和DTS随机生成的随机数组成。', 'type' => 'string', 'example' => '114.***.***.**:dts********'], + 'DestNetType' => ['description' => '消费客户端所属网络类型:'."\n" + ."\n" + .'- **CLASSIC**:经典网络。'."\n" + .'- **VPC**:专有网络。', 'type' => 'string', 'example' => 'VPC'], 'SubscriptionDataType' => [ 'description' => '订阅数据的类型。', 'type' => 'object', 'properties' => [ - 'Ddl' => [ - 'description' => '订阅数据是否包含DDL语句,返回值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Dml' => [ - 'description' => '订阅数据是否包含DML语句,返回值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Ddl' => ['description' => '订阅数据是否包含DDL语句,返回值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'Dml' => ['description' => '订阅数据是否包含DML语句,返回值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], - 'AppName' => [ - 'description' => '是否为新版订阅,new(新版订阅)。'."\n" - ."\n" - .'> 该参数仅在新版订阅实例中返回。', - 'type' => 'string', - 'example' => 'new', - ], - 'EtlCalculator' => [ - 'description' => 'ETL任务的算子信息。'."\n" - .'> 当任务为ETL时,才会返回本参数。', - 'type' => 'string', - 'example' => '{ "cells ": [{\\"shape\\":\\"edge\\",\\"attrs\\":{\\"line\\":{\\"stroke\\":\\"#b1b1b1\\",\\"strokeWidth\\":1,\\"targetMarker\\":{\\"name\\":\\"block\\",\\"args\\":{\\"size\\":\\"8\\"}},\\"strokeDasharray\\":\\"\\"}},\\"id\\":\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\",\\"source\\":{\\"cell\\":\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\",\\"port\\":\\"out1\\"},\\"target\\":{\\"cell\\":\\"b36770df-f48c-4d6b-9644-54c5e924****\\",\\"port\\":\\"in1\\"},\\"zIndex\\":7 }] }', - ], + 'AppName' => ['description' => '是否为新版订阅,new(新版订阅)。'."\n" + ."\n" + .'> 该参数仅在新版订阅实例中返回。', 'type' => 'string', 'example' => 'new'], + 'EtlCalculator' => ['description' => 'ETL任务的算子信息。'."\n" + .'> 当任务为ETL时,才会返回本参数。', 'type' => 'string', 'example' => '{ "cells ": [{\\"shape\\":\\"edge\\",\\"attrs\\":{\\"line\\":{\\"stroke\\":\\"#b1b1b1\\",\\"strokeWidth\\":1,\\"targetMarker\\":{\\"name\\":\\"block\\",\\"args\\":{\\"size\\":\\"8\\"}},\\"strokeDasharray\\":\\"\\"}},\\"id\\":\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\",\\"source\\":{\\"cell\\":\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\",\\"port\\":\\"out1\\"},\\"target\\":{\\"cell\\":\\"b36770df-f48c-4d6b-9644-54c5e924****\\",\\"port\\":\\"in1\\"},\\"zIndex\\":7 }] }'], 'RetryState' => [ 'description' => '由于任务异常,DTS正在重试。', 'type' => 'object', 'properties' => [ - 'JobId' => [ - 'title' => '任务ID', - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'ta7w132u12h****', - ], - 'MaxRetryTime' => [ - 'title' => '最大重试时间,单位秒', - 'description' => '最大重试时间,单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '7200', - ], - 'RetryTime' => [ - 'title' => '已重试时间,单位秒', - 'description' => '已重试时间,单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3600', - ], - 'RetryCount' => [ - 'title' => '已重试次数', - 'description' => '已重试次数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Retrying' => [ - 'title' => '是否重试中', - 'description' => '是否在重试中,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Module' => [ - 'title' => '模块名称 reader/store/writer/full/struct', - 'description' => '实例进展。', - 'type' => 'string', - 'example' => '03', - ], - 'RetryTarget' => [ - 'title' => 'srcDB/destDB/metaDB/dstore', - 'description' => '重试目标,返回值:'."\n" - ."\n" - .'- **srcDB**:源数据库。'."\n" - .'- **destDB**:目标数据库。'."\n" - .'- **inner_module**:DTS内部模块。', - 'type' => 'string', - 'example' => 'srcDB', - ], - 'ErrMsg' => [ - 'title' => '错误信息', - 'description' => '报错信息。', - 'type' => 'string', - 'example' => 'CHECK__ERROR_SAME_OBJ', - ], + 'JobId' => ['title' => '任务ID', 'description' => '任务ID。', 'type' => 'string', 'example' => 'ta7w132u12h****'], + 'MaxRetryTime' => ['title' => '最大重试时间,单位秒', 'description' => '最大重试时间,单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '7200'], + 'RetryTime' => ['title' => '已重试时间,单位秒', 'description' => '已重试时间,单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '3600'], + 'RetryCount' => ['title' => '已重试次数', 'description' => '已重试次数。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'Retrying' => ['title' => '是否重试中', 'description' => '是否在重试中,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'Module' => ['title' => '模块名称 reader/store/writer/full/struct', 'description' => '实例进展。', 'type' => 'string', 'example' => '03'], + 'RetryTarget' => ['title' => 'srcDB/destDB/metaDB/dstore', 'description' => '重试目标,返回值:'."\n" + ."\n" + .'- **srcDB**:源数据库。'."\n" + .'- **destDB**:目标数据库。'."\n" + .'- **inner_module**:DTS内部模块。', 'type' => 'string', 'example' => 'srcDB'], + 'ErrMsg' => ['title' => '错误信息', 'description' => '报错信息。', 'type' => 'string', 'example' => 'CHECK__ERROR_SAME_OBJ'], ], ], - 'OriginType' => [ - 'title' => '任务来源 pts任务、dms任务 (PTS, DMS, DTS)', - 'description' => '任务来源:'."\n" - .'- **PTS任务**'."\n" - .'- **DMS任务**'."\n" - .'- **DTS任务**', - 'type' => 'string', - 'example' => 'DTS任务', - ], - 'JobType' => [ - 'title' => '返回结果中新增jobType字段', - 'description' => 'DTS实例的任务类型,取值:'."\n" - ."\n" - .'- **online**:迁移。'."\n" - .'- **SYNC**:同步。'."\n" - .'- **SUBSCRIBE**:订阅。', - 'type' => 'string', - 'example' => 'SYNC', - ], - 'IsDemoJob' => [ - 'description' => '是否子任务,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'TaskType' => [ - 'description' => '任务类型。', - 'type' => 'string', - 'example' => 'rds', - ], - 'MinDu' => [ - 'description' => 'DU下限。'."\n" - ."\n" - .'> 仅Serverless实例支持。', - 'type' => 'number', - 'format' => 'double', - 'example' => '1', - ], - 'MaxDu' => [ - 'description' => 'DU上限。'."\n" - ."\n" - .'> 仅Serverless实例支持。', - 'type' => 'number', - 'format' => 'double', - 'example' => '16', - ], + 'OriginType' => ['title' => '任务来源 pts任务、dms任务 (PTS, DMS, DTS)', 'description' => '任务来源:'."\n" + .'- **PTS任务**'."\n" + .'- **DMS任务**'."\n" + .'- **DTS任务**', 'type' => 'string', 'example' => 'DTS任务'], + 'JobType' => ['title' => '返回结果中新增jobType字段', 'description' => 'DTS实例的任务类型,取值:'."\n" + ."\n" + .'- **online**:迁移。'."\n" + .'- **SYNC**:同步。'."\n" + .'- **SUBSCRIBE**:订阅。', 'type' => 'string', 'example' => 'SYNC'], + 'IsDemoJob' => ['description' => '是否子任务,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'false'], + 'TaskType' => ['description' => '任务类型。', 'type' => 'string', 'example' => 'rds'], + 'MinDu' => ['description' => 'DU下限。'."\n" + ."\n" + .'> 仅Serverless实例支持。', 'type' => 'number', 'format' => 'double', 'example' => '1'], + 'MaxDu' => ['description' => 'DU上限。'."\n" + ."\n" + .'> 仅Serverless实例支持。', 'type' => 'number', 'format' => 'double', 'example' => '16'], ], ], ], - 'JobType' => [ - 'description' => '指示任务的类型,取值:'."\n" - .'- **sync**:同步任务。'."\n" - .'- **subSync**:修改同步对象产生的子任务。'."\n" - ."\n" - .'> 一般与**TaskType**搭配使用。', - 'type' => 'string', - 'example' => 'sync', - ], - 'TaskType' => [ - 'description' => '指示任务的业务类型。'."\n" - .'> 一般与**JobType**搭配使用。', - 'type' => 'string', - 'example' => 'Distributed_xxx', - ], - 'DedicatedClusterId' => [ - 'description' => '专属集群ID。', - 'type' => 'string', - 'example' => 'dtsxxxxx', - ], + 'JobType' => ['description' => '指示任务的类型,取值:'."\n" + .'- **sync**:同步任务。'."\n" + .'- **subSync**:修改同步对象产生的子任务。'."\n" + ."\n" + .'> 一般与**TaskType**搭配使用。', 'type' => 'string', 'example' => 'sync'], + 'TaskType' => ['description' => '指示任务的业务类型。'."\n" + .'> 一般与**JobType**搭配使用。', 'type' => 'string', 'example' => 'Distributed_xxx'], + 'DedicatedClusterId' => ['description' => '专属集群ID。', 'type' => 'string', 'example' => 'dtsxxxxx'], 'DataSynchronizationStatus' => [ 'description' => '增量数据迁移或同步的状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '增量数据迁移或同步状态,返回值为:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移或同步中。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Checking**:检查中。'."\n" - .'- **Failed**:迁移或同步失败。'."\n" - .'- **Finished**:迁移或同步完成。'."\n" - .'- **Catched**:无延迟。', - 'type' => 'string', - 'example' => 'Catched', - ], - 'NeedUpgrade' => [ - 'description' => '是否显示升级实例规格,返回值:'."\n" - ."\n" - .'- **true**:需要。'."\n" - .'- **false**:不需要。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Percent' => [ - 'description' => '增量数据迁移或同步进度,单位为百分比。', - 'type' => 'string', - 'example' => '95', - ], - 'Progress' => [ - 'description' => '每秒增量同步或迁移至目标表的数据行数和数据量。', - 'type' => 'string', - 'example' => '0.00RPS/(0.000MB/s)', - ], - 'ErrorMessage' => [ - 'description' => '增量数据迁移或同步失败的错误提示。', - 'type' => 'string', - 'example' => '任务失败太久无法恢复', - ], + 'Status' => ['description' => '增量数据迁移或同步状态,返回值为:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移或同步中。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Checking**:检查中。'."\n" + .'- **Failed**:迁移或同步失败。'."\n" + .'- **Finished**:迁移或同步完成。'."\n" + .'- **Catched**:无延迟。', 'type' => 'string', 'example' => 'Catched'], + 'NeedUpgrade' => ['description' => '是否显示升级实例规格,返回值:'."\n" + ."\n" + .'- **true**:需要。'."\n" + .'- **false**:不需要。', 'type' => 'boolean', 'example' => 'true'], + 'Percent' => ['description' => '增量数据迁移或同步进度,单位为百分比。', 'type' => 'string', 'example' => '95'], + 'Progress' => ['description' => '每秒增量同步或迁移至目标表的数据行数和数据量。', 'type' => 'string', 'example' => '0.00RPS/(0.000MB/s)'], + 'ErrorMessage' => ['description' => '增量数据迁移或同步失败的错误提示。', 'type' => 'string', 'example' => '任务失败太久无法恢复'], ], ], - 'BootTime' => [ - 'description' => '具体项目启动时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-30T03:36:11.000', - ], - 'Binlog' => [ - 'description' => 'Binlog信息。', - 'type' => 'string', - 'example' => '****', - ], - 'BinlogSite' => [ - 'description' => '当前位点。', - 'type' => 'string', - 'example' => '156629109****', - ], - 'BinlogTime' => [ - 'description' => '位点范围。', - 'type' => 'string', - 'example' => '****', - ], - 'LastUpdateTime' => [ - 'description' => '最后一次更新的时间戳。', - 'type' => 'string', - 'example' => '156629109****', - ], + 'BootTime' => ['description' => '具体项目启动时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-30T03:36:11.000'], + 'Binlog' => ['description' => 'Binlog信息。', 'type' => 'string', 'example' => '****'], + 'BinlogSite' => ['description' => '当前位点。', 'type' => 'string', 'example' => '156629109****'], + 'BinlogTime' => ['description' => '位点范围。', 'type' => 'string', 'example' => '****'], + 'LastUpdateTime' => ['description' => '最后一次更新的时间戳。', 'type' => 'string', 'example' => '156629109****'], 'RetryState' => [ 'description' => '由于任务异常,DTS正在重试。', 'type' => 'object', 'properties' => [ - 'RetryCount' => [ - 'description' => '已重试次数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'MaxRetryTime' => [ - 'description' => '最大重试时间,单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '7200', - ], - 'ErrMessage' => [ - 'description' => '重试失败的错误提示。', - 'type' => 'string', - 'example' => 'Unexpected error', - ], - 'RetryTarget' => [ - 'description' => '重试目标,返回值:'."\n" - ."\n" - .'- **srcDB**:源数据库。'."\n" - .'- **destDB**:目标数据库。'."\n" - .'- **inner_module**:DTS内部模块。', - 'type' => 'string', - 'example' => 'srcDB', - ], - 'RetryTime' => [ - 'description' => '已重试时间,单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3600', - ], - 'Module' => [ - 'description' => '实例进展。', - 'type' => 'string', - 'example' => '03', - ], - 'JobId' => [ - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'bi6e22ay243****', - ], - 'Retrying' => [ - 'description' => '任务是否在重试中,返回值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'false', - ], + 'RetryCount' => ['description' => '已重试次数。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'MaxRetryTime' => ['description' => '最大重试时间,单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '7200'], + 'ErrMessage' => ['description' => '重试失败的错误提示。', 'type' => 'string', 'example' => 'Unexpected error'], + 'RetryTarget' => ['description' => '重试目标,返回值:'."\n" + ."\n" + .'- **srcDB**:源数据库。'."\n" + .'- **destDB**:目标数据库。'."\n" + .'- **inner_module**:DTS内部模块。', 'type' => 'string', 'example' => 'srcDB'], + 'RetryTime' => ['description' => '已重试时间,单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '3600'], + 'Module' => ['description' => '实例进展。', 'type' => 'string', 'example' => '03'], + 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'bi6e22ay243****'], + 'Retrying' => ['description' => '任务是否在重试中,返回值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'false'], ], ], - 'ResourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-acfmzawhxxc****', - ], - 'ResourceGroupDisplayName' => [ - 'description' => '资源组名称。', - 'type' => 'string', - 'example' => 'default resource group', - ], - 'DtsBisLabel' => [ - 'description' => 'DTS实例的环境标签,返回值为:'."\n" - ."\n" - .'- **normal**:**普通**'."\n" - .'- **online**:**线上**', - 'type' => 'string', - 'example' => 'normal', - ], + 'ResourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-acfmzawhxxc****'], + 'ResourceGroupDisplayName' => ['description' => '资源组名称。', 'type' => 'string', 'example' => 'default resource group'], + 'DtsBisLabel' => ['description' => 'DTS实例的环境标签,返回值为:'."\n" + ."\n" + .'- **normal**:**普通**'."\n" + .'- **online**:**线上**', 'type' => 'string', 'example' => 'normal'], 'DataDeliveryChannelInfo' => [ 'description' => '数据投递通道信息。', 'type' => 'object', 'properties' => [ - 'PublicDproxyUrl' => [ - 'description' => '投递通道的公网地址。', - 'type' => 'string', - 'example' => 'dts-****.aliyuncs.com:18***', - ], - 'VpcDproxyUrl' => [ - 'description' => '投递通道的VPC网络地址。', - 'type' => 'string', - 'example' => 'dts-****.aliyuncs.com:18***', - ], - 'Topic' => [ - 'description' => '投递的目标Topic。', - 'type' => 'string', - 'example' => 'cn_hangzhou_******_data_delivery_version2', - ], - 'Region' => [ - 'description' => '投递通道所在区域。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'PartitionNum' => [ - 'title' => 'partition分片数', - 'description' => '投递Topic的分片数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], + 'PublicDproxyUrl' => ['description' => '投递通道的公网地址。', 'type' => 'string', 'example' => 'dts-****.aliyuncs.com:18***'], + 'VpcDproxyUrl' => ['description' => '投递通道的VPC网络地址。', 'type' => 'string', 'example' => 'dts-****.aliyuncs.com:18***'], + 'Topic' => ['description' => '投递的目标Topic。', 'type' => 'string', 'example' => 'cn_hangzhou_******_data_delivery_version2'], + 'Region' => ['description' => '投递通道所在区域。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'PartitionNum' => ['title' => 'partition分片数', 'description' => '投递Topic的分片数。', 'type' => 'integer', 'format' => 'int32', 'example' => '3'], ], ], - 'MinDu' => [ - 'description' => 'DU下限。'."\n" - ."\n" - .'> 仅Serverless实例支持。', - 'type' => 'number', - 'format' => 'double', - 'example' => '1', - ], - 'MaxDu' => [ - 'description' => 'DU上限。'."\n" - ."\n" - .'> 仅Serverless实例支持。', - 'type' => 'number', - 'format' => 'double', - 'example' => '16', - ], - 'InitCheckpoint' => [ - 'type' => 'string', - ], - 'InsightModule' => [ - 'type' => 'boolean', - ], + 'MinDu' => ['description' => 'DU下限。'."\n" + ."\n" + .'> 仅Serverless实例支持。', 'type' => 'number', 'format' => 'double', 'example' => '1'], + 'MaxDu' => ['description' => 'DU上限。'."\n" + ."\n" + .'> 仅Serverless实例支持。', 'type' => 'number', 'format' => 'double', 'example' => '16'], + 'InitCheckpoint' => ['type' => 'string', 'description' => ''], + 'InsightModule' => ['type' => 'boolean'], + 'ApprovalProcessUrl' => ['type' => 'string'], + 'ApprovalProcessStatus' => ['type' => 'integer', 'format' => 'int64'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"Migrating\\",\\n \\"DtsJobName\\": \\"api_test\\",\\n \\"FinishTime\\": \\"2023-06-16T10:34:17Z\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"CreateTime\\": \\"2022-03-16T08:01:19Z\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"DatabaseCount\\": 2,\\n \\"DtsJobClass\\": \\"xlarge\\",\\n \\"EndTimestamp\\": \\"2022-03-26T14:03:21Z\\",\\n \\"AppName\\": \\"new\\",\\n \\"DestNetType\\": \\"VPC\\",\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"DtsInstanceID\\": \\"dtsi03e3zty16i****\\",\\n \\"RequestId\\": \\"29207299-7C41-493A-BA4F-2FAC5DE4****\\",\\n \\"Code\\": 200,\\n \\"Checkpoint\\": 1616405159,\\n \\"Delay\\": 0,\\n \\"ExpireTime\\": \\"2023-06-16T08:01:19Z\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"DbObject\\": \\"{\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"state\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"normal\\\\\\\\\\\\\\"}}\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"ConsumptionCheckpoint\\": \\"2022-03-23T07:30:31Z\\",\\n \\"EtlCalculator\\": \\"{ \\\\t\\\\\\"cells \\\\\\": [{\\\\\\\\\\\\\\"shape\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edge\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"attrs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"line\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"stroke\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"#b1b1b1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"strokeWidth\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"targetMarker\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"block\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"args\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"strokeDasharray\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"source\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"out1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"target\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"b36770df-f48c-4d6b-9644-54c5e924****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"in1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"zIndex\\\\\\\\\\\\\\":7 \\\\t}] }\\",\\n \\"HttpStatusCode\\": 200,\\n \\"BeginTimestamp\\": \\"2022-03-15T08:25:34Z\\",\\n \\"GroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"DemoJob\\": false,\\n \\"SourceEndpoint\\": {\\n \\"OracleSID\\": \\"testsid\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"AliyunUid\\": \\"140692647406****\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"CanModifyPassword\\": false\\n },\\n \\"DestinationEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"Ip\\": \\"172.16.XX.XX\\",\\n \\"InstanceID\\": \\"rm-bp1imrtn6fq7h****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"CanModifyPassword\\": false,\\n \\"RoleName\\": \\"\\",\\n \\"AliyunUid\\": \\"\\"\\n },\\n \\"MigrationMode\\": {\\n \\"DataExtractTransformLoad\\": false,\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"StructureInitialization\\": true\\n },\\n \\"SubscriptionHost\\": {\\n \\"VpcHost\\": \\"dts-cn-****-vpc.aliyuncs.com:18003\\",\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\"\\n },\\n \\"SubscriptionDataType\\": {\\n \\"Dml\\": true,\\n \\"Ddl\\": true\\n },\\n \\"SubDistributedJob\\": [\\n {\\n \\"SubSyncJob\\": [\\n \\"****\\"\\n ],\\n \\"DtsInstanceID\\": \\"dtsnjuc14kp12u****\\",\\n \\"DtsJobId\\": \\"m06j1g92124****\\",\\n \\"DtsJobName\\": \\"dtstest****\\",\\n \\"GroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"DatabaseCount\\": 2,\\n \\"DtsJobClass\\": \\"xlarge\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ExpireTime\\": \\"2023-06-16T08:01:19Z\\",\\n \\"CreateTime\\": \\"2023-01-12T08:34:11Z\\",\\n \\"FinishTime\\": \\"2023-06-16T10:34:17Z\\",\\n \\"SourceEndpoint\\": {\\n \\"InstanceID\\": \\"dtsnjuc14kp12u****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp1f9guj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DbObject\\": \\"{\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"state\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"normal\\\\\\\\\\\\\\"}}\\",\\n \\"MigrationMode\\": {\\n \\"StructureInitialization\\": true,\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"DataExtractTransformLoad\\": false\\n },\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Delay\\": 0,\\n \\"TagList\\": [\\n {\\n \\"Id\\": 2,\\n \\"GmtCreate\\": \\"2022-03-16T08:01:19Z\\",\\n \\"GmtModified\\": \\"2022-03-16T08:01:19Z\\",\\n \\"ResourceId\\": \\"dtsnjuc14kp12u****\\",\\n \\"ResourceType\\": \\"ALIYUN::DTS::INSTANCE\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AliUid\\": 0,\\n \\"TagKey\\": \\"key1\\",\\n \\"TagValue\\": \\"value1\\",\\n \\"TagCategory\\": \\"System\\",\\n \\"SrcRegion\\": \\"cn-hangzhou\\",\\n \\"Scope\\": \\"0\\",\\n \\"Creator\\": 0\\n }\\n ],\\n \\"Checkpoint\\": \\"1616405159\\",\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Detail\\": [\\n {\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckResult\\": \\"Success\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"1\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0.00RPS/(0.000MB/s)\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataEtlStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"ReverseJob\\": {\\n \\"DtsInstanceID\\": \\"dtsnjuc14kp12u****\\",\\n \\"DtsJobId\\": \\"m06j1g92124****\\",\\n \\"DtsJobName\\": \\"dtstest****\\",\\n \\"GroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"DatabaseCount\\": 2,\\n \\"DtsJobClass\\": \\"xlarge\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ExpireTime\\": \\"2023-06-16T08:01:19Z\\",\\n \\"CreateTime\\": \\"2023-01-12T08:34:11Z\\",\\n \\"FinishTime\\": \\"2023-06-16T10:34:17Z\\",\\n \\"SourceEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp2f3huj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp1f9guj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DbObject\\": \\"{\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"state\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"normal\\\\\\\\\\\\\\"}}\\",\\n \\"MigrationMode\\": {\\n \\"StructureInitialization\\": true,\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"DataExtractTransformLoad\\": false\\n },\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Delay\\": 0,\\n \\"TagList\\": [\\n {\\n \\"Id\\": 2,\\n \\"GmtCreate\\": \\"2022-03-16T08:01:19Z\\",\\n \\"GmtModified\\": \\"2022-03-16T08:01:19Z\\",\\n \\"ResourceId\\": \\"dtsnjuc14kp12u****\\",\\n \\"ResourceType\\": \\"ALIYUN::DTS::INSTANCE\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AliUid\\": 0,\\n \\"TagKey\\": \\"key1\\",\\n \\"TagValue\\": \\"value1\\",\\n \\"TagCategory\\": \\"System\\",\\n \\"SrcRegion\\": \\"cn-hangzhou\\",\\n \\"Scope\\": \\"0\\",\\n \\"Creator\\": 0\\n }\\n ],\\n \\"Checkpoint\\": \\"1616405159\\",\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Detail\\": [\\n {\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckResult\\": \\"Success\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"1\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0.00RPS/(0.000MB/s)\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataEtlStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"ReverseJob\\": \\"****\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"SubscriptionHost\\": {\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\",\\n \\"VpcHost\\": \\"dts-cn-****.aliyuncs.com:18001\\"\\n },\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"ConsumptionCheckpoint\\": \\"2022-03-23T07:30:31Z\\",\\n \\"BeginTimestamp\\": \\"2022-03-15T08:25:34Z\\",\\n \\"EndTimestamp\\": \\"2022-03-26T14:03:21Z\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"DestNetType\\": \\"VPC\\",\\n \\"SubscriptionDataType\\": {\\n \\"Ddl\\": true,\\n \\"Dml\\": true\\n },\\n \\"AppName\\": \\"new\\",\\n \\"EtlCalculator\\": \\"{ \\\\\\"cells \\\\\\": [{\\\\\\\\\\\\\\"shape\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edge\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"attrs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"line\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"stroke\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"#b1b1b1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"strokeWidth\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"targetMarker\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"block\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"args\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"strokeDasharray\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"source\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"out1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"target\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"b36770df-f48c-4d6b-9644-54c5e924****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"in1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"zIndex\\\\\\\\\\\\\\":7 }] }\\",\\n \\"RetryState\\": {\\n \\"JobId\\": \\"ta7w132u12h****\\",\\n \\"MaxRetryTime\\": 7200,\\n \\"RetryTime\\": 3600,\\n \\"RetryCount\\": 5,\\n \\"Retrying\\": true,\\n \\"Module\\": \\"03\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"ErrMsg\\": \\"CHECK__ERROR_SAME_OBJ\\"\\n },\\n \\"OriginType\\": \\"DTS任务\\",\\n \\"JobType\\": \\"SYNC\\",\\n \\"IsDemoJob\\": false,\\n \\"TaskType\\": \\"rds\\",\\n \\"MinDu\\": 1,\\n \\"MaxDu\\": 16\\n },\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"SubscriptionHost\\": {\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\",\\n \\"VpcHost\\": \\"dts-cn-****.aliyuncs.com:18001\\"\\n },\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"ConsumptionCheckpoint\\": \\"2022-03-23T07:30:31Z\\",\\n \\"BeginTimestamp\\": \\"2022-03-15T08:25:34Z\\",\\n \\"EndTimestamp\\": \\"2022-03-26T14:03:21Z\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"DestNetType\\": \\"VPC\\",\\n \\"SubscriptionDataType\\": {\\n \\"Ddl\\": true,\\n \\"Dml\\": true\\n },\\n \\"AppName\\": \\"new\\",\\n \\"EtlCalculator\\": \\"{ \\\\\\"cells \\\\\\": [{\\\\\\\\\\\\\\"shape\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edge\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"attrs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"line\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"stroke\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"#b1b1b1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"strokeWidth\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"targetMarker\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"block\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"args\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"strokeDasharray\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"source\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"out1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"target\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"b36770df-f48c-4d6b-9644-54c5e924****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"in1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"zIndex\\\\\\\\\\\\\\":7 }] }\\",\\n \\"RetryState\\": {\\n \\"JobId\\": \\"ta7w132u12h****\\",\\n \\"MaxRetryTime\\": 7200,\\n \\"RetryTime\\": 3600,\\n \\"RetryCount\\": 5,\\n \\"Retrying\\": true,\\n \\"Module\\": \\"03\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"ErrMsg\\": \\"CHECK__ERROR_SAME_OBJ\\"\\n },\\n \\"OriginType\\": \\"DTS任务\\",\\n \\"JobType\\": \\"SYNC\\",\\n \\"IsDemoJob\\": false,\\n \\"TaskType\\": \\"rds\\",\\n \\"MinDu\\": 1,\\n \\"MaxDu\\": 16\\n }\\n ],\\n \\"SubSyncJob\\": [\\n {\\n \\"SubSyncJob\\": [\\n \\"****\\"\\n ],\\n \\"DtsInstanceID\\": \\"dtsnjuc14kp12u****\\",\\n \\"DtsJobId\\": \\"m06j1g92124****\\",\\n \\"DtsJobName\\": \\"dtstest****\\",\\n \\"GroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"DatabaseCount\\": 2,\\n \\"DtsJobClass\\": \\"xlarge\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ExpireTime\\": \\"2023-06-16T08:01:19Z\\",\\n \\"CreateTime\\": \\"2023-01-12T08:34:11Z\\",\\n \\"FinishTime\\": \\"2023-06-16T10:34:17Z\\",\\n \\"SourceEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp2f3huj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp1f9guj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DbObject\\": \\"{\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"state\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"normal\\\\\\\\\\\\\\"}}\\",\\n \\"MigrationMode\\": {\\n \\"StructureInitialization\\": true,\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"DataExtractTransformLoad\\": false\\n },\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Delay\\": 0,\\n \\"TagList\\": [\\n {\\n \\"Id\\": 2,\\n \\"GmtCreate\\": \\"2022-03-16T08:01:19Z\\",\\n \\"GmtModified\\": \\"2022-03-16T08:01:19Z\\",\\n \\"ResourceId\\": \\"dtsnjuc14kp12u****\\",\\n \\"ResourceType\\": \\"ALIYUN::DTS::INSTANCE\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AliUid\\": 0,\\n \\"TagKey\\": \\"key1\\",\\n \\"TagValue\\": \\"value1\\",\\n \\"TagCategory\\": \\"System\\",\\n \\"SrcRegion\\": \\"cn-hangzhou\\",\\n \\"Scope\\": \\"0\\",\\n \\"Creator\\": 0\\n }\\n ],\\n \\"Checkpoint\\": \\"1616405159\\",\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Detail\\": [\\n {\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckResult\\": \\"Success\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"1\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0.00RPS/(0.000MB/s)\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataEtlStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"ReverseJob\\": {\\n \\"DtsInstanceID\\": \\"dtsnjuc14kp12u****\\",\\n \\"DtsJobId\\": \\"m06j1g92124****\\",\\n \\"DtsJobName\\": \\"dtstest****\\",\\n \\"GroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"DatabaseCount\\": 2,\\n \\"DtsJobClass\\": \\"xlarge\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ExpireTime\\": \\"2023-06-16T08:01:19Z\\",\\n \\"CreateTime\\": \\"2023-01-12T08:34:11Z\\",\\n \\"FinishTime\\": \\"2023-06-16T10:34:17Z\\",\\n \\"SourceEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp2f3huj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp1f9guj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX,XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DbObject\\": \\"{\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"state\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"normal\\\\\\\\\\\\\\"}}\\",\\n \\"MigrationMode\\": {\\n \\"StructureInitialization\\": true,\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"DataExtractTransformLoad\\": false\\n },\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Delay\\": 0,\\n \\"TagList\\": [\\n {\\n \\"Id\\": 2,\\n \\"GmtCreate\\": \\"2022-03-16T08:01:19Z\\",\\n \\"GmtModified\\": \\"2022-03-16T08:01:19Z\\",\\n \\"ResourceId\\": \\"dtsnjuc14kp12u****\\",\\n \\"ResourceType\\": \\"ALIYUN::DTS::INSTANCE\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AliUid\\": 0,\\n \\"TagKey\\": \\"key1\\",\\n \\"TagValue\\": \\"value1\\",\\n \\"TagCategory\\": \\"System\\",\\n \\"SrcRegion\\": \\"cn-hangzhou\\",\\n \\"Scope\\": \\"0\\",\\n \\"Creator\\": 0\\n }\\n ],\\n \\"Checkpoint\\": \\"1616405159\\",\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Detail\\": [\\n {\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckResult\\": \\"Success\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"1\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0.00RPS/(0.000MB/s)\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataEtlStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"ReverseJob\\": \\"****\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"SubscriptionHost\\": {\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\",\\n \\"VpcHost\\": \\"dts-cn-****.aliyuncs.com:18001\\"\\n },\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"ConsumptionCheckpoint\\": \\"2022-03-23T07:30:31Z\\",\\n \\"BeginTimestamp\\": \\"2022-03-15T08:25:34Z\\",\\n \\"EndTimestamp\\": \\"2022-03-26T14:03:21Z\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"DestNetType\\": \\"VPC\\",\\n \\"SubscriptionDataType\\": {\\n \\"Ddl\\": true,\\n \\"Dml\\": true\\n },\\n \\"AppName\\": \\"new\\",\\n \\"EtlCalculator\\": \\"{ \\\\\\"cells \\\\\\": [{\\\\\\\\\\\\\\"shape\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edge\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"attrs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"line\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"stroke\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"#b1b1b1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"strokeWidth\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"targetMarker\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"block\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"args\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"strokeDasharray\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"source\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"out1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"target\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"b36770df-f48c-4d6b-9644-54c5e924****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"in1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"zIndex\\\\\\\\\\\\\\":7 }] }\\",\\n \\"RetryState\\": {\\n \\"JobId\\": \\"ta7w132u12h****\\",\\n \\"MaxRetryTime\\": 7200,\\n \\"RetryTime\\": 3600,\\n \\"RetryCount\\": 5,\\n \\"Retrying\\": true,\\n \\"Module\\": \\"03\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"ErrMsg\\": \\"CHECK__ERROR_SAME_OBJ\\"\\n },\\n \\"OriginType\\": \\"DTS任务\\",\\n \\"JobType\\": \\"SYNC\\",\\n \\"IsDemoJob\\": false,\\n \\"TaskType\\": \\"rds\\"\\n },\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"SubscriptionHost\\": {\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\",\\n \\"VpcHost\\": \\"dts-cn-****.aliyuncs.com:18001\\"\\n },\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"ConsumptionCheckpoint\\": \\"2022-03-23T07:30:31Z\\",\\n \\"BeginTimestamp\\": \\"2022-03-15T08:25:34Z\\",\\n \\"EndTimestamp\\": \\"2022-03-26T14:03:21Z\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"DestNetType\\": \\"VPC\\",\\n \\"SubscriptionDataType\\": {\\n \\"Ddl\\": true,\\n \\"Dml\\": true\\n },\\n \\"AppName\\": \\"new\\",\\n \\"EtlCalculator\\": \\"{ \\\\\\"cells \\\\\\": [{\\\\\\\\\\\\\\"shape\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edge\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"attrs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"line\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"stroke\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"#b1b1b1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"strokeWidth\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"targetMarker\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"block\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"args\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"strokeDasharray\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"source\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"out1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"target\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"b36770df-f48c-4d6b-9644-54c5e924****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"in1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"zIndex\\\\\\\\\\\\\\":7 }] }\\",\\n \\"RetryState\\": {\\n \\"JobId\\": \\"ta7w132u12h****\\",\\n \\"MaxRetryTime\\": 7200,\\n \\"RetryTime\\": 3600,\\n \\"RetryCount\\": 5,\\n \\"Retrying\\": true,\\n \\"Module\\": \\"03\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"ErrMsg\\": \\"CHECK__ERROR_SAME_OBJ\\"\\n },\\n \\"OriginType\\": \\"DTS任务\\",\\n \\"JobType\\": \\"SYNC\\",\\n \\"IsDemoJob\\": false,\\n \\"TaskType\\": \\"rds\\",\\n \\"MinDu\\": 1,\\n \\"MaxDu\\": 16\\n }\\n ],\\n \\"JobType\\": \\"sync\\",\\n \\"TaskType\\": \\"Distributed_xxx\\",\\n \\"DedicatedClusterId\\": \\"dtsxxxxx\\",\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"NeedUpgrade\\": true,\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0.00RPS/(0.000MB/s)\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\"\\n },\\n \\"BootTime\\": \\"2022-03-30T03:36:11.000\\",\\n \\"Binlog\\": \\"****\\",\\n \\"BinlogSite\\": \\"156629109****\\",\\n \\"BinlogTime\\": \\"****\\",\\n \\"LastUpdateTime\\": \\"156629109****\\",\\n \\"RetryState\\": {\\n \\"RetryCount\\": 5,\\n \\"MaxRetryTime\\": 7200,\\n \\"ErrMessage\\": \\"Unexpected error\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"RetryTime\\": 3600,\\n \\"Module\\": \\"03\\",\\n \\"JobId\\": \\"bi6e22ay243****\\",\\n \\"Retrying\\": false\\n },\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"ResourceGroupDisplayName\\": \\"default resource group\\",\\n \\"DtsBisLabel\\": \\"normal\\",\\n \\"DataDeliveryChannelInfo\\": {\\n \\"PublicDproxyUrl\\": \\"dts-****.aliyuncs.com:18***\\",\\n \\"VpcDproxyUrl\\": \\"dts-****.aliyuncs.com:18***\\",\\n \\"Topic\\": \\"cn_hangzhou_******_data_delivery_version2\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"PartitionNum\\": 3\\n },\\n \\"MinDu\\": 1,\\n \\"MaxDu\\": 16,\\n \\"InitCheckpoint\\": \\"\\",\\n \\"InsightModule\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeDtsJobDetailResponse>\\n <DtsJobName>api测试</DtsJobName>\\n <DtsInstanceID>dtsi03e3zty16i****</DtsInstanceID>\\n <Success>true</Success>\\n <Delay>0</Delay>\\n <MigrationMode>\\n <DataInitialization>true</DataInitialization>\\n <DataSynchronization>true</DataSynchronization>\\n <StructureInitialization>true</StructureInitialization>\\n </MigrationMode>\\n <DtsJobClass>xlarge</DtsJobClass>\\n <DtsJobId>i03e3zty16i****</DtsJobId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Status>Migrating</Status>\\n <RequestId>29207299-7C41-493A-BA4F-2FAC5DE4****</RequestId>\\n <DbObject>{\\"dtstestdata\\":{\\"all\\":true,\\"name\\":\\"dtstestdata\\",\\"state\\":\\"normal\\"}}</DbObject>\\n <CreateTime>2021-03-16T08:01:19Z</CreateTime>\\n <PayType>PostPaid</PayType>\\n <Checkpoint>1616405159</Checkpoint>\\n <DestinationEndpoint>\\n <UserName>dtstest</UserName>\\n <InstanceID>rm-bp1imrtn6fq7h****</InstanceID>\\n <SslSolutionEnum>DISABLE</SslSolutionEnum>\\n <Port>3306</Port>\\n <DatabaseName>dtstestdata</DatabaseName>\\n <Region>cn-hangzhou</Region>\\n <InstanceType>RDS</InstanceType>\\n <EngineName>MySQL</EngineName>\\n </DestinationEndpoint>\\n <SourceEndpoint>\\n <RoleName/>\\n <UserName>dtstest</UserName>\\n <InstanceID>rm-bp1162kryivb8****</InstanceID>\\n <SslSolutionEnum>DISABLE</SslSolutionEnum>\\n <Port>3306</Port>\\n <AliyunUid>140692647406****</AliyunUid>\\n <Region>cn-hangzhou</Region>\\n <InstanceType>RDS</InstanceType>\\n <EngineName>MySQL</EngineName>\\n </SourceEndpoint>\\n <Reserved>{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:1****\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:1****\\",\\"useJobTask\\":\\"1\\"}</Reserved>\\n</DescribeDtsJobDetailResponse>","errorExample":""}]', 'title' => '查询一个DTS任务详情', 'description' => '此接口对调用次数有限制,超过限制后的调用会被拒绝。'."\n" .'- 单个地域累计允许调用的阈值为160次/秒。'."\n" @@ -19050,17 +7994,25 @@ 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDtsJobDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"Migrating\\",\\n \\"DtsJobName\\": \\"api_test\\",\\n \\"FinishTime\\": \\"2023-06-16T10:34:17Z\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"CreateTime\\": \\"2022-03-16T08:01:19Z\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"DatabaseCount\\": 2,\\n \\"DtsJobClass\\": \\"xlarge\\",\\n \\"EndTimestamp\\": \\"2022-03-26T14:03:21Z\\",\\n \\"AppName\\": \\"new\\",\\n \\"DestNetType\\": \\"VPC\\",\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"DtsInstanceID\\": \\"dtsi03e3zty16i****\\",\\n \\"RequestId\\": \\"29207299-7C41-493A-BA4F-2FAC5DE4****\\",\\n \\"Code\\": 200,\\n \\"Checkpoint\\": 1616405159,\\n \\"Delay\\": 0,\\n \\"ExpireTime\\": \\"2023-06-16T08:01:19Z\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"DbObject\\": \\"{\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"state\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"normal\\\\\\\\\\\\\\"}}\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"ConsumptionCheckpoint\\": \\"2022-03-23T07:30:31Z\\",\\n \\"EtlCalculator\\": \\"{ \\\\t\\\\\\"cells \\\\\\": [{\\\\\\\\\\\\\\"shape\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edge\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"attrs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"line\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"stroke\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"#b1b1b1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"strokeWidth\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"targetMarker\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"block\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"args\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"strokeDasharray\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"source\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"out1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"target\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"b36770df-f48c-4d6b-9644-54c5e924****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"in1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"zIndex\\\\\\\\\\\\\\":7 \\\\t}] }\\",\\n \\"HttpStatusCode\\": 200,\\n \\"BeginTimestamp\\": \\"2022-03-15T08:25:34Z\\",\\n \\"GroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"DemoJob\\": false,\\n \\"SourceEndpoint\\": {\\n \\"OracleSID\\": \\"testsid\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"AliyunUid\\": \\"140692647406****\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"CanModifyPassword\\": false\\n },\\n \\"DestinationEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"Ip\\": \\"172.16.XX.XX\\",\\n \\"InstanceID\\": \\"rm-bp1imrtn6fq7h****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"CanModifyPassword\\": false,\\n \\"RoleName\\": \\"\\",\\n \\"AliyunUid\\": \\"\\"\\n },\\n \\"MigrationMode\\": {\\n \\"DataExtractTransformLoad\\": false,\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"StructureInitialization\\": true\\n },\\n \\"SubscriptionHost\\": {\\n \\"VpcHost\\": \\"dts-cn-****-vpc.aliyuncs.com:18003\\",\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\"\\n },\\n \\"SubscriptionDataType\\": {\\n \\"Dml\\": true,\\n \\"Ddl\\": true\\n },\\n \\"SubDistributedJob\\": [\\n {\\n \\"SubSyncJob\\": [\\n \\"****\\"\\n ],\\n \\"DtsInstanceID\\": \\"dtsnjuc14kp12u****\\",\\n \\"DtsJobId\\": \\"m06j1g92124****\\",\\n \\"DtsJobName\\": \\"dtstest****\\",\\n \\"GroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"DatabaseCount\\": 2,\\n \\"DtsJobClass\\": \\"xlarge\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ExpireTime\\": \\"2023-06-16T08:01:19Z\\",\\n \\"CreateTime\\": \\"2023-01-12T08:34:11Z\\",\\n \\"FinishTime\\": \\"2023-06-16T10:34:17Z\\",\\n \\"SourceEndpoint\\": {\\n \\"InstanceID\\": \\"dtsnjuc14kp12u****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp1f9guj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DbObject\\": \\"{\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"state\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"normal\\\\\\\\\\\\\\"}}\\",\\n \\"MigrationMode\\": {\\n \\"StructureInitialization\\": true,\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"DataExtractTransformLoad\\": false\\n },\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Delay\\": 0,\\n \\"TagList\\": [\\n {\\n \\"Id\\": 2,\\n \\"GmtCreate\\": \\"2022-03-16T08:01:19Z\\",\\n \\"GmtModified\\": \\"2022-03-16T08:01:19Z\\",\\n \\"ResourceId\\": \\"dtsnjuc14kp12u****\\",\\n \\"ResourceType\\": \\"ALIYUN::DTS::INSTANCE\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AliUid\\": 0,\\n \\"TagKey\\": \\"key1\\",\\n \\"TagValue\\": \\"value1\\",\\n \\"TagCategory\\": \\"System\\",\\n \\"SrcRegion\\": \\"cn-hangzhou\\",\\n \\"Scope\\": \\"0\\",\\n \\"Creator\\": 0\\n }\\n ],\\n \\"Checkpoint\\": \\"1616405159\\",\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Detail\\": [\\n {\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckResult\\": \\"Success\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"1\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0.00RPS/(0.000MB/s)\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataEtlStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"ReverseJob\\": {\\n \\"DtsInstanceID\\": \\"dtsnjuc14kp12u****\\",\\n \\"DtsJobId\\": \\"m06j1g92124****\\",\\n \\"DtsJobName\\": \\"dtstest****\\",\\n \\"GroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"DatabaseCount\\": 2,\\n \\"DtsJobClass\\": \\"xlarge\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ExpireTime\\": \\"2023-06-16T08:01:19Z\\",\\n \\"CreateTime\\": \\"2023-01-12T08:34:11Z\\",\\n \\"FinishTime\\": \\"2023-06-16T10:34:17Z\\",\\n \\"SourceEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp2f3huj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp1f9guj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DbObject\\": \\"{\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"state\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"normal\\\\\\\\\\\\\\"}}\\",\\n \\"MigrationMode\\": {\\n \\"StructureInitialization\\": true,\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"DataExtractTransformLoad\\": false\\n },\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Delay\\": 0,\\n \\"TagList\\": [\\n {\\n \\"Id\\": 2,\\n \\"GmtCreate\\": \\"2022-03-16T08:01:19Z\\",\\n \\"GmtModified\\": \\"2022-03-16T08:01:19Z\\",\\n \\"ResourceId\\": \\"dtsnjuc14kp12u****\\",\\n \\"ResourceType\\": \\"ALIYUN::DTS::INSTANCE\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AliUid\\": 0,\\n \\"TagKey\\": \\"key1\\",\\n \\"TagValue\\": \\"value1\\",\\n \\"TagCategory\\": \\"System\\",\\n \\"SrcRegion\\": \\"cn-hangzhou\\",\\n \\"Scope\\": \\"0\\",\\n \\"Creator\\": 0\\n }\\n ],\\n \\"Checkpoint\\": \\"1616405159\\",\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Detail\\": [\\n {\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckResult\\": \\"Success\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"1\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0.00RPS/(0.000MB/s)\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataEtlStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"ReverseJob\\": \\"****\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"SubscriptionHost\\": {\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\",\\n \\"VpcHost\\": \\"dts-cn-****.aliyuncs.com:18001\\"\\n },\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"ConsumptionCheckpoint\\": \\"2022-03-23T07:30:31Z\\",\\n \\"BeginTimestamp\\": \\"2022-03-15T08:25:34Z\\",\\n \\"EndTimestamp\\": \\"2022-03-26T14:03:21Z\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"DestNetType\\": \\"VPC\\",\\n \\"SubscriptionDataType\\": {\\n \\"Ddl\\": true,\\n \\"Dml\\": true\\n },\\n \\"AppName\\": \\"new\\",\\n \\"EtlCalculator\\": \\"{ \\\\\\"cells \\\\\\": [{\\\\\\\\\\\\\\"shape\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edge\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"attrs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"line\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"stroke\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"#b1b1b1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"strokeWidth\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"targetMarker\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"block\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"args\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"strokeDasharray\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"source\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"out1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"target\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"b36770df-f48c-4d6b-9644-54c5e924****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"in1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"zIndex\\\\\\\\\\\\\\":7 }] }\\",\\n \\"RetryState\\": {\\n \\"JobId\\": \\"ta7w132u12h****\\",\\n \\"MaxRetryTime\\": 7200,\\n \\"RetryTime\\": 3600,\\n \\"RetryCount\\": 5,\\n \\"Retrying\\": true,\\n \\"Module\\": \\"03\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"ErrMsg\\": \\"CHECK__ERROR_SAME_OBJ\\"\\n },\\n \\"OriginType\\": \\"DTS任务\\",\\n \\"JobType\\": \\"SYNC\\",\\n \\"IsDemoJob\\": false,\\n \\"TaskType\\": \\"rds\\",\\n \\"MinDu\\": 1,\\n \\"MaxDu\\": 16\\n },\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"SubscriptionHost\\": {\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\",\\n \\"VpcHost\\": \\"dts-cn-****.aliyuncs.com:18001\\"\\n },\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"ConsumptionCheckpoint\\": \\"2022-03-23T07:30:31Z\\",\\n \\"BeginTimestamp\\": \\"2022-03-15T08:25:34Z\\",\\n \\"EndTimestamp\\": \\"2022-03-26T14:03:21Z\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"DestNetType\\": \\"VPC\\",\\n \\"SubscriptionDataType\\": {\\n \\"Ddl\\": true,\\n \\"Dml\\": true\\n },\\n \\"AppName\\": \\"new\\",\\n \\"EtlCalculator\\": \\"{ \\\\\\"cells \\\\\\": [{\\\\\\\\\\\\\\"shape\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edge\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"attrs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"line\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"stroke\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"#b1b1b1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"strokeWidth\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"targetMarker\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"block\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"args\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"strokeDasharray\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"source\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"out1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"target\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"b36770df-f48c-4d6b-9644-54c5e924****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"in1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"zIndex\\\\\\\\\\\\\\":7 }] }\\",\\n \\"RetryState\\": {\\n \\"JobId\\": \\"ta7w132u12h****\\",\\n \\"MaxRetryTime\\": 7200,\\n \\"RetryTime\\": 3600,\\n \\"RetryCount\\": 5,\\n \\"Retrying\\": true,\\n \\"Module\\": \\"03\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"ErrMsg\\": \\"CHECK__ERROR_SAME_OBJ\\"\\n },\\n \\"OriginType\\": \\"DTS任务\\",\\n \\"JobType\\": \\"SYNC\\",\\n \\"IsDemoJob\\": false,\\n \\"TaskType\\": \\"rds\\",\\n \\"MinDu\\": 1,\\n \\"MaxDu\\": 16\\n }\\n ],\\n \\"SubSyncJob\\": [\\n {\\n \\"SubSyncJob\\": [\\n \\"****\\"\\n ],\\n \\"DtsInstanceID\\": \\"dtsnjuc14kp12u****\\",\\n \\"DtsJobId\\": \\"m06j1g92124****\\",\\n \\"DtsJobName\\": \\"dtstest****\\",\\n \\"GroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"DatabaseCount\\": 2,\\n \\"DtsJobClass\\": \\"xlarge\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ExpireTime\\": \\"2023-06-16T08:01:19Z\\",\\n \\"CreateTime\\": \\"2023-01-12T08:34:11Z\\",\\n \\"FinishTime\\": \\"2023-06-16T10:34:17Z\\",\\n \\"SourceEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp2f3huj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp1f9guj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DbObject\\": \\"{\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"state\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"normal\\\\\\\\\\\\\\"}}\\",\\n \\"MigrationMode\\": {\\n \\"StructureInitialization\\": true,\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"DataExtractTransformLoad\\": false\\n },\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Delay\\": 0,\\n \\"TagList\\": [\\n {\\n \\"Id\\": 2,\\n \\"GmtCreate\\": \\"2022-03-16T08:01:19Z\\",\\n \\"GmtModified\\": \\"2022-03-16T08:01:19Z\\",\\n \\"ResourceId\\": \\"dtsnjuc14kp12u****\\",\\n \\"ResourceType\\": \\"ALIYUN::DTS::INSTANCE\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AliUid\\": 0,\\n \\"TagKey\\": \\"key1\\",\\n \\"TagValue\\": \\"value1\\",\\n \\"TagCategory\\": \\"System\\",\\n \\"SrcRegion\\": \\"cn-hangzhou\\",\\n \\"Scope\\": \\"0\\",\\n \\"Creator\\": 0\\n }\\n ],\\n \\"Checkpoint\\": \\"1616405159\\",\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Detail\\": [\\n {\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckResult\\": \\"Success\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"1\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0.00RPS/(0.000MB/s)\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataEtlStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"ReverseJob\\": {\\n \\"DtsInstanceID\\": \\"dtsnjuc14kp12u****\\",\\n \\"DtsJobId\\": \\"m06j1g92124****\\",\\n \\"DtsJobName\\": \\"dtstest****\\",\\n \\"GroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"DatabaseCount\\": 2,\\n \\"DtsJobClass\\": \\"xlarge\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ExpireTime\\": \\"2023-06-16T08:01:19Z\\",\\n \\"CreateTime\\": \\"2023-01-12T08:34:11Z\\",\\n \\"FinishTime\\": \\"2023-06-16T10:34:17Z\\",\\n \\"SourceEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp2f3huj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp1f9guj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX,XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DbObject\\": \\"{\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"state\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"normal\\\\\\\\\\\\\\"}}\\",\\n \\"MigrationMode\\": {\\n \\"StructureInitialization\\": true,\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"DataExtractTransformLoad\\": false\\n },\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Delay\\": 0,\\n \\"TagList\\": [\\n {\\n \\"Id\\": 2,\\n \\"GmtCreate\\": \\"2022-03-16T08:01:19Z\\",\\n \\"GmtModified\\": \\"2022-03-16T08:01:19Z\\",\\n \\"ResourceId\\": \\"dtsnjuc14kp12u****\\",\\n \\"ResourceType\\": \\"ALIYUN::DTS::INSTANCE\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AliUid\\": 0,\\n \\"TagKey\\": \\"key1\\",\\n \\"TagValue\\": \\"value1\\",\\n \\"TagCategory\\": \\"System\\",\\n \\"SrcRegion\\": \\"cn-hangzhou\\",\\n \\"Scope\\": \\"0\\",\\n \\"Creator\\": 0\\n }\\n ],\\n \\"Checkpoint\\": \\"1616405159\\",\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Detail\\": [\\n {\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckResult\\": \\"Success\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"1\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0.00RPS/(0.000MB/s)\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataEtlStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"ReverseJob\\": \\"****\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"SubscriptionHost\\": {\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\",\\n \\"VpcHost\\": \\"dts-cn-****.aliyuncs.com:18001\\"\\n },\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"ConsumptionCheckpoint\\": \\"2022-03-23T07:30:31Z\\",\\n \\"BeginTimestamp\\": \\"2022-03-15T08:25:34Z\\",\\n \\"EndTimestamp\\": \\"2022-03-26T14:03:21Z\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"DestNetType\\": \\"VPC\\",\\n \\"SubscriptionDataType\\": {\\n \\"Ddl\\": true,\\n \\"Dml\\": true\\n },\\n \\"AppName\\": \\"new\\",\\n \\"EtlCalculator\\": \\"{ \\\\\\"cells \\\\\\": [{\\\\\\\\\\\\\\"shape\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edge\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"attrs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"line\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"stroke\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"#b1b1b1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"strokeWidth\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"targetMarker\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"block\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"args\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"strokeDasharray\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"source\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"out1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"target\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"b36770df-f48c-4d6b-9644-54c5e924****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"in1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"zIndex\\\\\\\\\\\\\\":7 }] }\\",\\n \\"RetryState\\": {\\n \\"JobId\\": \\"ta7w132u12h****\\",\\n \\"MaxRetryTime\\": 7200,\\n \\"RetryTime\\": 3600,\\n \\"RetryCount\\": 5,\\n \\"Retrying\\": true,\\n \\"Module\\": \\"03\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"ErrMsg\\": \\"CHECK__ERROR_SAME_OBJ\\"\\n },\\n \\"OriginType\\": \\"DTS任务\\",\\n \\"JobType\\": \\"SYNC\\",\\n \\"IsDemoJob\\": false,\\n \\"TaskType\\": \\"rds\\"\\n },\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"SubscriptionHost\\": {\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\",\\n \\"VpcHost\\": \\"dts-cn-****.aliyuncs.com:18001\\"\\n },\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"ConsumptionCheckpoint\\": \\"2022-03-23T07:30:31Z\\",\\n \\"BeginTimestamp\\": \\"2022-03-15T08:25:34Z\\",\\n \\"EndTimestamp\\": \\"2022-03-26T14:03:21Z\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"DestNetType\\": \\"VPC\\",\\n \\"SubscriptionDataType\\": {\\n \\"Ddl\\": true,\\n \\"Dml\\": true\\n },\\n \\"AppName\\": \\"new\\",\\n \\"EtlCalculator\\": \\"{ \\\\\\"cells \\\\\\": [{\\\\\\\\\\\\\\"shape\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edge\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"attrs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"line\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"stroke\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"#b1b1b1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"strokeWidth\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"targetMarker\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"block\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"args\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"strokeDasharray\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"source\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"out1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"target\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"b36770df-f48c-4d6b-9644-54c5e924****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"in1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"zIndex\\\\\\\\\\\\\\":7 }] }\\",\\n \\"RetryState\\": {\\n \\"JobId\\": \\"ta7w132u12h****\\",\\n \\"MaxRetryTime\\": 7200,\\n \\"RetryTime\\": 3600,\\n \\"RetryCount\\": 5,\\n \\"Retrying\\": true,\\n \\"Module\\": \\"03\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"ErrMsg\\": \\"CHECK__ERROR_SAME_OBJ\\"\\n },\\n \\"OriginType\\": \\"DTS任务\\",\\n \\"JobType\\": \\"SYNC\\",\\n \\"IsDemoJob\\": false,\\n \\"TaskType\\": \\"rds\\",\\n \\"MinDu\\": 1,\\n \\"MaxDu\\": 16\\n }\\n ],\\n \\"JobType\\": \\"sync\\",\\n \\"TaskType\\": \\"Distributed_xxx\\",\\n \\"DedicatedClusterId\\": \\"dtsxxxxx\\",\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"NeedUpgrade\\": true,\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0.00RPS/(0.000MB/s)\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\"\\n },\\n \\"BootTime\\": \\"2022-03-30T03:36:11.000\\",\\n \\"Binlog\\": \\"****\\",\\n \\"BinlogSite\\": \\"156629109****\\",\\n \\"BinlogTime\\": \\"****\\",\\n \\"LastUpdateTime\\": \\"156629109****\\",\\n \\"RetryState\\": {\\n \\"RetryCount\\": 5,\\n \\"MaxRetryTime\\": 7200,\\n \\"ErrMessage\\": \\"Unexpected error\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"RetryTime\\": 3600,\\n \\"Module\\": \\"03\\",\\n \\"JobId\\": \\"bi6e22ay243****\\",\\n \\"Retrying\\": false\\n },\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"ResourceGroupDisplayName\\": \\"default resource group\\",\\n \\"DtsBisLabel\\": \\"normal\\",\\n \\"DataDeliveryChannelInfo\\": {\\n \\"PublicDproxyUrl\\": \\"dts-****.aliyuncs.com:18***\\",\\n \\"VpcDproxyUrl\\": \\"dts-****.aliyuncs.com:18***\\",\\n \\"Topic\\": \\"cn_hangzhou_******_data_delivery_version2\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"PartitionNum\\": 3\\n },\\n \\"MinDu\\": 1,\\n \\"MaxDu\\": 16,\\n \\"InitCheckpoint\\": \\"\\",\\n \\"InsightModule\\": true,\\n \\"ApprovalProcessUrl\\": \\"\\",\\n \\"ApprovalProcessStatus\\": 0\\n}","errorExample":""},{"type":"xml","example":"<DescribeDtsJobDetailResponse>\\n <DtsJobName>api测试</DtsJobName>\\n <DtsInstanceID>dtsi03e3zty16i****</DtsInstanceID>\\n <Success>true</Success>\\n <Delay>0</Delay>\\n <MigrationMode>\\n <DataInitialization>true</DataInitialization>\\n <DataSynchronization>true</DataSynchronization>\\n <StructureInitialization>true</StructureInitialization>\\n </MigrationMode>\\n <DtsJobClass>xlarge</DtsJobClass>\\n <DtsJobId>i03e3zty16i****</DtsJobId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Status>Migrating</Status>\\n <RequestId>29207299-7C41-493A-BA4F-2FAC5DE4****</RequestId>\\n <DbObject>{\\"dtstestdata\\":{\\"all\\":true,\\"name\\":\\"dtstestdata\\",\\"state\\":\\"normal\\"}}</DbObject>\\n <CreateTime>2021-03-16T08:01:19Z</CreateTime>\\n <PayType>PostPaid</PayType>\\n <Checkpoint>1616405159</Checkpoint>\\n <DestinationEndpoint>\\n <UserName>dtstest</UserName>\\n <InstanceID>rm-bp1imrtn6fq7h****</InstanceID>\\n <SslSolutionEnum>DISABLE</SslSolutionEnum>\\n <Port>3306</Port>\\n <DatabaseName>dtstestdata</DatabaseName>\\n <Region>cn-hangzhou</Region>\\n <InstanceType>RDS</InstanceType>\\n <EngineName>MySQL</EngineName>\\n </DestinationEndpoint>\\n <SourceEndpoint>\\n <RoleName/>\\n <UserName>dtstest</UserName>\\n <InstanceID>rm-bp1162kryivb8****</InstanceID>\\n <SslSolutionEnum>DISABLE</SslSolutionEnum>\\n <Port>3306</Port>\\n <AliyunUid>140692647406****</AliyunUid>\\n <Region>cn-hangzhou</Region>\\n <InstanceType>RDS</InstanceType>\\n <EngineName>MySQL</EngineName>\\n </SourceEndpoint>\\n <Reserved>{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:1****\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:1****\\",\\"useJobTask\\":\\"1\\"}</Reserved>\\n</DescribeDtsJobDetailResponse>","errorExample":""}]', ], 'DescribeDtsJobs' => [ - 'summary' => '调用DescribeDtsJobs查询DTS任务列表及各任务执行详情。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -19073,188 +8025,126 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '52248', - 'abilityTreeNodes' => [ - 'FEATUREdtsNB7C6E', - ], + 'abilityTreeNodes' => ['FEATUREdtsNB7C6E'], ], 'parameters' => [ [ 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'description' => '传入本参数,指定查询条件,取值:'."\n" - ."\n" - .'- **instance**:根据DTS实例ID查询。'."\n" - .'- **name**:根据DTS实例名称查询,支持模糊查询。'."\n" - .'- **srcRds**:根据RDS源实例ID查询。'."\n" - .'- **rds**:根据RDS目标实例ID查询。'."\n" - ."\n" - .'> 您需要传入**Params**,指定查询条件的具体内容。', - 'type' => 'string', - 'required' => false, - 'example' => 'instance', - ], + 'schema' => ['description' => '传入本参数,指定查询条件,取值:'."\n" + ."\n" + .'- **instance**:根据DTS实例ID查询。'."\n" + .'- **name**:根据DTS实例名称查询,支持模糊查询。'."\n" + .'- **srcRds**:根据RDS源实例ID查询。'."\n" + .'- **rds**:根据RDS目标实例ID查询。'."\n" + ."\n" + .'> 您需要传入**Params**,指定查询条件的具体内容。', 'type' => 'string', 'required' => false, 'example' => 'instance'], ], [ 'name' => 'Params', 'in' => 'query', - 'schema' => [ - 'description' => '查询条件的具体内容。'."\n" - .'> 您需要提前传入**Type**,指定查询条件。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'dtspk3f13r731m****', - ], + 'schema' => ['description' => '查询条件的具体内容。'."\n" + .'> 您需要提前传入**Type**,指定查询条件。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'dtspk3f13r731m****'], ], [ 'name' => 'Region', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'DTS实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Status', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例状态,取值:'."\n" - ."\n" - .'迁移任务状态:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **MigrationFailed**:迁移失败。'."\n" - .'- **Finished**:完成。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Downgrade**:降级中。'."\n" - ."\n" - .'同步任务状态:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **Initializing**:同步初始化中。'."\n" - .'- **InitializeFailed**:同步初始化失败。'."\n" - .'- **Synchronizing**:同步中。'."\n" - .'- **Failed**:同步失败。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Modifying**:修改同步对象中。'."\n" - .'- **Finished**:完成。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Downgrade**:降级中。'."\n" - ."\n" - .'订阅任务的状态:'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **Starting**:启动中。'."\n" - .'- **Normal**:正常。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Abnormal**:异常。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Downgrade**:降级中。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Migrating', - ], + 'schema' => ['description' => 'DTS实例状态,取值:'."\n" + ."\n" + .'迁移任务状态:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **MigrationFailed**:迁移失败。'."\n" + .'- **Finished**:完成。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Downgrade**:降级中。'."\n" + ."\n" + .'同步任务状态:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **Initializing**:同步初始化中。'."\n" + .'- **InitializeFailed**:同步初始化失败。'."\n" + .'- **Synchronizing**:同步中。'."\n" + .'- **Failed**:同步失败。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Modifying**:修改同步对象中。'."\n" + .'- **Finished**:完成。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Downgrade**:降级中。'."\n" + ."\n" + .'订阅任务的状态:'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **Starting**:启动中。'."\n" + .'- **Normal**:正常。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Abnormal**:异常。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Downgrade**:降级中。'."\n", 'type' => 'string', 'required' => false, 'example' => 'Migrating'], ], [ 'name' => 'OrderDirection', 'in' => 'query', - 'schema' => [ - 'description' => '传入本参数指定实例排序顺序,取值:'."\n" - ."\n" - .'- **ASC**:正序,为默认值。'."\n" - .'- **DESC**:倒序。', - 'type' => 'string', - 'required' => false, - 'example' => 'ASC', - ], + 'schema' => ['description' => '传入本参数指定实例排序顺序,取值:'."\n" + ."\n" + .'- **ASC**:正序,为默认值。'."\n" + .'- **DESC**:倒序。', 'type' => 'string', 'required' => false, 'example' => 'ASC'], ], [ 'name' => 'OrderColumn', 'in' => 'query', - 'schema' => [ - 'description' => '当返回结果包含多个DTS实例时,传入本参数指定实例的排序依据,取值:'."\n" - ."\n" - .'- **CreateTime**:按照实例的任务创建顺序排序。'."\n" - .'- **FinishTime**:按照实例的任务完成顺序排序。'."\n" - .'- **duLimit**(专属集群任务):按照DTS任务使用DU的上限顺序排序,仅专属集群支持。'."\n" - ."\n" - .'> 您还可以传入**OrderDirection**,指定实例排序顺序为正序或倒序。', - 'type' => 'string', - 'required' => false, - 'example' => 'CreateTime', - ], + 'schema' => ['description' => '当返回结果包含多个DTS实例时,传入本参数指定实例的排序依据,取值:'."\n" + ."\n" + .'- **CreateTime**:按照实例的任务创建顺序排序。'."\n" + .'- **FinishTime**:按照实例的任务完成顺序排序。'."\n" + .'- **duLimit**(专属集群任务):按照DTS任务使用DU的上限顺序排序,仅专属集群支持。'."\n" + ."\n" + .'> 您还可以传入**OrderDirection**,指定实例排序顺序为正序或倒序。', 'type' => 'string', 'required' => false, 'example' => 'CreateTime'], ], [ 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'description' => '标签搜索条件,格式为JSON。'."\n" - .'> 标签的键和值,可通过调用**ListTagResources**接口查询。', - 'type' => 'string', - 'required' => false, - 'example' => '[ { \\"key\\": \\"testK\\", \\"value\\": \\"testV\\" } ]', - ], + 'schema' => ['description' => '标签搜索条件,格式为JSON。'."\n" + .'> 标签的键和值,可通过调用**ListTagResources**接口查询。', 'type' => 'string', 'required' => false, 'example' => '[ { \\"key\\": \\"testK\\", \\"value\\": \\"testV\\" } ]'], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '每页记录数。取值为:**10**、**20**、**30**,默认值为**20**,最大值为**30**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '1', - 'example' => '30', - 'default' => '20', - ], + 'schema' => ['description' => '每页记录数。取值为:**10**、**20**、**30**,默认值为**20**,最大值为**30**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '1', 'example' => '30', 'default' => '20'], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '0', - 'example' => '1', - 'default' => '0', - ], + 'schema' => ['description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'example' => '1', 'default' => '0'], ], [ 'name' => 'JobType', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例的任务类型,取值:'."\n" - .'- **MIGRATION**:迁移(默认值)。'."\n" - .'- **SYNC**:同步。'."\n" - .'- **SUBSCRIBE**:订阅。', - 'type' => 'string', - 'required' => false, - 'example' => 'MIGRATION', - ], + 'schema' => ['description' => 'DTS实例的任务类型,取值:'."\n" + .'- **MIGRATION**:迁移(默认值)。'."\n" + .'- **SYNC**:同步。'."\n" + .'- **SUBSCRIBE**:订阅。', 'type' => 'string', 'required' => false, 'example' => 'MIGRATION'], ], [ 'name' => 'RegionId', @@ -19265,178 +8155,82 @@ 'required' => false, 'example' => '无', 'enum' => [ - 'cn-hangzhou', - 'cn-shanghai', - 'cn-beijing', - 'cn-guangzhou', - 'cn-shenzhen', - 'cn-chengdu', - 'cn-heyuan', - 'cn-hongkong', - 'cn-qingdao', - 'cn-zhangbei', - 'cn-zhangjiakou', - 'us-east-1', - 'us-west-1', - 'cn-hangzhou-finance', - 'cn-shanghai-finance', - 'cn-shanghai-finance-1', - 'cn-shenzhen-finance', - 'cn-shenzhen-finance-1', - 'cn-beijing-finance-1', - 'cn-huhehaote', - 'cn-north-2-gov-1', - 'eu-central-1', - 'eu-west-1', - 'me-central-1', - 'me-east-1', - 'ap-northeast-1', - 'ap-northeast-2', - 'ap-southeast-1', - 'ap-southeast-3', - 'ap-southeast-5', - 'ap-southeast-6', - 'ap-southeast-7', - 'cn-wulanchabu', - 'cn-zhengzhou-jva', - 'cn-wuhan-lr', - 'cn-shanghai-cloudspe', - 'na-south-1', - 'us-southeast-1', + 'cn-hangzhou', 'cn-shanghai', 'cn-beijing', 'cn-guangzhou', 'cn-shenzhen', 'cn-chengdu', 'cn-heyuan', 'cn-hongkong', 'cn-qingdao', 'cn-zhangbei', 'cn-zhangjiakou', 'us-east-1', 'us-west-1', 'cn-hangzhou-finance', 'cn-shanghai-finance', 'cn-shanghai-finance-1', 'cn-shenzhen-finance', 'cn-shenzhen-finance-1', 'cn-beijing-finance-1', 'cn-huhehaote', + 'cn-north-2-gov-1', 'eu-central-1', 'eu-west-1', 'me-central-1', 'me-east-1', 'ap-northeast-1', 'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-3', 'ap-southeast-5', 'ap-southeast-6', 'ap-southeast-7', 'cn-wulanchabu', 'cn-zhengzhou-jva', 'cn-wuhan-lr', 'cn-shanghai-cloudspe', 'na-south-1', 'us-southeast-1', ], ], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS任务ID。'."\n" - .'> 一般情况下无需设置该参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'pk13r731m****', - ], + 'schema' => ['description' => 'DTS任务ID。'."\n" + .'> 一般情况下无需设置该参数。', 'type' => 'string', 'required' => false, 'example' => 'pk13r731m****'], ], [ 'name' => 'DedicatedClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS专属集群ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtscluster_atyl3b5214uk***', - ], + 'schema' => ['description' => 'DTS专属集群ID。', 'type' => 'string', 'required' => false, 'example' => 'dtscluster_atyl3b5214uk***'], ], [ 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅任务ID。'."\n" - ."\n" - .'> 多个任务ID以英文逗号(,)分隔,且需要确保**JobType**参数符合预期。', - 'type' => 'string', - 'required' => false, - 'example' => 'qa110wq5r93hb49', - ], + 'schema' => ['description' => '迁移、同步或订阅任务ID。'."\n" + ."\n" + .'> 多个任务ID以英文逗号(,)分隔,且需要确保**JobType**参数符合预期。', 'type' => 'string', 'required' => false, 'example' => 'qa110wq5r93hb49'], ], [ 'name' => 'DtsInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅实例ID。'."\n" - .'> 多个实例ID以英文逗号(,)分隔,且需要确保**JobType**参数符合预期。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsi03e3zty16i****', - ], + 'schema' => ['description' => '迁移、同步或订阅实例ID。'."\n" + .'> 多个实例ID以英文逗号(,)分隔,且需要确保**JobType**参数符合预期。', 'type' => 'string', 'required' => false, 'example' => 'dtsi03e3zty16i****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], [ 'name' => 'WithoutDbList', 'in' => 'query', - 'schema' => [ - 'description' => '返回参数是否屏蔽任务对象(不返回**DbObject**参数),取值:'."\n" - ."\n" - .'- **true**:是,返回参数中不包含**DbObject**。'."\n" - .'- **false**:否,返回参数中包含**DbObject**,可以提升接口响应速度。'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '返回参数是否屏蔽任务对象(不返回**DbObject**参数),取值:'."\n" + ."\n" + .'- **true**:是,返回参数中不包含**DbObject**。'."\n" + .'- **false**:否,返回参数中包含**DbObject**,可以提升接口响应速度。'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'DtsBisLabel', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例的环境标签,取值为:'."\n" - .'- **normal**:**普通**'."\n" - .'- **online**:**线上**', - 'type' => 'string', - 'required' => false, - 'example' => 'normal', - ], + 'schema' => ['description' => 'DTS实例的环境标签,取值为:'."\n" + .'- **normal**:**普通**'."\n" + .'- **online**:**线上**', 'type' => 'string', 'required' => false, 'example' => 'normal'], ], [ 'name' => 'ZeroEtlJob', 'in' => 'query', - 'schema' => [ - 'description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" - ."\n" - .'- **false**:否。'."\n" - .'- **true**:是。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" + ."\n" + .'- **false**:否。'."\n" + .'- **true**:是。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '源或目标数据库实例的类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'RDS', - ], + 'schema' => ['description' => '源或目标数据库实例的类型。', 'type' => 'string', 'required' => false, 'example' => 'RDS'], ], [ 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '请求参数**InstanceType**对应的源或目标数据库实例的ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp1966yuut4w3****', - ], + 'schema' => ['description' => '请求参数**InstanceType**对应的源或目标数据库实例的ID。', 'type' => 'string', 'required' => false, 'example' => 'rm-bp1966yuut4w3****'], ], [ 'name' => 'DestProductType', 'in' => 'query', - 'schema' => [ - 'description' => '源数据库实例的类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'RDS', - ], + 'schema' => ['description' => '源数据库实例的类型。', 'type' => 'string', 'required' => false, 'example' => 'RDS'], ], [ 'name' => 'SrcProductType', 'in' => 'query', - 'schema' => [ - 'description' => '目标数据库实例的类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'RDS', - ], + 'schema' => ['description' => '目标数据库实例的类型。', 'type' => 'string', 'required' => false, 'example' => 'RDS'], ], ], 'responses' => [ @@ -19444,67 +8238,23 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n" - ."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'PageRecordCount' => [ - 'description' => '当前页可展示的最大记录数。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'TotalRecordCount' => [ - 'description' => '所有符合条件的DTS实例数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**Type**,则代表所传入的请求参数**Type**不合法。', - 'type' => 'string', - 'example' => 'Type', - ], - 'PageNumber' => [ - 'description' => '页码。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。'."\n" - ."\n", - 'type' => 'string', - 'example' => '403', - ], + 'HttpStatusCode' => ['description' => '状态码。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n" + ."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n" + ."\n", 'type' => 'boolean', 'example' => 'true'], + 'PageRecordCount' => ['description' => '当前页可展示的最大记录数。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'TotalRecordCount' => ['description' => '所有符合条件的DTS实例数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '15'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**Type**,则代表所传入的请求参数**Type**不合法。', 'type' => 'string', 'example' => 'Type'], + 'PageNumber' => ['description' => '页码。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。'."\n" + ."\n", 'type' => 'string', 'example' => '403'], 'DtsJobList' => [ 'description' => '任务列表及各任务执行详情。'."\n" ."\n\n" @@ -19543,174 +8293,93 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'DTS实例状态,取值:'."\n" - ."\n" - .'迁移任务状态:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **MigrationFailed**:迁移失败。'."\n" - .'- **Finished**:完成。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Downgrade**:降级中。'."\n" - ."\n" - .'同步任务状态:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **Initializing**:同步初始化中。'."\n" - .'- **InitializeFailed**:同步初始化失败。'."\n" - .'- **Synchronizing**:同步中。'."\n" - .'- **Failed**:同步失败。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Modifying**:修改同步对象中。'."\n" - .'- **ModifyFailed**:修改同步对象失败。'."\n" - .'- **Finished**:完成。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Downgrade**:降级中。'."\n" - ."\n" - .'订阅任务的状态:'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **Starting**:启动中。'."\n" - .'- **Normal**:正常。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Abnormal**:异常。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Downgrade**:降级中。', - 'type' => 'string', - 'example' => 'Migrating', - ], - 'OriginType' => [ - 'description' => '任务来源:'."\n" - ."\n" - .'- **PTS任务**'."\n" - .'- **DMS任务**'."\n" - .'- **DTS任务**', - 'type' => 'string', - 'example' => 'DTS任务', - ], - 'DtsJobName' => [ - 'description' => '迁移、同步或订阅任务名称。', - 'type' => 'string', - 'example' => 'RDS间迁移', - ], - 'Delay' => [ - 'description' => '增量数据迁移或者同步的延迟时间。'."\n" - .'> 如查询迁移任务,该参数的单位为毫秒,如查询同步任务,该参数的单位为秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。'."\n", - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].', - ], - 'ExpireTime' => [ - 'description' => '实例的到期时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" - .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', - 'type' => 'string', - 'example' => '2022-03-16T08:01:19Z', - ], - 'DtsJobId' => [ - 'description' => '迁移、同步或订阅任务ID。', - 'type' => 'string', - 'example' => 'i03e3zty16i****', - ], - 'CreateTime' => [ - 'description' => '任务创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2021-03-16T08:01:19Z', - ], - 'PayType' => [ - 'description' => '实例的付费类型,返回值:'."\n" - ."\n" - .'- **PrePaid**:包年包月(预付费)。'."\n" - .'- **PostPaid**:按量付费(后付费)。', - 'type' => 'string', - 'example' => 'PrePaid', - ], - 'Reserved' => [ - 'description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', - 'type' => 'string', - 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}', - ], - 'ConsumptionClient' => [ - 'description' => '下游消费客户端信息,由IP地址和DTS随机生成的随机数组成。'."\n" - ."\n", - 'type' => 'string', - 'example' => '114...:dts******', - ], - 'DbObject' => [ - 'description' => '迁移、同步或订阅对象,详细定义说明,请参见[迁移、同步或订阅对象说明](~~209545~~)。', - 'type' => 'string', - 'example' => '{"dtstestdata": { "name": "dtstestdata", "all": true }}', - ], - 'DtsJobClass' => [ - 'description' => '链路规格。'."\n" - .'> 关于各链路规格的说明及性能测试情况请参见[数据迁移链路规格说明](~~26606~~),[数据同步链路规格说明](~~26605~~)。', - 'type' => 'string', - 'example' => 'large', - ], - 'ConsumptionCheckpoint' => [ - 'description' => '订阅实例的下游消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" - ."\n", - 'type' => 'string', - 'example' => '2021-03-23T07:30:31Z', - ], - 'EndTimestamp' => [ - 'description' => '订阅实例中保存的数据范围的截止时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" - ."\n", - 'type' => 'string', - 'example' => '2021-03-26T14:03:21Z', - ], - 'AppName' => [ - 'description' => '是否为新版订阅,**new**(新版订阅)。'."\n" - .'> 该参数仅在新版订阅实例中返回。'."\n", - 'type' => 'string', - 'example' => 'new', - ], - 'BeginTimestamp' => [ - 'description' => '订阅实例中保存的数据范围的起始时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" - ."\n", - 'type' => 'string', - 'example' => '2021-03-15T08:25:34Z ', - ], - 'DtsInstanceID' => [ - 'description' => '迁移、同步或订阅实例ID。', - 'type' => 'string', - 'example' => 'dtsi03e3zty16i****', - ], - 'DtsJobDirection' => [ - 'description' => '同步方向,返回值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> 当数据同步实例的拓扑为双向时,才会返回本参数。', - 'type' => 'string', - 'example' => 'Forward', - ], - 'Checkpoint' => [ - 'description' => '增量数据迁移的启动位点或者同步位点,格式为Unix时间戳,单位为秒。', - 'type' => 'string', - 'example' => '1616899019', - ], + 'Status' => ['description' => 'DTS实例状态,取值:'."\n" + ."\n" + .'迁移任务状态:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **MigrationFailed**:迁移失败。'."\n" + .'- **Finished**:完成。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Downgrade**:降级中。'."\n" + ."\n" + .'同步任务状态:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **Initializing**:同步初始化中。'."\n" + .'- **InitializeFailed**:同步初始化失败。'."\n" + .'- **Synchronizing**:同步中。'."\n" + .'- **Failed**:同步失败。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Modifying**:修改同步对象中。'."\n" + .'- **ModifyFailed**:修改同步对象失败。'."\n" + .'- **Finished**:完成。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Downgrade**:降级中。'."\n" + ."\n" + .'订阅任务的状态:'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **Starting**:启动中。'."\n" + .'- **Normal**:正常。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Abnormal**:异常。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Downgrade**:降级中。', 'type' => 'string', 'example' => 'Migrating'], + 'OriginType' => ['description' => '任务来源:'."\n" + ."\n" + .'- **PTS任务**'."\n" + .'- **DMS任务**'."\n" + .'- **DTS任务**', 'type' => 'string', 'example' => 'DTS任务'], + 'DtsJobName' => ['description' => '迁移、同步或订阅任务名称。', 'type' => 'string', 'example' => 'RDS间迁移'], + 'Delay' => ['description' => '增量数据迁移或者同步的延迟时间。'."\n" + .'> 如查询迁移任务,该参数的单位为毫秒,如查询同步任务,该参数的单位为秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。'."\n", 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].'], + 'ExpireTime' => ['description' => '实例的到期时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" + .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', 'type' => 'string', 'example' => '2022-03-16T08:01:19Z'], + 'DtsJobId' => ['description' => '迁移、同步或订阅任务ID。', 'type' => 'string', 'example' => 'i03e3zty16i****'], + 'CreateTime' => ['description' => '任务创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2021-03-16T08:01:19Z'], + 'PayType' => ['description' => '实例的付费类型,返回值:'."\n" + ."\n" + .'- **PrePaid**:包年包月(预付费)。'."\n" + .'- **PostPaid**:按量付费(后付费)。', 'type' => 'string', 'example' => 'PrePaid'], + 'Reserved' => ['description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', 'type' => 'string', 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}'], + 'ConsumptionClient' => ['description' => '下游消费客户端信息,由IP地址和DTS随机生成的随机数组成。'."\n" + ."\n", 'type' => 'string', 'example' => '114...:dts******'], + 'DbObject' => ['description' => '迁移、同步或订阅对象,详细定义说明,请参见[迁移、同步或订阅对象说明](~~209545~~)。', 'type' => 'string', 'example' => '{"dtstestdata": { "name": "dtstestdata", "all": true }}'], + 'DtsJobClass' => ['description' => '链路规格。'."\n" + .'> 关于各链路规格的说明及性能测试情况请参见[数据迁移链路规格说明](~~26606~~),[数据同步链路规格说明](~~26605~~)。', 'type' => 'string', 'example' => 'large'], + 'ConsumptionCheckpoint' => ['description' => '订阅实例的下游消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" + ."\n", 'type' => 'string', 'example' => '2021-03-23T07:30:31Z'], + 'EndTimestamp' => ['description' => '订阅实例中保存的数据范围的截止时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" + ."\n", 'type' => 'string', 'example' => '2021-03-26T14:03:21Z'], + 'AppName' => ['description' => '是否为新版订阅,**new**(新版订阅)。'."\n" + .'> 该参数仅在新版订阅实例中返回。'."\n", 'type' => 'string', 'example' => 'new'], + 'BeginTimestamp' => ['description' => '订阅实例中保存的数据范围的起始时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" + ."\n", 'type' => 'string', 'example' => '2021-03-15T08:25:34Z '], + 'DtsInstanceID' => ['description' => '迁移、同步或订阅实例ID。', 'type' => 'string', 'example' => 'dtsi03e3zty16i****'], + 'DtsJobDirection' => ['description' => '同步方向,返回值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> 当数据同步实例的拓扑为双向时,才会返回本参数。', 'type' => 'string', 'example' => 'Forward'], + 'Checkpoint' => ['description' => '增量数据迁移的启动位点或者同步位点,格式为Unix时间戳,单位为秒。', 'type' => 'string', 'example' => '1616899019'], 'TagList' => [ 'description' => '标签集合。'."\n" ."\n\n" @@ -19719,92 +8388,49 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'TagValue' => [ - 'description' => '标签的值。', - 'type' => 'string', - 'example' => 'testvalue', - ], - 'TagKey' => [ - 'description' => '标签的键。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'testkey', - ], + 'TagValue' => ['description' => '标签的值。', 'type' => 'string', 'example' => 'testvalue'], + 'TagKey' => ['description' => '标签的键。'."\n" + ."\n", 'type' => 'string', 'example' => 'testkey'], ], + 'description' => '', ], ], 'DataInitializationStatus' => [ 'description' => '全量数据迁移或初始化的状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '全量数据迁移或初始化状态,取值包括:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移或初始化中。'."\n" - .'- **Failed**:迁移或初始化失败。'."\n" - .'- **Finished**:迁移或初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '全量数据迁移或初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '全量数据迁移或初始化失败的错误提示。', - 'type' => 'string', - 'example' => 'java.lang.NumberFormatException: For input string: ""', - ], - 'Progress' => [ - 'description' => '已完成全量数据迁移或初始化的记录数。', - 'type' => 'string', - 'example' => '44755', - ], + 'Status' => ['description' => '全量数据迁移或初始化状态,取值包括:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移或初始化中。'."\n" + .'- **Failed**:迁移或初始化失败。'."\n" + .'- **Finished**:迁移或初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '全量数据迁移或初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '全量数据迁移或初始化失败的错误提示。', 'type' => 'string', 'example' => 'java.lang.NumberFormatException: For input string: ""'], + 'Progress' => ['description' => '已完成全量数据迁移或初始化的记录数。', 'type' => 'string', 'example' => '44755'], ], ], 'DataSynchronizationStatus' => [ 'description' => '增量数据迁移或同步的状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '增量数据迁移或同步状态,返回值为:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移或同步中。'."\n" - .'- **Failed**:迁移或同步失败。'."\n" - .'- **Finished**:迁移或同步完成。'."\n" - .'- **Catched**:无延迟。', - 'type' => 'string', - 'example' => 'Catched', - ], - 'NeedUpgrade' => [ - 'description' => '是否需要升级实例规格,返回值:'."\n" - ."\n" - .'- **true**:需要。'."\n" - .'- **false**:不需要。'."\n" - ."\n" - .'> 如需升级实例规格,请调用[TransferInstanceClass](~~281093~~)进行升级。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Percent' => [ - 'description' => '增量数据迁移或同步进度,单位为百分比。'."\n" - ."\n", - 'type' => 'string', - 'example' => '95', - ], - 'Progress' => [ - 'description' => '已完成增量数据迁移或同步的记录数。', - 'type' => 'string', - 'example' => '0/0', - ], - 'ErrorMessage' => [ - 'description' => '增量数据迁移或同步失败的错误提示。'."\n", - 'type' => 'string', - 'example' => '任务失败太久无法恢复 ', - ], + 'Status' => ['description' => '增量数据迁移或同步状态,返回值为:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移或同步中。'."\n" + .'- **Failed**:迁移或同步失败。'."\n" + .'- **Finished**:迁移或同步完成。'."\n" + .'- **Catched**:无延迟。', 'type' => 'string', 'example' => 'Catched'], + 'NeedUpgrade' => ['description' => '是否需要升级实例规格,返回值:'."\n" + ."\n" + .'- **true**:需要。'."\n" + .'- **false**:不需要。'."\n" + ."\n" + .'> 如需升级实例规格,请调用[TransferInstanceClass](~~281093~~)进行升级。', 'type' => 'boolean', 'example' => 'true'], + 'Percent' => ['description' => '增量数据迁移或同步进度,单位为百分比。'."\n" + ."\n", 'type' => 'string', 'example' => '95'], + 'Progress' => ['description' => '已完成增量数据迁移或同步的记录数。', 'type' => 'string', 'example' => '0/0'], + 'ErrorMessage' => ['description' => '增量数据迁移或同步失败的错误提示。'."\n", 'type' => 'string', 'example' => '任务失败太久无法恢复 '], ], ], 'DataEtlStatus' => [ @@ -19812,142 +8438,63 @@ .'> 配置ETL任务后,才会返回该参数集合。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'ETL任务状态,返回值为:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:执行中。'."\n" - .'- **Failed**:执行失败。'."\n" - .'- **Finished**:完成。'."\n" - .'- **Catched**:无延迟。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => 'ETL任务进度,单位为百分比。', - 'type' => 'string', - 'example' => '95', - ], - 'ErrorMessage' => [ - 'description' => 'ETL任务失败的错误提示。'."\n", - 'type' => 'string', - 'example' => '任务失败太久无法恢复 ', - ], - 'Progress' => [ - 'description' => '已完成ETL任务的记录数。', - 'type' => 'string', - 'example' => '0/0', - ], + 'Status' => ['description' => 'ETL任务状态,返回值为:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:执行中。'."\n" + .'- **Failed**:执行失败。'."\n" + .'- **Finished**:完成。'."\n" + .'- **Catched**:无延迟。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => 'ETL任务进度,单位为百分比。', 'type' => 'string', 'example' => '95'], + 'ErrorMessage' => ['description' => 'ETL任务失败的错误提示。'."\n", 'type' => 'string', 'example' => '任务失败太久无法恢复 '], + 'Progress' => ['description' => '已完成ETL任务的记录数。', 'type' => 'string', 'example' => '0/0'], ], ], 'DestinationEndpoint' => [ 'description' => '目标实例的连接信息。', 'type' => 'object', 'properties' => [ - 'SslSolutionEnum' => [ - 'description' => '是否使用SSL安全连接,返回值:'."\n" - ."\n" - .'- **DISABLE**:不使用SSL安全连接。'."\n" - .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" - .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" - .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', - 'type' => 'string', - 'example' => 'DISABLE', - ], - 'OracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'Region' => [ - 'description' => '目标实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'DatabaseName' => [ - 'description' => '目标实例中迁移对象所属数据库的名称。'."\n", - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'Ip' => [ - 'description' => '目标实例的连接地址。', - 'type' => 'string', - 'example' => '172.16.88.***', - ], - 'InstanceID' => [ - 'description' => '目标实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1imrtn6fq7h****', - ], - 'Port' => [ - 'description' => '目标实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'InstanceType' => [ - 'description' => '目标实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'UserName' => [ - 'description' => '目标实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'EngineName' => [ - 'description' => '目标实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], + 'SslSolutionEnum' => ['description' => '是否使用SSL安全连接,返回值:'."\n" + ."\n" + .'- **DISABLE**:不使用SSL安全连接。'."\n" + .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" + .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" + .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', 'type' => 'string', 'example' => 'DISABLE'], + 'OracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'Region' => ['description' => '目标实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'DatabaseName' => ['description' => '目标实例中迁移对象所属数据库的名称。'."\n", 'type' => 'string', 'example' => 'dtstestdata'], + 'Ip' => ['description' => '目标实例的连接地址。', 'type' => 'string', 'example' => '172.16.88.***'], + 'InstanceID' => ['description' => '目标实例ID。', 'type' => 'string', 'example' => 'rm-bp1imrtn6fq7h****'], + 'Port' => ['description' => '目标实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'InstanceType' => ['description' => '目标实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'UserName' => ['description' => '目标实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'EngineName' => ['description' => '目标实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], ], ], 'MigrationMode' => [ 'description' => '迁移类型或同步初始化类型。', 'type' => 'object', 'properties' => [ - 'DataInitialization' => [ - 'description' => '是否执行全量数据迁移或全量数据初始化,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataSynchronization' => [ - 'description' => '是否执行增量数据迁移或同步,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'StructureInitialization' => [ - 'description' => '是否执行库表结构迁移或初始化,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'FullDataCheck' => [ - 'description' => '是否进行全量数据校验,返回值为:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'IncDataCheck' => [ - 'description' => '是否进行增量数据校验,返回值为:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'StructureDataCheck' => [ - 'description' => '是否进行结构校验,返回值为:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'DataInitialization' => ['description' => '是否执行全量数据迁移或全量数据初始化,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DataSynchronization' => ['description' => '是否执行增量数据迁移或同步,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'StructureInitialization' => ['description' => '是否执行库表结构迁移或初始化,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'FullDataCheck' => ['description' => '是否进行全量数据校验,返回值为:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'IncDataCheck' => ['description' => '是否进行增量数据校验,返回值为:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'StructureDataCheck' => ['description' => '是否进行结构校验,返回值为:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'TimeWindowCheck' => ['type' => 'boolean'], ], ], 'Performance' => [ @@ -19955,16 +8502,8 @@ ."\n", 'type' => 'object', 'properties' => [ - 'Rps' => [ - 'description' => '每秒迁移或同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。', - 'type' => 'string', - 'example' => '100', - ], - 'Flow' => [ - 'description' => '每秒迁移或同步数据的流量,单位为MB/s。', - 'type' => 'string', - 'example' => '1', - ], + 'Rps' => ['description' => '每秒迁移或同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。', 'type' => 'string', 'example' => '100'], + 'Flow' => ['description' => '每秒迁移或同步数据的流量,单位为MB/s。', 'type' => 'string', 'example' => '1'], ], ], 'PrecheckStatus' => [ @@ -19975,27 +8514,15 @@ ."\n\n", 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '预检查状态,返回值:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Checking**:预检查中。'."\n" - .'- **Failed**:预检查失败。'."\n" - .'- **Finished**:预检查完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '预检查整体进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '预检查失败的提示信息。', - 'type' => 'string', - 'example' => 'CHECK__ERROR_SAME_OBJ.', - ], + 'Status' => ['description' => '预检查状态,返回值:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Checking**:预检查中。'."\n" + .'- **Failed**:预检查失败。'."\n" + .'- **Finished**:预检查完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '预检查整体进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '预检查失败的提示信息。', 'type' => 'string', 'example' => 'CHECK__ERROR_SAME_OBJ.'], 'Detail' => [ 'description' => '各预检查项的执行情况。'."\n" ."\n\n" @@ -20005,37 +8532,18 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'CheckResult' => [ - 'description' => '检查结果,返回值:'."\n" - .'- **Success**:通过该项检查。'."\n" - .'- **Failed**:未通过该项检查。', - 'type' => 'string', - 'example' => 'Success', - ], - 'CheckItemDescription' => [ - 'description' => '预检查项目描述。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC_DETAIL', - ], - 'CheckItem' => [ - 'description' => '预检查项目。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC', - ], - 'RepairMethod' => [ - 'description' => '预检查未通过时对应的修复方法。'."\n" - .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。'."\n", - 'type' => 'string', - 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2', - ], - 'FailedReason' => [ - 'description' => '预检查未通过的错误提示。'."\n" - .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)', - ], - ], + 'CheckResult' => ['description' => '检查结果,返回值:'."\n" + .'- **Success**:通过该项检查。'."\n" + .'- **Failed**:未通过该项检查。', 'type' => 'string', 'example' => 'Success'], + 'CheckItemDescription' => ['description' => '预检查项目描述。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC_DETAIL'], + 'CheckItem' => ['description' => '预检查项目。'."\n" + ."\n", 'type' => 'string', 'example' => 'CHECK_CONN_SRC'], + 'RepairMethod' => ['description' => '预检查未通过时对应的修复方法。'."\n" + .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。'."\n", 'type' => 'string', 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2'], + 'FailedReason' => ['description' => '预检查未通过的错误提示。'."\n" + .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)'], + ], + 'description' => '', ], ], ], @@ -20045,276 +8553,120 @@ .'> 当该任务为数据同步,且拓扑类型为双向时,才会返回该参数合集。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '反向同步任务状态,取值:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **Initializing**:同步初始化中。'."\n" - .'- **InitializeFailed**:同步初始化失败。'."\n" - .'- **Synchronizing**:同步中。'."\n" - .'- **Failed**:同步失败。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Modifying**:修改同步对象中。'."\n" - .'- **ModifyFailed**:修改同步对象失败。'."\n" - .'- **Finished**:完成。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Downgrade**:降级中。'."\n", - 'type' => 'string', - 'example' => 'Synchronizing', - ], - 'DtsJobName' => [ - 'description' => '同步任务名称。', - 'type' => 'string', - 'example' => 'RDS间迁移', - ], - 'Delay' => [ - 'description' => '增量数据同步的延迟时间,单位为秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。'."\n", - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].', - ], - 'DtsJobId' => [ - 'description' => '同步任务ID。', - 'type' => 'string', - 'example' => 'i03e3zty16i****', - ], - 'ExpireTime' => [ - 'description' => '实例的到期时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" - .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', - 'type' => 'string', - 'example' => '2023-03-16T08:01:19Z', - ], - 'CreateTime' => [ - 'description' => '任务创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-16T08:01:19Z', - ], - 'PayType' => [ - 'description' => '实例的付费类型,返回值:'."\n" - ."\n" - .'- **PrePaid**:包年包月(预付费)。'."\n" - .'- **PostPaid**:按量付费(后付费)。', - 'type' => 'string', - 'example' => 'PostPaid', - ], - 'Reserved' => [ - 'description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', - 'type' => 'string', - 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}', - ], - 'DbObject' => [ - 'description' => '同步对象的库表结构定义,格式为JSON串,且支持一定的正则表达式。更多相关介绍和示例,请参见迁移、同步或订阅对象配置说明。'."\n", - 'type' => 'string', - 'example' => '{"dtstestdata": { "name": "dtstestdata", "all": true }}', - ], - 'DtsJobClass' => [ - 'description' => '链路规格。'."\n" - .'> 关于各链路规格的说明及性能测试情况请参见[数据同步链路规格说明](~~26605~~)。', - 'type' => 'string', - 'example' => 'large', - ], - 'DtsInstanceID' => [ - 'description' => '同步实例ID。', - 'type' => 'string', - 'example' => 'dtsi03e3zty16i****', - ], - 'DtsJobDirection' => [ - 'description' => '同步方向,固定为**Reverse**(反向)。', - 'type' => 'string', - 'example' => 'Reverse', - ], - 'Checkpoint' => [ - 'description' => '增量数据同步位点,格式为Unix时间戳,单位为秒。', - 'type' => 'string', - 'example' => '1616980369', - ], + 'Status' => ['description' => '反向同步任务状态,取值:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **Initializing**:同步初始化中。'."\n" + .'- **InitializeFailed**:同步初始化失败。'."\n" + .'- **Synchronizing**:同步中。'."\n" + .'- **Failed**:同步失败。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Modifying**:修改同步对象中。'."\n" + .'- **ModifyFailed**:修改同步对象失败。'."\n" + .'- **Finished**:完成。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Downgrade**:降级中。'."\n", 'type' => 'string', 'example' => 'Synchronizing'], + 'DtsJobName' => ['description' => '同步任务名称。', 'type' => 'string', 'example' => 'RDS间迁移'], + 'Delay' => ['description' => '增量数据同步的延迟时间,单位为秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。'."\n", 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].'], + 'DtsJobId' => ['description' => '同步任务ID。', 'type' => 'string', 'example' => 'i03e3zty16i****'], + 'ExpireTime' => ['description' => '实例的到期时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" + .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', 'type' => 'string', 'example' => '2023-03-16T08:01:19Z'], + 'CreateTime' => ['description' => '任务创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-16T08:01:19Z'], + 'PayType' => ['description' => '实例的付费类型,返回值:'."\n" + ."\n" + .'- **PrePaid**:包年包月(预付费)。'."\n" + .'- **PostPaid**:按量付费(后付费)。', 'type' => 'string', 'example' => 'PostPaid'], + 'Reserved' => ['description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', 'type' => 'string', 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}'], + 'DbObject' => ['description' => '同步对象的库表结构定义,格式为JSON串,且支持一定的正则表达式。更多相关介绍和示例,请参见迁移、同步或订阅对象配置说明。'."\n", 'type' => 'string', 'example' => '{"dtstestdata": { "name": "dtstestdata", "all": true }}'], + 'DtsJobClass' => ['description' => '链路规格。'."\n" + .'> 关于各链路规格的说明及性能测试情况请参见[数据同步链路规格说明](~~26605~~)。', 'type' => 'string', 'example' => 'large'], + 'DtsInstanceID' => ['description' => '同步实例ID。', 'type' => 'string', 'example' => 'dtsi03e3zty16i****'], + 'DtsJobDirection' => ['description' => '同步方向,固定为**Reverse**(反向)。', 'type' => 'string', 'example' => 'Reverse'], + 'Checkpoint' => ['description' => '增量数据同步位点,格式为Unix时间戳,单位为秒。', 'type' => 'string', 'example' => '1616980369'], 'DataInitializationStatus' => [ 'description' => '全量数据初始化的状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '全量数据初始化状态,取值包括:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:初始化中。'."\n" - .'- **Failed**:初始化失败。'."\n" - .'- **Finished**:初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '全量数据初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '全量数据初始化失败的错误提示。', - 'type' => 'string', - 'example' => 'java.lang.NumberFormatException: For input string: ""', - ], - 'Progress' => [ - 'description' => '已完成全量数据初始化的记录数。', - 'type' => 'string', - 'example' => '43071', - ], + 'Status' => ['description' => '全量数据初始化状态,取值包括:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:初始化中。'."\n" + .'- **Failed**:初始化失败。'."\n" + .'- **Finished**:初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '全量数据初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '全量数据初始化失败的错误提示。', 'type' => 'string', 'example' => 'java.lang.NumberFormatException: For input string: ""'], + 'Progress' => ['description' => '已完成全量数据初始化的记录数。', 'type' => 'string', 'example' => '43071'], ], ], 'DataSynchronizationStatus' => [ 'description' => '增量数据同步的状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '增量数据同步状态。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'Migrating', - ], - 'NeedUpgrade' => [ - 'description' => '是否需要升级实例规格,返回值:'."\n" - ."\n" - .'- **true**:需要。'."\n" - .'- **false**:不需要。'."\n" - ."\n" - .'> 如需升级实例规格,请调用[TransferInstanceClass](~~281093~~)进行升级。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Percent' => [ - 'description' => '增量数据同步进度,单位为百分比。'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'Progress' => [ - 'description' => '已完成增量数据迁移或同步的记录数。'."\n", - 'type' => 'string', - 'example' => '20001', - ], - 'ErrorMessage' => [ - 'description' => '增量数据同步失败的错误提示。', - 'type' => 'string', - 'example' => '任务失败太久无法恢复', - ], + 'Status' => ['description' => '增量数据同步状态。'."\n" + ."\n", 'type' => 'string', 'example' => 'Migrating'], + 'NeedUpgrade' => ['description' => '是否需要升级实例规格,返回值:'."\n" + ."\n" + .'- **true**:需要。'."\n" + .'- **false**:不需要。'."\n" + ."\n" + .'> 如需升级实例规格,请调用[TransferInstanceClass](~~281093~~)进行升级。', 'type' => 'boolean', 'example' => 'true'], + 'Percent' => ['description' => '增量数据同步进度,单位为百分比。'."\n", 'type' => 'string', 'example' => '100'], + 'Progress' => ['description' => '已完成增量数据迁移或同步的记录数。'."\n", 'type' => 'string', 'example' => '20001'], + 'ErrorMessage' => ['description' => '增量数据同步失败的错误提示。', 'type' => 'string', 'example' => '任务失败太久无法恢复'], ], ], 'DestinationEndpoint' => [ 'description' => '目标实例的连接信息。', 'type' => 'object', 'properties' => [ - 'SslSolutionEnum' => [ - 'description' => '是否使用SSL安全连接,返回值:'."\n" - ."\n" - .'- **DISABLE**:不使用SSL安全连接。'."\n" - .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" - .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" - .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。'."\n", - 'type' => 'string', - 'example' => 'DISABLE', - ], - 'OracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'Region' => [ - 'description' => '目标实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'DatabaseName' => [ - 'description' => '目标实例中同步对象所属数据库的名称。'."\n", - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'Ip' => [ - 'description' => '目标实例的连接地址。', - 'type' => 'string', - 'example' => '172.16.88.***', - ], - 'InstanceID' => [ - 'description' => '目标实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1162kryivb8****', - ], - 'Port' => [ - 'description' => '目标实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'InstanceType' => [ - 'description' => '目标实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'UserName' => [ - 'description' => '目标实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'EngineName' => [ - 'description' => '目标实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], + 'SslSolutionEnum' => ['description' => '是否使用SSL安全连接,返回值:'."\n" + ."\n" + .'- **DISABLE**:不使用SSL安全连接。'."\n" + .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" + .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" + .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。'."\n", 'type' => 'string', 'example' => 'DISABLE'], + 'OracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'Region' => ['description' => '目标实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'DatabaseName' => ['description' => '目标实例中同步对象所属数据库的名称。'."\n", 'type' => 'string', 'example' => 'dtstestdata'], + 'Ip' => ['description' => '目标实例的连接地址。', 'type' => 'string', 'example' => '172.16.88.***'], + 'InstanceID' => ['description' => '目标实例ID。', 'type' => 'string', 'example' => 'rm-bp1162kryivb8****'], + 'Port' => ['description' => '目标实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'InstanceType' => ['description' => '目标实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'UserName' => ['description' => '目标实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'EngineName' => ['description' => '目标实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], ], ], 'MigrationMode' => [ 'description' => '同步初始化类型。', 'type' => 'object', 'properties' => [ - 'DataInitialization' => [ - 'description' => '是否执行全量数据初始化,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataSynchronization' => [ - 'description' => '是否执行增量数据同步,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'StructureInitialization' => [ - 'description' => '是否执行库表结构初始化,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'FullDataCheck' => [ - 'description' => '是否进行全量数据校验,返回值为:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'IncDataCheck' => [ - 'description' => '是否进行增量数据校验,返回值为:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'StructureDataCheck' => [ - 'description' => '是否进行结构校验,返回值为:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'DataInitialization' => ['description' => '是否执行全量数据初始化,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DataSynchronization' => ['description' => '是否执行增量数据同步,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'StructureInitialization' => ['description' => '是否执行库表结构初始化,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'FullDataCheck' => ['description' => '是否进行全量数据校验,返回值为:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'IncDataCheck' => ['description' => '是否进行增量数据校验,返回值为:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'StructureDataCheck' => ['description' => '是否进行结构校验,返回值为:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'TimeWindowCheck' => ['type' => 'boolean'], ], ], 'Performance' => [ @@ -20322,16 +8674,8 @@ ."\n", 'type' => 'object', 'properties' => [ - 'Rps' => [ - 'description' => '每秒同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'Flow' => [ - 'description' => '每秒同步数据的流量,单位为MB/s。', - 'type' => 'string', - 'example' => '1', - ], + 'Rps' => ['description' => '每秒同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。'."\n", 'type' => 'string', 'example' => '100'], + 'Flow' => ['description' => '每秒同步数据的流量,单位为MB/s。', 'type' => 'string', 'example' => '1'], ], ], 'PrecheckStatus' => [ @@ -20339,62 +8683,31 @@ ."\n\n", 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '预检查状态,返回值:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Checking**:预检查中。'."\n" - .'- **Failed**:预检查失败。'."\n" - .'- **Finished**:预检查完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '预检查整体进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '预检查失败的提示信息。', - 'type' => 'string', - 'example' => 'CHECK__ERROR_SAME_OBJ.', - ], + 'Status' => ['description' => '预检查状态,返回值:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Checking**:预检查中。'."\n" + .'- **Failed**:预检查失败。'."\n" + .'- **Finished**:预检查完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '预检查整体进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '预检查失败的提示信息。', 'type' => 'string', 'example' => 'CHECK__ERROR_SAME_OBJ.'], 'Detail' => [ 'description' => '各预检查项的执行情况。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'CheckResult' => [ - 'description' => '检查结果,返回值:'."\n" - .'- **Success**:通过该项检查。'."\n" - .'- **Failed**:未通过该项检查。', - 'type' => 'string', - 'example' => 'Success', - ], - 'CheckItemDescription' => [ - 'description' => '预检查项目描述。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC_DETAIL', - ], - 'CheckItem' => [ - 'description' => '预检查项目。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC', - ], - 'RepairMethod' => [ - 'description' => "\n" - .'预检查未通过时对应的修复方法。'."\n", - 'type' => 'string', - 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2', - ], - 'FailedReason' => [ - 'description' => '预检查未通过的错误提示。', - 'type' => 'string', - 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)', - ], + 'CheckResult' => ['description' => '检查结果,返回值:'."\n" + .'- **Success**:通过该项检查。'."\n" + .'- **Failed**:未通过该项检查。', 'type' => 'string', 'example' => 'Success'], + 'CheckItemDescription' => ['description' => '预检查项目描述。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC_DETAIL'], + 'CheckItem' => ['description' => '预检查项目。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC'], + 'RepairMethod' => ['description' => "\n" + .'预检查未通过时对应的修复方法。'."\n", 'type' => 'string', 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2'], + 'FailedReason' => ['description' => '预检查未通过的错误提示。', 'type' => 'string', 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)'], ], + 'description' => '', ], ], ], @@ -20403,255 +8716,109 @@ 'description' => '源实例连接信息。', 'type' => 'object', 'properties' => [ - 'SslSolutionEnum' => [ - 'description' => '是否使用SSL安全连接,返回值:'."\n" - ."\n" - .'- **DISABLE**:不使用SSL安全连接。'."\n" - .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" - .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" - .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', - 'type' => 'string', - 'example' => 'DISABLE', - ], - 'OracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当源实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'Region' => [ - 'description' => '源实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'DatabaseName' => [ - 'description' => '源实例中迁移对象所属数据库的名称。'."\n", - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'Ip' => [ - 'description' => '源实例的连接地址。', - 'type' => 'string', - 'example' => '172.16.88.***', - ], - 'InstanceID' => [ - 'description' => '源实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1imrtn6fq7h****', - ], - 'Port' => [ - 'description' => '源实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'InstanceType' => [ - 'description' => '源实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'UserName' => [ - 'description' => '源实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'EngineName' => [ - 'description' => '源实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], + 'SslSolutionEnum' => ['description' => '是否使用SSL安全连接,返回值:'."\n" + ."\n" + .'- **DISABLE**:不使用SSL安全连接。'."\n" + .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" + .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" + .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', 'type' => 'string', 'example' => 'DISABLE'], + 'OracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当源实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'Region' => ['description' => '源实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'DatabaseName' => ['description' => '源实例中迁移对象所属数据库的名称。'."\n", 'type' => 'string', 'example' => 'dtstestdata'], + 'Ip' => ['description' => '源实例的连接地址。', 'type' => 'string', 'example' => '172.16.88.***'], + 'InstanceID' => ['description' => '源实例ID。', 'type' => 'string', 'example' => 'rm-bp1imrtn6fq7h****'], + 'Port' => ['description' => '源实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'InstanceType' => ['description' => '源实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'UserName' => ['description' => '源实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'EngineName' => ['description' => '源实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], ], ], 'StructureInitializationStatus' => [ 'description' => '库表结构初始化状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '库表结构初始化状态,取值包括:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:初始化中。'."\n" - .'- **Failed**:初始化失败。'."\n" - .'- **Finished**:初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '库表结构初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '库表结构初始化失败的错误提示。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;', - ], - 'Progress' => [ - 'description' => '已完成库表结构初始化的表的数量。', - 'type' => 'string', - 'example' => '1', - ], + 'Status' => ['description' => '库表结构初始化状态,取值包括:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:初始化中。'."\n" + .'- **Failed**:初始化失败。'."\n" + .'- **Finished**:初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '库表结构初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '库表结构初始化失败的错误提示。'."\n" + ."\n", 'type' => 'string', 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;'], + 'Progress' => ['description' => '已完成库表结构初始化的表的数量。', 'type' => 'string', 'example' => '1'], ], ], - 'DuUsage' => [ - 'description' => '已使用的DTS专属集群资源,单位为Du。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '15', - ], - 'CpuUsage' => [ - 'description' => '实例的当前cpu使用率。单位:%。', - 'type' => 'string', - 'example' => '90', - ], - 'MemUsage' => [ - 'description' => '已使用的内存,单位为mb。', - 'type' => 'string', - 'example' => '500', - ], - 'DedicatedClusterId' => [ - 'description' => 'DTS专属集群ID。', - 'type' => 'string', - 'example' => 'dtscluster_dpwl3**********', - ], + 'DuUsage' => ['description' => '已使用的DTS专属集群资源,单位为Du。', 'type' => 'integer', 'format' => 'int64', 'example' => '15'], + 'CpuUsage' => ['description' => '实例的当前cpu使用率。单位:%。', 'type' => 'string', 'example' => '90'], + 'MemUsage' => ['description' => '已使用的内存,单位为mb。', 'type' => 'string', 'example' => '500'], + 'DedicatedClusterId' => ['description' => 'DTS专属集群ID。', 'type' => 'string', 'example' => 'dtscluster_dpwl3**********'], 'ErrorDetails' => [ 'description' => '报错信息。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ErrorCode' => [ - 'description' => '错误码。', - 'type' => 'string', - 'example' => 'DTS-31009', - ], - 'HelpUrl' => [ - 'description' => '帮助文档的URL。', - 'type' => 'string', - 'example' => 'https://**.ali**.com/**', - ], + 'ErrorCode' => ['description' => '错误码。', 'type' => 'string', 'example' => 'DTS-31009'], + 'HelpUrl' => ['description' => '帮助文档的URL。', 'type' => 'string', 'example' => 'https://**.ali**.com/**'], ], + 'description' => '', ], ], - 'EtlSafeCheckpoint' => [ - 'description' => 'ETL任务的安全位点。', - 'type' => 'string', - 'example' => '1610540493', - ], - 'MinDu' => [ - 'description' => 'Serverless实例的DU下限。', - 'type' => 'number', - 'format' => 'double', - 'example' => '1', - ], - 'MaxDu' => [ - 'description' => 'Serverless实例的DU上限。', - 'type' => 'number', - 'format' => 'double', - 'example' => '16', - ], + 'EtlSafeCheckpoint' => ['description' => 'ETL任务的安全位点。', 'type' => 'string', 'example' => '1610540493'], + 'MinDu' => ['description' => 'Serverless实例的DU下限。', 'type' => 'number', 'format' => 'double', 'example' => '1'], + 'MaxDu' => ['description' => 'Serverless实例的DU上限。', 'type' => 'number', 'format' => 'double', 'example' => '16'], 'FullDataCheckStatus' => [ 'description' => '全量校验状态信息。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '全量校验任务的状态,返回值为:'."\n" - ."\n" - .'- **NotStarted**:未开始。'."\n" - .'- **Checking**:校验中。'."\n" - .'- **Failed**:校验失败。'."\n" - .'- **Finished**:校验完成。'."\n" - .'- **Inconsistency**:运行成功结果存在不一致数据。', - 'type' => 'string', - 'example' => 'Checking', - ], - 'Percent' => [ - 'description' => '全量校验任务的进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'java.lang.NumberFormatException: For input string: ""', - ], - 'Progress' => [ - 'description' => '全量校验任务进展。', - 'type' => 'string', - 'example' => '1 rows/s (row: 5/5, table: 1/1)', - ], - 'CanSwitch' => [ - 'description' => '是否可以进行迁移切换,返回值为:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。'."\n" - ."\n" - .'> 此参数供云原生数据库PolarDB产品的一键升级功能使用。', - 'type' => 'boolean', - 'example' => 'false', - ], + 'Status' => ['description' => '全量校验任务的状态,返回值为:'."\n" + ."\n" + .'- **NotStarted**:未开始。'."\n" + .'- **Checking**:校验中。'."\n" + .'- **Failed**:校验失败。'."\n" + .'- **Finished**:校验完成。'."\n" + .'- **Inconsistency**:运行成功结果存在不一致数据。', 'type' => 'string', 'example' => 'Checking'], + 'Percent' => ['description' => '全量校验任务的进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'java.lang.NumberFormatException: For input string: ""'], + 'Progress' => ['description' => '全量校验任务进展。', 'type' => 'string', 'example' => '1 rows/s (row: 5/5, table: 1/1)'], + 'CanSwitch' => ['description' => '是否可以进行迁移切换,返回值为:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。'."\n" + ."\n" + .'> 此参数供云原生数据库PolarDB产品的一键升级功能使用。', 'type' => 'boolean', 'example' => 'false'], ], ], 'IncDataCheckStatus' => [ 'description' => '增量校验状态信息。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '增量校验任务的状态,返回值为:'."\n" - .'- **Catched**:无延迟。'."\n" - .'- **NotStarted**:未开始。'."\n" - .'- **Checking**:校验中。'."\n" - .'- **Failed**:校验失败。'."\n" - .'- **Inconsistency**:运行成功结果存在不一致数据。', - 'type' => 'string', - 'example' => 'Checking', - ], - 'Percent' => [ - 'description' => '增量校验任务的进度,单位为百分比。', - 'type' => 'string', - 'example' => '95', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'java.lang.NumberFormatException: For input string: ""', - ], - 'Progress' => [ - 'description' => '增量校验任务的进展。', - 'type' => 'string', - 'example' => '1 rows/s (row: 5/5, table: 1/1)', - ], + 'Status' => ['description' => '增量校验任务的状态,返回值为:'."\n" + .'- **Catched**:无延迟。'."\n" + .'- **NotStarted**:未开始。'."\n" + .'- **Checking**:校验中。'."\n" + .'- **Failed**:校验失败。'."\n" + .'- **Inconsistency**:运行成功结果存在不一致数据。', 'type' => 'string', 'example' => 'Checking'], + 'Percent' => ['description' => '增量校验任务的进度,单位为百分比。', 'type' => 'string', 'example' => '95'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'java.lang.NumberFormatException: For input string: ""'], + 'Progress' => ['description' => '增量校验任务的进展。', 'type' => 'string', 'example' => '1 rows/s (row: 5/5, table: 1/1)'], ], ], 'StructureDataCheckStatus' => [ 'description' => '结构校验状态信息。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '结构校验任务的状态,返回值为:'."\n" - ."\n" - .'- **NotStarted**:未开始。'."\n" - .'- **Checking**:校验中。'."\n" - .'- **Failed**:校验失败。'."\n" - .'- **Finished**:校验完成。'."\n" - .'- **Inconsistency**:运行成功结果存在不一致数据。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '结构校验任务的进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => '****', - ], - 'Progress' => [ - 'description' => '完成结构校验对象的个数。', - 'type' => 'string', - 'example' => '5', - ], + 'Status' => ['description' => '结构校验任务的状态,返回值为:'."\n" + ."\n" + .'- **NotStarted**:未开始。'."\n" + .'- **Checking**:校验中。'."\n" + .'- **Failed**:校验失败。'."\n" + .'- **Finished**:校验完成。'."\n" + .'- **Inconsistency**:运行成功结果存在不一致数据。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '结构校验任务的进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => '****'], + 'Progress' => ['description' => '完成结构校验对象的个数。', 'type' => 'string', 'example' => '5'], ], ], ], @@ -20664,437 +8831,178 @@ ."\n", 'type' => 'object', 'properties' => [ - 'SslSolutionEnum' => [ - 'description' => '是否使用SSL安全连接,返回值:'."\n" - ."\n" - .'- **DISABLE**:不使用SSL安全连接。'."\n" - .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" - .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" - .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', - 'type' => 'string', - 'example' => 'DISABLE', - ], - 'OracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当源实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'Region' => [ - 'description' => '源实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'DatabaseName' => [ - 'description' => '源实例中迁移对象所属数据库的名称。'."\n", - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'Ip' => [ - 'description' => '源实例的连接地址。', - 'type' => 'string', - 'example' => '172.16.88.***', - ], - 'InstanceID' => [ - 'description' => '源实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1162kryivb8****', - ], - 'Port' => [ - 'description' => '源实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'InstanceType' => [ - 'description' => '源实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'UserName' => [ - 'description' => '源实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'EngineName' => [ - 'description' => '源实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], + 'SslSolutionEnum' => ['description' => '是否使用SSL安全连接,返回值:'."\n" + ."\n" + .'- **DISABLE**:不使用SSL安全连接。'."\n" + .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" + .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" + .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', 'type' => 'string', 'example' => 'DISABLE'], + 'OracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当源实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'Region' => ['description' => '源实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'DatabaseName' => ['description' => '源实例中迁移对象所属数据库的名称。'."\n", 'type' => 'string', 'example' => 'dtstestdata'], + 'Ip' => ['description' => '源实例的连接地址。', 'type' => 'string', 'example' => '172.16.88.***'], + 'InstanceID' => ['description' => '源实例ID。', 'type' => 'string', 'example' => 'rm-bp1162kryivb8****'], + 'Port' => ['description' => '源实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'InstanceType' => ['description' => '源实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'UserName' => ['description' => '源实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'EngineName' => ['description' => '源实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], ], ], 'StructureInitializationStatus' => [ 'description' => '库表结构迁移或初始化状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '库表结构迁移或初始化状态,取值包括:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移或初始化中。'."\n" - .'- **Failed**:迁移或初始化失败。'."\n" - .'- **Finished**:迁移或初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '库表结构迁移或初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '库表结构迁移或初始化失败的错误提示。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;', - ], - 'Progress' => [ - 'description' => '已完成库表结构迁移或初始化的表的数量。', - 'type' => 'string', - 'example' => '1', - ], + 'Status' => ['description' => '库表结构迁移或初始化状态,取值包括:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移或初始化中。'."\n" + .'- **Failed**:迁移或初始化失败。'."\n" + .'- **Finished**:迁移或初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '库表结构迁移或初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '库表结构迁移或初始化失败的错误提示。'."\n" + ."\n", 'type' => 'string', 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;'], + 'Progress' => ['description' => '已完成库表结构迁移或初始化的表的数量。', 'type' => 'string', 'example' => '1'], ], ], 'RetryState' => [ 'description' => '由于任务异常,DTS正在重试。', 'type' => 'object', 'properties' => [ - 'RetryCount' => [ - 'description' => '已重试次数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'MaxRetryTime' => [ - 'description' => '最大重试时间,单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '7200', - ], - 'ErrMessage' => [ - 'description' => '重试失败的错误提示。', - 'type' => 'string', - 'example' => 'Unexpected error', - ], - 'RetryTarget' => [ - 'description' => '重试目标,返回值:'."\n" - ."\n" - .'- **srcDB**:源数据库。'."\n" - .'- **destDB**:目标数据库。'."\n" - .'- **inner_module**:DTS内部模块。', - 'type' => 'string', - 'example' => 'srcDB', - ], - 'RetryTime' => [ - 'description' => '已重试时间,单位秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3600', - ], - 'Module' => [ - 'description' => '实例进展。', - 'type' => 'string', - 'example' => '03', - ], - 'JobId' => [ - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'bi6e22ay243****', - ], - 'Retrying' => [ - 'description' => '任务是否在重试中,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'MigrationErrHelpDocId' => [ - 'description' => '错误码帮助文档的ID。', - 'type' => 'string', - 'example' => '462133', - ], - 'MigrationErrHelpDocKey' => [ - 'description' => '错误码帮助文档的Key。', - 'type' => 'string', - 'example' => 'DTS-RETRY-ERR-0046', - ], - 'MigrationErrCode' => [ - 'description' => '错误码的Code。', - 'type' => 'string', - 'example' => 'dts.retry.err.0046', - ], - 'MigrationErrType' => [ - 'description' => '错误码的类型。', - 'type' => 'string', - 'example' => 'ForeignKey', - ], - 'MigrationErrMsg' => [ - 'description' => '错误信息。', - 'type' => 'string', - 'example' => 'dts.retry.err.0046.msg', - ], - 'MigrationErrWorkaround' => [ - 'description' => '错误解决方法。', - 'type' => 'string', - 'example' => 'dts.retry.err.0046.workaround', - ], + 'RetryCount' => ['description' => '已重试次数。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'MaxRetryTime' => ['description' => '最大重试时间,单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '7200'], + 'ErrMessage' => ['description' => '重试失败的错误提示。', 'type' => 'string', 'example' => 'Unexpected error'], + 'RetryTarget' => ['description' => '重试目标,返回值:'."\n" + ."\n" + .'- **srcDB**:源数据库。'."\n" + .'- **destDB**:目标数据库。'."\n" + .'- **inner_module**:DTS内部模块。', 'type' => 'string', 'example' => 'srcDB'], + 'RetryTime' => ['description' => '已重试时间,单位秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '3600'], + 'Module' => ['description' => '实例进展。', 'type' => 'string', 'example' => '03'], + 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'bi6e22ay243****'], + 'Retrying' => ['description' => '任务是否在重试中,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'false'], + 'MigrationErrHelpDocId' => ['description' => '错误码帮助文档的ID。', 'type' => 'string', 'example' => '462133'], + 'MigrationErrHelpDocKey' => ['description' => '错误码帮助文档的Key。', 'type' => 'string', 'example' => 'DTS-RETRY-ERR-0046'], + 'MigrationErrCode' => ['description' => '错误码的Code。', 'type' => 'string', 'example' => 'dts.retry.err.0046'], + 'MigrationErrType' => ['description' => '错误码的类型。', 'type' => 'string', 'example' => 'ForeignKey'], + 'MigrationErrMsg' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'dts.retry.err.0046.msg'], + 'MigrationErrWorkaround' => ['description' => '错误解决方法。', 'type' => 'string', 'example' => 'dts.retry.err.0046.workaround'], ], ], - 'JobType' => [ - 'title' => 'DTS任务类型', - 'description' => 'DTS任务类型,取值:'."\n" - .'- **online**:迁移。'."\n" - .'- **sync**:同步。'."\n" - .'- **subscribe**:订阅。', - 'type' => 'string', - 'example' => 'online', - ], - 'DuUsage' => [ - 'description' => '已使用的DTS专属集群资源,单位为Du。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '15', - ], - 'CpuUsage' => [ - 'description' => '实例的当前cpu使用率。单位:%。', - 'type' => 'string', - 'example' => '1', - ], - 'MemUsage' => [ - 'description' => '已使用的内存。单位:mb。', - 'type' => 'string', - 'example' => '500', - ], - 'DedicatedClusterId' => [ - 'description' => 'DTS专属集群ID。'."\n", - 'type' => 'string', - 'example' => 'dtscluster_ft7y3**********', - ], + 'JobType' => ['title' => 'DTS任务类型', 'description' => 'DTS任务类型,取值:'."\n" + .'- **online**:迁移。'."\n" + .'- **sync**:同步。'."\n" + .'- **subscribe**:订阅。', 'type' => 'string', 'example' => 'online'], + 'DuUsage' => ['description' => '已使用的DTS专属集群资源,单位为Du。', 'type' => 'integer', 'format' => 'int64', 'example' => '15'], + 'CpuUsage' => ['description' => '实例的当前cpu使用率。单位:%。', 'type' => 'string', 'example' => '1'], + 'MemUsage' => ['description' => '已使用的内存。单位:mb。', 'type' => 'string', 'example' => '500'], + 'DedicatedClusterId' => ['description' => 'DTS专属集群ID。'."\n", 'type' => 'string', 'example' => 'dtscluster_ft7y3**********'], 'ErrorDetails' => [ 'description' => '报错信息。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ErrorCode' => [ - 'description' => '错误码。', - 'type' => 'string', - 'example' => 'DTS-31009', - ], - 'HelpUrl' => [ - 'description' => '帮助文档的URL。', - 'type' => 'string', - 'example' => 'https://**.ali**.com/**', - ], + 'ErrorCode' => ['description' => '错误码。', 'type' => 'string', 'example' => 'DTS-31009'], + 'HelpUrl' => ['description' => '帮助文档的URL。', 'type' => 'string', 'example' => 'https://**.ali**.com/**'], ], + 'description' => '', ], ], 'DataCloudStatus' => [ 'description' => '物理迁移上云的任务进程状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '任务的状态,详情请参见本接口请求参数**Status**的描述。', - 'type' => 'string', - 'example' => 'Migrating', - ], - 'NeedUpgrade' => [ - 'description' => '是否需要升级实例规格,返回值:'."\n" - ."\n" - .'- **true**:需要。'."\n" - .'- **false**:不需要。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Percent' => [ - 'description' => '任务进度,单位为百分比。', - 'type' => 'string', - 'example' => '85', - ], - 'Progress' => [ - 'description' => '已经完成迁移的表数量。', - 'type' => 'string', - 'example' => '1', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'framework: DTS-31009: In process of processing data ****', - ], + 'Status' => ['description' => '任务的状态,详情请参见本接口请求参数**Status**的描述。', 'type' => 'string', 'example' => 'Migrating'], + 'NeedUpgrade' => ['description' => '是否需要升级实例规格,返回值:'."\n" + ."\n" + .'- **true**:需要。'."\n" + .'- **false**:不需要。', 'type' => 'boolean', 'example' => 'false'], + 'Percent' => ['description' => '任务进度,单位为百分比。', 'type' => 'string', 'example' => '85'], + 'Progress' => ['description' => '已经完成迁移的表数量。', 'type' => 'string', 'example' => '1'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'framework: DTS-31009: In process of processing data ****'], ], ], - 'ResourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-acfmzawhxxc****', - ], - 'ResourceGroupDisplayName' => [ - 'description' => '资源组名称。', - 'type' => 'string', - 'example' => 'default resource group', - ], - 'MigrationErrMsg' => [ - 'description' => '错误信息。', - 'type' => 'string', - 'example' => 'dts.retry.err.0046.msg', - ], - 'MigrationErrHelpDocId' => [ - 'description' => '错误码帮助文档的ID。', - 'type' => 'string', - 'example' => '462133', - ], - 'MigrationErrWorkaround' => [ - 'description' => '错误解决方法。', - 'type' => 'string', - 'example' => 'dts.retry.err.0046.workaround', - ], - 'MigrationErrCode' => [ - 'description' => '错误码的Code。', - 'type' => 'string', - 'example' => 'dts.retry.err.0046', - ], - 'MigrationErrHelpDocKey' => [ - 'description' => '错误码帮助文档的Key。', - 'type' => 'string', - 'example' => 'DTS-RETRY-ERR-0046', - ], - 'MigrationErrType' => [ - 'description' => '错误码的类型。', - 'type' => 'string', - 'example' => 'ForeignKey', - ], - 'EtlSafeCheckpoint' => [ - 'description' => 'ETL任务安全位点。', - 'type' => 'string', - 'example' => '1610540493', - ], + 'ResourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-acfmzawhxxc****'], + 'ResourceGroupDisplayName' => ['description' => '资源组名称。', 'type' => 'string', 'example' => 'default resource group'], + 'MigrationErrMsg' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'dts.retry.err.0046.msg'], + 'MigrationErrHelpDocId' => ['description' => '错误码帮助文档的ID。', 'type' => 'string', 'example' => '462133'], + 'MigrationErrWorkaround' => ['description' => '错误解决方法。', 'type' => 'string', 'example' => 'dts.retry.err.0046.workaround'], + 'MigrationErrCode' => ['description' => '错误码的Code。', 'type' => 'string', 'example' => 'dts.retry.err.0046'], + 'MigrationErrHelpDocKey' => ['description' => '错误码帮助文档的Key。', 'type' => 'string', 'example' => 'DTS-RETRY-ERR-0046'], + 'MigrationErrType' => ['description' => '错误码的类型。', 'type' => 'string', 'example' => 'ForeignKey'], + 'EtlSafeCheckpoint' => ['description' => 'ETL任务安全位点。', 'type' => 'string', 'example' => '1610540493'], 'FullDataCheckStatus' => [ 'description' => '全量校验状态信息。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '全量校验任务的状态,返回值为:'."\n" - ."\n" - .'- **NotStarted**:未开始。'."\n" - .'- **Checking**:校验中。'."\n" - .'- **Failed**:校验失败。'."\n" - .'- **Finished**:校验完成。', - 'type' => 'string', - 'example' => 'Checking', - ], - 'Percent' => [ - 'description' => '全量校验任务的进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'java.lang.NumberFormatException: For input string: ""', - ], - 'Progress' => [ - 'description' => '全量校验任务进展。', - 'type' => 'string', - 'example' => '1 rows/s (row: 5/5, table: 1/1)', - ], - 'CanSwitch' => [ - 'description' => '是否可以进行迁移切换,返回值为:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。'."\n" - ."\n" - .'> 此参数供云原生数据库PolarDB产品的一键升级功能使用。', - 'type' => 'boolean', - 'example' => 'false', - ], + 'Status' => ['description' => '全量校验任务的状态,返回值为:'."\n" + ."\n" + .'- **NotStarted**:未开始。'."\n" + .'- **Checking**:校验中。'."\n" + .'- **Failed**:校验失败。'."\n" + .'- **Finished**:校验完成。', 'type' => 'string', 'example' => 'Checking'], + 'Percent' => ['description' => '全量校验任务的进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'java.lang.NumberFormatException: For input string: ""'], + 'Progress' => ['description' => '全量校验任务进展。', 'type' => 'string', 'example' => '1 rows/s (row: 5/5, table: 1/1)'], + 'CanSwitch' => ['description' => '是否可以进行迁移切换,返回值为:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。'."\n" + ."\n" + .'> 此参数供云原生数据库PolarDB产品的一键升级功能使用。', 'type' => 'boolean', 'example' => 'false'], ], ], 'IncDataCheckStatus' => [ 'description' => '增量校验状态信息。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '增量校验任务的状态,返回值为:'."\n" - .'- **Catched**:无延迟。'."\n" - .'- **NotStarted**:未开始。'."\n" - .'- **Checking**:校验中。'."\n" - .'- **Failed**:校验失败。', - 'type' => 'string', - 'example' => 'Checking', - ], - 'Percent' => [ - 'description' => '增量校验任务的进度,单位为百分比。', - 'type' => 'string', - 'example' => '95', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'java.lang.NumberFormatException: For input string: ""', - ], - 'Progress' => [ - 'description' => '增量校验任务的进展。', - 'type' => 'string', - 'example' => '1 rows/s (row: 5/5, table: 1/1)', - ], + 'Status' => ['description' => '增量校验任务的状态,返回值为:'."\n" + .'- **Catched**:无延迟。'."\n" + .'- **NotStarted**:未开始。'."\n" + .'- **Checking**:校验中。'."\n" + .'- **Failed**:校验失败。', 'type' => 'string', 'example' => 'Checking'], + 'Percent' => ['description' => '增量校验任务的进度,单位为百分比。', 'type' => 'string', 'example' => '95'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'java.lang.NumberFormatException: For input string: ""'], + 'Progress' => ['description' => '增量校验任务的进展。', 'type' => 'string', 'example' => '1 rows/s (row: 5/5, table: 1/1)'], ], ], - 'DtsBisLabel' => [ - 'description' => 'DTS实例的环境标签,返回值为:'."\n" - ."\n" - .'- **normal**:**普通**'."\n" - .'- **online**:**线上**', - 'type' => 'string', - 'example' => 'normal', - ], - 'MinDu' => [ - 'description' => 'Serverless实例的DU下限。', - 'type' => 'number', - 'format' => 'double', - 'example' => '1', - ], - 'MaxDu' => [ - 'description' => 'Serverless实例的DU上限。', - 'type' => 'number', - 'format' => 'double', - 'example' => '16', - ], - 'DuRealUsage' => [ - 'description' => '专属集群任务的DU使用率。', - 'type' => 'string', - 'example' => '12.0%', - ], + 'DtsBisLabel' => ['description' => 'DTS实例的环境标签,返回值为:'."\n" + ."\n" + .'- **normal**:**普通**'."\n" + .'- **online**:**线上**', 'type' => 'string', 'example' => 'normal'], + 'MinDu' => ['description' => 'Serverless实例的DU下限。', 'type' => 'number', 'format' => 'double', 'example' => '1'], + 'MaxDu' => ['description' => 'Serverless实例的DU上限。', 'type' => 'number', 'format' => 'double', 'example' => '16'], + 'DuRealUsage' => ['description' => '专属集群任务的DU使用率。', 'type' => 'string', 'example' => '12.0%'], 'StructureDataCheckStatus' => [ 'description' => '结构校验状态信息。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '结构校验任务的状态,返回值为:'."\n" - ."\n" - .'- **NotStarted**:未开始。'."\n" - .'- **Checking**:校验中。'."\n" - .'- **Failed**:校验失败。'."\n" - .'- **Finished**:校验完成。'."\n" - .'- **Inconsistency**:运行成功结果存在不一致数据。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '结构校验任务的进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => '****', - ], - 'Progress' => [ - 'description' => '完成结构校验对象的个数。', - 'type' => 'string', - 'example' => '5', - ], + 'Status' => ['description' => '结构校验任务的状态,返回值为:'."\n" + ."\n" + .'- **NotStarted**:未开始。'."\n" + .'- **Checking**:校验中。'."\n" + .'- **Failed**:校验失败。'."\n" + .'- **Finished**:校验完成。'."\n" + .'- **Inconsistency**:运行成功结果存在不一致数据。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '结构校验任务的进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => '****'], + 'Progress' => ['description' => '完成结构校验对象的个数。', 'type' => 'string', 'example' => '5'], + ], + ], + 'InsightModule' => ['type' => 'boolean'], + 'TimeWindowDataCheckStatus' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['type' => 'string'], + 'Percent' => ['type' => 'string'], + 'ErrorMessage' => ['type' => 'string'], + 'Progress' => ['type' => 'string'], ], ], ], + 'description' => '', ], ], 'EtlDemoList' => [ @@ -21103,260 +9011,136 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'DTS实例状态,取值:'."\n" - ."\n" - .'迁移任务状态:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **MigrationFailed**:迁移失败。'."\n" - .'- **Finished**:完成。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Downgrade**:降级中。'."\n" - ."\n" - .'同步任务状态:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **Initializing**:同步初始化中。'."\n" - .'- **InitializeFailed**:同步初始化失败。'."\n" - .'- **Synchronizing**:同步中。'."\n" - .'- **Failed**:同步失败。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Modifying**:修改同步对象中。'."\n" - .'- **ModifyFailed**:修改同步对象失败。'."\n" - .'- **Finished**:完成。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Downgrade**:降级中。'."\n" - ."\n" - .'订阅任务的状态:'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **Starting**:启动中。'."\n" - .'- **Normal**:正常。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Abnormal**:异常。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Downgrade**:降级中。'."\n", - 'type' => 'string', - 'example' => 'Migrating', - ], - 'OriginType' => [ - 'description' => '标注任务来源:'."\n" - ."\n" - .'- **PTS任务**'."\n" - .'- **DMS任务**'."\n" - .'- **DTS任务**', - 'type' => 'string', - 'example' => 'DTS任务', - ], - 'DtsJobName' => [ - 'description' => '迁移、同步或订阅任务名称。', - 'type' => 'string', - 'example' => 'RDS间迁移', - ], - 'Delay' => [ - 'description' => '增量数据迁移或者同步的延迟时间。'."\n" - .'> 如查询迁移任务,该参数的单位为毫秒,如查询同步任务,该参数的单位为秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].', - ], - 'ExpireTime' => [ - 'description' => '实例的到期时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" - .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', - 'type' => 'string', - 'example' => '2022-03-16T08:01:19Z', - ], - 'DtsJobId' => [ - 'description' => '迁移、同步或订阅任务ID。', - 'type' => 'string', - 'example' => 'i03e3zty16i****', - ], - 'CreateTime' => [ - 'description' => '任务创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2021-03-16T08:01:19Z', - ], - 'PayType' => [ - 'description' => '实例的付费类型,返回值:'."\n" - ."\n" - .'- **PrePaid**:包年包月(预付费)。'."\n" - .'- **PostPaid**:按量付费(后付费)。', - 'type' => 'string', - 'example' => 'PrePaid', - ], - 'Reserved' => [ - 'description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', - 'type' => 'string', - 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}', - ], - 'ConsumptionClient' => [ - 'description' => '下游消费客户端信息,由IP地址和DTS随机生成的随机数组成。', - 'type' => 'string', - 'example' => '114...:dts******', - ], - 'DbObject' => [ - 'description' => '迁移、同步或订阅对象,详细定义说明,请参见[迁移、同步或订阅对象说明](~~209545~~)。', - 'type' => 'string', - 'example' => '{"dtstestdata": { "name": "dtstestdata", "all": true }}', - ], - 'DtsJobClass' => [ - 'description' => '链路规格。'."\n" - .'> 关于各链路规格的说明及性能测试情况请参见[数据迁移链路规格说明](~~26606~~),[数据同步链路规格说明](~~26605~~)。', - 'type' => 'string', - 'example' => 'large', - ], - 'ConsumptionCheckpoint' => [ - 'description' => '订阅实例的下游消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2021-03-23T07:30:31Z', - ], - 'EndTimestamp' => [ - 'description' => '订阅实例中保存的数据范围的截止时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2021-03-26T14:03:21Z', - ], - 'AppName' => [ - 'description' => '是否为新版订阅,**new**(新版订阅)。'."\n" - .'> 该参数仅在新版订阅实例中返回。', - 'type' => 'string', - 'example' => 'new', - ], - 'BeginTimestamp' => [ - 'description' => '订阅实例中保存的数据范围的起始时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2021-03-15T08:25:34Z', - ], - 'DtsInstanceID' => [ - 'description' => '迁移、同步或订阅实例ID。', - 'type' => 'string', - 'example' => 'dtsi03e3zty16i****', - ], - 'DtsJobDirection' => [ - 'description' => '同步方向,返回值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> 当数据同步实例的拓扑为双向时,才会返回本参数。', - 'type' => 'string', - 'example' => 'Forward', - ], - 'Checkpoint' => [ - 'description' => '增量数据迁移的启动位点或者同步位点,格式为Unix时间戳,单位为秒。', - 'type' => 'string', - 'example' => '1616899019', - ], + 'Status' => ['description' => 'DTS实例状态,取值:'."\n" + ."\n" + .'迁移任务状态:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **MigrationFailed**:迁移失败。'."\n" + .'- **Finished**:完成。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Downgrade**:降级中。'."\n" + ."\n" + .'同步任务状态:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **Initializing**:同步初始化中。'."\n" + .'- **InitializeFailed**:同步初始化失败。'."\n" + .'- **Synchronizing**:同步中。'."\n" + .'- **Failed**:同步失败。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Modifying**:修改同步对象中。'."\n" + .'- **ModifyFailed**:修改同步对象失败。'."\n" + .'- **Finished**:完成。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Downgrade**:降级中。'."\n" + ."\n" + .'订阅任务的状态:'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **Starting**:启动中。'."\n" + .'- **Normal**:正常。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Abnormal**:异常。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Downgrade**:降级中。'."\n", 'type' => 'string', 'example' => 'Migrating'], + 'OriginType' => ['description' => '标注任务来源:'."\n" + ."\n" + .'- **PTS任务**'."\n" + .'- **DMS任务**'."\n" + .'- **DTS任务**', 'type' => 'string', 'example' => 'DTS任务'], + 'DtsJobName' => ['description' => '迁移、同步或订阅任务名称。', 'type' => 'string', 'example' => 'RDS间迁移'], + 'Delay' => ['description' => '增量数据迁移或者同步的延迟时间。'."\n" + .'> 如查询迁移任务,该参数的单位为毫秒,如查询同步任务,该参数的单位为秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].'], + 'ExpireTime' => ['description' => '实例的到期时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" + .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', 'type' => 'string', 'example' => '2022-03-16T08:01:19Z'], + 'DtsJobId' => ['description' => '迁移、同步或订阅任务ID。', 'type' => 'string', 'example' => 'i03e3zty16i****'], + 'CreateTime' => ['description' => '任务创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2021-03-16T08:01:19Z'], + 'PayType' => ['description' => '实例的付费类型,返回值:'."\n" + ."\n" + .'- **PrePaid**:包年包月(预付费)。'."\n" + .'- **PostPaid**:按量付费(后付费)。', 'type' => 'string', 'example' => 'PrePaid'], + 'Reserved' => ['description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', 'type' => 'string', 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}'], + 'ConsumptionClient' => ['description' => '下游消费客户端信息,由IP地址和DTS随机生成的随机数组成。', 'type' => 'string', 'example' => '114...:dts******'], + 'DbObject' => ['description' => '迁移、同步或订阅对象,详细定义说明,请参见[迁移、同步或订阅对象说明](~~209545~~)。', 'type' => 'string', 'example' => '{"dtstestdata": { "name": "dtstestdata", "all": true }}'], + 'DtsJobClass' => ['description' => '链路规格。'."\n" + .'> 关于各链路规格的说明及性能测试情况请参见[数据迁移链路规格说明](~~26606~~),[数据同步链路规格说明](~~26605~~)。', 'type' => 'string', 'example' => 'large'], + 'ConsumptionCheckpoint' => ['description' => '订阅实例的下游消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2021-03-23T07:30:31Z'], + 'EndTimestamp' => ['description' => '订阅实例中保存的数据范围的截止时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2021-03-26T14:03:21Z'], + 'AppName' => ['description' => '是否为新版订阅,**new**(新版订阅)。'."\n" + .'> 该参数仅在新版订阅实例中返回。', 'type' => 'string', 'example' => 'new'], + 'BeginTimestamp' => ['description' => '订阅实例中保存的数据范围的起始时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2021-03-15T08:25:34Z'], + 'DtsInstanceID' => ['description' => '迁移、同步或订阅实例ID。', 'type' => 'string', 'example' => 'dtsi03e3zty16i****'], + 'DtsJobDirection' => ['description' => '同步方向,返回值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> 当数据同步实例的拓扑为双向时,才会返回本参数。', 'type' => 'string', 'example' => 'Forward'], + 'Checkpoint' => ['description' => '增量数据迁移的启动位点或者同步位点,格式为Unix时间戳,单位为秒。', 'type' => 'string', 'example' => '1616899019'], 'TagList' => [ 'description' => '标签集合。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'TagValue' => [ - 'description' => '标签的值。', - 'type' => 'string', - 'example' => 'testvalue', - ], - 'TagKey' => [ - 'description' => '标签的键。', - 'type' => 'string', - 'example' => 'testkey', - ], + 'TagValue' => ['description' => '标签的值。', 'type' => 'string', 'example' => 'testvalue'], + 'TagKey' => ['description' => '标签的键。', 'type' => 'string', 'example' => 'testkey'], ], + 'description' => '', ], ], 'DataInitializationStatus' => [ 'description' => '全量数据迁移或初始化的状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '全量数据迁移或初始化状态,取值包括:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移或初始化中。'."\n" - .'- **Failed**:迁移或初始化失败。'."\n" - .'- **Finished**:迁移或初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '全量数据迁移或初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '全量数据迁移或初始化失败的错误提示。', - 'type' => 'string', - 'example' => 'java.lang.NumberFormatException: For input string: ""', - ], - 'Progress' => [ - 'description' => '已完成全量数据迁移或初始化的记录数。', - 'type' => 'string', - 'example' => '44755', - ], + 'Status' => ['description' => '全量数据迁移或初始化状态,取值包括:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移或初始化中。'."\n" + .'- **Failed**:迁移或初始化失败。'."\n" + .'- **Finished**:迁移或初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '全量数据迁移或初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '全量数据迁移或初始化失败的错误提示。', 'type' => 'string', 'example' => 'java.lang.NumberFormatException: For input string: ""'], + 'Progress' => ['description' => '已完成全量数据迁移或初始化的记录数。', 'type' => 'string', 'example' => '44755'], ], ], 'DataSynchronizationStatus' => [ 'description' => '增量数据迁移或同步的状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '增量数据迁移或同步状态,返回值为:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移或同步中。'."\n" - .'- **Failed**:迁移或同步失败。'."\n" - .'- **Finished**:迁移或同步完成。'."\n" - .'- **Catched**:无延迟。', - 'type' => 'string', - 'example' => 'Catched', - ], - 'NeedUpgrade' => [ - 'description' => '是否需要升级实例规格,返回值:'."\n" - ."\n" - .'- **true**:需要。'."\n" - .'- **false**:不需要。'."\n" - ."\n" - .'> 如需升级实例规格,请调用[TransferInstanceClass](~~281093~~)进行升级。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Percent' => [ - 'description' => '增量数据迁移或同步进度,单位为百分比。', - 'type' => 'string', - 'example' => '95', - ], - 'Progress' => [ - 'description' => '已完成增量数据迁移或同步的记录数。', - 'type' => 'string', - 'example' => '0/0', - ], - 'ErrorMessage' => [ - 'description' => '增量数据迁移或同步失败的错误提示。', - 'type' => 'string', - 'example' => '任务失败太久无法恢复', - ], + 'Status' => ['description' => '增量数据迁移或同步状态,返回值为:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移或同步中。'."\n" + .'- **Failed**:迁移或同步失败。'."\n" + .'- **Finished**:迁移或同步完成。'."\n" + .'- **Catched**:无延迟。', 'type' => 'string', 'example' => 'Catched'], + 'NeedUpgrade' => ['description' => '是否需要升级实例规格,返回值:'."\n" + ."\n" + .'- **true**:需要。'."\n" + .'- **false**:不需要。'."\n" + ."\n" + .'> 如需升级实例规格,请调用[TransferInstanceClass](~~281093~~)进行升级。', 'type' => 'boolean', 'example' => 'true'], + 'Percent' => ['description' => '增量数据迁移或同步进度,单位为百分比。', 'type' => 'string', 'example' => '95'], + 'Progress' => ['description' => '已完成增量数据迁移或同步的记录数。', 'type' => 'string', 'example' => '0/0'], + 'ErrorMessage' => ['description' => '增量数据迁移或同步失败的错误提示。', 'type' => 'string', 'example' => '任务失败太久无法恢复'], ], ], 'DataEtlStatus' => [ @@ -21364,200 +9148,93 @@ .'> 配置ETL任务后,才会返回该参数集合。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'ETL任务状态,返回值为:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:执行中。'."\n" - .'- **Failed**:执行失败。'."\n" - .'- **Finished**:完成。'."\n" - .'- **Catched**:无延迟。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => 'ETL任务进度,单位为百分比。', - 'type' => 'string', - 'example' => '95', - ], - 'ErrorMessage' => [ - 'description' => 'ETL任务失败的错误提示。', - 'type' => 'string', - 'example' => '任务失败太久无法恢复', - ], - 'Progress' => [ - 'description' => '已完成ETL任务的记录数。', - 'type' => 'string', - 'example' => '0/0', - ], + 'Status' => ['description' => 'ETL任务状态,返回值为:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:执行中。'."\n" + .'- **Failed**:执行失败。'."\n" + .'- **Finished**:完成。'."\n" + .'- **Catched**:无延迟。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => 'ETL任务进度,单位为百分比。', 'type' => 'string', 'example' => '95'], + 'ErrorMessage' => ['description' => 'ETL任务失败的错误提示。', 'type' => 'string', 'example' => '任务失败太久无法恢复'], + 'Progress' => ['description' => '已完成ETL任务的记录数。', 'type' => 'string', 'example' => '0/0'], ], ], 'DestinationEndpoint' => [ 'description' => '目标实例的连接信息。', 'type' => 'object', 'properties' => [ - 'SslSolutionEnum' => [ - 'description' => '是否使用SSL安全连接,返回值:'."\n" - ."\n" - .'- **DISABLE**:不使用SSL安全连接。'."\n" - .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" - .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" - .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', - 'type' => 'string', - 'example' => 'DISABLE', - ], - 'OracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'Region' => [ - 'description' => '目标实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'DatabaseName' => [ - 'description' => '目标实例中迁移对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'Ip' => [ - 'description' => '目标实例的连接地址。', - 'type' => 'string', - 'example' => '172.16.88.***', - ], - 'InstanceID' => [ - 'description' => '目标实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1imrtn6fq7h****', - ], - 'Port' => [ - 'description' => '目标实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'InstanceType' => [ - 'description' => '目标实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'UserName' => [ - 'description' => '目标实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'EngineName' => [ - 'description' => '目标实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], + 'SslSolutionEnum' => ['description' => '是否使用SSL安全连接,返回值:'."\n" + ."\n" + .'- **DISABLE**:不使用SSL安全连接。'."\n" + .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" + .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" + .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', 'type' => 'string', 'example' => 'DISABLE'], + 'OracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'Region' => ['description' => '目标实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'DatabaseName' => ['description' => '目标实例中迁移对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'Ip' => ['description' => '目标实例的连接地址。', 'type' => 'string', 'example' => '172.16.88.***'], + 'InstanceID' => ['description' => '目标实例ID。', 'type' => 'string', 'example' => 'rm-bp1imrtn6fq7h****'], + 'Port' => ['description' => '目标实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'InstanceType' => ['description' => '目标实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'UserName' => ['description' => '目标实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'EngineName' => ['description' => '目标实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], ], ], 'MigrationMode' => [ 'description' => '迁移类型或同步初始化类型。', 'type' => 'object', 'properties' => [ - 'DataInitialization' => [ - 'description' => '是否执行全量数据迁移或全量数据初始化,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataSynchronization' => [ - 'description' => '是否执行增量数据迁移或同步,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'StructureInitialization' => [ - 'description' => '是否执行库表结构迁移或初始化,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'DataInitialization' => ['description' => '是否执行全量数据迁移或全量数据初始化,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DataSynchronization' => ['description' => '是否执行增量数据迁移或同步,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'StructureInitialization' => ['description' => '是否执行库表结构迁移或初始化,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'Performance' => [ 'description' => '迁移或同步链路的性能信息。', 'type' => 'object', 'properties' => [ - 'Rps' => [ - 'description' => '每秒迁移或同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。', - 'type' => 'string', - 'example' => '100', - ], - 'Flow' => [ - 'description' => '每秒迁移或同步数据的流量,单位为MB/s。', - 'type' => 'string', - 'example' => '1', - ], + 'Rps' => ['description' => '每秒迁移或同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。', 'type' => 'string', 'example' => '100'], + 'Flow' => ['description' => '每秒迁移或同步数据的流量,单位为MB/s。', 'type' => 'string', 'example' => '1'], ], ], 'PrecheckStatus' => [ 'description' => '预检查状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '预检查状态,返回值:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Checking**:预检查中。'."\n" - .'- **Failed**:预检查失败。'."\n" - .'- **Finished**:预检查完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '预检查整体进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '预检查失败的提示信息。', - 'type' => 'string', - 'example' => 'CHECK__ERROR_SAME_OBJ.', - ], + 'Status' => ['description' => '预检查状态,返回值:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Checking**:预检查中。'."\n" + .'- **Failed**:预检查失败。'."\n" + .'- **Finished**:预检查完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '预检查整体进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '预检查失败的提示信息。', 'type' => 'string', 'example' => 'CHECK__ERROR_SAME_OBJ.'], 'Detail' => [ 'description' => '各预检查项的执行情况。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'CheckResult' => [ - 'description' => '检查结果,返回值:'."\n" - .'- **Success**:通过该项检查。'."\n" - .'- **Failed**:未通过该项检查。', - 'type' => 'string', - 'example' => 'Success', - ], - 'CheckItemDescription' => [ - 'description' => '预检查项目描述。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC_DETAIL', - ], - 'CheckItem' => [ - 'description' => '预检查项目。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC', - ], - 'RepairMethod' => [ - 'description' => '预检查未通过时对应的修复方法。'."\n" - .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2', - ], - 'FailedReason' => [ - 'description' => '预检查未通过的错误提示。'."\n" - .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)', - ], - ], + 'CheckResult' => ['description' => '检查结果,返回值:'."\n" + .'- **Success**:通过该项检查。'."\n" + .'- **Failed**:未通过该项检查。', 'type' => 'string', 'example' => 'Success'], + 'CheckItemDescription' => ['description' => '预检查项目描述。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC_DETAIL'], + 'CheckItem' => ['description' => '预检查项目。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC'], + 'RepairMethod' => ['description' => '预检查未通过时对应的修复方法。'."\n" + .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2'], + 'FailedReason' => ['description' => '预检查未通过的错误提示。'."\n" + .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)'], + ], + 'description' => '', ], ], ], @@ -21567,333 +9244,149 @@ .'> 当该任务为数据同步,且拓扑类型为双向时,才会返回该参数合集。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '反向同步任务状态,取值:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **Initializing**:同步初始化中。'."\n" - .'- **InitializeFailed**:同步初始化失败。'."\n" - .'- **Synchronizing**:同步中。'."\n" - .'- **Failed**:同步失败。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Modifying**:修改同步对象中。'."\n" - .'- **ModifyFailed**:修改同步对象失败。'."\n" - .'- **Finished**:完成。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Downgrade**:降级中。', - 'type' => 'string', - 'example' => 'Synchronizing', - ], - 'DtsJobName' => [ - 'description' => '同步任务名称。', - 'type' => 'string', - 'example' => 'RDS间迁移', - ], - 'Delay' => [ - 'description' => '增量数据同步的延迟时间,单位为秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'ErrorMessage' => [ - 'description' => '任务失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].', - ], - 'DtsJobId' => [ - 'description' => '同步任务ID。', - 'type' => 'string', - 'example' => 'i03e3zty16i****', - ], - 'ExpireTime' => [ - 'description' => '实例的到期时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" - .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', - 'type' => 'string', - 'example' => '2022-03-16T08:01:19Z', - ], - 'CreateTime' => [ - 'description' => '任务创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2021-03-16T08:01:19Z', - ], - 'PayType' => [ - 'description' => '实例的付费类型,返回值:'."\n" - ."\n" - .'- **PrePaid**:包年包月(预付费)。'."\n" - .'- **PostPaid**:按量付费(后付费)。', - 'type' => 'string', - 'example' => 'PostPaid', - ], - 'Reserved' => [ - 'description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', - 'type' => 'string', - 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}', - ], - 'DbObject' => [ - 'description' => '同步对象的库表结构定义,格式为JSON串,且支持一定的正则表达式。更多相关介绍和示例,请参见[迁移、同步或订阅对象配置说明](~~209545~~)。'."\n", - 'type' => 'string', - 'example' => '{"dtstestdata": { "name": "dtstestdata", "all": true }} ', - ], - 'DtsJobClass' => [ - 'description' => '链路规格。'."\n" - .'> 关于各链路规格的说明及性能测试情况请参见[数据同步链路规格说明](~~26605~~)。', - 'type' => 'string', - 'example' => 'large', - ], - 'DtsInstanceID' => [ - 'description' => '同步实例ID。', - 'type' => 'string', - 'example' => 'dtsi03e3zty16i****', - ], - 'DtsJobDirection' => [ - 'description' => '同步方向,固定为**Reverse**(反向)。', - 'type' => 'string', - 'example' => 'Reverse', - ], - 'Checkpoint' => [ - 'description' => '增量数据同步位点,格式为Unix时间戳,单位为秒。', - 'type' => 'string', - 'example' => '1616980369', - ], + 'Status' => ['description' => '反向同步任务状态,取值:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **PreCheckPass**:预检查通过。'."\n" + .'- **NotConfigured**:未配置。'."\n" + .'- **Initializing**:同步初始化中。'."\n" + .'- **InitializeFailed**:同步初始化失败。'."\n" + .'- **Synchronizing**:同步中。'."\n" + .'- **Failed**:同步失败。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Modifying**:修改同步对象中。'."\n" + .'- **ModifyFailed**:修改同步对象失败。'."\n" + .'- **Finished**:完成。'."\n" + .'- **Retrying**:重试中。'."\n" + .'- **Upgrade**:升级中。'."\n" + .'- **Locked**:锁定中。'."\n" + .'- **Downgrade**:降级中。', 'type' => 'string', 'example' => 'Synchronizing'], + 'DtsJobName' => ['description' => '同步任务名称。', 'type' => 'string', 'example' => 'RDS间迁移'], + 'Delay' => ['description' => '增量数据同步的延迟时间,单位为秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'], + 'ErrorMessage' => ['description' => '任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].'], + 'DtsJobId' => ['description' => '同步任务ID。', 'type' => 'string', 'example' => 'i03e3zty16i****'], + 'ExpireTime' => ['description' => '实例的到期时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" + .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', 'type' => 'string', 'example' => '2022-03-16T08:01:19Z'], + 'CreateTime' => ['description' => '任务创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2021-03-16T08:01:19Z'], + 'PayType' => ['description' => '实例的付费类型,返回值:'."\n" + ."\n" + .'- **PrePaid**:包年包月(预付费)。'."\n" + .'- **PostPaid**:按量付费(后付费)。', 'type' => 'string', 'example' => 'PostPaid'], + 'Reserved' => ['description' => 'DTS预留参数,格式为JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。更多信息,请参见[MigrationReserved参数说明](~~176470~~)。', 'type' => 'string', 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}'], + 'DbObject' => ['description' => '同步对象的库表结构定义,格式为JSON串,且支持一定的正则表达式。更多相关介绍和示例,请参见[迁移、同步或订阅对象配置说明](~~209545~~)。'."\n", 'type' => 'string', 'example' => '{"dtstestdata": { "name": "dtstestdata", "all": true }} '], + 'DtsJobClass' => ['description' => '链路规格。'."\n" + .'> 关于各链路规格的说明及性能测试情况请参见[数据同步链路规格说明](~~26605~~)。', 'type' => 'string', 'example' => 'large'], + 'DtsInstanceID' => ['description' => '同步实例ID。', 'type' => 'string', 'example' => 'dtsi03e3zty16i****'], + 'DtsJobDirection' => ['description' => '同步方向,固定为**Reverse**(反向)。', 'type' => 'string', 'example' => 'Reverse'], + 'Checkpoint' => ['description' => '增量数据同步位点,格式为Unix时间戳,单位为秒。', 'type' => 'string', 'example' => '1616980369'], 'DataInitializationStatus' => [ 'description' => '全量数据初始化的状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '全量数据初始化状态,取值包括:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:初始化中。'."\n" - .'- **Failed**:初始化失败。'."\n" - .'- **Finished**:初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '全量数据初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '全量数据初始化失败的错误提示。', - 'type' => 'string', - 'example' => 'java.lang.NumberFormatException: For input string: "" ', - ], - 'Progress' => [ - 'description' => '已完成全量数据初始化的记录数。', - 'type' => 'string', - 'example' => '43071', - ], + 'Status' => ['description' => '全量数据初始化状态,取值包括:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:初始化中。'."\n" + .'- **Failed**:初始化失败。'."\n" + .'- **Finished**:初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '全量数据初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '全量数据初始化失败的错误提示。', 'type' => 'string', 'example' => 'java.lang.NumberFormatException: For input string: "" '], + 'Progress' => ['description' => '已完成全量数据初始化的记录数。', 'type' => 'string', 'example' => '43071'], ], ], 'DataSynchronizationStatus' => [ 'description' => '增量数据同步的状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '增量数据同步状态。', - 'type' => 'string', - 'example' => 'Migrating', - ], - 'NeedUpgrade' => [ - 'description' => '是否需要升级实例规格,返回值:'."\n" - ."\n" - .'- **true**:需要。'."\n" - .'- **false**:不需要。'."\n" - ."\n" - .'> 如需升级实例规格,请调用[TransferInstanceClass](~~281093~~)进行升级。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Percent' => [ - 'description' => '增量数据同步进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'Progress' => [ - 'description' => '已完成增量数据迁移或同步的记录数。', - 'type' => 'string', - 'example' => '20001', - ], - 'ErrorMessage' => [ - 'description' => '增量数据同步失败的错误提示。', - 'type' => 'string', - 'example' => '任务失败太久无法恢复', - ], + 'Status' => ['description' => '增量数据同步状态。', 'type' => 'string', 'example' => 'Migrating'], + 'NeedUpgrade' => ['description' => '是否需要升级实例规格,返回值:'."\n" + ."\n" + .'- **true**:需要。'."\n" + .'- **false**:不需要。'."\n" + ."\n" + .'> 如需升级实例规格,请调用[TransferInstanceClass](~~281093~~)进行升级。', 'type' => 'boolean', 'example' => 'true'], + 'Percent' => ['description' => '增量数据同步进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'Progress' => ['description' => '已完成增量数据迁移或同步的记录数。', 'type' => 'string', 'example' => '20001'], + 'ErrorMessage' => ['description' => '增量数据同步失败的错误提示。', 'type' => 'string', 'example' => '任务失败太久无法恢复'], ], ], 'DestinationEndpoint' => [ 'description' => '目标实例的连接信息。', 'type' => 'object', 'properties' => [ - 'SslSolutionEnum' => [ - 'description' => '是否使用SSL安全连接,返回值:'."\n" - ."\n" - .'- **DISABLE**:不使用SSL安全连接。'."\n" - .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" - .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" - .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', - 'type' => 'string', - 'example' => 'DISABLE', - ], - 'OracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'Region' => [ - 'description' => '目标实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'DatabaseName' => [ - 'description' => '目标实例中同步对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'Ip' => [ - 'description' => '目标实例的连接地址。', - 'type' => 'string', - 'example' => '172.16.88.*** ', - ], - 'InstanceID' => [ - 'description' => '目标实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1162kryivb8****', - ], - 'Port' => [ - 'description' => '目标实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'InstanceType' => [ - 'description' => '目标实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'UserName' => [ - 'description' => '目标实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'EngineName' => [ - 'description' => '目标实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], + 'SslSolutionEnum' => ['description' => '是否使用SSL安全连接,返回值:'."\n" + ."\n" + .'- **DISABLE**:不使用SSL安全连接。'."\n" + .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" + .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" + .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', 'type' => 'string', 'example' => 'DISABLE'], + 'OracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当目标实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'Region' => ['description' => '目标实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'DatabaseName' => ['description' => '目标实例中同步对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'Ip' => ['description' => '目标实例的连接地址。', 'type' => 'string', 'example' => '172.16.88.*** '], + 'InstanceID' => ['description' => '目标实例ID。', 'type' => 'string', 'example' => 'rm-bp1162kryivb8****'], + 'Port' => ['description' => '目标实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'InstanceType' => ['description' => '目标实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'UserName' => ['description' => '目标实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'EngineName' => ['description' => '目标实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], ], ], 'MigrationMode' => [ 'description' => '迁移类型或同步初始化类型。', 'type' => 'object', 'properties' => [ - 'DataInitialization' => [ - 'description' => '是否执行全量数据迁移或全量数据初始化,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataSynchronization' => [ - 'description' => '是否执行增量数据迁移或同步,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'StructureInitialization' => [ - 'description' => '是否执行库表结构迁移或初始化,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'DataInitialization' => ['description' => '是否执行全量数据迁移或全量数据初始化,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DataSynchronization' => ['description' => '是否执行增量数据迁移或同步,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'StructureInitialization' => ['description' => '是否执行库表结构迁移或初始化,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], 'Performance' => [ 'description' => '迁移或同步链路的性能信息。', 'type' => 'object', 'properties' => [ - 'Rps' => [ - 'description' => '每秒迁移或同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。', - 'type' => 'string', - 'example' => '100', - ], - 'Flow' => [ - 'description' => '每秒迁移或同步数据的流量,单位为MB/s。', - 'type' => 'string', - 'example' => '1', - ], + 'Rps' => ['description' => '每秒迁移或同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。', 'type' => 'string', 'example' => '100'], + 'Flow' => ['description' => '每秒迁移或同步数据的流量,单位为MB/s。', 'type' => 'string', 'example' => '1'], ], ], 'PrecheckStatus' => [ 'description' => '预检查状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '预检查状态,返回值:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Checking**:预检查中。'."\n" - .'- **Failed**:预检查失败。'."\n" - .'- **Finished**:预检查完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '预检查整体进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '预检查失败的提示信息。', - 'type' => 'string', - 'example' => 'CHECK__ERROR_SAME_OBJ', - ], + 'Status' => ['description' => '预检查状态,返回值:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Checking**:预检查中。'."\n" + .'- **Failed**:预检查失败。'."\n" + .'- **Finished**:预检查完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '预检查整体进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '预检查失败的提示信息。', 'type' => 'string', 'example' => 'CHECK__ERROR_SAME_OBJ'], 'Detail' => [ 'description' => '各预检查项的执行情况。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'CheckResult' => [ - 'description' => '检查结果,返回值:'."\n" - .'- **Success**:通过该项检查。'."\n" - .'- **Failed**:未通过该项检查。', - 'type' => 'string', - 'example' => 'Success', - ], - 'CheckItemDescription' => [ - 'description' => '预检查项目描述。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC_DETAIL', - ], - 'CheckItem' => [ - 'description' => '预检查项目。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC', - ], - 'RepairMethod' => [ - 'description' => '预检查未通过时对应的修复方法。'."\n" - .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2', - ], - 'FailedReason' => [ - 'description' => '预检查未通过的错误提示。'."\n" - .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', - 'type' => 'string', - 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.XXX.XX\' (using password: YES)', - ], + 'CheckResult' => ['description' => '检查结果,返回值:'."\n" + .'- **Success**:通过该项检查。'."\n" + .'- **Failed**:未通过该项检查。', 'type' => 'string', 'example' => 'Success'], + 'CheckItemDescription' => ['description' => '预检查项目描述。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC_DETAIL'], + 'CheckItem' => ['description' => '预检查项目。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC'], + 'RepairMethod' => ['description' => '预检查未通过时对应的修复方法。'."\n" + .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2'], + 'FailedReason' => ['description' => '预检查未通过的错误提示。'."\n" + .'> 当**CheckResult**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.XXX.XX\' (using password: YES)'], ], + 'description' => '', ], ], ], @@ -21902,319 +9395,153 @@ 'description' => '源实例连接信息。', 'type' => 'object', 'properties' => [ - 'SslSolutionEnum' => [ - 'description' => '是否使用SSL安全连接,返回值:'."\n" - ."\n" - .'- **DISABLE**:不使用SSL安全连接。'."\n" - .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" - .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" - .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', - 'type' => 'string', - 'example' => 'DISABLE', - ], - 'OracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当源实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'Region' => [ - 'description' => '源实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'DatabaseName' => [ - 'description' => '源实例中迁移对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'Ip' => [ - 'description' => '源实例的连接地址。', - 'type' => 'string', - 'example' => '172.16.XX.XX', - ], - 'InstanceID' => [ - 'description' => '源实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1imrtn6fq7h****', - ], - 'Port' => [ - 'description' => '源实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'InstanceType' => [ - 'description' => '源实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'UserName' => [ - 'description' => '源实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'EngineName' => [ - 'description' => '源实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], + 'SslSolutionEnum' => ['description' => '是否使用SSL安全连接,返回值:'."\n" + ."\n" + .'- **DISABLE**:不使用SSL安全连接。'."\n" + .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" + .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" + .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', 'type' => 'string', 'example' => 'DISABLE'], + 'OracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当源实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'Region' => ['description' => '源实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'DatabaseName' => ['description' => '源实例中迁移对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'Ip' => ['description' => '源实例的连接地址。', 'type' => 'string', 'example' => '172.16.XX.XX'], + 'InstanceID' => ['description' => '源实例ID。', 'type' => 'string', 'example' => 'rm-bp1imrtn6fq7h****'], + 'Port' => ['description' => '源实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'InstanceType' => ['description' => '源实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'UserName' => ['description' => '源实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'EngineName' => ['description' => '源实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], ], ], 'StructureInitializationStatus' => [ 'description' => '库表结构初始化状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '库表结构初始化状态,取值包括:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:初始化中。'."\n" - .'- **Failed**:初始化失败。'."\n" - .'- **Finished**:初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '库表结构初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '库表结构初始化失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;', - ], - 'Progress' => [ - 'description' => '已完成库表结构初始化的表的数量。', - 'type' => 'string', - 'example' => '1', - ], + 'Status' => ['description' => '库表结构初始化状态,取值包括:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:初始化中。'."\n" + .'- **Failed**:初始化失败。'."\n" + .'- **Finished**:初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '库表结构初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '库表结构初始化失败的错误提示。', 'type' => 'string', 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;'], + 'Progress' => ['description' => '已完成库表结构初始化的表的数量。', 'type' => 'string', 'example' => '1'], ], ], - 'EtlSafeCheckpoint' => [ - 'description' => 'ETL任务安全位点。', - 'type' => 'string', - 'example' => '161054****', - ], + 'EtlSafeCheckpoint' => ['description' => 'ETL任务安全位点。', 'type' => 'string', 'example' => '161054****'], ], ], 'SourceEndpoint' => [ 'description' => '源实例连接信息。', 'type' => 'object', 'properties' => [ - 'SslSolutionEnum' => [ - 'description' => '是否使用SSL安全连接,返回值:'."\n" - ."\n" - .'- **DISABLE**:不使用SSL安全连接。'."\n" - .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" - .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" - .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', - 'type' => 'string', - 'example' => 'DISABLE', - ], - 'OracleSID' => [ - 'description' => 'Oracle数据库的SID信息。'."\n" - .'> 当源实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', - 'type' => 'string', - 'example' => 'testsid', - ], - 'Region' => [ - 'description' => '源实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'DatabaseName' => [ - 'description' => '源实例中迁移对象所属数据库的名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'Ip' => [ - 'description' => '源实例的连接地址。', - 'type' => 'string', - 'example' => '172.16.88.***', - ], - 'InstanceID' => [ - 'description' => '源实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1162kryivb8****', - ], - 'Port' => [ - 'description' => '源实例的数据库服务端口。', - 'type' => 'string', - 'example' => '3306', - ], - 'InstanceType' => [ - 'description' => '源实例类型。', - 'type' => 'string', - 'example' => 'RDS', - ], - 'UserName' => [ - 'description' => '源实例的数据库账号。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'EngineName' => [ - 'description' => '源实例的数据库类型。', - 'type' => 'string', - 'example' => 'MySQL', - ], + 'SslSolutionEnum' => ['description' => '是否使用SSL安全连接,返回值:'."\n" + ."\n" + .'- **DISABLE**:不使用SSL安全连接。'."\n" + .'- **ENABLE_WITH_CERTIFICATE**:使用SSL安全连接,并上传CA证书。'."\n" + .'- **ENABLE_ONLY_4_MONGODB_ALTAS**:使用SSL安全连接AWS MongoDB Altas。'."\n" + .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**:使用SCRAM-SHA-256连接Kafka。', 'type' => 'string', 'example' => 'DISABLE'], + 'OracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当源实例的**EngineName**取值为**Oracle**,且Oracle数据库为非RAC实例时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'Region' => ['description' => '源实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'DatabaseName' => ['description' => '源实例中迁移对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'Ip' => ['description' => '源实例的连接地址。', 'type' => 'string', 'example' => '172.16.88.***'], + 'InstanceID' => ['description' => '源实例ID。', 'type' => 'string', 'example' => 'rm-bp1162kryivb8****'], + 'Port' => ['description' => '源实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'InstanceType' => ['description' => '源实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'UserName' => ['description' => '源实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'EngineName' => ['description' => '源实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], ], ], 'StructureInitializationStatus' => [ 'description' => '库表结构迁移或初始化状态。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '库表结构迁移或初始化状态,取值包括:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Migrating**:迁移或初始化中。'."\n" - .'- **Failed**:迁移或初始化失败。'."\n" - .'- **Finished**:迁移或初始化完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Percent' => [ - 'description' => '库表结构迁移或初始化进度,单位为百分比。', - 'type' => 'string', - 'example' => '100', - ], - 'ErrorMessage' => [ - 'description' => '库表结构迁移或初始化失败的错误提示。', - 'type' => 'string', - 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;', - ], - 'Progress' => [ - 'description' => '已完成库表结构迁移或初始化的表的数量。', - 'type' => 'string', - 'example' => '1', - ], + 'Status' => ['description' => '库表结构迁移或初始化状态,取值包括:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移或初始化中。'."\n" + .'- **Failed**:迁移或初始化失败。'."\n" + .'- **Finished**:迁移或初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '库表结构迁移或初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '库表结构迁移或初始化失败的错误提示。', 'type' => 'string', 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;'], + 'Progress' => ['description' => '已完成库表结构迁移或初始化的表的数量。', 'type' => 'string', 'example' => '1'], ], ], 'RetryState' => [ 'description' => '由于任务异常,DTS正在重试。', 'type' => 'object', 'properties' => [ - 'RetryCount' => [ - 'description' => '已重试次数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'MaxRetryTime' => [ - 'description' => '最大重试时间,单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '7200', - ], - 'ErrMessage' => [ - 'description' => '重试失败的错误提示。', - 'type' => 'string', - 'example' => 'Unexpected error', - ], - 'RetryTarget' => [ - 'description' => '重试目标,返回值:'."\n" - ."\n" - .'- **srcDB**:源数据库。'."\n" - .'- **destDB**:目标数据库。'."\n" - .'- **inner_module**:DTS内部模块。', - 'type' => 'string', - 'example' => 'srcDB', - ], - 'RetryTime' => [ - 'description' => '已重试时间,单位秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3600', - ], - 'Module' => [ - 'description' => '实例进展。', - 'type' => 'string', - 'example' => '03', - ], - 'JobId' => [ - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'bi6e22ay243****', - ], - 'Retrying' => [ - 'description' => '任务是否在重试中,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'false', - ], + 'RetryCount' => ['description' => '已重试次数。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'MaxRetryTime' => ['description' => '最大重试时间,单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '7200'], + 'ErrMessage' => ['description' => '重试失败的错误提示。', 'type' => 'string', 'example' => 'Unexpected error'], + 'RetryTarget' => ['description' => '重试目标,返回值:'."\n" + ."\n" + .'- **srcDB**:源数据库。'."\n" + .'- **destDB**:目标数据库。'."\n" + .'- **inner_module**:DTS内部模块。', 'type' => 'string', 'example' => 'srcDB'], + 'RetryTime' => ['description' => '已重试时间,单位秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '3600'], + 'Module' => ['description' => '实例进展。', 'type' => 'string', 'example' => '03'], + 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'bi6e22ay243****'], + 'Retrying' => ['description' => '任务是否在重试中,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'false'], ], ], - 'JobType' => [ - 'title' => 'DtsJob类型', - 'description' => 'DTS实例的任务类型,取值:'."\n" - .'- **online**:迁移。'."\n" - .'- **sync**:同步。'."\n" - .'- **subscribe**:订阅。', - 'type' => 'string', - 'example' => 'online', - ], - 'ResourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-acfmzawhxxc****', - ], - 'ResourceGroupDisplayName' => [ - 'description' => '资源组名称。', - 'type' => 'string', - 'example' => 'default resource group', - ], - 'EtlSafeCheckpoint' => [ - 'description' => 'ETL任务安全位点。', - 'type' => 'string', - 'example' => '161054****', - ], + 'JobType' => ['title' => 'DtsJob类型', 'description' => 'DTS实例的任务类型,取值:'."\n" + .'- **online**:迁移。'."\n" + .'- **sync**:同步。'."\n" + .'- **subscribe**:订阅。', 'type' => 'string', 'example' => 'online'], + 'ResourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-acfmzawhxxc****'], + 'ResourceGroupDisplayName' => ['description' => '资源组名称。', 'type' => 'string', 'example' => 'default resource group'], + 'EtlSafeCheckpoint' => ['description' => 'ETL任务安全位点。', 'type' => 'string', 'example' => '161054****'], ], + 'description' => '', ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"PageRecordCount\\": 20,\\n \\"TotalRecordCount\\": 15,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"PageNumber\\": 2,\\n \\"DynamicCode\\": \\"403\\",\\n \\"DtsJobList\\": [\\n {\\n \\"Status\\": \\"Migrating\\",\\n \\"OriginType\\": \\"DTS任务\\",\\n \\"DtsJobName\\": \\"RDS间迁移\\",\\n \\"Delay\\": 0,\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"ExpireTime\\": \\"2022-03-16T08:01:19Z\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"CreateTime\\": \\"2021-03-16T08:01:19Z\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"ConsumptionClient\\": \\"114...:dts******\\",\\n \\"DbObject\\": \\"{\\\\\\"dtstestdata\\\\\\": { \\\\\\"name\\\\\\": \\\\\\"dtstestdata\\\\\\", \\\\\\"all\\\\\\": true }}\\",\\n \\"DtsJobClass\\": \\"large\\",\\n \\"ConsumptionCheckpoint\\": \\"2021-03-23T07:30:31Z\\",\\n \\"EndTimestamp\\": \\"2021-03-26T14:03:21Z\\",\\n \\"AppName\\": \\"new\\",\\n \\"BeginTimestamp\\": \\"2021-03-15T08:25:34Z\\\\t\\",\\n \\"DtsInstanceID\\": \\"dtsi03e3zty16i****\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"Checkpoint\\": \\"1616899019\\",\\n \\"TagList\\": [\\n {\\n \\"TagValue\\": \\"testvalue\\",\\n \\"TagKey\\": \\"testkey\\"\\n }\\n ],\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"44755\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"NeedUpgrade\\": true,\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0/0\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\\\t\\"\\n },\\n \\"DataEtlStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"95\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\\\t\\",\\n \\"Progress\\": \\"0/0\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1imrtn6fq7h****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"MigrationMode\\": {\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"StructureInitialization\\": true,\\n \\"FullDataCheck\\": true,\\n \\"IncDataCheck\\": true,\\n \\"StructureDataCheck\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"CHECK__ERROR_SAME_OBJ.\\",\\n \\"Detail\\": [\\n {\\n \\"CheckResult\\": \\"Success\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\"\\n }\\n ]\\n },\\n \\"ReverseJob\\": {\\n \\"Status\\": \\"Synchronizing\\",\\n \\"DtsJobName\\": \\"RDS间迁移\\",\\n \\"Delay\\": 0,\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"ExpireTime\\": \\"2023-03-16T08:01:19Z\\",\\n \\"CreateTime\\": \\"2022-03-16T08:01:19Z\\",\\n \\"PayType\\": \\"PostPaid\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"DbObject\\": \\"{\\\\\\"dtstestdata\\\\\\": { \\\\\\"name\\\\\\": \\\\\\"dtstestdata\\\\\\", \\\\\\"all\\\\\\": true }}\\",\\n \\"DtsJobClass\\": \\"large\\",\\n \\"DtsInstanceID\\": \\"dtsi03e3zty16i****\\",\\n \\"DtsJobDirection\\": \\"Reverse\\",\\n \\"Checkpoint\\": \\"1616980369\\",\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"43071\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Migrating\\",\\n \\"NeedUpgrade\\": true,\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"20001\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"MigrationMode\\": {\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"StructureInitialization\\": true,\\n \\"FullDataCheck\\": true,\\n \\"IncDataCheck\\": true,\\n \\"StructureDataCheck\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"CHECK__ERROR_SAME_OBJ.\\",\\n \\"Detail\\": [\\n {\\n \\"CheckResult\\": \\"Success\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\"\\n }\\n ]\\n },\\n \\"SourceEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1imrtn6fq7h****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n },\\n \\"DuUsage\\": 15,\\n \\"CpuUsage\\": \\"90\\",\\n \\"MemUsage\\": \\"500\\",\\n \\"DedicatedClusterId\\": \\"dtscluster_dpwl3**********\\",\\n \\"ErrorDetails\\": [\\n {\\n \\"ErrorCode\\": \\"DTS-31009\\",\\n \\"HelpUrl\\": \\"https://**.ali**.com/**\\"\\n }\\n ],\\n \\"EtlSafeCheckpoint\\": \\"1610540493\\",\\n \\"MinDu\\": 1,\\n \\"MaxDu\\": 16,\\n \\"FullDataCheckStatus\\": {\\n \\"Status\\": \\"Checking\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"1 rows/s (row: 5/5, table: 1/1)\\",\\n \\"CanSwitch\\": false\\n },\\n \\"IncDataCheckStatus\\": {\\n \\"Status\\": \\"Checking\\",\\n \\"Percent\\": \\"95\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"1 rows/s (row: 5/5, table: 1/1)\\"\\n },\\n \\"StructureDataCheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"****\\",\\n \\"Progress\\": \\"5\\"\\n }\\n },\\n \\"SourceEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n },\\n \\"RetryState\\": {\\n \\"RetryCount\\": 5,\\n \\"MaxRetryTime\\": 7200,\\n \\"ErrMessage\\": \\"Unexpected error\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"RetryTime\\": 3600,\\n \\"Module\\": \\"03\\",\\n \\"JobId\\": \\"bi6e22ay243****\\",\\n \\"Retrying\\": false,\\n \\"MigrationErrHelpDocId\\": \\"462133\\",\\n \\"MigrationErrHelpDocKey\\": \\"DTS-RETRY-ERR-0046\\",\\n \\"MigrationErrCode\\": \\"dts.retry.err.0046\\",\\n \\"MigrationErrType\\": \\"ForeignKey\\",\\n \\"MigrationErrMsg\\": \\"dts.retry.err.0046.msg\\",\\n \\"MigrationErrWorkaround\\": \\"dts.retry.err.0046.workaround\\"\\n },\\n \\"JobType\\": \\"online\\",\\n \\"DuUsage\\": 15,\\n \\"CpuUsage\\": \\"1\\",\\n \\"MemUsage\\": \\"500\\",\\n \\"DedicatedClusterId\\": \\"dtscluster_ft7y3**********\\",\\n \\"ErrorDetails\\": [\\n {\\n \\"ErrorCode\\": \\"DTS-31009\\",\\n \\"HelpUrl\\": \\"https://**.ali**.com/**\\"\\n }\\n ],\\n \\"DataCloudStatus\\": {\\n \\"Status\\": \\"Migrating\\",\\n \\"NeedUpgrade\\": false,\\n \\"Percent\\": \\"85\\",\\n \\"Progress\\": \\"1\\",\\n \\"ErrorMessage\\": \\"framework: DTS-31009: In process of processing data ****\\"\\n },\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"ResourceGroupDisplayName\\": \\"default resource group\\",\\n \\"MigrationErrMsg\\": \\"dts.retry.err.0046.msg\\",\\n \\"MigrationErrHelpDocId\\": \\"462133\\",\\n \\"MigrationErrWorkaround\\": \\"dts.retry.err.0046.workaround\\",\\n \\"MigrationErrCode\\": \\"dts.retry.err.0046\\",\\n \\"MigrationErrHelpDocKey\\": \\"DTS-RETRY-ERR-0046\\",\\n \\"MigrationErrType\\": \\"ForeignKey\\",\\n \\"EtlSafeCheckpoint\\": \\"1610540493\\",\\n \\"FullDataCheckStatus\\": {\\n \\"Status\\": \\"Checking\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"1 rows/s (row: 5/5, table: 1/1)\\",\\n \\"CanSwitch\\": false\\n },\\n \\"IncDataCheckStatus\\": {\\n \\"Status\\": \\"Checking\\",\\n \\"Percent\\": \\"95\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"1 rows/s (row: 5/5, table: 1/1)\\"\\n },\\n \\"DtsBisLabel\\": \\"normal\\",\\n \\"MinDu\\": 1,\\n \\"MaxDu\\": 16,\\n \\"DuRealUsage\\": \\"12.0%\\",\\n \\"StructureDataCheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"****\\",\\n \\"Progress\\": \\"5\\"\\n }\\n }\\n ],\\n \\"EtlDemoList\\": [\\n {\\n \\"Status\\": \\"Migrating\\",\\n \\"OriginType\\": \\"DTS任务\\",\\n \\"DtsJobName\\": \\"RDS间迁移\\",\\n \\"Delay\\": 0,\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"ExpireTime\\": \\"2022-03-16T08:01:19Z\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"CreateTime\\": \\"2021-03-16T08:01:19Z\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"ConsumptionClient\\": \\"114...:dts******\\",\\n \\"DbObject\\": \\"{\\\\\\"dtstestdata\\\\\\": { \\\\\\"name\\\\\\": \\\\\\"dtstestdata\\\\\\", \\\\\\"all\\\\\\": true }}\\",\\n \\"DtsJobClass\\": \\"large\\",\\n \\"ConsumptionCheckpoint\\": \\"2021-03-23T07:30:31Z\\",\\n \\"EndTimestamp\\": \\"2021-03-26T14:03:21Z\\",\\n \\"AppName\\": \\"new\\",\\n \\"BeginTimestamp\\": \\"2021-03-15T08:25:34Z\\",\\n \\"DtsInstanceID\\": \\"dtsi03e3zty16i****\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"Checkpoint\\": \\"1616899019\\",\\n \\"TagList\\": [\\n {\\n \\"TagValue\\": \\"testvalue\\",\\n \\"TagKey\\": \\"testkey\\"\\n }\\n ],\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"44755\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"NeedUpgrade\\": true,\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0/0\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\"\\n },\\n \\"DataEtlStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"95\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\",\\n \\"Progress\\": \\"0/0\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1imrtn6fq7h****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"MigrationMode\\": {\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"StructureInitialization\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"CHECK__ERROR_SAME_OBJ.\\",\\n \\"Detail\\": [\\n {\\n \\"CheckResult\\": \\"Success\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\"\\n }\\n ]\\n },\\n \\"ReverseJob\\": {\\n \\"Status\\": \\"Synchronizing\\",\\n \\"DtsJobName\\": \\"RDS间迁移\\",\\n \\"Delay\\": 0,\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"ExpireTime\\": \\"2022-03-16T08:01:19Z\\",\\n \\"CreateTime\\": \\"2021-03-16T08:01:19Z\\",\\n \\"PayType\\": \\"PostPaid\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"DbObject\\": \\"{\\\\\\"dtstestdata\\\\\\": { \\\\\\"name\\\\\\": \\\\\\"dtstestdata\\\\\\", \\\\\\"all\\\\\\": true }}\\\\t\\",\\n \\"DtsJobClass\\": \\"large\\",\\n \\"DtsInstanceID\\": \\"dtsi03e3zty16i****\\",\\n \\"DtsJobDirection\\": \\"Reverse\\",\\n \\"Checkpoint\\": \\"1616980369\\",\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\\\t\\",\\n \\"Progress\\": \\"43071\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Migrating\\",\\n \\"NeedUpgrade\\": true,\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"20001\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\\\t\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"MigrationMode\\": {\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"StructureInitialization\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"CHECK__ERROR_SAME_OBJ\\",\\n \\"Detail\\": [\\n {\\n \\"CheckResult\\": \\"Success\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.XXX.XX\' (using password: YES)\\"\\n }\\n ]\\n },\\n \\"SourceEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.XX.XX\\",\\n \\"InstanceID\\": \\"rm-bp1imrtn6fq7h****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n },\\n \\"EtlSafeCheckpoint\\": \\"161054****\\"\\n },\\n \\"SourceEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n },\\n \\"RetryState\\": {\\n \\"RetryCount\\": 5,\\n \\"MaxRetryTime\\": 7200,\\n \\"ErrMessage\\": \\"Unexpected error\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"RetryTime\\": 3600,\\n \\"Module\\": \\"03\\",\\n \\"JobId\\": \\"bi6e22ay243****\\",\\n \\"Retrying\\": false\\n },\\n \\"JobType\\": \\"online\\",\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"ResourceGroupDisplayName\\": \\"default resource group\\",\\n \\"EtlSafeCheckpoint\\": \\"161054****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeDtsJobsResponse>\\r\\n <TotalRecordCount>15</TotalRecordCount>\\r\\n <PageRecordCount>1</PageRecordCount>\\r\\n <DtsJobList>\\r\\n <Status>Migrating</Status>\\r\\n <DataInitializationStatus>\\r\\n <Status>Finished</Status>\\r\\n <Progress>44755</Progress>\\r\\n <Percent>100</Percent>\\r\\n </DataInitializationStatus>\\r\\n <DbObject>{\\"DTSTEST\\":{\\"name\\":\\"dtstest\\",\\"all\\":true,\\"state\\":\\"normal\\",\\"edit\\":false}}</DbObject>\\r\\n <CreateTime>2021-03-16T08:01:19Z</CreateTime>\\r\\n <DtsJobName>RDS间迁移</DtsJobName>\\r\\n <ReverseJob>\\r\\n <PrecheckStatus/>\\r\\n <DataInitializationStatus/>\\r\\n <DestinationEndpoint/>\\r\\n <SourceEndpoint/>\\r\\n <Performance/>\\r\\n <MigrationMode/>\\r\\n <StructureInitializationStatus/>\\r\\n <DataSynchronizationStatus/>\\r\\n </ReverseJob>\\r\\n <PayType>PrePaid</PayType>\\r\\n <DtsInstanceID>dtsi03e3zty16i****</DtsInstanceID>\\r\\n <Delay>0</Delay>\\r\\n <MigrationMode>\\r\\n <DataInitialization>true</DataInitialization>\\r\\n <DataSynchronization>true</DataSynchronization>\\r\\n <StructureInitialization>true</StructureInitialization>\\r\\n </MigrationMode>\\r\\n <PrecheckStatus>\\r\\n <Status>Finished</Status>\\r\\n <Percent>100</Percent>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_CONN_SRC</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_CONN_SRC_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_CONN_DEST</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_CONN_DEST_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_AUTH_SRC</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_AUTH_SRC_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_AUTH_DEST</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_AUTH_DEST_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_BINLOG_ON</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_BINLOG_ON_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_BINLOG_MODE</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_BINLOG_MODE_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_BINLOG_ROW_IMAGE</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_BINLOG_ROW_IMAGE_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_SERVER_ID</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_SERVER_ID_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_BINLOG_EXIST</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_BINLOG_EXIST_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_ENGINE</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_ENGINE_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_MYSQL_PASSOWRD_FORMAT</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_MYSQL_PASSOWRD_FORMAT_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_SRC</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_SRC_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_SAME_OBJ</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_SAME_OBJ_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_SQL_MODE</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_SQL_MODE_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_SAME_USER</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_SAME_USER_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_TOPOLOGY</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_TOPOLOGY_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n </PrecheckStatus>\\r\\n <DtsJobClass>large</DtsJobClass>\\r\\n <Checkpoint>1616902385</Checkpoint>\\r\\n <DtsJobId>i03e3zty16i****</DtsJobId>\\r\\n <DestinationEndpoint>\\r\\n <UserName>dtstest</UserName>\\r\\n <InstanceID>rm-bp1imrtn6fq7h****</InstanceID>\\r\\n <SslSolutionEnum>DISABLE</SslSolutionEnum>\\r\\n <Port>3306</Port>\\r\\n <DatabaseName/>\\r\\n <Region>cn-hangzhou</Region>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </DestinationEndpoint>\\r\\n <SourceEndpoint>\\r\\n <UserName>dtstest</UserName>\\r\\n <InstanceID>rm-bp1162kryivb8****</InstanceID>\\r\\n <SslSolutionEnum>DISABLE</SslSolutionEnum>\\r\\n <Port>3306</Port>\\r\\n <Region>cn-hangzhou</Region>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </SourceEndpoint>\\r\\n <TagList>\\r\\n <TagKey>testkey</TagKey>\\r\\n <TagValue>testvalue</TagValue>\\r\\n </TagList>\\r\\n <Performance/>\\r\\n <Reserved>{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}</Reserved>\\r\\n <StructureInitializationStatus>\\r\\n <Status>Finished</Status>\\r\\n <Progress>1</Progress>\\r\\n <Percent>100</Percent>\\r\\n </StructureInitializationStatus>\\r\\n <DataSynchronizationStatus>\\r\\n <Status>Catched</Status>\\r\\n <Progress>0/0</Progress>\\r\\n <Percent>95</Percent>\\r\\n </DataSynchronizationStatus>\\r\\n </DtsJobList>\\r\\n <RequestId>621BB4F8-3016-4FAA-8D5A-5D3163CC****</RequestId>\\r\\n <PageNumber>2</PageNumber>\\r\\n <HttpStatusCode>200</HttpStatusCode>\\r\\n <Success>true</Success>\\r\\n</DescribeDtsJobsResponse>","errorExample":""}]', 'title' => '查询DTS任务列表及各任务执行详情', + 'summary' => '调用DescribeDtsJobs查询DTS任务列表及各任务执行详情。', 'description' => '此接口对调用次数有限制,超过限制后的调用会被拒绝。'."\n" .'- 单个地域累计允许调用的阈值为200次/秒。'."\n" .'- 单个地域允许单个账号调用的阈值为20次/秒。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListTagResources' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDtsJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:*:{#accountId}:instance/*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"PageRecordCount\\": 20,\\n \\"TotalRecordCount\\": 15,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"PageNumber\\": 2,\\n \\"DynamicCode\\": \\"403\\",\\n \\"DtsJobList\\": [\\n {\\n \\"Status\\": \\"Migrating\\",\\n \\"OriginType\\": \\"DTS任务\\",\\n \\"DtsJobName\\": \\"RDS间迁移\\",\\n \\"Delay\\": 0,\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"ExpireTime\\": \\"2022-03-16T08:01:19Z\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"CreateTime\\": \\"2021-03-16T08:01:19Z\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"ConsumptionClient\\": \\"114...:dts******\\",\\n \\"DbObject\\": \\"{\\\\\\"dtstestdata\\\\\\": { \\\\\\"name\\\\\\": \\\\\\"dtstestdata\\\\\\", \\\\\\"all\\\\\\": true }}\\",\\n \\"DtsJobClass\\": \\"large\\",\\n \\"ConsumptionCheckpoint\\": \\"2021-03-23T07:30:31Z\\",\\n \\"EndTimestamp\\": \\"2021-03-26T14:03:21Z\\",\\n \\"AppName\\": \\"new\\",\\n \\"BeginTimestamp\\": \\"2021-03-15T08:25:34Z\\\\t\\",\\n \\"DtsInstanceID\\": \\"dtsi03e3zty16i****\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"Checkpoint\\": \\"1616899019\\",\\n \\"TagList\\": [\\n {\\n \\"TagValue\\": \\"testvalue\\",\\n \\"TagKey\\": \\"testkey\\"\\n }\\n ],\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"44755\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"NeedUpgrade\\": true,\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0/0\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\\\t\\"\\n },\\n \\"DataEtlStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"95\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\\\t\\",\\n \\"Progress\\": \\"0/0\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1imrtn6fq7h****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"MigrationMode\\": {\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"StructureInitialization\\": true,\\n \\"FullDataCheck\\": true,\\n \\"IncDataCheck\\": true,\\n \\"StructureDataCheck\\": true,\\n \\"TimeWindowCheck\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"CHECK__ERROR_SAME_OBJ.\\",\\n \\"Detail\\": [\\n {\\n \\"CheckResult\\": \\"Success\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\"\\n }\\n ]\\n },\\n \\"ReverseJob\\": {\\n \\"Status\\": \\"Synchronizing\\",\\n \\"DtsJobName\\": \\"RDS间迁移\\",\\n \\"Delay\\": 0,\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"ExpireTime\\": \\"2023-03-16T08:01:19Z\\",\\n \\"CreateTime\\": \\"2022-03-16T08:01:19Z\\",\\n \\"PayType\\": \\"PostPaid\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"DbObject\\": \\"{\\\\\\"dtstestdata\\\\\\": { \\\\\\"name\\\\\\": \\\\\\"dtstestdata\\\\\\", \\\\\\"all\\\\\\": true }}\\",\\n \\"DtsJobClass\\": \\"large\\",\\n \\"DtsInstanceID\\": \\"dtsi03e3zty16i****\\",\\n \\"DtsJobDirection\\": \\"Reverse\\",\\n \\"Checkpoint\\": \\"1616980369\\",\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"43071\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Migrating\\",\\n \\"NeedUpgrade\\": true,\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"20001\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"MigrationMode\\": {\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"StructureInitialization\\": true,\\n \\"FullDataCheck\\": true,\\n \\"IncDataCheck\\": true,\\n \\"StructureDataCheck\\": true,\\n \\"TimeWindowCheck\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"CHECK__ERROR_SAME_OBJ.\\",\\n \\"Detail\\": [\\n {\\n \\"CheckResult\\": \\"Success\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\"\\n }\\n ]\\n },\\n \\"SourceEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1imrtn6fq7h****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n },\\n \\"DuUsage\\": 15,\\n \\"CpuUsage\\": \\"90\\",\\n \\"MemUsage\\": \\"500\\",\\n \\"DedicatedClusterId\\": \\"dtscluster_dpwl3**********\\",\\n \\"ErrorDetails\\": [\\n {\\n \\"ErrorCode\\": \\"DTS-31009\\",\\n \\"HelpUrl\\": \\"https://**.ali**.com/**\\"\\n }\\n ],\\n \\"EtlSafeCheckpoint\\": \\"1610540493\\",\\n \\"MinDu\\": 1,\\n \\"MaxDu\\": 16,\\n \\"FullDataCheckStatus\\": {\\n \\"Status\\": \\"Checking\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"1 rows/s (row: 5/5, table: 1/1)\\",\\n \\"CanSwitch\\": false\\n },\\n \\"IncDataCheckStatus\\": {\\n \\"Status\\": \\"Checking\\",\\n \\"Percent\\": \\"95\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"1 rows/s (row: 5/5, table: 1/1)\\"\\n },\\n \\"StructureDataCheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"****\\",\\n \\"Progress\\": \\"5\\"\\n }\\n },\\n \\"SourceEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n },\\n \\"RetryState\\": {\\n \\"RetryCount\\": 5,\\n \\"MaxRetryTime\\": 7200,\\n \\"ErrMessage\\": \\"Unexpected error\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"RetryTime\\": 3600,\\n \\"Module\\": \\"03\\",\\n \\"JobId\\": \\"bi6e22ay243****\\",\\n \\"Retrying\\": false,\\n \\"MigrationErrHelpDocId\\": \\"462133\\",\\n \\"MigrationErrHelpDocKey\\": \\"DTS-RETRY-ERR-0046\\",\\n \\"MigrationErrCode\\": \\"dts.retry.err.0046\\",\\n \\"MigrationErrType\\": \\"ForeignKey\\",\\n \\"MigrationErrMsg\\": \\"dts.retry.err.0046.msg\\",\\n \\"MigrationErrWorkaround\\": \\"dts.retry.err.0046.workaround\\"\\n },\\n \\"JobType\\": \\"online\\",\\n \\"DuUsage\\": 15,\\n \\"CpuUsage\\": \\"1\\",\\n \\"MemUsage\\": \\"500\\",\\n \\"DedicatedClusterId\\": \\"dtscluster_ft7y3**********\\",\\n \\"ErrorDetails\\": [\\n {\\n \\"ErrorCode\\": \\"DTS-31009\\",\\n \\"HelpUrl\\": \\"https://**.ali**.com/**\\"\\n }\\n ],\\n \\"DataCloudStatus\\": {\\n \\"Status\\": \\"Migrating\\",\\n \\"NeedUpgrade\\": false,\\n \\"Percent\\": \\"85\\",\\n \\"Progress\\": \\"1\\",\\n \\"ErrorMessage\\": \\"framework: DTS-31009: In process of processing data ****\\"\\n },\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"ResourceGroupDisplayName\\": \\"default resource group\\",\\n \\"MigrationErrMsg\\": \\"dts.retry.err.0046.msg\\",\\n \\"MigrationErrHelpDocId\\": \\"462133\\",\\n \\"MigrationErrWorkaround\\": \\"dts.retry.err.0046.workaround\\",\\n \\"MigrationErrCode\\": \\"dts.retry.err.0046\\",\\n \\"MigrationErrHelpDocKey\\": \\"DTS-RETRY-ERR-0046\\",\\n \\"MigrationErrType\\": \\"ForeignKey\\",\\n \\"EtlSafeCheckpoint\\": \\"1610540493\\",\\n \\"FullDataCheckStatus\\": {\\n \\"Status\\": \\"Checking\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"1 rows/s (row: 5/5, table: 1/1)\\",\\n \\"CanSwitch\\": false\\n },\\n \\"IncDataCheckStatus\\": {\\n \\"Status\\": \\"Checking\\",\\n \\"Percent\\": \\"95\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"1 rows/s (row: 5/5, table: 1/1)\\"\\n },\\n \\"DtsBisLabel\\": \\"normal\\",\\n \\"MinDu\\": 1,\\n \\"MaxDu\\": 16,\\n \\"DuRealUsage\\": \\"12.0%\\",\\n \\"StructureDataCheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"****\\",\\n \\"Progress\\": \\"5\\"\\n },\\n \\"InsightModule\\": true,\\n \\"TimeWindowDataCheckStatus\\": {\\n \\"Status\\": \\"\\",\\n \\"Percent\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"Progress\\": \\"\\"\\n }\\n }\\n ],\\n \\"EtlDemoList\\": [\\n {\\n \\"Status\\": \\"Migrating\\",\\n \\"OriginType\\": \\"DTS任务\\",\\n \\"DtsJobName\\": \\"RDS间迁移\\",\\n \\"Delay\\": 0,\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"ExpireTime\\": \\"2022-03-16T08:01:19Z\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"CreateTime\\": \\"2021-03-16T08:01:19Z\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"ConsumptionClient\\": \\"114...:dts******\\",\\n \\"DbObject\\": \\"{\\\\\\"dtstestdata\\\\\\": { \\\\\\"name\\\\\\": \\\\\\"dtstestdata\\\\\\", \\\\\\"all\\\\\\": true }}\\",\\n \\"DtsJobClass\\": \\"large\\",\\n \\"ConsumptionCheckpoint\\": \\"2021-03-23T07:30:31Z\\",\\n \\"EndTimestamp\\": \\"2021-03-26T14:03:21Z\\",\\n \\"AppName\\": \\"new\\",\\n \\"BeginTimestamp\\": \\"2021-03-15T08:25:34Z\\",\\n \\"DtsInstanceID\\": \\"dtsi03e3zty16i****\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"Checkpoint\\": \\"1616899019\\",\\n \\"TagList\\": [\\n {\\n \\"TagValue\\": \\"testvalue\\",\\n \\"TagKey\\": \\"testkey\\"\\n }\\n ],\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"44755\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"NeedUpgrade\\": true,\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0/0\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\"\\n },\\n \\"DataEtlStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"95\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\",\\n \\"Progress\\": \\"0/0\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1imrtn6fq7h****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"MigrationMode\\": {\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"StructureInitialization\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"CHECK__ERROR_SAME_OBJ.\\",\\n \\"Detail\\": [\\n {\\n \\"CheckResult\\": \\"Success\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\"\\n }\\n ]\\n },\\n \\"ReverseJob\\": {\\n \\"Status\\": \\"Synchronizing\\",\\n \\"DtsJobName\\": \\"RDS间迁移\\",\\n \\"Delay\\": 0,\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"ExpireTime\\": \\"2022-03-16T08:01:19Z\\",\\n \\"CreateTime\\": \\"2021-03-16T08:01:19Z\\",\\n \\"PayType\\": \\"PostPaid\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"DbObject\\": \\"{\\\\\\"dtstestdata\\\\\\": { \\\\\\"name\\\\\\": \\\\\\"dtstestdata\\\\\\", \\\\\\"all\\\\\\": true }}\\\\t\\",\\n \\"DtsJobClass\\": \\"large\\",\\n \\"DtsInstanceID\\": \\"dtsi03e3zty16i****\\",\\n \\"DtsJobDirection\\": \\"Reverse\\",\\n \\"Checkpoint\\": \\"1616980369\\",\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\\\t\\",\\n \\"Progress\\": \\"43071\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Migrating\\",\\n \\"NeedUpgrade\\": true,\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"20001\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\\\t\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"MigrationMode\\": {\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"StructureInitialization\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"CHECK__ERROR_SAME_OBJ\\",\\n \\"Detail\\": [\\n {\\n \\"CheckResult\\": \\"Success\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.XXX.XX\' (using password: YES)\\"\\n }\\n ]\\n },\\n \\"SourceEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.XX.XX\\",\\n \\"InstanceID\\": \\"rm-bp1imrtn6fq7h****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n },\\n \\"EtlSafeCheckpoint\\": \\"161054****\\"\\n },\\n \\"SourceEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n },\\n \\"RetryState\\": {\\n \\"RetryCount\\": 5,\\n \\"MaxRetryTime\\": 7200,\\n \\"ErrMessage\\": \\"Unexpected error\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"RetryTime\\": 3600,\\n \\"Module\\": \\"03\\",\\n \\"JobId\\": \\"bi6e22ay243****\\",\\n \\"Retrying\\": false\\n },\\n \\"JobType\\": \\"online\\",\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"ResourceGroupDisplayName\\": \\"default resource group\\",\\n \\"EtlSafeCheckpoint\\": \\"161054****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeDtsJobsResponse>\\r\\n <TotalRecordCount>15</TotalRecordCount>\\r\\n <PageRecordCount>1</PageRecordCount>\\r\\n <DtsJobList>\\r\\n <Status>Migrating</Status>\\r\\n <DataInitializationStatus>\\r\\n <Status>Finished</Status>\\r\\n <Progress>44755</Progress>\\r\\n <Percent>100</Percent>\\r\\n </DataInitializationStatus>\\r\\n <DbObject>{\\"DTSTEST\\":{\\"name\\":\\"dtstest\\",\\"all\\":true,\\"state\\":\\"normal\\",\\"edit\\":false}}</DbObject>\\r\\n <CreateTime>2021-03-16T08:01:19Z</CreateTime>\\r\\n <DtsJobName>RDS间迁移</DtsJobName>\\r\\n <ReverseJob>\\r\\n <PrecheckStatus/>\\r\\n <DataInitializationStatus/>\\r\\n <DestinationEndpoint/>\\r\\n <SourceEndpoint/>\\r\\n <Performance/>\\r\\n <MigrationMode/>\\r\\n <StructureInitializationStatus/>\\r\\n <DataSynchronizationStatus/>\\r\\n </ReverseJob>\\r\\n <PayType>PrePaid</PayType>\\r\\n <DtsInstanceID>dtsi03e3zty16i****</DtsInstanceID>\\r\\n <Delay>0</Delay>\\r\\n <MigrationMode>\\r\\n <DataInitialization>true</DataInitialization>\\r\\n <DataSynchronization>true</DataSynchronization>\\r\\n <StructureInitialization>true</StructureInitialization>\\r\\n </MigrationMode>\\r\\n <PrecheckStatus>\\r\\n <Status>Finished</Status>\\r\\n <Percent>100</Percent>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_CONN_SRC</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_CONN_SRC_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_CONN_DEST</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_CONN_DEST_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_AUTH_SRC</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_AUTH_SRC_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_AUTH_DEST</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_AUTH_DEST_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_BINLOG_ON</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_BINLOG_ON_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_BINLOG_MODE</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_BINLOG_MODE_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_BINLOG_ROW_IMAGE</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_BINLOG_ROW_IMAGE_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_SERVER_ID</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_SERVER_ID_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_BINLOG_EXIST</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_BINLOG_EXIST_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_ENGINE</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_ENGINE_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_MYSQL_PASSOWRD_FORMAT</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_MYSQL_PASSOWRD_FORMAT_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_SRC</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_SRC_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_SAME_OBJ</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_SAME_OBJ_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_SQL_MODE</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_SQL_MODE_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_SAME_USER</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_SAME_USER_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_TOPOLOGY</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_TOPOLOGY_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n </PrecheckStatus>\\r\\n <DtsJobClass>large</DtsJobClass>\\r\\n <Checkpoint>1616902385</Checkpoint>\\r\\n <DtsJobId>i03e3zty16i****</DtsJobId>\\r\\n <DestinationEndpoint>\\r\\n <UserName>dtstest</UserName>\\r\\n <InstanceID>rm-bp1imrtn6fq7h****</InstanceID>\\r\\n <SslSolutionEnum>DISABLE</SslSolutionEnum>\\r\\n <Port>3306</Port>\\r\\n <DatabaseName/>\\r\\n <Region>cn-hangzhou</Region>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </DestinationEndpoint>\\r\\n <SourceEndpoint>\\r\\n <UserName>dtstest</UserName>\\r\\n <InstanceID>rm-bp1162kryivb8****</InstanceID>\\r\\n <SslSolutionEnum>DISABLE</SslSolutionEnum>\\r\\n <Port>3306</Port>\\r\\n <Region>cn-hangzhou</Region>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </SourceEndpoint>\\r\\n <TagList>\\r\\n <TagKey>testkey</TagKey>\\r\\n <TagValue>testvalue</TagValue>\\r\\n </TagList>\\r\\n <Performance/>\\r\\n <Reserved>{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}</Reserved>\\r\\n <StructureInitializationStatus>\\r\\n <Status>Finished</Status>\\r\\n <Progress>1</Progress>\\r\\n <Percent>100</Percent>\\r\\n </StructureInitializationStatus>\\r\\n <DataSynchronizationStatus>\\r\\n <Status>Catched</Status>\\r\\n <Progress>0/0</Progress>\\r\\n <Percent>95</Percent>\\r\\n </DataSynchronizationStatus>\\r\\n </DtsJobList>\\r\\n <RequestId>621BB4F8-3016-4FAA-8D5A-5D3163CC****</RequestId>\\r\\n <PageNumber>2</PageNumber>\\r\\n <HttpStatusCode>200</HttpStatusCode>\\r\\n <Success>true</Success>\\r\\n</DescribeDtsJobsResponse>","errorExample":""}]', + ], + 'DescribeDtsServiceLog' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22224,105 +9551,81 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', + 'abilityTreeCode' => '52249', + 'abilityTreeNodes' => ['FEATUREdtsDW6WLD'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou ', - ], + 'schema' => ['description' => '迁移或同步任务ID。'."\n" + ."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'c1yr56py103****'], ], [ - 'name' => 'ResourceType', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '资源类型定义,取值固定为:**ALIYUN::DTS::INSTANCE**。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ALIYUN::DTS::INSTANCE', - ], + 'schema' => ['description' => '每页记录的日志信息的数量,取值:**20**、**50**、**100**、**500**、**1000**,默认值为**20**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], ], [ - 'name' => 'NextToken', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '查询凭证。'."\n" - .'> 如果一次查询没有返回全部结果,则可在后续查询中传入上一次查询返回的**NextToken**参数继续查询。', - 'type' => 'string', - 'required' => false, - 'example' => '212db86sca4384811e0b5e8707ec2****', - ], + 'schema' => ['description' => '指定页码,取值为大于0且不超过Integer数据类型的最大值,默认值为**1**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'ResourceId', + 'name' => 'StartTime', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '数据迁移、同步和订阅的实例ID,可以通过调用[DescribeDtsJobs](~~209702~~)。'."\n" - .'> - N表示传入第几个实例ID。例如:ResourceId.0表示传入第一个实例ID;ResourceId.1表示传入第二个实例ID。可以同时查询1~50个实例ID。'."\n" - .'- 该参数和**Tag.N.Key**参数至少传入一个。', - 'type' => 'array', - 'items' => [ - 'description' => '数据迁移、同步和订阅的实例ID,可以通过调用[DescribeDtsJobs](~~209702~~)。'."\n" - .'> - N表示传入第几个实例ID。例如:ResourceId.0表示传入第一个实例ID;ResourceId.1表示传入第二个实例ID。可以同时查询1~50个实例ID。'."\n" - .'- 该参数和**Tag.N.Key**参数至少传入一个。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsntk10k6r12v****', - ], - 'required' => false, - 'example' => 'dtsntk10k6r12v****', - 'maxItems' => 51, - ], + 'schema' => ['description' => '日志信息的起始时间。'."\n" + ."\n" + .'> - 如需查询特定时间范围内DTS子任务执行的日志信息,您可以调用[DescribePreCheckStatus](~~209718~~)查询DTS子任务的执行时间。'."\n" + .'- 起始时间的格式为13位Unix时间戳,单位为毫秒。Unix时间戳转换工具可用搜索引擎获取。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1620896327000'], ], [ - 'name' => 'Tag', + 'name' => 'EndTime', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '标签键对应的标签值。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '标签键。'."\n" - .'> - N表示传入第几个标签的键。例如:Tag.0.Key表示传入第一个标签的键;Tag.1.Key表示传入第二个标签的键。可以同时查询1~20个标签键。'."\n" - .'- 该参数和**ResourceId.N**参数至少传入一个,且传入时不允许传入空字符串。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testkey1', - ], - 'Value' => [ - 'description' => '标签的值。'."\n" - .'> - N表示传入第几个标签的值。例如:Tag.0.Value表示传入第一个标签的值;Tag.1.Value表示传入第二个标签的值。可以同时查询1~20个标签值。'."\n" - .'- 允许传入空字符串。', - 'type' => 'string', - 'required' => false, - 'example' => 'testvalue1 ', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => '日志信息的截止时间,您可以调用[DescribePreCheckStatus](~~209718~~)进行查询。'."\n" + .'> - 如需查询特定时间范围内DTS子任务执行的日志信息,您可以调用[DescribePreCheckStatus](~~209718~~)查询DTS子任务的执行时间。'."\n" + .'- 起始时间的格式为13位Unix时间戳,单位为毫秒。Unix时间戳转换工具可用搜索引擎获取。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1620897227000'], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => ['description' => '日志信息的日志级别,多个状态以英文逗号(,)分隔,取值为:'."\n" + ."\n" + .'- **NORMAL**:正常。'."\n" + .'- **WARN**:报警。'."\n" + .'- **ERROR**:报错。', 'type' => 'string', 'required' => false, 'example' => 'NORMAL,WARN,ERROR'], + ], + [ + 'name' => 'SubJobType', + 'in' => 'query', + 'schema' => ['description' => 'DTS任务的具体子任务类型,取值为:'."\n" + ."\n\n" + .'- **DATA_LOAD**:全量迁移或全量同步。'."\n" + .'- **ONLINE_WRITER**:增量迁移。'."\n" + .'- **SYNC_WRITER**:增量同步。', 'type' => 'string', 'required' => false, 'example' => 'SYNC_WRITER'], + ], + [ + 'name' => 'Keyword', + 'in' => 'query', + 'schema' => ['description' => '传入关键词,指定查询内容。'."\n" + .'> 模糊匹配且区分大小写。', 'type' => 'string', 'required' => false, 'example' => 'state = IDLE'], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'ZeroEtlJob', + 'in' => 'query', + 'schema' => ['description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -22330,213 +9633,105 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => '查询凭证。'."\n" - .'> 如果此次查询没有返回全部结果,则可在后续查询中传入此**NextToken**参数继续查询。', - 'type' => 'string', - 'example' => '212db86sca4384811e0b5e8707ec2****', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '609AD332-F2B1-48B7-BF43-41FEE641****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'TagResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'TagResource' => [ - 'description' => '返回标签集合。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => '标签键对应的标签值。', - 'type' => 'string', - 'example' => 'testvalue1', - ], - 'ResourceType' => [ - 'description' => '资源类型定义,取值固定为**ALIYUN::DTS::INSTANCE**。', - 'type' => 'string', - 'example' => 'ALIYUN::DTS::INSTANCE', - ], - 'ResourceId' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'dtsntk10k6r12v****', - ], - 'TagKey' => [ - 'description' => '标签键。', - 'type' => 'string', - 'example' => 'testkey1', - ], - ], - ], + 'HttpStatusCode' => ['description' => '状态码。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'F87DF250-952C-47FE-8A02-69414FAA****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n" + ."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'PageRecordCount' => ['description' => '每页记录的日志信息的数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'TotalRecordCount' => ['description' => '符合条件的日志信息的总数。', 'type' => 'integer', 'format' => 'int64', 'example' => '35'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。'."\n" + ."\n", 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。', 'type' => 'string', 'example' => 'DtsJobId'], + 'PageNumber' => ['description' => '当前页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], + 'ServiceLogContexts' => [ + 'description' => '任务日志信息详情。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Context' => ['description' => '具体的日志信息。', 'type' => 'string', 'example' => 'Statistics: generator = 369173; collector = 470109; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}'], + 'Time' => ['description' => '日志采集时间,格式为yyyy-MM-ddTHH:mm:ssZ(UTC时间)。', 'type' => 'string', 'example' => '2021-05-13T09:13:39.443+00:00'], + 'State' => ['description' => '日志信息的状态。', 'type' => 'string', 'example' => 'NORMAL'], ], + 'description' => '', ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], - ], - 419 => [ - [ - 'errorCode' => 'QuotaExceed.TagsPerResource', - 'errorMessage' => 'The maximum number of tags for each resource is exceeded.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"212db86sca4384811e0b5e8707ec2****\\",\\n \\"RequestId\\": \\"609AD332-F2B1-48B7-BF43-41FEE641****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"TagValue\\": \\"testvalue1\\",\\n \\"ResourceType\\": \\"ALIYUN::DTS::INSTANCE\\",\\n \\"ResourceId\\": \\"dtsntk10k6r12v****\\",\\n \\"TagKey\\": \\"testkey1\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListTagResourcesResponse>\\n <RequestId>609AD332-F2B1-48B7-BF43-41FEE641****</RequestId>\\n <TagResources>\\n <ResourceId>dtsntk10k6r12v****</ResourceId>\\n <TagKey>testkey1</TagKey>\\n <ResourceType>ALIYUN::DTS::INSTANCE</ResourceType>\\n <TagValue>testvalue1</TagValue>\\n </TagResources>\\n <Success>true</Success>\\n</ListTagResourcesResponse>","errorExample":""}]', - 'title' => '查询标签', - 'summary' => '调用ListTagResources查询迁移、同步和订阅实例绑定的标签,也可以查询标签所绑定的实例。', - 'description' => '****', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"F87DF250-952C-47FE-8A02-69414FAA****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"PageRecordCount\\": 20,\\n \\"TotalRecordCount\\": 35,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"PageNumber\\": 1,\\n \\"DynamicCode\\": \\"403\\",\\n \\"ServiceLogContexts\\": [\\n {\\n \\"Context\\": \\"Statistics: generator = 369173; collector = 470109; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}\\",\\n \\"Time\\": \\"2021-05-13T09:13:39.443+00:00\\",\\n \\"State\\": \\"NORMAL\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeDtsServiceLogResponse>\\n <requestId>F87DF250-952C-47FE-8A02-69414FAA****</requestId>\\n <success>true</success>\\n <httpStatusCode>200</httpStatusCode>\\n <pageNumber>1</pageNumber>\\n <pageRecordCount>20</pageRecordCount>\\n <totalRecordCount>35</totalRecordCount>\\n <serviceLogContexts>\\n <context>Statistics: generator = 369173; collector = 470109; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}</context>\\n <state>NORMAL</state>\\n <time>2021-05-13T09:13:39.443+00:00</time>\\n </serviceLogContexts>\\n <serviceLogContexts>\\n <context>Statistics: generator = 368934; collector = 469795; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}</context>\\n <state>NORMAL</state>\\n <time>2021-05-13T09:10:53.275+00:00</time>\\n </serviceLogContexts>\\n <serviceLogContexts>\\n <context>Statistics: generator = 368702; collector = 469492; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}</context>\\n <state>NORMAL</state>\\n <time>2021-05-13T09:08:08.855+00:00</time>\\n </serviceLogContexts>\\n <serviceLogContexts>\\n <context>Statistics: generator = 368456; collector = 469180; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}</context>\\n <state>NORMAL</state>\\n <time>2021-05-13T09:05:22.343+00:00</time>\\n </serviceLogContexts>\\n <serviceLogContexts>\\n <context>Statistics: generator = 368222; collector = 468877; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}</context>\\n <state>NORMAL</state>\\n <time>2021-05-13T09:02:37.851+00:00</time>\\n </serviceLogContexts>\\n <serviceLogContexts>\\n <context>Statistics: generator = 367988; collector = 468571; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}</context>\\n <state>NORMAL</state>\\n <time>2021-05-13T08:59:51.070+00:00</time>\\n </serviceLogContexts>\\n</DescribeDtsServiceLogResponse>","errorExample":""}]', + 'title' => '查询任务日志', + 'summary' => '调用DescribeDtsServiceLog查询一个数据迁移或同步任务的日志信息。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'TagResources' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDtsServiceLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeEndpointSwitchStatus' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou ', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ResourceType', + 'name' => 'TaskId', 'in' => 'query', - 'schema' => [ - 'description' => '资源类型定义,固定取值为:**ALIYUN::DTS::INSTANCE**。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'ALIYUN::DTS::INSTANCE', - ], + 'schema' => ['description' => '任务ID,成功调用[SwitchSynchronizationEndpoint](~~201858~~)接口后会返回该值。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '11****'], ], [ - 'name' => 'ResourceId', + 'name' => 'ClientToken', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '数据迁移、同步和订阅的实例ID,可以通过调用[DescribeDtsJobs](~~209702~~)接口查询。'."\n" - ."\n" - .'> N表示传入第几个实例ID。例如ResourceId.0表示传入第一个实例ID;ResourceId.1表示传入第二个实例ID。', - 'type' => 'array', - 'items' => [ - 'description' => '数据迁移、同步和订阅的实例ID,可以通过调用[DescribeDtsJobs](~~209702~~)接口查询。'."\n" - ."\n" - .'> N表示传入第几个实例ID。例如ResourceId.0表示传入第一个实例ID;ResourceId.1表示传入第二个实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsntk10k6r12v****', - ], - 'required' => true, - 'example' => 'dtsntk10k6r12v****', - 'maxItems' => 51, - ], + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****'], ], [ - 'name' => 'Tag', + 'name' => 'AccountId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '要绑定的标签(键值对)列表。'."\n" - ."\n", - 'type' => 'array', - 'items' => [ - 'description' => '要绑定的标签(键值对)列表。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '标签的键。'."\n" - .'> - N表示传入第几个标签的键。例如Tag.0.Key表示传入第一个标签的键;Tag.1.Key表示传入第二个标签的键。'."\n" - .'- 不允许传入空字符串。', - 'type' => 'string', - 'required' => true, - 'example' => 'testkey1', - ], - 'Value' => [ - 'description' => '标签的值。'."\n" - .'> - N表示传入第几个标签的值。例如Tag.0.Value表示传入第一个标签的值;Tag.1.Value表示传入第二个标签的值。'."\n" - .'- 允许传入空字符串。', - 'type' => 'string', - 'required' => true, - 'example' => 'testvalue1', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 21, - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -22544,183 +9739,78 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '755D7B84-6813-42B0-BC9D-2699CFEA****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], + 'Status' => ['description' => '任务执行状态,返回为:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Initializing**:初始化中。'."\n" + .'- **Switching**:切换中。'."\n" + .'- **Failed**:执行失败。'."\n" + .'- **Finished**:执行成功。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '本参数已下线。', 'type' => 'string', 'example' => '400'], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => '0DD6B201-604B-4CAB-B6A8-4B2953B5****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], - ], - 419 => [ - [ - 'errorCode' => 'QuotaExceed.TagsPerResource', - 'errorMessage' => 'The maximum number of tags for each resource is exceeded.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"400\\",\\n \\"RequestId\\": \\"0DD6B201-604B-4CAB-B6A8-4B2953B5****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '修改数据库连接信息', + 'summary' => '可以查看任务的执行状态。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeEndpointSwitchStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"755D7B84-6813-42B0-BC9D-2699CFEA****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\n <RequestId>755D7B84-6813-42B0-BC9D-2699CFEA****</RequestId>\\n <Success>true</Success>\\n</TagResourcesResponse>","errorExample":""}]', - 'title' => '创建标签', - 'summary' => '调用TagResources接口为一个或多个迁移、同步和订阅实例绑定标签。', - 'description' => '在实例数量较多的情况下,您可以创建多个标签,为实例绑定不同的标签对其进行分类,之后通过标签进行实例筛选。'."\n" - ."\n" - .'- 标签由一对键(key)值(value)组成,键在同账号同地域下唯一,值无此限制。'."\n" - .'- 若设置的标签不存在,则自动创建该标签并绑定到目标实例。'."\n" - .'- 若实例已经绑定了有相同键的标签,则进行覆盖绑定。'."\n" - .'- 每个实例最多可以绑定20个标签。'."\n" - .'- 每次调用最多设置50个实例进行批量标签绑定。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'UntagResources' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeEtlJobLogs' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => '资源类型定义。唯一取值:**ALIYUN::DTS::INSTANCE**。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'ALIYUN::DTS::INSTANCE', - ], - ], - [ - 'name' => 'All', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '是否解绑实例的全部标签,取值:'."\n" - ."\n" - .'- **true**:是。解绑实例的全部标签。'."\n" - .'- **false**:否。需在**TagKey.N**参数传入需解绑的实例标签。'."\n" - ."\n" - .'> - **TagKey.N**和本参数至少传入一个。'."\n" - .'- 如果同时传入了**TagKey.N**和本参数,则本参数不生效。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'ETL任务ID,您可以调用[DescribeDtsJobs](~~209702~~)接口查询任务ID。', 'type' => 'string', 'required' => true, 'example' => 'vd*********2ls'], ], [ - 'name' => 'ResourceId', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '数据迁移、同步和订阅实例的ID,可以通过调用[DescribeDtsJobs](~~209702~~)接口查询。'."\n" - .'> N表示传入第几个实例ID。例如ResourceId.0表示传入第一个实例ID;ResourceId.1表示传入第二个实例ID。可以同时对1~50个实例解绑标签。', - 'type' => 'array', - 'items' => [ - 'description' => '数据迁移、同步和订阅实例的ID,可以通过调用[DescribeDtsJobs](~~209702~~)接口查询。'."\n" - .'> N表示传入第几个实例ID。例如ResourceId.0表示传入第一个实例ID;ResourceId.1表示传入第二个实例ID。可以同时对1~50个实例解绑标签。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsntk10k6r12v****', - ], - 'required' => true, - 'example' => 'dtsntk10k6r12v****', - 'maxItems' => 51, - ], - ], - [ - 'name' => 'TagKey', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '标签键。'."\n" - .'> - N表示传入第几个标签的键。例如TagKey.0表示传入第一个标签的键;TagKey.1表示传入第二个标签的键。可以同时解绑1~20个标签键。'."\n" - .'- 不允许传入空字符串。'."\n" - .'- **All**和本参数至少传入一个。'."\n" - .'- 如果同时传入了**All**和本参数,则只有本参数生效。', - 'type' => 'array', - 'items' => [ - 'description' => '标签键。'."\n" - .'> - N表示传入第几个标签的键。例如TagKey.0表示传入第一个标签的键;TagKey.1表示传入第二个标签的键。可以同时解绑1~20个标签键。'."\n" - .'- 不允许传入空字符串。'."\n" - .'- **All**和本参数至少传入一个。'."\n" - .'- 如果同时传入了**All**和本参数,则只有本参数生效。', - 'type' => 'string', - 'required' => false, - 'example' => 'testkey1', - ], - 'required' => false, - 'example' => 'testkey1', - 'maxItems' => 21, - ], + 'schema' => ['description' => 'DTS实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)接口查询阿里云地域列表。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -22728,68 +9818,67 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'ED3A8FE0-EEFA-4416-BC42-34D61A52****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', + 'HttpStatusCode' => ['description' => '状态码。'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '224DB9F7-3100-4899-AB9C-C938BCCB43E7'], + 'ErrCode' => ['description' => '传入的ETL任务ID错误,找不到对应的任务。', 'type' => 'string', 'example' => 'InvalidJobId'], + 'Success' => ['description' => '请求是否成功,如果失败则返回false。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '传入的ETL任务ID错误,找不到对应的任务(任务可能已删除)。', 'type' => 'string', 'example' => 'The specified dts job id %s is not exists.'], + 'DynamicMessage' => ['description' => '与本次请求相关的动态错误信息。', 'type' => 'string', 'example' => 'present environment is not support,so skip.'], + 'DynamicCode' => ['description' => '与本次请求相关的动态错误码。', 'type' => 'string', 'example' => '403'], + 'EtlRunningLogs' => [ + 'description' => '返回ETL任务运行日志对象数组。', + 'type' => 'array', + 'items' => [ + 'description' => '返回ETL任务运行日志对象数组。', + 'type' => 'object', + 'properties' => [ + 'EtlId' => ['description' => 'ETL任务的ID。', 'type' => 'string', 'example' => 'u**********5'], + 'UserId' => ['description' => '用户ID。', 'type' => 'string', 'example' => '123123******12131'], + 'ContentKey' => ['description' => '状态,即产生日志的模块名,比如ETL任务的转换模块。', 'type' => 'string', 'example' => 'DTS-ETL'], + 'Content' => ['description' => 'ETL任务运行状态描述。', 'type' => 'string', 'example' => 'Starting DTS-ETL...'], + 'Status' => ['description' => '日志等级,有ERROR、WARN、INFO、DEBUG4种等级。', 'type' => 'string', 'example' => 'INFO'], + 'LogDatetime' => ['description' => '记录时间戳(产生日志的时间)。', 'type' => 'string', 'example' => '1637306503000'], + ], + ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"224DB9F7-3100-4899-AB9C-C938BCCB43E7\\",\\n \\"ErrCode\\": \\"InvalidJobId\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The specified dts job id %s is not exists.\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"EtlRunningLogs\\": [\\n {\\n \\"EtlId\\": \\"u**********5\\",\\n \\"UserId\\": \\"123123******12131\\",\\n \\"ContentKey\\": \\"DTS-ETL\\",\\n \\"Content\\": \\"Starting DTS-ETL...\\",\\n \\"Status\\": \\"INFO\\",\\n \\"LogDatetime\\": \\"1637306503000\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => '查询ETL任务日志', + 'summary' => '查看ETL任务运行日志。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'dts:DescribeEtlJobLogs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"ED3A8FE0-EEFA-4416-BC42-34D61A52****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\n <RequestId>ED3A8FE0-EEFA-4416-BC42-34D61A52****</RequestId>\\n <Success>true</Success>\\n</UntagResourcesResponse>","errorExample":""}]', - 'title' => '解绑标签', - 'summary' => '为迁移、同步和订阅实例解绑标签。', - 'description' => '> 标签从一个实例解绑后,如果没有绑定到其它实例,则该标签自动被删除。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'ConvertInstanceResourceGroup' => [ - 'summary' => '为实例资源转资源组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeFullProcessList' => [ + 'summary' => '查询全量迁移任务运行详情', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22798,78 +9887,32 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '152991', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '156988', + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '历史参数,当前该参数不生效,无需传参。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'm4312mab158****', - ], + 'schema' => ['description' => '迁移、同步或订阅任务ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'i03e3zty16i****'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ResourceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例的ID,可在控制台对应任务列表页面的**ID/名称**列查看。'."\n" - ."\n" - .'> 本参数为必填参数。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'dtszhc12zp727o****', - ], - ], - [ - 'name' => 'NewResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '新的资源组ID,可通过资源组控制台获取。更多信息,请参见[查看资源组基本信息](~~151181~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek2r4fkrqw****', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ZeroEtlJob', 'in' => 'query', - 'schema' => [ - 'description' => '特殊业务专用字段,无需传参。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '特殊业务专用字段,无需传参。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-3m1213ye7l****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -22877,81 +9920,89 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'AD823BD3-1BA6-4117-A536-165CB280****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'Code' => [ - 'description' => '后端错误码,数字递增。', - 'type' => 'string', - 'example' => '500', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果返回**The Value of Input Parameter %s is not valid**,且DynamicMessage返回DtsJobId,则代表所传入的请求参数DtsJobId不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', + 'HttpStatusCode' => ['description' => 'http状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => 'C166D79D-436B-45F0-B5A5-25E1959F****'], + 'DtsJobId' => ['description' => '迁移、同步或订阅任务ID。', 'type' => 'string', 'example' => 'i03e3zty16i****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功,返回值:'."\n" + ."\n" + .'- **true**:请求成功。'."\n" + ."\n" + .'- **false**:请求失败。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'ConfigList' => ['description' => '当前参数无返回值,具体限速配置。'."\n" + ."\n" + .'- **dts.datamove.blaster.qps.max**:每秒查询源库的速率。'."\n" + .'- **dts.datamove.source.rps.max**:每秒全量同步或迁移的行数RPS。'."\n" + .'- **dts.datamove.source.bps.max**:每秒全量同步或迁移的数据量,单位为Byte/s。'."\n" + ."\n" + .'> - 当**JobCode**取值为**03**时,您需将**EnableLimit**配置为**true**,三个参数的配置才会生效。'."\n" + .'- 当**JobCode**取值为**04**或**07**时,您只需配置**dts.datamove.source.rps.max**和**dts.datamove.source.bps.max**。'."\n" + .'- 取值为**-1**时表示不限速。', 'type' => 'object', 'example' => '{'."\n" + .' "dts.datamove.source.rps.max": 5000,'."\n" + .' "dts.datamove.source.bps.max": 10485760'."\n" + .'}'], + 'Code' => ['description' => '错误码。', 'type' => 'string', 'example' => '200'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'DtsJobId'], + 'FullProcessList' => [ + 'description' => '全球加速实例列表的详细信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ProcessType' => ['description' => '进程类型。取值:'."\n" + .'- **1**:可信'."\n" + .'- **2**:可疑'."\n" + .'- **3**:恶意', 'type' => 'string', 'example' => '1'], + 'ProcessName' => ['description' => '进程名称。', 'type' => 'string', 'example' => 'universer'], + 'RunningSQL' => ['description' => '运行中的SQL', 'type' => 'string', 'example' => 'test'], + 'Exception' => ['description' => '任务异常状态,返回值:-**notstarted**:未启动。-**checking**:检查中。-**failed**:失败。-**finished**:完成。', 'type' => 'string', 'example' => 'notstarted'], + 'TaskID' => ['description' => '任务id。', 'type' => 'string', 'example' => 'TaskD4E5F6'], + 'Detail' => ['description' => '详情', 'type' => 'string', 'example' => '{}'], + 'State' => ['description' => '日志信息的状态。', 'type' => 'string', 'example' => 'running'], + 'Time' => ['description' => '日志采集时间,格式为yyyy-MM-ddTHH:mm:ssZ(UTC时间)。', 'type' => 'integer', 'format' => 'int64', 'example' => '1729650129452'], + ], + 'description' => '', + ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"C166D79D-436B-45F0-B5A5-25E1959F****\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"ConfigList\\": {\\n \\"dts.datamove.source.rps.max\\": 5000,\\n \\"dts.datamove.source.bps.max\\": 10485760\\n },\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"FullProcessList\\": [\\n {\\n \\"ProcessType\\": \\"1\\",\\n \\"ProcessName\\": \\"universer\\",\\n \\"RunningSQL\\": \\"test\\",\\n \\"Exception\\": \\"notstarted\\",\\n \\"TaskID\\": \\"TaskD4E5F6\\",\\n \\"Detail\\": \\"{}\\",\\n \\"State\\": \\"running\\",\\n \\"Time\\": 1729650129452\\n }\\n ]\\n}","type":"json"}]', + 'title' => '描述完整流程列表', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeFullProcessList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"AD823BD3-1BA6-4117-A536-165CB280****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"500\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\"\\n}","errorExample":""},{"type":"xml","example":"<ConvertInstanceResourceGroupResponse>\\n <RequestId>AA9B0557-2424-5D56-83DF-CF68F588****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</ConvertInstanceResourceGroupResponse>","errorExample":""}]', - 'title' => '修改DTS实例的资源组', ], - 'DescribeDocParserJobResult' => [ - 'summary' => '获取文档解析任务的结果。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DescribeGadInstances' => [ + 'summary' => '查询GAD实例列表', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -22960,55 +10011,52 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '52309', - 'abilityTreeNodes' => [ - 'FEATUREdtsE4ZR2L', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '231735', + 'abilityTreeNodes' => ['FEATUREdts05OBVW'], ], 'parameters' => [ [ - 'name' => 'DtsJobId', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '创建文档解析任务时返回的任务ID(DtsJobId)。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'dts-20250729-y0zz3t13h7d****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '任务所属的地域ID,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'InstanceName', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '热活实例组名称。', 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ - 'name' => 'RagInstanceId', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => '每页记录数,取值范围为**1**~**100**,默认值为**20**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30'], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => '页码。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'MasterDbInstanceId', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => false, 'description' => ''], + ], + [ + 'name' => 'SlaveDbInstanceId', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => false, 'description' => ''], + ], + [ + 'name' => 'DbEngineTypes', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => false, 'description' => ''], ], ], 'responses' => [ @@ -23016,117 +10064,90 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'C166D79D-436B-45F0-B5A5-25E1959F****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', - ], - 'FileUrl' => [ - 'description' => '文件的OSS下载地址。'."\n" - ."\n" - .'> 如果是zip类型的任务,该字段会返回zip包的下载地址,地址有效期为30分钟。', - 'type' => 'string', - 'example' => 'https://oss-cn-hangzhou.aliyuncs.com/806a_209584525031252870_078f1180f27b4c069c0f271758aa****', - ], - 'ContentList' => [ - 'description' => '完整的文本解析内容。'."\n" - .'> 如果是content类型的任务,ContentList中会将原始文档按页拆分,每一页会有一个单独的Markdown文本信息。', - 'type' => 'array', - 'items' => [ - 'description' => '每个object中有页码和每个页码内容解析后的Markdown文本。', - 'type' => 'object', - 'properties' => [ - 'PageNumber' => [ - 'description' => '页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Content' => [ - 'description' => '对应页码的文本内容,解析之后的完整Markdown文本。', - 'type' => 'string', - 'example' => '* Demo * ** Demo title **', + 'HttpStatusCode' => ['description' => 'HTTP状态码', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'C166D79D-436B-45F0-B5A5-25E1959F****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'ErrMessage' => ['description' => '调用出错时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'Success' => ['description' => '请求是否成功。返回值:'."\n" + ."\n" + .'- **true**:请求成功。'."\n" + .'- **false**:请求失败。', 'type' => 'string', 'example' => 'true'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => '403'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**Type**,则代表所传入的请求参数**Type**不合法。', 'type' => 'string', 'example' => 'present environment is not support,so skip.'], + 'PageRecordCount' => ['description' => '当前页可展示的最大记录数。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30'], + 'TotalRecordCount' => ['description' => '所查询的实例总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '22'], + 'PageNumber' => ['description' => '页码。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Instances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Instances' => [ + 'description' => '实例详情', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceRegion' => ['description' => '实例所在地域。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'InstanceId' => ['description' => '热活实例组ID。', 'type' => 'string', 'example' => 'rg-a76s8afa****'], + 'InstanceName' => ['description' => '热活实例组名称。', 'type' => 'string', 'example' => 'test'], + 'DbEngineType' => ['description' => '数据库引擎', 'type' => 'string', 'example' => 'MySQL'], + 'Status' => ['description' => '运行状态', 'type' => 'string', 'example' => 'running'], + 'MasterDbInstanceId' => ['description' => '主角色实例ID', 'type' => 'string', 'example' => 'rm-sadfasfa****'], + 'MasterDbInstanceName' => ['description' => '主角色实例名称', 'type' => 'string', 'example' => 'test'], + 'MasterDbInstanceRegion' => ['description' => '主角色实例Region', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'MasterDbInstanceZoneId' => ['description' => '主角色实例可用区', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'DbInstanceCount' => ['description' => '实例数量', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'CreateTime' => ['description' => '实例的创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '2024-05-29 23:55:58'], + 'ResourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-aekzq276dmnaxqa'], + 'InstanceType' => ['description' => 'GAD实例类型', 'type' => 'string', 'example' => 'DR'], + 'MasterEngineArchType' => ['type' => 'integer', 'format' => 'int32', 'description' => ''], + ], + 'description' => '', ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'OperationDenied.NotPurchased', - 'errorMessage' => 'The instance has not been purchased and the task cannot be started.', - ], - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"C166D79D-436B-45F0-B5A5-25E1959F****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Success\\": \\"true\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"PageRecordCount\\": 30,\\n \\"TotalRecordCount\\": 22,\\n \\"PageNumber\\": 1,\\n \\"Instances\\": {\\n \\"Instances\\": [\\n {\\n \\"InstanceRegion\\": \\"cn-hangzhou\\",\\n \\"InstanceId\\": \\"rg-a76s8afa****\\",\\n \\"InstanceName\\": \\"test\\",\\n \\"DbEngineType\\": \\"MySQL\\",\\n \\"Status\\": \\"running\\",\\n \\"MasterDbInstanceId\\": \\"rm-sadfasfa****\\",\\n \\"MasterDbInstanceName\\": \\"test\\",\\n \\"MasterDbInstanceRegion\\": \\"cn-hangzhou\\",\\n \\"MasterDbInstanceZoneId\\": \\"cn-hangzhou\\",\\n \\"DbInstanceCount\\": 2,\\n \\"CreateTime\\": 0,\\n \\"ResourceGroupId\\": \\"rg-aekzq276dmnaxqa\\",\\n \\"InstanceType\\": \\"DR\\",\\n \\"MasterEngineArchType\\": 0\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => '查询热活实例组列表', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'dts:DescribeGadInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"C166D79D-436B-45F0-B5A5-25E1959F****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"FileUrl\\": \\"https://oss-cn-hangzhou.aliyuncs.com/806a_209584525031252870_078f1180f27b4c069c0f271758aa****\\",\\n \\"ContentList\\": [\\n {\\n \\"PageNumber\\": 1,\\n \\"Content\\": \\"* Demo * ** Demo title **\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '获取文档解析任务的结果', - 'description' => '此接口对调用次数有限制,超过限制后的调用会被拒绝。'."\n" - .'- 单个地域累计允许调用的阈值为100 次/秒。'."\n" - .'- 单个地域允许单个账号调用的阈值为5 次/秒。', ], - 'CreateDocParserJob' => [ - 'summary' => '创建文档解析任务。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DescribeInitializationStatus' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -23134,83 +10155,37 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '52309', - 'abilityTreeNodes' => [ - 'FEATUREdtsE4ZR2L', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '文档解析任务所属的地域ID,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据同步实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'SynchronizationJobId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '数据同步实例ID,可以通过调用[DescribeSynchronizationJobs](~~49454~~)接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsi76118o3w92****'], ], [ - 'name' => 'FileUrl', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '待解析文档的OSS地址。'."\n" - ."\n" - .'> 通过SDK调用时该参数为自动填充。', - 'type' => 'string', - 'required' => false, - 'example' => 'https://oss-cn-hangzhou.aliyuncs.com/storage/pdf/40184458-fbb0-44cf-a391-350628ceccdd17375122****', - 'isFileTransferUrl' => true, - ], + 'schema' => ['description' => '每页记录数,取值:**1**~**100**,默认值为**30**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'example' => '30', 'default' => '30'], ], [ - 'name' => 'FileName', + 'name' => 'PageNum', 'in' => 'query', - 'schema' => [ - 'description' => '待解析文档的名称。'."\n" - ."\n" - .'> 包含扩展名,当前仅支持.pdf。', - 'type' => 'string', - 'required' => false, - 'example' => '2.pdf', - ], + 'schema' => ['description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1'], ], [ - 'name' => 'ResultType', + 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '解析任务完成后输出结果的格式,取值为:'."\n" - ."\n" - .'- **zip**:zip压缩包。'."\n" - .'- **content**:纯文本。', - 'type' => 'string', - 'required' => false, - 'example' => 'zip', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ - 'name' => 'RagInstanceId', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -23218,96 +10193,127 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'FDC111B1-ACBF-457D-9656-247FDEE9****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的%s。', - 'type' => 'string', - 'example' => 'present environment is not support, so skip', + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => '150DECD9-13FF-4929-A5DE-855BE9CC****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'DataInitializationDetails' => [ + 'description' => '全量数据初始化详情。', + 'type' => 'array', + 'items' => [ + 'description' => '全量数据初始化详情。', + 'type' => 'object', + 'properties' => [ + 'SourceOwnerDBName' => ['description' => '源实例中待同步对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'Status' => ['description' => '全量数据初始化的状态,返回值:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:初始化中。'."\n" + .'- **Failed**:初始化失败。'."\n" + .'- **Finished**:初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'UsedTime' => ['description' => '全量同步初始化的耗时。', 'type' => 'string', 'example' => '0.0'], + 'TableName' => ['description' => '同步对象的表名。', 'type' => 'string', 'example' => 'customer'], + 'ErrorMessage' => ['description' => '全量数据初始化失败时返回对应的失败信息。', 'type' => 'string', 'example' => 'java.lang.NumberFormatException: For input string: ""'], + 'FinishRowNum' => ['description' => '已完成同步的行数。'."\n" + .'> 该参数表示实际同步的总行数,而参数**TotalRowNum**的值来源于同步开始前源库的系统表,由于同步时间差,会导致两者的值会有出入。', 'type' => 'string', 'example' => '9993'], + 'DestinationOwnerDBName' => ['description' => '目标实例中待同步对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'TotalRowNum' => ['description' => '需同步的总行数。'."\n" + .'> 该参数的值来源于同步开始前源库的系统表,而参数**FinishRowNum**表示实际同步的总行数,由于同步时间差,会导致两者的值会有出入。', 'type' => 'string', 'example' => '9981'], + ], + ], ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', + 'DataSynchronizationDetails' => [ + 'description' => '增量数据同步详情。'."\n" + .'> 该参数合集及包含的返回参数即将下线。', + 'type' => 'array', + 'items' => [ + 'description' => '增量数据同步详情。'."\n" + .'> 该参数合集及包含的返回参数即将下线。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '增量数据同步的状态,返回值:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:同步中。'."\n" + .'- **Failed**:同步失败。'."\n" + .'- **Finished**:同步完成。', 'type' => 'string', 'example' => 'Migrating'], + 'SourceOwnerDBName' => ['description' => '源实例中待同步对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'TableName' => ['description' => '同步对象的表名。', 'type' => 'string', 'example' => 'customer'], + 'ErrorMessage' => ['description' => '增量数据同步失败时返回对应的失败信息。', 'type' => 'string', 'example' => '任务失败太久无法恢复'], + 'DestinationOwnerDBName' => ['description' => '目标实例中待同步对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + ], + ], ], - 'DtsJobId' => [ - 'description' => '文档解析任务的ID。', - 'type' => 'string', - 'example' => 'dts-20250729-boss6pn1w******', + 'StructureInitializationDetails' => [ + 'description' => '结构初始化详情。', + 'type' => 'array', + 'items' => [ + 'description' => '结构初始化详情。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '结构初始化的状态。返回值:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:初始化中。'."\n" + .'- **Failed**:初始化失败。'."\n" + .'- **Finished**:初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'SourceOwnerDBName' => ['description' => '源实例中待同步对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'ObjectDefinition' => ['description' => '同步对象的结构语法定义。'."\n", 'type' => 'string', 'example' => 'CREATE TABLE `dtstestdata`.`customer` (\\n`customer_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\n`customer_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`customer_company1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`submission_date1216` date COMMENT \'\' NULL \\n, PRIMARY KEY (`customer_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\n'], + 'ObjectType' => ['description' => '同步对象的类型。返回值如下:'."\n" + .'**Table**(表)、**Constraint**(约束)、**Index**(索引)、**View**(视图)、**Materialize View**(物化视图)、**Type**(自定义类型)、**Synonym**(同义词)、**Trigger**(触发器)、**Function**(函数)、**Procedure**(存储过程)、**Package**(包)、**Default**(默认值)、**Rule**(规则)、**PlanGuide**(执行计划)、**Sequence**(序列)。'."\n" + ."\n", 'type' => 'string', 'example' => 'Table'], + 'ErrorMessage' => ['description' => '结构初始化失败时返回对应的失败信息。'."\n", 'type' => 'string', 'example' => 'DTS-1020042 Execute sql error sql: Table \'customer\' already exists'], + 'DestinationOwnerDBName' => ['description' => '目标实例中待同步对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'ObjectName' => ['description' => '同步对象的名称。', 'type' => 'string', 'example' => 'customer'], + 'Constraints' => [ + 'description' => '同步对象对应的约束(例如索引、外键等)。'."\n" + .'> 只有**ObjectType**为**Table**,且同步对象有约束,才会返回本参数。', + 'type' => 'array', + 'items' => [ + 'description' => '同步对象对应的约束(例如索引、外键等)。'."\n" + .'> 只有**ObjectType**为**Table**,且同步对象有约束,才会返回本参数。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '约束创建状态,返回值:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:创建中。'."\n" + .'- **Failed**:创建失败。'."\n" + .'- **Finished**:创建完成。', 'type' => 'string', 'example' => 'Finished'], + 'SourceOwnerDBName' => ['description' => '源实例中待同步对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'ObjectDefinition' => ['description' => '创建约束的结构语法定义。'."\n", 'type' => 'string', 'example' => 'CREATE SEQUENCE "public"."collections_id_seq" MINVALUE 1 MAXVALUE 9223372036854775807 START 249 INCREMENT BY 1 ; '], + 'ObjectType' => ['description' => '同步对象的类型,固定为**Table**。', 'type' => 'string', 'example' => 'Table'], + 'ErrorMessage' => ['description' => '约束创建失败的错误提示。', 'type' => 'string', 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist'], + 'DestinationOwnerDBName' => ['description' => '目标实例中待同步对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'ObjectName' => ['description' => '该同步对象的名称。', 'type' => 'string', 'example' => 'customer'], + ], + ], + ], + ], + ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'OperationDenied.NotPurchased', - 'errorMessage' => 'The instance has not been purchased and the task cannot be started.', - ], - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"FDC111B1-ACBF-457D-9656-247FDEE9****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"present environment is not support, so skip\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DtsJobId\\": \\"dts-20250729-boss6pn1w******\\"\\n}","type":"json"}]', - 'title' => '创建文档解析任务', - 'description' => '调用接口会创建一个文档解析的任务,并返回一个任务ID(DtsJobId)。'."\n" - ."\n" - .'> - 该接口依赖OSS进行文件中转,推荐通过SDK的方式调用,调用CreateDocParserJobAdvance接口会自动封装文件中转流程。'."\n" - .'> - 获取返回参数DtsJobId后,可以通过调用DescribeDocParserJobStatus接口查询文档解析任务的执行状态,调用DescribeDocParserJobResult接口获取文档解析的产物。', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"150DECD9-13FF-4929-A5DE-855BE9CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DataInitializationDetails\\": [\\n {\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"Status\\": \\"Finished\\",\\n \\"UsedTime\\": \\"0.0\\",\\n \\"TableName\\": \\"customer\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"FinishRowNum\\": \\"9993\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\",\\n \\"TotalRowNum\\": \\"9981\\"\\n }\\n ],\\n \\"DataSynchronizationDetails\\": [\\n {\\n \\"Status\\": \\"Migrating\\",\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"TableName\\": \\"customer\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\"\\n }\\n ],\\n \\"StructureInitializationDetails\\": [\\n {\\n \\"Status\\": \\"Finished\\",\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectDefinition\\": \\"CREATE TABLE `dtstestdata`.`customer` (\\\\\\\\n`customer_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\\\\\\\n`customer_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`customer_company1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`submission_date1216` date COMMENT \'\' NULL \\\\\\\\n, PRIMARY KEY (`customer_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\\\\\\\n\\",\\n \\"ObjectType\\": \\"Table\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: Table \'customer\' already exists\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectName\\": \\"customer\\",\\n \\"Constraints\\": [\\n {\\n \\"Status\\": \\"Finished\\",\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectDefinition\\": \\"CREATE SEQUENCE \\\\\\"public\\\\\\".\\\\\\"collections_id_seq\\\\\\" MINVALUE 1 MAXVALUE 9223372036854775807 START 249 INCREMENT BY 1 ; \\",\\n \\"ObjectType\\": \\"Table\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectName\\": \\"customer\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => '获取初始化状态', + 'summary' => '老版获取初始化状态。', + 'changeSet' => [], + 'ramActions' => [], ], - 'CountJobByCondition' => [ - 'summary' => '按条件统计任务', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeJobMonitorRule' => [ + 'summary' => '调用DescribeJobMonitorRule查询DTS任务的告警规则。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -23316,624 +10322,305 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREdtsJ32CAF'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'Type', - 'in' => 'query', - 'schema' => [ - 'title' => '查询类型', - 'description' => '传入此参数,指定查询类型: '."\n" - .'- **name** :根据job名称查询 '."\n" - .'- **rds**:根据目标端实例id查询 '."\n" - .'- **instance**:根据dts实例id查询'."\n" - .'- **srcRds**:根据源端实例id查询'."\n" - ."\n" - .'> 与查询的值**JobType**对应', - 'type' => 'string', - 'required' => false, - 'example' => 'name/instance', - ], - ], - [ - 'name' => 'Region', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '筛选条件之一,地域id,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '迁移、同步或订阅任务ID,可通过调用[DescribeDtsJobs](~~209702~~)获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ta7w132u12h****'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所在地域的id,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'JobType', - 'in' => 'query', - 'schema' => [ - 'description' => '任务类型,取值为:'."\n" - ."\n" - .'- **MIGRATION**:迁移。'."\n" - .'- **SYNC**:同步。'."\n" - .'- **SUBSCRIBE**:订阅。', - 'type' => 'string', - 'required' => false, - 'example' => 'SYNC', - ], - ], - [ - 'name' => 'Params', - 'in' => 'query', - 'schema' => [ - 'title' => '查询的值,与Type对应', - 'description' => '查询的值,与JobType对应', - 'type' => 'string', - 'required' => false, - 'example' => 'dtspk3f13r731m****', - ], - ], - [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例状态,取值:'."\n" - ."\n" - .'迁移任务状态:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **MigrationFailed**:迁移失败。'."\n" - .'- **Finished**:完成。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Downgrade**:降级中。'."\n" - ."\n" - .'同步任务状态:'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **Initializing**:同步初始化中。'."\n" - .'- **InitializeFailed**:同步初始化失败。'."\n" - .'- **Synchronizing**:同步中。'."\n" - .'- **Failed**:同步失败。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Modifying**:修改子对象中。'."\n" - .'- **Finished**:完成。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Downgrade**:降级中。'."\n" - ."\n" - .'订阅任务的状态:'."\n" - .'- **NotConfigured**:未配置。'."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Prechecking**:预检查中。'."\n" - .'- **PrecheckFailed**:预检查失败。'."\n" - .'- **PreCheckPass**:预检查通过。'."\n" - .'- **Starting**:启动中。'."\n" - .'- **Normal**:正常。'."\n" - .'- **Retrying**:重试中。'."\n" - .'- **Abnormal**:异常。'."\n" - .'- **Upgrade**:升级中。'."\n" - .'- **Locked**:锁定中。'."\n" - .'- **Downgrade**:降级中。', - 'type' => 'string', - 'required' => false, - 'example' => 'Finished', - ], - ], - [ - 'name' => 'GroupId', - 'in' => 'query', - 'schema' => [ - 'title' => '父任务id', - 'description' => '分布式同步任务的父任务id', - 'type' => 'string', - 'required' => false, - 'example' => 'pk13r731m****', - ], - ], - [ - 'name' => 'SrcDbType', - 'in' => 'query', - 'schema' => [ - 'title' => '源端数据库类型', - 'description' => '源端数据库类型', - 'type' => 'string', - 'required' => false, - 'example' => 'MongoDB', - ], - ], - [ - 'name' => 'DestDbType', - 'in' => 'query', - 'schema' => [ - 'title' => '目标端数据库类型', - 'description' => '目标端数据库类型', - 'type' => 'string', - 'required' => false, - 'example' => 'MongoDB', - ], + 'schema' => ['description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-shenzhen'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID,全局参数,当前API无需传入。', - 'type' => 'string', - 'required' => false, - 'example' => '资源组ID,全局参数,当前API无需传入。', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzydi675xfea'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'FC3BAAF2-74E3-4471-8EB5-96202D6A****', - ], - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。'."\n", - 'type' => 'string', - 'example' => 'present environment is not support,so skip.', - ], - 'DynamicCode' => [ - 'description' => '服务内部错误码,该参数即将下线。', - 'type' => 'string', - 'example' => '403', + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '0CA14388-DD89-4A7B-8CDD-884A10CE****'], + 'DtsJobId' => ['description' => '迁移、同步或订阅任务ID。', 'type' => 'string', 'example' => 'ta7w132u12h****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => '403'], + 'Success' => ['description' => '请求是否成功,返回值:'."\n" + .'- **true**:请求成功。'."\n" + .'- **false**:请求失败。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid. '], + 'Code' => ['description' => '错误码,本参数即将下线。', 'type' => 'string', 'example' => '200'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。'."\n", 'type' => 'string', 'example' => 'DtsJobId'], + 'MonitorRules' => [ + 'description' => 'DTS任务的监控规则信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'dts任务的监控规则信息。', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => '监控规则的类型,返回值:'."\n" + .'- **delay**:延迟告警。'."\n" + .'- **error**:异常告警。'."\n" + .'- **full_timeout**:全量模块运行耗时告警。'."\n" + .'- **warn**:通知类告警(任务执行成功,结果未达到预期)。', 'type' => 'string', 'example' => 'delay'], + 'DelayRuleTime' => ['description' => '触发延迟告警的阈值,单位为秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '60'], + 'State' => ['description' => '是否启用监控规则,返回值:'."\n" + ."\n" + .'- **Y**:启用。'."\n" + .'- **N**:不启用。', 'type' => 'string', 'example' => 'Y'], + 'Phone' => ['description' => '告警触发后需通知的联系人手机号码,多个手机号码之间以英文逗号(,)分隔。', 'type' => 'string', 'example' => '1361234****,1371234****'], + 'JobType' => ['description' => 'DTS实例的任务类型,取值:'."\n" + .'- **normal**:迁移或同步任务。'."\n" + .'- **full_check**:关联的全量校验任务。'."\n" + .'- **etl_check**:关联的增量校验任务。', 'type' => 'string', 'example' => 'normal'], + 'Period' => ['description' => '增量校验任务的统计周期,单位为分钟。'."\n" + ."\n" + .'> 当前支持取值为1分钟、5分钟、10分钟和30分钟。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'Times' => ['description' => '增量校验任务的周期数。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'NoticeValue' => ['description' => '告警阈值。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'bi6e22ay243****'], + ], + ], ], - 'TotalRecordCount' => [ - 'description' => '阿里云主账号下所有符合条件的数据同步实例数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', + 'Topics' => [ + 'description' => 'Kafka的Topic。', + 'type' => 'array', + 'items' => ['description' => '同步或迁移到Kafka时的Topic。', 'type' => 'string', 'example' => '[\'topic_zyjg_prd\']'], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"0CA14388-DD89-4A7B-8CDD-884A10CE****\\",\\n \\"DtsJobId\\": \\"ta7w132u12h****\\",\\n \\"ErrCode\\": \\"403\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\\\t\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"MonitorRules\\": [\\n {\\n \\"Type\\": \\"delay\\",\\n \\"DelayRuleTime\\": 60,\\n \\"State\\": \\"Y\\",\\n \\"Phone\\": \\"1361234****,1371234****\\",\\n \\"JobType\\": \\"normal\\",\\n \\"Period\\": 5,\\n \\"Times\\": 2,\\n \\"NoticeValue\\": 2,\\n \\"JobId\\": \\"bi6e22ay243****\\"\\n }\\n ],\\n \\"Topics\\": [\\n \\"[\'topic_zyjg_prd\']\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeJobMonitorRuleResponse>\\n <DtsJobId>y5il58kzo9n****</DtsJobId>\\n <RequestId>90DB5FA4-8C53-5123-91A9-63A4CA42****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <MonitorRules>\\n <Type>delay</Type>\\n <JobType>normal</JobType>\\n <State>N</State>\\n <Phone>1361234****</Phone>\\n <Times>0</Times>\\n <Period>0</Period>\\n <NoticeValue>0</NoticeValue>\\n <DelayRuleTime>0</DelayRuleTime>\\n <JobId>y5il58kzo9n****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>full_timeout</Type>\\n <JobType>normal</JobType>\\n <State>Y</State>\\n <Times>0</Times>\\n <Period>0</Period>\\n <NoticeValue>0</NoticeValue>\\n <JobId>y5il58kzo9n****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>error</Type>\\n <JobType>normal</JobType>\\n <State>N</State>\\n <Phone>1361234****</Phone>\\n <Times>0</Times>\\n <Period>0</Period>\\n <NoticeValue>0</NoticeValue>\\n <JobId>y5il58kzo9n****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>error</Type>\\n <JobType>full_check</JobType>\\n <State>Y</State>\\n <Times>0</Times>\\n <Period>0</Period>\\n <NoticeValue>0</NoticeValue>\\n <JobId>qm2g550ku9x****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>warn</Type>\\n <JobType>full_check</JobType>\\n <State>Y</State>\\n <Times>0</Times>\\n <Period>0</Period>\\n <NoticeValue>1</NoticeValue>\\n <JobId>qm2g550ku9x****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>error</Type>\\n <JobType>etl_check</JobType>\\n <State>Y</State>\\n <Times>0</Times>\\n <Period>0</Period>\\n <NoticeValue>0</NoticeValue>\\n <JobId>wrdx5a8pc93****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>delay</Type>\\n <JobType>etl_check</JobType>\\n <State>Y</State>\\n <Times>2</Times>\\n <Period>3</Period>\\n <NoticeValue>0</NoticeValue>\\n <DelayRuleTime>60</DelayRuleTime>\\n <JobId>wrdx5a8pc93****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>warn</Type>\\n <JobType>etl_check</JobType>\\n <State>Y</State>\\n <Times>2</Times>\\n <Period>3</Period>\\n <NoticeValue>1</NoticeValue>\\n <JobId>wrdx5a8pc93****</JobId>\\n </MonitorRules>\\n <Success>true</Success>\\n</DescribeJobMonitorRuleResponse>","errorExample":""}]', + 'title' => '查询DTS任务告警规则', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeJobMonitorRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FC3BAAF2-74E3-4471-8EB5-96202D6A****\\",\\n \\"HttpStatusCode\\": 200,\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"TotalRecordCount\\": 100\\n}","type":"json"}]', - 'title' => '按条件统计任务', ], - 'CreateDtsInstance' => [ - 'summary' => '调用CreateDtsInstance接口购买DTS实例。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeMetricList' => [ + 'summary' => '调用DescribeMetricList接口查看集群监控信息。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '52216', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ - 'name' => 'JobId', - 'in' => 'query', - 'schema' => [ - 'description' => '调用**ConfigureDtsJob**接口获得的任务ID(**DtsJobId**)。'."\n" - .'>传入本参数后,则无需再传**SourceRegion**、**DestinationRegion**、**Type**、**SourceEndpointEngineName**、**DestinationEndpointEngineName**参数。即使传入也以**JobId**中的配置为准。', - 'type' => 'string', - 'required' => false, - 'example' => 'bi6e22ay243****', - ], - ], - [ - 'name' => 'InstanceClass', - 'in' => 'query', - 'schema' => [ - 'description' => '迁移或同步实例的规格。'."\n" - ."\n" - .'- 迁移实例支持的规格:**xxlarge**、**xlarge**、**large**、**medium**、**small**。'."\n" - .'- 同步实例支持的规格:**large**、**medium**、**small**、**micro**。'."\n" - ."\n" - .'> 不同规格对应的性能说明,请参见[数据迁移链路规格说明](~~26606~~)和[数据同步链路规格说明](~~26605~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'xxlarge', - ], + 'name' => 'MetricType', + 'in' => 'formData', + 'schema' => ['title' => 'NODE, CLUSTER', 'description' => '查询集群或节点,取值:'."\n" + .'- **CLUSTER**:集群。'."\n" + .'- **NODE**:节点', 'type' => 'string', 'required' => false, 'example' => 'NODE', 'default' => 'NODE'], ], [ - 'name' => 'PayType', - 'in' => 'query', - 'schema' => [ - 'description' => '支付类型:'."\n" - .'- **PrePaid**:预付费。'."\n" - .'- **PostPaid**:后付费。'."\n" - ."\n" - .'> 更正:本参数为必填参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'PrePaid', - ], + 'name' => 'MetricName', + 'in' => 'formData', + 'schema' => ['description' => '- **InternetOut**:公网流出流量,单位为Byte。'."\n" + .'- **diskusage_utilization**:磁盘使用率。'."\n" + .'- **IntranetInRate**:内网流入流量,单位为Byte。'."\n" + .'- **InternetIn**:公网流入流量,单位为Byte。'."\n" + .'- **cpu_total**:CPU使用率。'."\n" + .'- **memory_usedutilization**:内存使用率。'."\n" + .'- **IntranetOutRate**:内网流出流量,单位为Byte。', 'type' => 'string', 'required' => true, 'example' => 'cpu_total'], ], [ 'name' => 'Period', - 'in' => 'query', - 'schema' => [ - 'description' => '预付费实例的计费方式,取值:**Year**(年)**Month**(月)。'."\n" - .'> 当**PayType**为**PrePaid**(预付费)时,该参数才有效且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'Month', - ], - ], - [ - 'name' => 'SyncArchitecture', - 'in' => 'query', - 'schema' => [ - 'description' => '同步拓扑,取值:'."\n" - ."\n" - .'- **oneway**:单向同步,为默认值。'."\n" - .'- **bidirectional**:双向同步。', - 'type' => 'string', - 'required' => false, - 'example' => 'oneway', - ], + 'in' => 'formData', + 'schema' => ['description' => '观测间隔(单位秒),最小间隔为15秒。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '15', 'default' => '15'], ], [ - 'name' => 'AutoStart', - 'in' => 'query', - 'schema' => [ - 'description' => '购买完成后是否自动启动任务,取值:'."\n" - .'- **false**:否,为默认值。'."\n" - .'- **true**:是。'."\n" - ."\n" - .'> 仅当参数**JobId**传入有效的任务ID时,本参数取值为**true**才会生效。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'name' => 'Param', + 'in' => 'formData', + 'schema' => ['description' => '观测值,当**MetricType**为**NODE**时,值为**nodeid**。', 'type' => 'string', 'required' => true, 'example' => 'nodeid'], ], [ - 'name' => 'UsedTime', - 'in' => 'query', - 'schema' => [ - 'description' => '预付费实例购买时长。'."\n" - .'- 当**Period**为**Month**时,取值为:1、2、3、4、5、6、7、8、9。'."\n" - .'- 当**Period**为**Year**时,取值为:1、2、3、5。'."\n" - .'> - 当**PayType**为**PrePaid**(预付费)时,该参数才有效且必须传入。'."\n" - .'- 预付费实例的计费方式,您可在参数**Period**中进行设置。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10000', - 'minimum' => '1', - 'example' => '5', - 'default' => '1', - ], + 'name' => 'StartTime', + 'in' => 'formData', + 'schema' => ['description' => '起始时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1642476144000'], ], [ - 'name' => 'Quantity', - 'in' => 'query', - 'schema' => [ - 'description' => '购买实例数量。'."\n" - .'>当前单次调用最多支持购买1个。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '9999999', - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + 'name' => 'EndTime', + 'in' => 'formData', + 'schema' => ['description' => '结束时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1642476194000'], ], [ - 'name' => 'AutoPay', - 'in' => 'query', - 'schema' => [ - 'description' => '到期是否自动续费,取值:'."\n" - .'- **false**:否,为默认值。'."\n" - .'- **true**:是。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'name' => 'Env', + 'in' => 'formData', + 'schema' => ['description' => '默认为:**ALIYUN**。', 'type' => 'string', 'required' => false, 'example' => 'ALIYUN', 'default' => 'ALIYUN'], ], [ - 'name' => 'Type', - 'in' => 'query', - 'schema' => [ - 'description' => '实例类型,取值为:'."\n" - ."\n" - .'- **MIGRATION**:迁移。'."\n" - .'- **SYNC**:同步。'."\n" - .'- **SUBSCRIBE**:订阅。'."\n" - .'>本参数或**JobId**必须传入其中之一。', - 'type' => 'string', - 'required' => false, - 'example' => 'SYNC', - ], + 'name' => 'DtsJobId', + 'in' => 'formData', + 'schema' => ['title' => 'migration job id', 'description' => '迁移或同步任务ID。', 'type' => 'string', 'required' => false, 'example' => 'k2gm967v16f****'], ], [ - 'name' => 'DatabaseCount', - 'in' => 'query', - 'schema' => [ - 'description' => 'PolarDB-X下的私有定制RDS实例的数量,默认值为**1**。'."\n" - .'>仅**SourceEndpointEngineName**为**drds**时需要传入该参数。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10000', - 'minimum' => '1', - 'example' => '3', - 'default' => '1', - ], + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => ['title' => '幂等性验证', 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****'], ], [ - 'name' => 'SourceRegion', - 'in' => 'query', - 'schema' => [ - 'description' => '源实例区域,详情请参见[支持的地域列表](~~141033~~)。'."\n" - .'>本参数或**JobId**必须传入其中之一。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'name' => 'AccountId', + 'in' => 'formData', + 'schema' => ['title' => 'callType=AssumedRoleUser', 'description' => '阿里云主账号ID。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ - 'name' => 'DestinationRegion', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '目标实例区域,详情请参见[支持的地域列表](~~141033~~)。'."\n" - .'>本参数或**JobId**必须传入其中之一。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], - [ - 'name' => 'SourceEndpointEngineName', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '源实例数据库引擎类型。'."\n" - .'- **MySQL**:MySQL数据库(包括RDS MySQL和自建MySQL)。'."\n" - .'- **PolarDB**:PolarDB MySQL。'."\n" - .'- **polardb_o**:PolarDB O引擎。'."\n" - .'- **polardb_pg**:PolarDB PostgreSQL。'."\n" - .'- **Redis**:Redis数据库,包括云数据库Tair(兼容Redis)和自建Redis。'."\n" - .'- **DRDS**:云原生分布式数据库PolarDB-X 1.0和2.0。'."\n" - .'- **PostgreSQL**:自建PostgreSQL。'."\n" - .'- **odps**:MaxCompute。'."\n" - .'- **oracle**:自建Oracle。'."\n" - .'- **mongodb**:MongoDB数据库(包括云数据库MongoDB和自建MongoDB)。'."\n" - .'- **tidb**:TiDB数据库。'."\n" - .'- **ADS**:云原生数仓 AnalyticDB MySQL 2.0。'."\n" - .'- **ADB30**:云原生数仓 AnalyticDB MySQL 3.0。'."\n" - .'- **Greenplum**:云原生数仓 AnalyticDB PostgreSQL。'."\n" - .'- **MSSQL**:SQL Server数据库(包括RDS SQL Server和自建SQL Server)。'."\n" - .'- **kafka**:Kafka数据库(包括消息队列Kafka版和自建Kafka)。'."\n" - .'- **DataHub**:阿里云流式数据服务DataHub。'."\n" - .'- **DB2**:自建DB2 LUW。'."\n" - .'- **as400**:AS/400。'."\n" - .'- **Tablestore**:表格存储Tablestore。'."\n" - .'- **OceanBase**:OceanBase(MySQL),仅迁移实例支持。'."\n" - ."\n" - .'> - 默认取值为**MySQL**。'."\n" - .'- 关于支持的源库和目标库对应情况,请参见支持的[数据库、同步初始化类型和同步拓扑](~~130744~~), [支持的数据库和迁移类型](~~26618~~)。'."\n" - .'- 本参数或**JobId**必须传入其中之一。', - 'type' => 'string', - 'required' => false, - 'example' => 'MySQL', + 'title' => 'DescribeMetricListResponse', + 'description' => 'DescribeMetricListResponse', + 'type' => 'object', + 'properties' => [ + 'MetricType' => ['title' => 'NODE, CLUSTER', 'description' => '查询集群或节点,取值:'."\n" + .'- **CLUSTER**:集群。'."\n" + .'- **NODE**:节点', 'type' => 'string', 'example' => 'CLUSTER'], + 'Param' => ['description' => '观测值。'."\n" + ."\n" + .'- 当**MetricType**为**NODE**时,值为**nodeid**。'."\n" + .'- 当**MetricType**为**CLUSTER**时为独享集群ID,可通过ListDedicatedCluster接口获取。', 'type' => 'string', 'example' => 'ecs-jhjnjjn'], + 'MetricName' => ['description' => '- **InternetOut**:公网流出流量,单位为Byte。'."\n" + .'- **diskusage_utilization**:磁盘使用率。'."\n" + .'- **IntranetInRate**:内网流入流量,单位为Byte。'."\n" + .'- **InternetIn**:公网流入流量,单位为Byte。'."\n" + .'- **cpu_total**:CPU使用率。'."\n" + .'- **memory_usedutilization**:内存使用率。'."\n" + .'- **IntranetOutRate**:内网流出流量,单位为Byte。', 'type' => 'string', 'example' => 'cpu_total'], + 'Period' => ['description' => '观测间隔(单位为秒),最小间隔为15秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '15'], + 'DataPoints' => [ + 'description' => '监控统计信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Timestamp' => ['description' => '记录时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1650872310000'], + 'Statistics' => ['description' => '统计值。', 'type' => 'number', 'format' => 'float', 'example' => '15.25'], + ], + 'description' => '', + ], + ], + 'Success' => ['title' => '调用结果', 'description' => '调用是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'Code' => ['title' => '后端错误码 数字递增', 'description' => '后端错误码,数字递增。', 'type' => 'string', 'example' => '403'], + 'ErrCode' => ['title' => '错误短码 ps:InternalError', 'description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'ErrMessage' => ['title' => '错误信息(返回给用户)', 'description' => '错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DynamicMessage' => ['title' => '动态错误信息,会替换错误码里的"%s"', 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的%s。', 'type' => 'string', 'example' => 'Type'], + 'HttpStatusCode' => ['title' => '异常对应的http code', 'description' => '异常对应的状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '403'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****'], + ], ], ], - [ - 'name' => 'DestinationEndpointEngineName', - 'in' => 'query', - 'schema' => [ - 'description' => '目标数据库引擎类型。'."\n" - .'- **MySQL**:MySQL数据库(包括RDS MySQL和自建MySQL)。'."\n" - .'- **PolarDB**:PolarDB MySQL。'."\n" - .'- **polardb_o**:PolarDB O引擎。'."\n" - .'- **polardb_pg**:PolarDB PostgreSQL。'."\n" - .'- **Redis**:Redis数据库,包括云数据库Tair(兼容Redis)和自建Redis。'."\n" - .'- **DRDS**:云原生分布式数据库PolarDB-X 1.0和2.0。'."\n" - .'- **PostgreSQL**:自建PostgreSQL。'."\n" - .'- **odps**:MaxCompute。'."\n" - .'- **oracle**:自建Oracle。'."\n" - .'- **mongodb**:MongoDB数据库(包括云数据库MongoDB和自建MongoDB)。'."\n" - .'- **tidb**:TiDB数据库。'."\n" - .'- **ADS**:云原生数仓 AnalyticDB MySQL 2.0。'."\n" - .'- **ADB30**:云原生数仓 AnalyticDB MySQL 3.0。'."\n" - .'- **Greenplum**:云原生数仓 AnalyticDB PostgreSQL。'."\n" - .'- **MSSQL**:SQL Server数据库(包括RDS SQL Server和自建SQL Server)。'."\n" - .'- **kafka**:Kafka数据库(包括消息队列Kafka版和自建Kafka)。'."\n" - .'- **DataHub**:阿里云流式数据服务DataHub。'."\n" - .'- **DB2**:自建DB2 LUW。'."\n" - .'- **as400**:AS/400。'."\n" - .'- **Tablestore**:表格存储Tablestore。'."\n" - ."\n" - .'> - 默认取值为**MySQL**。'."\n" - .'- 关于支持的源库和目标库对应情况,请参见支持的[数据库、同步初始化类型和同步拓扑](~~130744~~), [支持的数据库和迁移类型](~~26618~~)。'."\n" - .'- 本参数或**JobId**必须传入其中之一。', - 'type' => 'string', - 'required' => false, - 'example' => 'MySQL', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], - [ - 'name' => 'ComputeUnit', - 'in' => 'query', - 'schema' => [ - 'description' => 'ETL的规格。单位为计算单元ComputeUnit(CU),1CU=1vCPU+4 GB内存。取值范围为大于等于2的整数。'."\n" - .'<props="china">'."\n" - .'> 传入该参数,开通[ETL功能](~~212324~~),进行数据清洗和转换。</props>'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '999999', - 'minimum' => '1', - 'example' => '5', - 'default' => '2', - ], + 403 => [ + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '实例所属的地域,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 500 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], - [ - 'name' => 'FeeType', - 'in' => 'query', - 'schema' => [ - 'description' => '订阅计费类型,ONLY_CONFIGURATION_FEE,仅收取配置费,免收数据流量费;CONFIGURATION_FEE_AND_DATA_FEE,将额外收取数据流量费用。', - 'type' => 'string', - 'required' => false, - 'example' => 'ONLY_CONFIGURATION_FEE', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"MetricType\\": \\"CLUSTER\\",\\n \\"Param\\": \\"ecs-jhjnjjn\\",\\n \\"MetricName\\": \\"cpu_total\\",\\n \\"Period\\": 15,\\n \\"DataPoints\\": [\\n {\\n \\"Timestamp\\": 1650872310000,\\n \\"Statistics\\": 15.25\\n }\\n ],\\n \\"Success\\": true,\\n \\"Code\\": \\"403\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"HttpStatusCode\\": 403,\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeMetricListResponse>\\n <code>200</code>\\n <data>\\n <MetricName>diskusage_utilization</MetricName>\\n <RequestId>36F33F1C-CF13-149E-AB05-****</RequestId>\\n <MetricType>CLUSTER</MetricType>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Period>15</Period>\\n <DataPoints>\\n <Timestamp>1651112970000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651112985000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113000000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113015000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113030000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113045000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113060000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113075000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113090000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113105000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113120000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113135000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113150000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113165000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113180000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113195000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113210000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113225000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113240000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113255000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113270000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113285000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113300000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113315000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113330000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113345000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113360000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113375000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113390000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113405000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113420000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113435000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113450000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113465000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113480000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113495000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113510000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113525000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113540000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113555000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>36F33F1C-CF13-149E-AB05-****</requestId>\\n <successResponse>true</successResponse>\\n</DescribeMetricListResponse>","errorExample":""}]', + 'title' => '查看集群监控信息', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'dts:DescribeMetricList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], + ], + ], + 'DescribeMigrationJobAlert' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Du', - 'in' => 'query', - 'schema' => [ - 'description' => '分配指定数量的DU资源给DTS专属集群上的DTS任务。取值范围:**1**~**100**。'."\n" - ."\n" - .'>- 传入的值必须在DTS专属集群可用DU数范围内。'."\n" - .'- 关于DTS专属集群的信息,请参见[什么是DTS专属集群](~~417481~~)。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'ResourceGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '数据迁移实例所在地域的id,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'MinDu', + 'name' => 'MigrationJobId', 'in' => 'query', - 'schema' => [ - 'description' => 'DU下限。'."\n" - ."\n" - .'> 仅Serverless实例支持。', - 'type' => 'number', - 'format' => 'double', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '数据迁移实例id,可以通过调用 DescribeMigrationJobs 接口查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtslb9113qq11n****'], ], [ - 'name' => 'MaxDu', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'DU上限。'."\n" - ."\n" - .'> 仅Serverless实例支持。', - 'type' => 'number', - 'format' => 'double', - 'required' => false, - 'example' => '16', - ], + 'schema' => ['description' => '用于保证请求的幂等性。由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过 64 个 ASCII 字符,且该参数值中不能包含非 ASCII 字符。', 'type' => 'string', 'required' => false, 'example' => 'ETnLKlblzczshOTUbOCz****'], ], [ - 'name' => 'DtsRegion', + 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '实例的归属地域,需与**RegionId**保持一致。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ - 'name' => 'InsightModule', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -23941,108 +10628,60 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'C166D79D-436B-45F0-B5A5-25E1****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'JobId' => [ - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'bi6e22ay243****', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'InstanceId' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'dtsbi6e22ay243****', - ], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => 'CFB89C51-6F03-519C-A921-AAE28D50AEFB'], + 'MigrationJobName' => ['description' => '数据迁移任务名称。', 'type' => 'string', 'example' => 'zwy-test5'], + 'ErrorAlertStatus' => ['description' => '是否监控异常状态,返回值:'."\n" + ."\n" + .'- **enable**:是。'."\n" + .'- **disable**:否。', 'type' => 'string', 'example' => 'enable'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrorAlertPhone' => ['description' => '异常报警的联系人手机号码。', 'type' => 'string', 'example' => '1361234****,1371234****'], + 'ErrMessage' => ['description' => '调用出错时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'DelayAlertStatus' => ['description' => '是否监控延迟状态,返回值:'."\n" + ."\n" + .'- **enable**:是。'."\n" + .'- **disable**:否。', 'type' => 'string', 'example' => 'enable'], + 'DelayAlertPhone' => ['description' => '延迟报警的联系人手机号码。', 'type' => 'string', 'example' => '1361234****,1371234****'."\n"], + 'MigrationJobId' => ['description' => '数据迁移实例id。', 'type' => 'string', 'example' => 'dtslb9113qq11n****'], + 'DelayOverSeconds' => ['description' => '触发延迟报警的阈值,单位为秒。', 'type' => 'string', 'example' => '0'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'LXCreateOrderError', - 'errorMessage' => 'Failed to create order, failure message: The module is invalid', - ], - [ - 'errorCode' => 'LXCreateOrder.NotFoundPricePlan', - 'errorMessage' => 'Pricing plan price result not found, please check the parameters of the task configuration.', - ], - [ - 'errorCode' => 'LXPayOrder.InsufficientBalance', - 'errorMessage' => 'Insufficient balance, order payment failed.', - ], - [ - 'errorCode' => 'DTS.Msg.LXCreateOrderError', - 'errorMessage' => 'Failed to create order, failure message: The module is invalid', - ], - [ - 'errorCode' => 'DTS.Msg.LXCreateOrder.NotFoundPricePlan', - 'errorMessage' => 'Pricing plan price result not found, please check the parameters of the task configuration.', - ], - [ - 'errorCode' => 'DTS.Msg.LXPayOrder.InsufficientBalance', - 'errorMessage' => 'Insufficient balance, order payment failed.', - ], - [ - 'errorCode' => 'DTS.Msg.LXCreateOrderErrorIntl', - 'errorMessage' => 'DTS supports cross-border data synchronization only in specific scenarios. To purchase a data synchronization instance used to synchronize data across countries, application for DTS cross-border data synchronization.', - ], - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CFB89C51-6F03-519C-A921-AAE28D50AEFB\\",\\n \\"MigrationJobName\\": \\"zwy-test5\\",\\n \\"ErrorAlertStatus\\": \\"enable\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrorAlertPhone\\": \\"1361234****,1371234****\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DelayAlertStatus\\": \\"enable\\",\\n \\"DelayAlertPhone\\": \\"1361234****,1371234****\\\\n\\",\\n \\"MigrationJobId\\": \\"dtslb9113qq11n****\\",\\n \\"DelayOverSeconds\\": \\"0\\"\\n}","type":"json"}]', + 'title' => '查询迁移任务的监控报警', + 'summary' => '查询迁移任务的监控报警设置详情。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeMigrationJobAlert', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C166D79D-436B-45F0-B5A5-25E1****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"JobId\\": \\"bi6e22ay243****\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"InstanceId\\": \\"dtsbi6e22ay243****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateDtsInstanceResponse>\\n <RequestId>C166D79D-436B-45F0-B5A5-25E1****</RequestId>\\n <InstanceId>dtsmne11yo2j9n****</InstanceId>\\n <Success>true</Success>\\n <JobId>mne11yo2j9n****</JobId>\\n</CreateDtsInstanceResponse>","errorExample":""}]', - 'title' => '购买DTS实例', - 'description' => '<props="china">'."\n" - .'- 请确保在使用该接口前,已充分了解云数据库DTS产品的收费方式和[价格](https://www.aliyun.com/price/product#/dts/detail)。</props>'."\n" - .'<props="intl">'."\n" - .'- 请确保在使用该接口前,已充分了解云数据库DTS产品的收费方式和[价格](https://www.alibabacloud.com/product/data-transmission-service/pricing)。</props>'."\n" - .'- 专属集群的任务仅支持先配置任务后购买实例,您可以调用[ConfigureDtsJob](~~208399~~)接口配置任务。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'CreateJobMonitorRule' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeMigrationJobDetail' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -24050,134 +10689,69 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'DtsJobId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅任务ID,可通过调用[DescribeDtsJobs](~~209702~~)获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'i03e3zty16i****', - ], + 'schema' => ['description' => '数据迁移实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Type', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '监控项的类型,取值:'."\n" - .'- **delay**:**延迟**监控项。'."\n" - .'- **error**:**迁移状态**监控项。'."\n" - .'- **full_timeout**:**全量运行耗时**监控项。'."\n" - ."\n" - .'默认值:**error**;需手动填入。', - 'type' => 'string', - 'required' => false, - 'example' => 'delay', - ], + 'schema' => ['description' => '每页记录数,取值: **30**、**50**、**100**,默认值为**30**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '30', 'default' => '30'], ], [ - 'name' => 'State', + 'name' => 'PageNum', 'in' => 'query', - 'schema' => [ - 'description' => '是否启用告警规则,取值:'."\n" - ."\n" - .'- **Y**:启用。'."\n" - .'- **N**:不启用。'."\n" - ."\n" - .'默认值:**Y**', - 'type' => 'string', - 'required' => false, - 'example' => 'Y', - ], + 'schema' => ['description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1'], ], [ - 'name' => 'Phone', + 'name' => 'MigrationJobId', 'in' => 'query', - 'schema' => [ - 'description' => '告警的联系人手机号码,多个手机号码以英文逗号(,)分隔。'."\n" - .'>- 本参数目前只支持中国站,仅支持中国内地手机号码,且最多传入10个手机号码。'."\n" - .'- 国际站不支持手机告警,仅支持[通过云监控平台为DTS任务设置报警规则](~~175876~~)。', - 'type' => 'string', - 'required' => false, - 'example' => '1361234****,1371234****', - ], + 'schema' => ['description' => '数据迁移实例ID,可以通过调用**DescribeMigrationJobs**接口查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsta7w132u12h****'], ], [ - 'name' => 'DelayRuleTime', + 'name' => 'MigrationMode.StructureInitialization', 'in' => 'query', - 'schema' => [ - 'description' => '触发告警的阈值。'."\n" - ."\n" - .'- 当**Type**取值为**delay**时,单位为秒且需为整数,可根据业务需要设置阈值,建议设置10秒以上,避免因网络、数据库负载等原因导致的延迟波动。'."\n" - ."\n" - .'- 当**Type**取值为**full_timeout**时,单位为小时且需为整数。'."\n" - ."\n" - .'> 当**Type**取值为**delay**或**full_timeout**且**State**取值为**Y**时,本参数必须传入。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '11', - ], + 'schema' => ['description' => '是否查询结构迁移详情,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。'."\n" + .'> 默认值为**false**。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'RegionId', + 'name' => 'MigrationMode.DataInitialization', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '是否查询全量数据迁移详情,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。'."\n" + .'> 默认值为**false**。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'Period', + 'name' => 'MigrationMode.DataSynchronization', 'in' => 'query', - 'schema' => [ - 'description' => '增量校验任务的统计周期,单位为分钟。'."\n" - ."\n" - .'> 当前支持取值为1分钟、5分钟、10分钟和30分钟。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], + 'schema' => ['description' => '是否查询增量数据迁移详情,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。'."\n" + .'> 默认值为**false**。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'Times', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => '增量校验任务的周期数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****'], ], [ - 'name' => 'NoticeValue', + 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '告警阈值。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -24185,95 +10759,168 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '8C498360-7892-433C-847A-BA71A850****', - ], - 'DtsJobId' => [ - 'description' => '迁移、同步或订阅任务ID。', - 'type' => 'string', - 'example' => 'i03e3zty16i****', - ], - 'ErrCode' => [ - 'description' => '调用错误时返回的错误码。', - 'type' => 'string', - 'example' => '403', - ], - 'Success' => [ - 'description' => '请求是否成功,返回值:'."\n" - .'- **true**:请求成功。'."\n" - .'- **false**:请求失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => '0AE3CD0B-4148-426F-A90E-952467CC****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'PageRecordCount' => ['description' => '一页最多可展示的迁移实例数量。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'TotalRecordCount' => ['description' => '总记录数。'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'PageNumber' => ['description' => '页码。'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'DataInitializationDetailList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataInitializationDetail' => [ + 'description' => '全量数据迁移执行详情。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '全量数据迁移执行详情。'."\n", + 'type' => 'object', + 'properties' => [ + 'SourceOwnerDBName' => ['description' => '源实例中迁移对象所属数据库的名称。'."\n", 'type' => 'string', 'example' => 'dtstestdata'], + 'Status' => ['description' => '全量数据迁移状态,返回值:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:迁移失败。'."\n" + .'- **Finished**:迁移完成。', 'type' => 'string', 'example' => 'Finished'], + 'TableName' => ['description' => '待迁移对象的表名。'."\n", 'type' => 'string', 'example' => 'customer'], + 'ErrorMessage' => ['description' => '全量数据迁移失败的错误提示。'."\n", 'type' => 'string', 'example' => 'java.lang.NumberFormatException: For input string: ""'], + 'FinishRowNum' => ['description' => '已迁移的记录数。'."\n", 'type' => 'string', 'example' => '200001'], + 'MigrationTime' => ['description' => '全量数据迁移的耗时。', 'type' => 'string', 'example' => '0.0'], + 'DestinationOwnerDBName' => ['description' => '目标实例中迁移对象所属数据库的名称。'."\n", 'type' => 'string', 'example' => 'dtstestdata'], + 'TotalRowNum' => ['description' => '需迁移的总记录数。'."\n", 'type' => 'string', 'example' => '201477'], + ], + ], + ], + ], + 'description' => '', ], - 'Code' => [ - 'description' => '错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '200', + 'DataSynchronizationDetailList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataSynchronizationDetail' => [ + 'description' => '增量数据迁移执行详情。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '增量数据迁移执行详情。'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '增量数据迁移状态,返回值:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:迁移失败。'."\n" + .'- **Finished**:迁移完成。', 'type' => 'string', 'example' => 'Migrating'], + 'SourceOwnerDBName' => ['description' => '源实例中迁移对象所属数据库的名称。'."\n", 'type' => 'string', 'example' => 'dtstestdata'], + 'TableName' => ['description' => '待迁移对象的表名。'."\n", 'type' => 'string', 'example' => 'customer'], + 'ErrorMessage' => ['description' => '增量数据迁移失败的错误提示。', 'type' => 'string', 'example' => '任务失败太久无法恢复'], + 'DestinationOwnerDBName' => ['description' => '目标实例中迁移对象所属数据库的名称。'."\n", 'type' => 'string', 'example' => 'dtstestdata'], + ], + ], + ], + ], + 'description' => '', ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', + 'StructureInitializationDetailList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'StructureInitializationDetail' => [ + 'description' => '结构迁移执行详情。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '结构迁移执行详情。'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '结构迁移状态,返回值:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:迁移失败。'."\n" + .'- **Finished**:迁移完成。', 'type' => 'string', 'example' => 'Finished'], + 'SourceOwnerDBName' => ['description' => '源实例中待迁移对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'ObjectDefinition' => ['description' => '迁移对象的结构语法定义。'."\n", 'type' => 'string', 'example' => 'CREATE TABLE `dtstestdata`.`customer` (\\n`runoob_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\n`runoob_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`runoob_author1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`submission_date1216` date COMMENT \'\' NULL \\n, PRIMARY KEY (`runoob_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\n'], + 'ObjectType' => ['description' => '迁移对象类型,返回值:**Table**(表)、**Constraint**(约束)、**Index**(索引)、**View**(视图)、**Materialize View**(物化视图)、**Type**(自定义类型)、**Synonym**(同义词)、**Trigger**(触发器)、**Function**(函数)、**Procedure**(存储过程)、**Package**(包)、**Default**(默认值)、**Rule**(规则)、**PlanGuide**(执行计划)、**Sequence**(序列)。'."\n", 'type' => 'string', 'example' => 'Table'], + 'ErrorMessage' => ['description' => '结构迁移失败的错误提示。'."\n", 'type' => 'string', 'example' => 'DTS-1020042 Execute sql error sql: DTS-1020042 Execute sql error sql: ERROR: column \\"id\\" named in key does not exist'], + 'DestinationOwnerDBName' => ['description' => '目标实例中待迁移对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'ObjectName' => ['description' => '迁移对象名称。'."\n", 'type' => 'string', 'example' => 'customer'], + 'ConstraintList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'StructureInitializationDetail' => [ + 'description' => '迁移对象对应的约束(例如索引、外键等)。'."\n" + .'> 只有当**ObjectType**为**Table**,且迁移对象有约束时,才会返回本参数。', + 'type' => 'array', + 'items' => [ + 'description' => '迁移对象对应的约束(例如索引、外键等)。'."\n" + .'> 只有当**ObjectType**为**Table**,且迁移对象有约束时,才会返回本参数。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '约束创建状态,返回值:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:创建中。'."\n" + .'- **Failed**:创建失败。'."\n" + .'- **Finished**:创建完成。', 'type' => 'string', 'example' => 'Finished'], + 'SourceOwnerDBName' => ['description' => '源实例中迁移对象所属数据库的名称。'."\n", 'type' => 'string', 'example' => 'dtstestdata'], + 'ObjectDefinition' => ['description' => '创建约束的结构语法定义。'."\n" + ."\n", 'type' => 'string', 'example' => 'CREATE SEQUENCE "public"."collections_id_seq" MINVALUE 1 MAXVALUE 9223372036854775807 START 249 INCREMENT BY 1 ; '], + 'ObjectType' => ['description' => '迁移对象的类型,固定为**Table**。', 'type' => 'string', 'example' => 'Table'], + 'ErrorMessage' => ['description' => '约束创建失败的错误提示。', 'type' => 'string', 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;'], + 'DestinationOwnerDBName' => ['description' => '目标实例中迁移对象所属数据库的名称。'."\n", 'type' => 'string', 'example' => 'dtstestdata'], + 'ObjectName' => ['description' => '迁移对象名称。'."\n", 'type' => 'string', 'example' => 'customer'], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AE3CD0B-4148-426F-A90E-952467CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"PageRecordCount\\": 30,\\n \\"Success\\": \\"true\\",\\n \\"TotalRecordCount\\": 1,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PageNumber\\": 1,\\n \\"DataInitializationDetailList\\": {\\n \\"DataInitializationDetail\\": [\\n {\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"Status\\": \\"Finished\\",\\n \\"TableName\\": \\"customer\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"FinishRowNum\\": \\"200001\\",\\n \\"MigrationTime\\": \\"0.0\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\",\\n \\"TotalRowNum\\": \\"201477\\"\\n }\\n ]\\n },\\n \\"DataSynchronizationDetailList\\": {\\n \\"DataSynchronizationDetail\\": [\\n {\\n \\"Status\\": \\"Migrating\\",\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"TableName\\": \\"customer\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\"\\n }\\n ]\\n },\\n \\"StructureInitializationDetailList\\": {\\n \\"StructureInitializationDetail\\": [\\n {\\n \\"Status\\": \\"Finished\\",\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectDefinition\\": \\"CREATE TABLE `dtstestdata`.`customer` (\\\\\\\\n`runoob_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\\\\\\\n`runoob_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`runoob_author1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`submission_date1216` date COMMENT \'\' NULL \\\\\\\\n, PRIMARY KEY (`runoob_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\\\\\\\n\\",\\n \\"ObjectType\\": \\"Table\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: DTS-1020042 Execute sql error sql: ERROR: column \\\\\\\\\\\\\\"id\\\\\\\\\\\\\\" named in key does not exist\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectName\\": \\"customer\\",\\n \\"ConstraintList\\": {\\n \\"StructureInitializationDetail\\": [\\n {\\n \\"Status\\": \\"Finished\\",\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectDefinition\\": \\"CREATE SEQUENCE \\\\\\"public\\\\\\".\\\\\\"collections_id_seq\\\\\\" MINVALUE 1 MAXVALUE 9223372036854775807 START 249 INCREMENT BY 1 ; \\",\\n \\"ObjectType\\": \\"Table\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectName\\": \\"customer\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => '数据迁移任务执行详情', + 'summary' => '老版获取数据迁移任务执行详情。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeMigrationJobDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"8C498360-7892-433C-847A-BA71A850****\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"ErrCode\\": \\"403\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateJobMonitorRuleResponse>\\n <RequestId>8C498360-7892-433C-847A-BA71A850****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n <DtsJobId>i03e3zty16i****</DtsJobId>\\n</CreateJobMonitorRuleResponse>","errorExample":""}]', - 'title' => '创建或修改任务告警规则', - 'summary' => '创建或修改任务的告警规则。', - 'description' => 'DTS目前支持的监控项为**延迟**、**迁移状态**和**全量运行耗时**:'."\n" - ."\n" - .'- **延迟**:监控增量数据迁移延迟信息,当迁移延迟、同步延迟或订阅延迟的时间超过设定值时(单位为秒),触发告警规则。'."\n" - .'- **迁移状态**:监控任务的状态,当任务的状态为**异常**或**恢复**时,触发告警规则。'."\n" - .'- **全量运行耗时**:全量运行的耗时,超过设定值时(单位为小时),触发告警规则。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'DeleteDtsJobs' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeMigrationJobStatus' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -24281,56 +10928,32 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '52225', - 'abilityTreeNodes' => [ - 'FEATUREdtsQYRBZN', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'DtsJobIds', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅任务ID。'."\n" - .'> - 当有多个任务ID时,最多支持传入10个任务ID,且需以英文逗号(,)分隔。'."\n" - .'- 可调用[DescribeDtsJobs](~~209702~~)获取DTS任务ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'l5o11f9029c****', - ], + 'schema' => ['description' => '数据迁移实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RegionId', + 'name' => 'MigrationJobId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据迁移实例ID,可以通过调用**DescribeMigrationJobs**接口查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsxxxxxxxx'], ], [ - 'name' => 'ZeroEtlJob', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => '特殊业务专用字段,无需传参。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", 'type' => 'string', 'required' => false, 'example' => 'ETnLKlblzczshOTUbOCzxxxxxxxxxx'], + ], + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '特殊业务专用字段,无需传参。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg3m1213ye7l****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -24338,84 +10961,202 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'A032E3B4-929B-48E9-97B9-37587CBF****'], + 'MigrationJobName' => ['description' => '数据迁移实例名称。', 'type' => 'string', 'example' => 'MySQL迁移'], + 'MigrationJobStatus' => ['description' => '迁移任务状态,返回值:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **MigrationFailed**:迁移失败。'."\n" + .'- **Finished**:迁移完成。', 'type' => 'string', 'example' => 'Migrating'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'PayType' => ['description' => '迁移任务的付费类型,返回值固定为**PostPaid**(按量付费)。', 'type' => 'string', 'example' => 'PostPaid'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'MigrationObject' => ['description' => '迁移对象。'."\n", 'type' => 'string', 'example' => '[{\\"DBName\\":\\"dtstestdata\\",\\"TableIncludes\\":[{\\"TableName\\":\\"customer\\"}]}]'], + 'MigrationJobId' => ['description' => '数据迁移实例ID。', 'type' => 'string', 'example' => 'dtsxxxxxxxx'], + 'TaskId' => ['description' => '数据迁移任务ID。', 'type' => 'string', 'example' => 'z2v12jfo309****'], + 'MigrationJobClass' => ['description' => '数据迁移实例的规格,返回值为:**small**、**medium**、**large**、**xlarge**或**2xlarge**。更多规格说明,请参见[数据迁移链路规格说明](~~26606~~)。', 'type' => 'string', 'example' => '2xlarge'], + 'DataInitializationStatus' => [ + 'description' => '全量数据迁移执行状态。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '全量数据迁移状态,取值包括:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:迁移失败。'."\n" + .'- **Finished**:迁移完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '全量数据迁移进度,单位为百分比。'."\n", 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '全量数据迁移失败的错误提示。', 'type' => 'string', 'example' => 'java.lang.NumberFormatException: For input string: ""'], + 'Progress' => ['description' => '已完成全量数据初始化的记录数。'."\n", 'type' => 'string', 'example' => '200001'], + ], ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'AD823BD3-1BA6-4117-A536-165CB280****', + 'DataSynchronizationStatus' => [ + 'description' => '增量数据迁移执行状态。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '增量数据迁移状态,取值包括:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:迁移失败。'."\n" + .'- **Finished**:迁移完成。'."\n" + .'- **Catched**:无延迟。'."\n", 'type' => 'string', 'example' => 'Catched'], + 'Percent' => ['description' => '增量数据迁移进度,单位为百分比。'."\n", 'type' => 'string', 'example' => '95'], + 'Delay' => ['description' => '增量数据迁移延迟,单位为秒。'."\n", 'type' => 'string', 'example' => '0'], + 'ErrorMessage' => ['description' => '增量数据迁移失败的错误提示。'."\n", 'type' => 'string', 'example' => '任务失败太久 无法恢复'], + 'Checkpoint' => ['description' => '迁移最新一条增量数据的时间戳,格式为Unix时间戳,单位为秒。', 'type' => 'string', 'example' => '1571040679'], + ], ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', + 'DestinationEndpoint' => [ + 'description' => '目标实例的连接信息。', + 'type' => 'object', + 'properties' => [ + 'DatabaseName' => ['description' => '目标实例中待迁移对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'InstanceId' => ['description' => '目标实例ID。', 'type' => 'string', 'example' => 'rm-bpxxxxxxxx'], + 'IP' => ['description' => '目标实例的连接地址。', 'type' => 'string', 'example' => '172.16.88.***'], + 'InstanceType' => ['description' => '目标实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'Port' => ['description' => '目标实例的数据库服务端口。'."\n", 'type' => 'string', 'example' => '3306'], + 'UserName' => ['description' => '目标实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'oracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当目标实例的数据库类型为**Oracle**时,才会返回该参数。', 'type' => 'string', 'example' => 'testsid'], + 'EngineName' => ['description' => '目标实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], + ], ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', + 'MigrationMode' => [ + 'description' => '迁移类型。', + 'type' => 'object', + 'properties' => [ + 'dataInitialization' => ['description' => '是否迁移全量数据,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'dataSynchronization' => ['description' => '是否迁移增量数据,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => '**false**。'], + 'structureInitialization' => ['description' => '是否执行结构迁移,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => '**false**。'], + ], ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', + 'PrecheckStatus' => [ + 'description' => '预检查情况。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '预检查状态,返回值:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Checking**:预检查中。'."\n" + .'- **Failed**:预检查失败。'."\n" + .'- **Finished**:预检查完成。', 'type' => 'string', 'example' => 'Success'], + 'Percent' => ['description' => '预检查整体进度,单位为百分比。'."\n", 'type' => 'string', 'example' => '100'], + 'Detail' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CheckItem' => [ + 'description' => '各预检查项的检查情况。', + 'type' => 'array', + 'items' => [ + 'description' => '各预检查项的检查情况。', + 'type' => 'object', + 'properties' => [ + 'CheckStatus' => ['description' => '检查结果,返回值:'."\n" + ."\n" + .'- **Success**:通过该项检查。'."\n" + .'- **Failed**:未通过该项检查。', 'type' => 'string', 'example' => 'Success'], + 'ErrorMessage' => ['description' => '预检查未通过的错误提示。'."\n" + .'> 当**CheckStatus**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)'], + 'ItemName' => ['description' => '预检查项目。'."\n", 'type' => 'string', 'example' => 'CHECK_CONN_SRC'], + 'RepairMethod' => ['description' => '预检查未通过时对应的修复方法。'."\n" + .'> 当**CheckStatus**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2'], + ], + ], + ], + ], + 'description' => '', + ], + ], ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', + 'SourceEndpoint' => [ + 'description' => '源实例的连接信息。', + 'type' => 'object', + 'properties' => [ + 'DatabaseName' => ['description' => '源实例中待迁移对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdatabase'], + 'InstanceId' => ['description' => '源实例ID。', 'type' => 'string', 'example' => 'rm-bp1i99e8l7913****'], + 'IP' => ['description' => '源实例的连接地址。', 'type' => 'string', 'example' => '172.16.88.***'], + 'InstanceType' => ['description' => '源库的实例类型,返回值:'."\n" + ."\n" + .'- **RDS**:阿里云RDS实例。'."\n" + .'- **ECS**:ECS上的自建数据库。'."\n" + .'- **LocalInstance**:有公网IP的自建数据库。'."\n" + .'- **Express**:通过专线/VPN网关/智能网关接入的自建数据库。'."\n" + .'- **MongoDB**:阿里云MongoDB实例。'."\n" + .'- **POLARDB**:阿里云POLARDB for MySQL集群(该值仅适用于中国站)。', 'type' => 'string', 'example' => 'RDS'], + 'Port' => ['description' => '源实例的数据库服务端口。'."\n", 'type' => 'string', 'example' => '3306'], + 'UserName' => ['description' => '源实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'oracleSID' => ['description' => 'Oracle数据库的SID信息。'."\n" + .'> 当迁移的源库的数据库类型为Oracle时,才会返回本参数。', 'type' => 'string', 'example' => 'testsid'], + 'EngineName' => ['description' => '源实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], + ], ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', + 'StructureInitializationStatus' => [ + 'description' => '结构迁移执行状态。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '结构迁移状态,取值包括:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:迁移失败。'."\n" + .'- **Finished**:迁移完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '结构迁移进度,单位为百分比。'."\n", 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '结构迁移失败的错误提示。'."\n", 'type' => 'string', 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;'], + 'Progress' => ['description' => '已完成结构迁移的表的数量。', 'type' => 'string', 'example' => '1'], + ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A032E3B4-929B-48E9-97B9-37587CBF****\\",\\n \\"MigrationJobName\\": \\"MySQL迁移\\",\\n \\"MigrationJobStatus\\": \\"Migrating\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"PayType\\": \\"PostPaid\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"MigrationObject\\": \\"[{\\\\\\\\\\\\\\"DBName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"TableIncludes\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"TableName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"customer\\\\\\\\\\\\\\"}]}]\\",\\n \\"MigrationJobId\\": \\"dtsxxxxxxxx\\",\\n \\"TaskId\\": \\"z2v12jfo309****\\",\\n \\"MigrationJobClass\\": \\"2xlarge\\",\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"200001\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"Percent\\": \\"95\\",\\n \\"Delay\\": \\"0\\",\\n \\"ErrorMessage\\": \\"任务失败太久 无法恢复\\",\\n \\"Checkpoint\\": \\"1571040679\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"InstanceId\\": \\"rm-bpxxxxxxxx\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"oracleSID\\": \\"testsid\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"MigrationMode\\": {\\n \\"dataInitialization\\": true,\\n \\"dataSynchronization\\": true,\\n \\"structureInitialization\\": true\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Success\\",\\n \\"Percent\\": \\"100\\",\\n \\"Detail\\": {\\n \\"CheckItem\\": [\\n {\\n \\"CheckStatus\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"ItemName\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n }\\n },\\n \\"SourceEndpoint\\": {\\n \\"DatabaseName\\": \\"dtstestdatabase\\",\\n \\"InstanceId\\": \\"rm-bp1i99e8l7913****\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"oracleSID\\": \\"testsid\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n }\\n}","type":"json"}]', + 'title' => '查询数据迁移任务的状态', + 'summary' => '老版查询数据迁移任务的状态。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeMigrationJobStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"AD823BD3-1BA6-4117-A536-165CB280****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteDtsJobsResponse>\\n <RequestId>AD823BD3-1BA6-4117-A536-165CB280****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</DeleteDtsJobsResponse>","errorExample":""}]', - 'title' => '批量释放DTS任务', - 'summary' => '调用DeleteDtsJobs接口批量释放数据迁移、同步或订阅任务。', - 'description' => '> <props="china"><ph>包年包月的DTS实例不支持通过API释放,您可以通过退订的方式进行释放。更多信息,请参见[释放DTS实例](~~289054~~)。</ph></props><props="intl"><ph>包年包月的DTS实例不支持释放。</ph></props>', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'DescribeDtsServiceLog' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeMigrationJobs' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -24423,145 +11164,63 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '52249', - 'abilityTreeNodes' => [ - 'FEATUREdtsDW6WLD', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'DtsJobId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移或同步任务ID。'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'c1yr56py103****', - ], + 'schema' => ['description' => '数据迁移实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '每页记录的日志信息的数量,取值:**20**、**50**、**100**、**500**、**1000**,默认值为**20**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '指定页码,取值为大于0且不超过Integer数据类型的最大值,默认值为**1**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => '日志信息的起始时间。'."\n" - ."\n" - .'> - 如需查询特定时间范围内DTS子任务执行的日志信息,您可以调用[DescribePreCheckStatus](~~209718~~)查询DTS子任务的执行时间。'."\n" - .'- 起始时间的格式为13位Unix时间戳,单位为毫秒。Unix时间戳转换工具可用搜索引擎获取。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1620896327000', - ], - ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => '日志信息的截止时间,您可以调用[DescribePreCheckStatus](~~209718~~)进行查询。'."\n" - .'> - 如需查询特定时间范围内DTS子任务执行的日志信息,您可以调用[DescribePreCheckStatus](~~209718~~)查询DTS子任务的执行时间。'."\n" - .'- 起始时间的格式为13位Unix时间戳,单位为毫秒。Unix时间戳转换工具可用搜索引擎获取。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1620897227000', - ], + 'schema' => ['description' => '每页记录的数据迁移实例的数量。取值为:**10**、**20**、**30**,默认值为**30**,最大值为**30**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '30', 'default' => '30'], ], [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => '日志信息的日志级别,多个状态以英文逗号(,)分隔,取值为:'."\n" - ."\n" - .'- **NORMAL**:正常。'."\n" - .'- **WARN**:报警。'."\n" - .'- **ERROR**:报错。', - 'type' => 'string', - 'required' => false, - 'example' => 'NORMAL,WARN,ERROR', - ], - ], - [ - 'name' => 'SubJobType', + 'name' => 'PageNum', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS任务的具体子任务类型,取值为:'."\n" - ."\n\n" - .'- **DATA_LOAD**:全量迁移或全量同步。'."\n" - .'- **ONLINE_WRITER**:增量迁移。'."\n" - .'- **SYNC_WRITER**:增量同步。', - 'type' => 'string', - 'required' => false, - 'example' => 'SYNC_WRITER', - ], + 'schema' => ['description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1'], ], [ - 'name' => 'Keyword', + 'name' => 'MigrationJobName', 'in' => 'query', - 'schema' => [ - 'description' => '传入关键词,指定查询内容。'."\n" - .'> 模糊匹配且区分大小写。', - 'type' => 'string', - 'required' => false, - 'example' => 'state = IDLE', - ], + 'schema' => ['description' => '迁移实例名称。'."\n" + .'> 支持模糊查询。', 'type' => 'string', 'required' => false, 'example' => 'MySQL迁移'], ], [ - 'name' => 'RegionId', + 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ - 'name' => 'ZeroEtlJob', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', + 'description' => '数据迁移实例的标签,作为过滤项,当此项不为空时,仅拥有此标签的实例任务会返回。', + 'type' => 'array', + 'items' => [ + 'description' => '数据迁移实例的标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '标签键,可以通过调用[ListTagResources](~~191187~~)接口查询。'."\n" + ."\n" + .'> - N表示第几个标签的键。例如:Tag.1.Key表示第一个标签的键;Tag.2.Key表示第二个标签的键。可以同时传入1~20个标签键。'."\n" + .'- 该参数传入时不允许传入空字符串。', 'type' => 'string', 'required' => true, 'example' => 'testkey1'], + 'Value' => ['description' => '标签的值,可以通过调用[ListTagResources](~~191187~~)接口查询。'."\n" + .'>- N表示第几个标签的值。例如:Tag.1.Value表示第一个标签的值;Tag.2.Value表示第二个标签的值。可以同时传入1~20个标签值。'."\n" + .'- 允许传入空字符串。', 'type' => 'string', 'required' => false, 'example' => 'testvalue1'], + ], + 'required' => false, + ], 'required' => false, - 'example' => 'true', + 'maxItems' => 11, ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -24569,128 +11228,242 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'F87DF250-952C-47FE-8A02-69414FAA****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'PageRecordCount' => [ - 'description' => '每页记录的日志信息的数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'TotalRecordCount' => [ - 'description' => '符合条件的日志信息的总数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '35', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。', - 'type' => 'string', - 'example' => 'DtsJobId', - ], - 'PageNumber' => [ - 'description' => '当前页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', - ], - 'ServiceLogContexts' => [ - 'description' => '任务日志信息详情。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Context' => [ - 'description' => '具体的日志信息。', - 'type' => 'string', - 'example' => 'Statistics: generator = 369173; collector = 470109; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}', - ], - 'Time' => [ - 'description' => '日志采集时间,格式为yyyy-MM-ddTHH:mm:ssZ(UTC时间)。', - 'type' => 'string', - 'example' => '2021-05-13T09:13:39.443+00:00', - ], - 'State' => [ - 'description' => '日志信息的状态。', - 'type' => 'string', - 'example' => 'NORMAL', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '0ED4846D-ED60-435D-88C0-7EC0CE4D****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'PageRecordCount' => ['description' => '当前页可展示的最大记录数。'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'TotalRecordCount' => ['description' => '阿里云主账号下所有符合条件的数据迁移实例数量。'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '300'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'PageNumber' => ['description' => '页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MigrationJobs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'MigrationJob' => [ + 'description' => '数据迁移实例列表和各迁移实例的详情。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '数据迁移实例列表和各迁移实例的详情。'."\n", + 'type' => 'object', + 'properties' => [ + 'MigrationJobName' => ['description' => '数据迁移实例名称。', 'type' => 'string', 'example' => 'MySQL迁移'], + 'MigrationJobStatus' => ['description' => '迁移实例状态,返回值为:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:表示预检查中。'."\n" + .'- **PrecheckFailed**:表示预检查失败。'."\n" + .'- **Migrating**:表示迁移中。'."\n" + .'- **Suspending**:表示暂停中。'."\n" + .'- **MigrationFailed**:表示迁移失败。'."\n" + .'- **Finished**:表示完成。', 'type' => 'string', 'example' => 'Migrating'], + 'PayType' => ['description' => '迁移实例的付费类型,返回值固定为**PostPaid**(按量付费)。'."\n", 'type' => 'string', 'example' => 'PostPaid'], + 'MigrationJobClass' => ['description' => '数据迁移实例的规格,返回值为:**small**、**medium**、**large**、**xlarge**或**2xlarge**。更多规格说明,请参见[数据迁移链路规格说明](~~26606~~)。', 'type' => 'string', 'example' => '2xlarge'], + 'InstanceCreateTime' => ['description' => '迁移实例创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2021-06-22T09:02:13Z'], + 'MigrationJobID' => ['description' => '数据迁移实例ID。', 'type' => 'string', 'example' => 'dtson2z28evm33****'], + 'JobCreateTime' => ['description' => '同步任务创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2021-06-22T08:53:55Z'], + 'MigrationObject' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SynchronousObject' => [ + 'description' => '迁移对象。', + 'type' => 'array', + 'items' => [ + 'description' => '迁移对象。', + 'type' => 'object', + 'properties' => [ + 'DatabaseName' => ['description' => '源实例中待迁移对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'WholeDatabase' => ['description' => '是否迁移整库,返回值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。'."\n", 'type' => 'string', 'example' => 'false'], + 'TableList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Table' => [ + 'description' => '迁移对象的表名。', + 'type' => 'array', + 'items' => ['description' => '迁移对象的表名。', 'type' => 'string', 'example' => 'customer'], + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + 'description' => '', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签集合。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '标签集合。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '标签键。'."\n", 'type' => 'string', 'example' => 'testkey1'], + 'Value' => ['description' => '标签键对应的标签值。'."\n", 'type' => 'string', 'example' => 'testvalue1'], + ], + ], + ], + ], + 'description' => '', + ], + 'DataInitialization' => [ + 'description' => '全量数据迁移情况。', + 'type' => 'object', + 'properties' => [ + 'Percent' => ['description' => '全量数据迁移进度,单位为百分比。'."\n", 'type' => 'string', 'example' => '100'], + 'status' => ['description' => '全量数据迁移状态,取值包括:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:迁移失败。'."\n" + .'- **Finished**:迁移完成。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '全量数据迁移失败的错误提示。', 'type' => 'string', 'example' => 'java.lang.NumberFormatException: For input string: ""'], + 'Progress' => ['description' => '已完成全量数据初始化的记录数。'."\n", 'type' => 'string', 'example' => '200001'], + ], + ], + 'DataSynchronization' => [ + 'description' => '增量数据迁移情况。', + 'type' => 'object', + 'properties' => [ + 'Delay' => ['description' => '增量数据迁移延迟,单位为秒。'."\n", 'type' => 'string', 'example' => '0'], + 'Percent' => ['description' => '增量数据迁移进度,单位为百分比。'."\n", 'type' => 'string', 'example' => '95'], + 'status' => ['description' => '增量数据迁移状态,取值包括:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:迁移失败。'."\n" + .'- **Finished**:迁移完成。'."\n" + .'- **Catched**:无延迟。'."\n", 'type' => 'string', 'example' => 'Catched'], + 'ErrorMessage' => ['description' => '增量数据迁移失败的错误提示。'."\n", 'type' => 'string', 'example' => '任务失败太久无法恢复'], + ], + ], + 'DestinationEndpoint' => [ + 'description' => '目标实例的连接信息。', + 'type' => 'object', + 'properties' => [ + 'OracleSID' => ['description' => '当目标实例的数据库类型为**Oracle**时,才会返回该参数。', 'type' => 'string', 'example' => 'testsid'], + 'DatabaseName' => ['description' => '目标实例中待迁移对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'InstanceID' => ['description' => '目标实例ID。'."\n", 'type' => 'string', 'example' => 'rm-bp1zc3iyqe3qw****'], + 'Port' => ['description' => '目标实例的数据库服务端口。'."\n", 'type' => 'string', 'example' => '3306'], + 'IP' => ['description' => '目标实例的连接地址。'."\n", 'type' => 'string', 'example' => '172.16.88.***'], + 'InstanceType' => ['description' => '目标实例类型。'."\n", 'type' => 'string', 'example' => 'RDS'], + 'UserName' => ['description' => '目标实例的数据库账号。'."\n", 'type' => 'string', 'example' => 'dtstest'], + 'EngineName' => ['description' => '目标实例的数据库类型。'."\n", 'type' => 'string', 'example' => 'MySQL'], + ], + ], + 'MigrationMode' => [ + 'description' => '迁移类型。', + 'type' => 'object', + 'properties' => [ + 'DataInitialization' => ['description' => '是否迁移全量数据,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DataSynchronization' => ['description' => '是否迁移增量数据,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'StructureInitialization' => ['description' => '是否执行结构迁移,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + ], + ], + 'Precheck' => [ + 'description' => '预检查情况。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '预检查结果,返回值:'."\n" + ."\n" + .'- **Success**:通过。'."\n" + .'- **Failed**:未通过。', 'type' => 'string', 'example' => 'Success'], + 'Percent' => ['description' => '预检查整体进度,单位为百分比。'."\n", 'type' => 'string', 'example' => '100'], + ], + ], + 'SourceEndpoint' => [ + 'description' => '源实例的连接信息。', + 'type' => 'object', + 'properties' => [ + 'OracleSID' => ['description' => '当源实例的数据库类型为**Oracle**时,才会返回该参数。', 'type' => 'string', 'example' => 'testsid'], + 'DatabaseName' => ['description' => '源实例中待迁移对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'InstanceID' => ['description' => '源实例ID。'."\n", 'type' => 'string', 'example' => 'rm-bp1i99e8l7913****'], + 'Port' => ['description' => '源实例的数据库服务端口。'."\n", 'type' => 'string', 'example' => '3306'], + 'IP' => ['description' => '源实例的连接地址。'."\n", 'type' => 'string', 'example' => '172.16.88.***'], + 'InstanceType' => ['description' => '源实例类型。'."\n", 'type' => 'string', 'example' => 'RDS'], + 'UserName' => ['description' => '源实例的数据库账号。'."\n", 'type' => 'string', 'example' => 'dtstest'], + 'EngineName' => ['description' => '源实例的数据库类型。'."\n", 'type' => 'string', 'example' => 'MySQL'], + ], + ], + 'StructureInitialization' => [ + 'description' => '结构迁移情况。', + 'type' => 'object', + 'properties' => [ + 'Percent' => ['description' => '结构迁移进度,单位为百分比。'."\n", 'type' => 'string', 'example' => '100'], + 'status' => ['description' => '结构迁移状态,取值包括:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:迁移失败。'."\n" + .'- **Finished**:迁移完成。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '结构迁移失败的错误提示。'."\n", 'type' => 'string', 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;'], + 'Progress' => ['description' => '已完成结构迁移的表的数量。'."\n", 'type' => 'string', 'example' => '1'], + ], + ], + ], ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"F87DF250-952C-47FE-8A02-69414FAA****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"PageRecordCount\\": 20,\\n \\"TotalRecordCount\\": 35,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"PageNumber\\": 1,\\n \\"DynamicCode\\": \\"403\\",\\n \\"ServiceLogContexts\\": [\\n {\\n \\"Context\\": \\"Statistics: generator = 369173; collector = 470109; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}\\",\\n \\"Time\\": \\"2021-05-13T09:13:39.443+00:00\\",\\n \\"State\\": \\"NORMAL\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeDtsServiceLogResponse>\\n <requestId>F87DF250-952C-47FE-8A02-69414FAA****</requestId>\\n <success>true</success>\\n <httpStatusCode>200</httpStatusCode>\\n <pageNumber>1</pageNumber>\\n <pageRecordCount>20</pageRecordCount>\\n <totalRecordCount>35</totalRecordCount>\\n <serviceLogContexts>\\n <context>Statistics: generator = 369173; collector = 470109; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}</context>\\n <state>NORMAL</state>\\n <time>2021-05-13T09:13:39.443+00:00</time>\\n </serviceLogContexts>\\n <serviceLogContexts>\\n <context>Statistics: generator = 368934; collector = 469795; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}</context>\\n <state>NORMAL</state>\\n <time>2021-05-13T09:10:53.275+00:00</time>\\n </serviceLogContexts>\\n <serviceLogContexts>\\n <context>Statistics: generator = 368702; collector = 469492; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}</context>\\n <state>NORMAL</state>\\n <time>2021-05-13T09:08:08.855+00:00</time>\\n </serviceLogContexts>\\n <serviceLogContexts>\\n <context>Statistics: generator = 368456; collector = 469180; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}</context>\\n <state>NORMAL</state>\\n <time>2021-05-13T09:05:22.343+00:00</time>\\n </serviceLogContexts>\\n <serviceLogContexts>\\n <context>Statistics: generator = 368222; collector = 468877; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}</context>\\n <state>NORMAL</state>\\n <time>2021-05-13T09:02:37.851+00:00</time>\\n </serviceLogContexts>\\n <serviceLogContexts>\\n <context>Statistics: generator = 367988; collector = 468571; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}</context>\\n <state>NORMAL</state>\\n <time>2021-05-13T08:59:51.070+00:00</time>\\n </serviceLogContexts>\\n</DescribeDtsServiceLogResponse>","errorExample":""}]', - 'title' => '查询任务日志', - 'summary' => '调用DescribeDtsServiceLog查询一个数据迁移或同步任务的日志信息。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED4846D-ED60-435D-88C0-7EC0CE4D****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"PageRecordCount\\": 30,\\n \\"Success\\": \\"true\\",\\n \\"TotalRecordCount\\": 300,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PageNumber\\": 1,\\n \\"MigrationJobs\\": {\\n \\"MigrationJob\\": [\\n {\\n \\"MigrationJobName\\": \\"MySQL迁移\\",\\n \\"MigrationJobStatus\\": \\"Migrating\\",\\n \\"PayType\\": \\"PostPaid\\",\\n \\"MigrationJobClass\\": \\"2xlarge\\",\\n \\"InstanceCreateTime\\": \\"2021-06-22T09:02:13Z\\",\\n \\"MigrationJobID\\": \\"dtson2z28evm33****\\",\\n \\"JobCreateTime\\": \\"2021-06-22T08:53:55Z\\",\\n \\"MigrationObject\\": {\\n \\"SynchronousObject\\": [\\n {\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"WholeDatabase\\": \\"false\\",\\n \\"TableList\\": {\\n \\"Table\\": [\\n \\"customer\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"testkey1\\",\\n \\"Value\\": \\"testvalue1\\"\\n }\\n ]\\n },\\n \\"DataInitialization\\": {\\n \\"Percent\\": \\"100\\",\\n \\"status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"200001\\"\\n },\\n \\"DataSynchronization\\": {\\n \\"Delay\\": \\"0\\",\\n \\"Percent\\": \\"95\\",\\n \\"status\\": \\"Catched\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"OracleSID\\": \\"testsid\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"InstanceID\\": \\"rm-bp1zc3iyqe3qw****\\",\\n \\"Port\\": \\"3306\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"MigrationMode\\": {\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"StructureInitialization\\": true\\n },\\n \\"Precheck\\": {\\n \\"Status\\": \\"Success\\",\\n \\"Percent\\": \\"100\\"\\n },\\n \\"SourceEndpoint\\": {\\n \\"OracleSID\\": \\"testsid\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"InstanceID\\": \\"rm-bp1i99e8l7913****\\",\\n \\"Port\\": \\"3306\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitialization\\": {\\n \\"Percent\\": \\"100\\",\\n \\"status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeMigrationJobsResponse>\\r\\n <TotalRecordCount>300</TotalRecordCount>\\r\\n <PageRecordCount>30</PageRecordCount>\\r\\n <RequestId>0ED4846D-ED60-435D-88C0-7EC0CE4D****</RequestId>\\r\\n <PageNumber>1</PageNumber>\\r\\n <MigrationJobs>\\r\\n <MigrationJob>\\r\\n <DataSynchronization>\\r\\n <Percent>95</Percent>\\r\\n <Delay>0</Delay>\\r\\n <status>Catched</status>\\r\\n </DataSynchronization>\\r\\n <Precheck/>\\r\\n <InstanceCreateTime>2021-06-22T09:02:13Z</InstanceCreateTime>\\r\\n <JobCreateTime>2021-06-22T08:53:55Z</JobCreateTime>\\r\\n <MigrationJobName>MySQL迁移</MigrationJobName>\\r\\n <PayType>PostPaid</PayType>\\r\\n <MigrationJobStatus>Migrating</MigrationJobStatus>\\r\\n <MigrationMode>\\r\\n <DataInitialization>true</DataInitialization>\\r\\n <DataSynchronization>true</DataSynchronization>\\r\\n <StructureInitialization>true</StructureInitialization>\\r\\n </MigrationMode>\\r\\n <MigrationJobID>dtson2z28evm33****</MigrationJobID>\\r\\n <MigrationObject>\\r\\n <SynchronousObject>\\r\\n <DatabaseName>dtstest</DatabaseName>\\r\\n <WholeDatabase>false</WholeDatabase>\\r\\n <TableList>\\r\\n <Table>customer</Table>\\r\\n </TableList>\\r\\n </SynchronousObject>\\r\\n </MigrationObject>\\r\\n <DataInitialization>\\r\\n <Progress>200001</Progress>\\r\\n <Percent>100</Percent>\\r\\n <status>Finished</status>\\r\\n </DataInitialization>\\r\\n <DestinationEndpoint>\\r\\n <UserName>dtstest</UserName>\\r\\n <InstanceID>rm-bp1zc3iyqe3qw****</InstanceID>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </DestinationEndpoint>\\r\\n <MigrationJobClass>2xlarge</MigrationJobClass>\\r\\n <SourceEndpoint>\\r\\n <UserName>dtstest</UserName>\\r\\n <InstanceID>rm-bp1i99e8l7913****</InstanceID>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </SourceEndpoint>\\r\\n <StructureInitialization>\\r\\n <Progress>1</Progress>\\r\\n <Percent>100</Percent>\\r\\n <status>Finished</status>\\r\\n </StructureInitialization>\\r\\n <Tags></Tags>\\r\\n </MigrationJob>\\r\\n </MigrationJobs>\\r\\n <Success>true</Success>\\r\\n</DescribeMigrationJobsResponse>","errorExample":""}]', + 'title' => '查询迁移实例列表及各实例详情', + 'summary' => '查询数据迁移实例列表和各迁移实例的详情。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeJobMonitorRule' => [ - 'summary' => '调用DescribeJobMonitorRule查询DTS任务的告警规则。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeMigrationJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], ], + ], + 'DescribePreCheckCreateGadOrderResult' => [ + 'summary' => '查询预检查创建GAD订单任务结果', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -24702,43 +11475,29 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREdtsJ32CAF', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '232362', + 'abilityTreeNodes' => ['FEATUREdts05OBVW'], ], 'parameters' => [ [ - 'name' => 'DtsJobId', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅任务ID,可通过调用[DescribeDtsJobs](~~209702~~)获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ta7w132u12h****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shenzhen', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzydi675xfea', - ], + 'schema' => ['description' => '全球热活实例组实例ID。', 'type' => 'string', 'required' => false, 'example' => 'gad-bp162d4tp0500****'], + ], + [ + 'name' => 'TaskId', + 'in' => 'query', + 'schema' => ['description' => '预检查任务ID。', 'type' => 'string', 'required' => false, 'example' => 'k71r16fj13g****'], ], ], 'responses' => [ @@ -24746,172 +11505,80 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '0CA14388-DD89-4A7B-8CDD-884A10CE****', - ], - 'DtsJobId' => [ - 'description' => '迁移、同步或订阅任务ID。', - 'type' => 'string', - 'example' => 'ta7w132u12h****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => '403', - ], - 'Success' => [ - 'description' => '请求是否成功,返回值:'."\n" - .'- **true**:请求成功。'."\n" - .'- **false**:请求失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid. ', - ], - 'Code' => [ - 'description' => '错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '200', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。'."\n", - 'type' => 'string', - 'example' => 'DtsJobId', - ], - 'MonitorRules' => [ - 'description' => 'DTS任务的监控规则信息。', - 'type' => 'array', - 'items' => [ - 'description' => 'dts任务的监控规则信息。', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '监控规则的类型,返回值:'."\n" - .'- **delay**:延迟告警。'."\n" - .'- **error**:异常告警。'."\n" - .'- **full_timeout**:全量模块运行耗时告警。'."\n" - .'- **warn**:通知类告警(任务执行成功,结果未达到预期)。', - 'type' => 'string', - 'example' => 'delay', - ], - 'DelayRuleTime' => [ - 'description' => '触发延迟告警的阈值,单位为秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '60', - ], - 'State' => [ - 'description' => '是否启用监控规则,返回值:'."\n" - ."\n" - .'- **Y**:启用。'."\n" - .'- **N**:不启用。', - 'type' => 'string', - 'example' => 'Y', - ], - 'Phone' => [ - 'description' => '告警触发后需通知的联系人手机号码,多个手机号码之间以英文逗号(,)分隔。', - 'type' => 'string', - 'example' => '1361234****,1371234****', - ], - 'JobType' => [ - 'description' => 'DTS实例的任务类型,取值:'."\n" - .'- **normal**:迁移或同步任务。'."\n" - .'- **full_check**:关联的全量校验任务。'."\n" - .'- **etl_check**:关联的增量校验任务。', - 'type' => 'string', - 'example' => 'normal', - ], - 'Period' => [ - 'description' => '增量校验任务的统计周期,单位为分钟。'."\n" - ."\n" - .'> 当前支持取值为1分钟、5分钟、10分钟和30分钟。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Times' => [ - 'description' => '增量校验任务的周期数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'NoticeValue' => [ - 'description' => '告警阈值。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'JobId' => [ - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'bi6e22ay243****', + 'HttpStatusCode' => ['description' => '状态码。'."\n" + ."\n", 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => '92E1E99D-5224-4AD3-8C94-23A3516B****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'ErrMessage' => ['description' => '调用出错时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。'."\n", 'type' => 'string', 'example' => 'present environment is not support,so skip.'], + 'RegionId' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'InstanceId' => ['description' => '全球热活实例组实例ID。', 'type' => 'string', 'example' => 'gad-bp1i99e8l7913****'], + 'TaskId' => ['description' => '预检查任务ID。', 'type' => 'string', 'example' => '11****'], + 'PreCheckResult' => ['description' => '预检查整体结果。', 'type' => 'boolean', 'example' => 'True'], + 'PreCheckItems' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PreCheckItems' => [ + 'description' => '预检查明细。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '检查项code', 'type' => 'string', 'example' => 'CHECK_MASTER_DB_STATUS'], + 'Status' => ['description' => '检查项状态status:'."\n" + .'- Creating 创建中'."\n" + .'- Running 运行中'."\n" + .'- Success 检查通过'."\n" + .'- Failed 检查失败', 'type' => 'string', 'example' => 'Running'], + 'Message' => ['description' => '检查项描述', 'type' => 'string', 'example' => 'test'], + ], + 'description' => '', ], ], ], - ], - 'Topics' => [ - 'description' => 'Kafka的Topic。', - 'type' => 'array', - 'items' => [ - 'description' => '同步或迁移到Kafka时的Topic。', - 'type' => 'string', - 'example' => '[\'topic_zyjg_prd\']', - ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"92E1E99D-5224-4AD3-8C94-23A3516B****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Success\\": \\"true\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceId\\": \\"gad-bp1i99e8l7913****\\",\\n \\"TaskId\\": \\"11****\\",\\n \\"PreCheckResult\\": true,\\n \\"PreCheckItems\\": {\\n \\"PreCheckItems\\": [\\n {\\n \\"Code\\": \\"CHECK_MASTER_DB_STATUS\\",\\n \\"Status\\": \\"Running\\",\\n \\"Message\\": \\"test\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => '查询预检查结果', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribePreCheckCreateGadOrderResult', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"0CA14388-DD89-4A7B-8CDD-884A10CE****\\",\\n \\"DtsJobId\\": \\"ta7w132u12h****\\",\\n \\"ErrCode\\": \\"403\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\\\t\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"MonitorRules\\": [\\n {\\n \\"Type\\": \\"delay\\",\\n \\"DelayRuleTime\\": 60,\\n \\"State\\": \\"Y\\",\\n \\"Phone\\": \\"1361234****,1371234****\\",\\n \\"JobType\\": \\"normal\\",\\n \\"Period\\": 5,\\n \\"Times\\": 2,\\n \\"NoticeValue\\": 2,\\n \\"JobId\\": \\"bi6e22ay243****\\"\\n }\\n ],\\n \\"Topics\\": [\\n \\"[\'topic_zyjg_prd\']\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeJobMonitorRuleResponse>\\n <DtsJobId>y5il58kzo9n****</DtsJobId>\\n <RequestId>90DB5FA4-8C53-5123-91A9-63A4CA42****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <MonitorRules>\\n <Type>delay</Type>\\n <JobType>normal</JobType>\\n <State>N</State>\\n <Phone>1361234****</Phone>\\n <Times>0</Times>\\n <Period>0</Period>\\n <NoticeValue>0</NoticeValue>\\n <DelayRuleTime>0</DelayRuleTime>\\n <JobId>y5il58kzo9n****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>full_timeout</Type>\\n <JobType>normal</JobType>\\n <State>Y</State>\\n <Times>0</Times>\\n <Period>0</Period>\\n <NoticeValue>0</NoticeValue>\\n <JobId>y5il58kzo9n****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>error</Type>\\n <JobType>normal</JobType>\\n <State>N</State>\\n <Phone>1361234****</Phone>\\n <Times>0</Times>\\n <Period>0</Period>\\n <NoticeValue>0</NoticeValue>\\n <JobId>y5il58kzo9n****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>error</Type>\\n <JobType>full_check</JobType>\\n <State>Y</State>\\n <Times>0</Times>\\n <Period>0</Period>\\n <NoticeValue>0</NoticeValue>\\n <JobId>qm2g550ku9x****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>warn</Type>\\n <JobType>full_check</JobType>\\n <State>Y</State>\\n <Times>0</Times>\\n <Period>0</Period>\\n <NoticeValue>1</NoticeValue>\\n <JobId>qm2g550ku9x****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>error</Type>\\n <JobType>etl_check</JobType>\\n <State>Y</State>\\n <Times>0</Times>\\n <Period>0</Period>\\n <NoticeValue>0</NoticeValue>\\n <JobId>wrdx5a8pc93****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>delay</Type>\\n <JobType>etl_check</JobType>\\n <State>Y</State>\\n <Times>2</Times>\\n <Period>3</Period>\\n <NoticeValue>0</NoticeValue>\\n <DelayRuleTime>60</DelayRuleTime>\\n <JobId>wrdx5a8pc93****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>warn</Type>\\n <JobType>etl_check</JobType>\\n <State>Y</State>\\n <Times>2</Times>\\n <Period>3</Period>\\n <NoticeValue>1</NoticeValue>\\n <JobId>wrdx5a8pc93****</JobId>\\n </MonitorRules>\\n <Success>true</Success>\\n</DescribeJobMonitorRuleResponse>","errorExample":""}]', - 'title' => '查询DTS任务告警规则', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], 'DescribePreCheckStatus' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -24922,125 +11589,70 @@ 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '52265', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅任务ID。'."\n" - ."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'i03e3zty16i****', - ], + 'schema' => ['description' => '迁移、同步或订阅任务ID。'."\n" + ."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'i03e3zty16i****'], ], [ 'name' => 'PageNo', 'in' => 'query', - 'schema' => [ - 'description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。', 'type' => 'string', 'required' => false, 'example' => '1'], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '每页记录数,默认值为**20**。', - 'type' => 'string', - 'required' => false, - 'example' => '30', - ], + 'schema' => ['description' => '每页记录数,默认值为**20**。', 'type' => 'string', 'required' => false, 'example' => '30'], ], [ 'name' => 'JobCode', 'in' => 'query', - 'schema' => [ - 'description' => '任务码,传入本参数指定所需查询的DTS任务的子任务类型,取值为:'."\n" - ."\n" - .'- **01**:预检查。'."\n" - .'- **02**:库表结构迁移或初始化。'."\n" - .'- **03**:全量迁移或初始化。'."\n" - .'- **04**:增量迁移或同步。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '01', - ], + 'schema' => ['description' => '任务码,传入本参数指定所需查询的DTS任务的子任务类型,取值为:'."\n" + ."\n" + .'- **01**:预检查。'."\n" + .'- **02**:库表结构迁移或初始化。'."\n" + .'- **03**:全量迁移或初始化。'."\n" + .'- **04**:增量迁移或同步。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '01'], ], [ 'name' => 'StructType', 'in' => 'query', - 'schema' => [ - 'description' => '结构定义的类型,取值:'."\n" - ."\n" - .'- **before**:库表结构迁移或初始化。'."\n" - .'- **after**:增量数据迁移或同步的DDL操作。'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'before', - ], + 'schema' => ['description' => '结构定义的类型,取值:'."\n" + ."\n" + .'- **before**:库表结构迁移或初始化。'."\n" + .'- **after**:增量数据迁移或同步的DDL操作。'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'before'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所在地域的ID,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'DTS实例所在地域的ID,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'StructPhase', 'in' => 'query', - 'schema' => [ - 'description' => '过滤项,结构迁移中的表、视图、函数。', - 'type' => 'string', - 'required' => false, - 'example' => 'View', - ], + 'schema' => ['description' => '过滤项,结构迁移中的表、视图、函数。', 'type' => 'string', 'required' => false, 'example' => 'View'], ], [ 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => '过滤项,模糊匹配表名。', - 'type' => 'string', - 'required' => false, - 'example' => 'dewuprop', - ], + 'schema' => ['description' => '过滤项,模糊匹配表名。', 'type' => 'string', 'required' => false, 'example' => 'dewuprop'], ], [ 'name' => 'ZeroEtlJob', 'in' => 'query', - 'schema' => [ - 'description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" - ."\n" - .'- **false**:否。'."\n" - .'- **true**:是。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" + ."\n" + .'- **false**:否。'."\n" + .'- **true**:是。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekz4us4iruleja', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aekz4us4iruleja'], ], ], 'responses' => [ @@ -25048,93 +11660,34 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'State' => [ - 'description' => '子任务的执行状态,返回值为:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Checking**:检查中。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:失败。'."\n" - .'- **Catched**:增量迁移或同步中。'."\n" - .'- **Finished**:完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n" - ."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'PageRecordCount' => [ - 'description' => '当前页可展示的最大记录数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'Total' => [ - 'description' => '子任务的总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'HttpStatusCode' => [ - 'description' => '状态码。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'C096FA97-B6BA-4575-899D-61E12B59****', - ], - 'JobName' => [ - 'description' => '所查询子任务的名称。', - 'type' => 'string', - 'example' => '预检查', - ], - 'JobId' => [ - 'description' => '迁移或同步任务ID。', - 'type' => 'string', - 'example' => ' b4my3zg929a****', - ], - 'ErrorItem' => [ - 'description' => '导致子任务失败的具体项目数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ErrorAnalysisItem' => [ - 'description' => '评估失败的项目数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'TotalRecordCount' => [ - 'description' => '总记录数。'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'Code' => [ - 'description' => '任务码,代表所查询的子任务,取值为:'."\n" - ."\n" - .'- **01**:预检查。'."\n" - .'- **02**:库表结构迁移或初始化。'."\n" - .'- **03**:全量迁移或初始化。'."\n" - .'- **04**:增量迁移或同步。', - 'type' => 'string', - 'example' => '01', - ], - 'PageNumber' => [ - 'description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], + 'State' => ['description' => '子任务的执行状态,返回值为:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Checking**:检查中。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:失败。'."\n" + .'- **Catched**:增量迁移或同步中。'."\n" + .'- **Finished**:完成。', 'type' => 'string', 'example' => 'Finished'], + 'Success' => ['description' => '请求是否成功。'."\n" + ."\n", 'type' => 'boolean', 'example' => 'true'], + 'PageRecordCount' => ['description' => '当前页可展示的最大记录数。', 'type' => 'integer', 'format' => 'int64', 'example' => '20'], + 'Total' => ['description' => '子任务的总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'HttpStatusCode' => ['description' => '状态码。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'C096FA97-B6BA-4575-899D-61E12B59****'], + 'JobName' => ['description' => '所查询子任务的名称。', 'type' => 'string', 'example' => '预检查'], + 'JobId' => ['description' => '迁移或同步任务ID。', 'type' => 'string', 'example' => ' b4my3zg929a****'], + 'ErrorItem' => ['description' => '导致子任务失败的具体项目数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'ErrorAnalysisItem' => ['description' => '评估失败的项目数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'TotalRecordCount' => ['description' => '总记录数。'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100'], + 'Code' => ['description' => '任务码,代表所查询的子任务,取值为:'."\n" + ."\n" + .'- **01**:预检查。'."\n" + .'- **02**:库表结构迁移或初始化。'."\n" + .'- **03**:全量迁移或初始化。'."\n" + .'- **04**:增量迁移或同步。', 'type' => 'string', 'example' => '01'], + 'PageNumber' => ['description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], 'JobProgress' => [ 'description' => '子任务的具体项目列表及项目执行进度。', 'type' => 'array', @@ -25142,138 +11695,42 @@ 'description' => '子任务的具体项目列表及项目执行进度。', 'type' => 'object', 'properties' => [ - 'Skip' => [ - 'description' => '该具体项目失败后,您是否设置跳过该项目。返回值:'."\n" - .'* **true**:是'."\n" - .'* **false**:否', - 'type' => 'boolean', - 'example' => 'false', - ], - 'FinishTime' => [ - 'description' => '具体项目完成时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>ZZ(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-16T08:01:34.000+00:00', - ], - 'IgnoreFlag' => [ - 'description' => '是否直接忽略该具体项目,跳至下一个具体项目,返回值:'."\n" - ."\n" - .'- **N**:否。'."\n" - .'- **Y**:是。', - 'type' => 'string', - 'example' => 'N', - ], - 'DelaySeconds' => [ - 'description' => '增量迁移或同步延迟时间。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'DdlSql' => [ - 'description' => '执行的DDL操作。', - 'type' => 'string', - 'example' => 'CREATE TABLE `dtstestdata`.`order` (\\n`orderid` int(11) COMMENT \'\' NOT NULL , \\n`username` char(32) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NULL , \\n`ordertime` datetime COMMENT \'\' NULL , \\n`commodity` varchar(32) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NULL , \\n`phonenumber` int(11) COMMENT \'\' NULL , \\n`address` text CHARSET `utf8mb4` COLLATE `utf8mb4_general_ci` COMMENT \'\' NULL \\n, PRIMARY KEY (`orderid`)) engine=InnoDB DEFAULT CHARSET=`gbk` DEFAULT COLLATE `gbk_chinese_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\n', - ], - 'State' => [ - 'description' => '具体项目的执行进度状态,返回值为:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Checking**:检查中。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:失败。'."\n" - .'- **Warning**:警告。'."\n" - .'- **Success**:完成。', - 'type' => 'string', - 'example' => 'Success', - ], - 'BootTime' => [ - 'description' => '具体项目启动时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-16T08:01:31.000+00:00', - ], - 'Item' => [ - 'description' => '具体项目的简称。', - 'type' => 'string', - 'example' => 'CHECK_CONN_DEST', - ], - 'Sub' => [ - 'description' => '具体项目的子项目进度。'."\n" - .'> 如返回<b>[]</b>,则表示没有子项目。', - 'type' => 'string', - 'example' => '[]', - ], - 'Total' => [ - 'description' => '子任务的具体项目总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TargetNames' => [ - 'description' => '待迁移或同步的对象名称。', - 'type' => 'string', - 'example' => 'order', - ], - 'CanSkip' => [ - 'description' => 'DTS是否支持在具体项目失败后,跳过该项目。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Names' => [ - 'description' => '具体项目名称。', - 'type' => 'string', - 'example' => 'CHECK_CONN_DEST_DETAIL', - ], - 'ErrDetail' => [ - 'description' => '具体项目出错时的错误详情。', - 'type' => 'string', - 'example' => 'CHECK__ERROR_SAME_OBJ_DETAIL', - ], - 'DiffRow' => [ - 'description' => '本参数即将下线。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'JobId' => [ - 'description' => '子任务ID。', - 'type' => 'string', - 'example' => 'fj1c33ro168****', - ], - 'SourceSchema' => [ - 'description' => '源实例中迁移对象所属数据库名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'DestSchema' => [ - 'description' => '目标实例中迁移对象所属数据库名称。', - 'type' => 'string', - 'example' => 'dtstestdata_new', - ], - 'ParentObj' => [ - 'description' => '本参数即将下线。', - 'type' => 'string', - 'example' => 'demo', - ], - 'ErrMsg' => [ - 'description' => '具体项目出错时的报错提示。', - 'type' => 'string', - 'example' => 'CHECK__ERROR_SAME_OBJ', - ], - 'OrderNum' => [ - 'description' => '项目编号。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RepairMethod' => [ - 'description' => '具体项目未通过时对应的修复方法。', - 'type' => 'string', - 'example' => 'CHECK__ERROR_SAME_OBJ_REPAIR', - ], - 'Id' => [ - 'description' => '记录在元数据库中的ID。', - 'type' => 'string', - 'example' => '5632', - ], + 'Skip' => ['description' => '该具体项目失败后,您是否设置跳过该项目。返回值:'."\n" + .'* **true**:是'."\n" + .'* **false**:否', 'type' => 'boolean', 'example' => 'false'], + 'FinishTime' => ['description' => '具体项目完成时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>ZZ(UTC时间)。', 'type' => 'string', 'example' => '2022-03-16T08:01:34.000+00:00'], + 'IgnoreFlag' => ['description' => '是否直接忽略该具体项目,跳至下一个具体项目,返回值:'."\n" + ."\n" + .'- **N**:否。'."\n" + .'- **Y**:是。', 'type' => 'string', 'example' => 'N'], + 'DelaySeconds' => ['description' => '增量迁移或同步延迟时间。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'DdlSql' => ['description' => '执行的DDL操作。', 'type' => 'string', 'example' => 'CREATE TABLE `dtstestdata`.`order` (\\n`orderid` int(11) COMMENT \'\' NOT NULL , \\n`username` char(32) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NULL , \\n`ordertime` datetime COMMENT \'\' NULL , \\n`commodity` varchar(32) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NULL , \\n`phonenumber` int(11) COMMENT \'\' NULL , \\n`address` text CHARSET `utf8mb4` COLLATE `utf8mb4_general_ci` COMMENT \'\' NULL \\n, PRIMARY KEY (`orderid`)) engine=InnoDB DEFAULT CHARSET=`gbk` DEFAULT COLLATE `gbk_chinese_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\n'], + 'State' => ['description' => '具体项目的执行进度状态,返回值为:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Checking**:检查中。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:失败。'."\n" + .'- **Warning**:警告。'."\n" + .'- **Success**:完成。', 'type' => 'string', 'example' => 'Success'], + 'BootTime' => ['description' => '具体项目启动时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-16T08:01:31.000+00:00'], + 'Item' => ['description' => '具体项目的简称。', 'type' => 'string', 'example' => 'CHECK_CONN_DEST'], + 'Sub' => ['description' => '具体项目的子项目进度。'."\n" + .'> 如返回<b>[]</b>,则表示没有子项目。', 'type' => 'string', 'example' => '[]'], + 'Total' => ['description' => '子任务的具体项目总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'TargetNames' => ['description' => '待迁移或同步的对象名称。', 'type' => 'string', 'example' => 'order'], + 'CanSkip' => ['description' => 'DTS是否支持在具体项目失败后,跳过该项目。', 'type' => 'boolean', 'example' => 'true'], + 'Names' => ['description' => '具体项目名称。', 'type' => 'string', 'example' => 'CHECK_CONN_DEST_DETAIL'], + 'ErrDetail' => ['description' => '具体项目出错时的错误详情。', 'type' => 'string', 'example' => 'CHECK__ERROR_SAME_OBJ_DETAIL'], + 'DiffRow' => ['description' => '本参数即将下线。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'JobId' => ['description' => '子任务ID。', 'type' => 'string', 'example' => 'fj1c33ro168****'], + 'SourceSchema' => ['description' => '源实例中迁移对象所属数据库名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'DestSchema' => ['description' => '目标实例中迁移对象所属数据库名称。', 'type' => 'string', 'example' => 'dtstestdata_new'], + 'ParentObj' => ['description' => '本参数即将下线。', 'type' => 'string', 'example' => 'demo'], + 'ErrMsg' => ['description' => '具体项目出错时的报错提示。', 'type' => 'string', 'example' => 'CHECK__ERROR_SAME_OBJ'], + 'OrderNum' => ['description' => '项目编号。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'RepairMethod' => ['description' => '具体项目未通过时对应的修复方法。', 'type' => 'string', 'example' => 'CHECK__ERROR_SAME_OBJ_REPAIR'], + 'Id' => ['description' => '记录在元数据库中的ID。', 'type' => 'string', 'example' => '5632'], 'Logs' => [ 'description' => '具体报错的执行日志。', 'type' => 'array', @@ -25281,34 +11738,14 @@ 'description' => '具体报错的执行日志。', 'type' => 'object', 'properties' => [ - 'ErrData' => [ - 'description' => '报错信息。', - 'type' => 'string', - 'example' => 'CREATE TABLE `dtstestdata`.`customer` (\\n`runoob_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\n`runoob_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`runoob_author1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`submission_date1216` date COMMENT \'\' NULL \\n, PRIMARY KEY (`runoob_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\n', - ], - 'ErrMsg' => [ - 'description' => '具体项目出错时DTS的报错提示。', - 'type' => 'string', - 'example' => 'DTS-1020042 Execute sql error sql: Table \'customer\' already exists', - ], - 'LogLevel' => [ - 'description' => '日志的级别。', - 'type' => 'string', - 'example' => 'ERROR', - ], - 'ErrType' => [ - 'description' => '报错类型。', - 'type' => 'string', - 'example' => 'ForeignKey', - ], + 'ErrData' => ['description' => '报错信息。', 'type' => 'string', 'example' => 'CREATE TABLE `dtstestdata`.`customer` (\\n`runoob_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\n`runoob_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`runoob_author1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`submission_date1216` date COMMENT \'\' NULL \\n, PRIMARY KEY (`runoob_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\n'], + 'ErrMsg' => ['description' => '具体项目出错时DTS的报错提示。', 'type' => 'string', 'example' => 'DTS-1020042 Execute sql error sql: Table \'customer\' already exists'], + 'LogLevel' => ['description' => '日志的级别。', 'type' => 'string', 'example' => 'ERROR'], + 'ErrType' => ['description' => '报错类型。', 'type' => 'string', 'example' => 'ForeignKey'], ], ], ], - 'Current' => [ - 'description' => '当前运行中的子任务数量。', - 'type' => 'string', - 'example' => '0', - ], + 'Current' => ['description' => '当前运行中的子任务数量。', 'type' => 'string', 'example' => '0'], ], ], ], @@ -25318,168 +11755,54 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'Skip' => [ - 'description' => '该评估项失败后,您是否设置跳过该项目。返回值:'."\n" - .'* **true**:是'."\n" - .'* **false**:否', - 'type' => 'boolean', - 'example' => 'false', - ], - 'FinishTime' => [ - 'description' => '评估任务结束时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-16T08:01:31.000+00:00', - ], - 'IgnoreFlag' => [ - 'description' => '是否直接忽略该具体项目,跳至下一个具体项目,返回值:'."\n" - ."\n" - .'- **N**:否。'."\n" - .'- **Y**:是。', - 'type' => 'string', - 'example' => 'N', - ], - 'DelaySeconds' => [ - 'description' => '任务延迟时间。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'DdlSql' => [ - 'description' => '执行的DDL操作。', - 'type' => 'string', - 'example' => 'CREATE TABLE ****', - ], - 'State' => [ - 'description' => '评估项的结果,返回值为:'."\n" - .'- **Failed**:失败。'."\n" - .'- **Success**:完成。', - 'type' => 'string', - 'example' => 'Success', - ], - 'BootTime' => [ - 'description' => '具体项目启动时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-16T08:01:31.000+00:00', - ], - 'Item' => [ - 'description' => '评估项的名称。', - 'type' => 'string', - 'example' => 'ANALYSIS_MYSQL_4_ITEM', - ], - 'Sub' => [ - 'description' => '具体项目的子项目进度。'."\n" - .'> 如返回<b>[]</b>,则表示没有子项目。', - 'type' => 'string', - 'example' => '[]', - ], - 'Total' => [ - 'description' => '子任务的具体项目总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TargetNames' => [ - 'description' => '目标对象的名称。', - 'type' => 'string', - 'example' => 'testTable', - ], - 'CanSkip' => [ - 'description' => '是否支持跳过该子项目。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Names' => [ - 'description' => '评估项的名称。', - 'type' => 'string', - 'example' => 'ANALYSIS_MYSQL_4_DETAIL', - ], - 'ErrDetail' => [ - 'description' => '项目出错时的错误详情。', - 'type' => 'string', - 'example' => 'ANALYSIS_MYSQL', - ], - 'DiffRow' => [ - 'description' => '本参数即将下线。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'JobId' => [ - 'description' => '评估任务的ID。'."\n", - 'type' => 'string', - 'example' => '11234234xc', - ], - 'SourceSchema' => [ - 'description' => '源实例中迁移对象所属数据库名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'DestSchema' => [ - 'description' => '目标实例中迁移对象所属数据库名称。', - 'type' => 'string', - 'example' => 'dest', - ], - 'ParentObj' => [ - 'description' => '本参数即将下线。', - 'type' => 'string', - 'example' => 'demo', - ], - 'ErrMsg' => [ - 'description' => '具体错误信息。', - 'type' => 'string', - 'example' => 'ANALYSIS_', - ], - 'OrderNum' => [ - 'description' => '评估项的编号。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RepairMethod' => [ - 'description' => '评估项的修复方法。', - 'type' => 'string', - 'example' => 'ANALYSIS_', - ], - 'Id' => [ - 'description' => '该评估项在数据库中的ID。', - 'type' => 'string', - 'example' => '123123', - ], + 'Skip' => ['description' => '该评估项失败后,您是否设置跳过该项目。返回值:'."\n" + .'* **true**:是'."\n" + .'* **false**:否', 'type' => 'boolean', 'example' => 'false'], + 'FinishTime' => ['description' => '评估任务结束时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-16T08:01:31.000+00:00'], + 'IgnoreFlag' => ['description' => '是否直接忽略该具体项目,跳至下一个具体项目,返回值:'."\n" + ."\n" + .'- **N**:否。'."\n" + .'- **Y**:是。', 'type' => 'string', 'example' => 'N'], + 'DelaySeconds' => ['description' => '任务延迟时间。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'DdlSql' => ['description' => '执行的DDL操作。', 'type' => 'string', 'example' => 'CREATE TABLE ****'], + 'State' => ['description' => '评估项的结果,返回值为:'."\n" + .'- **Failed**:失败。'."\n" + .'- **Success**:完成。', 'type' => 'string', 'example' => 'Success'], + 'BootTime' => ['description' => '具体项目启动时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-16T08:01:31.000+00:00'], + 'Item' => ['description' => '评估项的名称。', 'type' => 'string', 'example' => 'ANALYSIS_MYSQL_4_ITEM'], + 'Sub' => ['description' => '具体项目的子项目进度。'."\n" + .'> 如返回<b>[]</b>,则表示没有子项目。', 'type' => 'string', 'example' => '[]'], + 'Total' => ['description' => '子任务的具体项目总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'TargetNames' => ['description' => '目标对象的名称。', 'type' => 'string', 'example' => 'testTable'], + 'CanSkip' => ['description' => '是否支持跳过该子项目。', 'type' => 'boolean', 'example' => 'true'], + 'Names' => ['description' => '评估项的名称。', 'type' => 'string', 'example' => 'ANALYSIS_MYSQL_4_DETAIL'], + 'ErrDetail' => ['description' => '项目出错时的错误详情。', 'type' => 'string', 'example' => 'ANALYSIS_MYSQL'], + 'DiffRow' => ['description' => '本参数即将下线。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'JobId' => ['description' => '评估任务的ID。'."\n", 'type' => 'string', 'example' => '11234234xc'], + 'SourceSchema' => ['description' => '源实例中迁移对象所属数据库名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'DestSchema' => ['description' => '目标实例中迁移对象所属数据库名称。', 'type' => 'string', 'example' => 'dest'], + 'ParentObj' => ['description' => '本参数即将下线。', 'type' => 'string', 'example' => 'demo'], + 'ErrMsg' => ['description' => '具体错误信息。', 'type' => 'string', 'example' => 'ANALYSIS_'], + 'OrderNum' => ['description' => '评估项的编号。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'RepairMethod' => ['description' => '评估项的修复方法。', 'type' => 'string', 'example' => 'ANALYSIS_'], + 'Id' => ['description' => '该评估项在数据库中的ID。', 'type' => 'string', 'example' => '123123'], 'Logs' => [ 'description' => '子评估项目。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ErrData' => [ - 'description' => '报错信息。', - 'type' => 'string', - 'example' => '请修改该对象', - ], - 'ErrMsg' => [ - 'description' => '具体项目出错时DTS的报错提示。', - 'type' => 'string', - 'example' => 'DTS-1020042 Execute sql error sql: Table \'customer\' already exists', - ], - 'LogLevel' => [ - 'description' => '日志的级别。', - 'type' => 'string', - 'example' => 'ERROR', - ], - 'ErrType' => [ - 'description' => '报错类型。', - 'type' => 'string', - 'example' => 'ForeignKey', - ], + 'ErrData' => ['description' => '报错信息。', 'type' => 'string', 'example' => '请修改该对象'], + 'ErrMsg' => ['description' => '具体项目出错时DTS的报错提示。', 'type' => 'string', 'example' => 'DTS-1020042 Execute sql error sql: Table \'customer\' already exists'], + 'LogLevel' => ['description' => '日志的级别。', 'type' => 'string', 'example' => 'ERROR'], + 'ErrType' => ['description' => '报错类型。', 'type' => 'string', 'example' => 'ForeignKey'], ], + 'description' => '', ], ], - 'Current' => [ - 'description' => '当前运行中的子任务数量。', - 'type' => 'string', - 'example' => '0', - ], + 'Current' => ['description' => '当前运行中的子任务数量。', 'type' => 'string', 'example' => '0'], ], + 'description' => '', ], ], 'SubDistributedJobStatus' => [ @@ -25488,230 +11811,91 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'JobName' => [ - 'description' => '任务关联的分布式子任务的名称。', - 'type' => 'string', - 'example' => 'dts.step.struct.load', - ], - 'State' => [ - 'description' => '子任务的执行状态,返回值为:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Checking**:检查中。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:失败。'."\n" - .'- **Catched**:增量迁移或同步中。'."\n" - .'- **Finished**:完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'JobId' => [ - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'n0gm1682j6563np', - ], - 'ErrorItem' => [ - 'description' => '当前执行失败的任务数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Code' => [ - 'description' => '任务码,代表所查询的子任务类型,取值为:'."\n" - ."\n" - .'- **01**:预检查。'."\n" - .'- **02**:库表结构迁移或初始化。'."\n" - .'- **03**:全量迁移或初始化。'."\n" - .'- **04**:增量迁移或同步。', - 'type' => 'string', - 'example' => '02', - ], - 'Total' => [ - 'description' => '返回数据的总数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '11', - ], + 'JobName' => ['description' => '任务关联的分布式子任务的名称。', 'type' => 'string', 'example' => 'dts.step.struct.load'], + 'State' => ['description' => '子任务的执行状态,返回值为:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Checking**:检查中。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:失败。'."\n" + .'- **Catched**:增量迁移或同步中。'."\n" + .'- **Finished**:完成。', 'type' => 'string', 'example' => 'Finished'], + 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'n0gm1682j6563np'], + 'ErrorItem' => ['description' => '当前执行失败的任务数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'Code' => ['description' => '任务码,代表所查询的子任务类型,取值为:'."\n" + ."\n" + .'- **01**:预检查。'."\n" + .'- **02**:库表结构迁移或初始化。'."\n" + .'- **03**:全量迁移或初始化。'."\n" + .'- **04**:增量迁移或同步。', 'type' => 'string', 'example' => '02'], + 'Total' => ['description' => '返回数据的总数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '11'], 'JobProgress' => [ 'description' => '子任务的具体项目列表及项目执行进度。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Skip' => [ - 'description' => '是否有跳过该项工作,返回值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'FinishTime' => [ - 'description' => '完成时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-31T03:36:11.000+00:00', - ], - 'IgnoreFlag' => [ - 'description' => '是否直接忽略该具体项目,跳至下一个具体项目,返回值:'."\n" - ."\n" - .'- **N**:否。'."\n" - .'- **Y**:是。', - 'type' => 'string', - 'example' => 'N', - ], - 'DelaySeconds' => [ - 'description' => '增量迁移或同步延迟时间。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'DdlSql' => [ - 'description' => '执行的DDL操作。', - 'type' => 'string', - 'example' => 'None', - ], - 'State' => [ - 'description' => '子任务的执行状态,返回值为:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Checking**:检查中。'."\n" - .'- **Migrating**:迁移中。'."\n" - .'- **Failed**:失败。'."\n" - .'- **Catched**:增量迁移或同步中。'."\n" - .'- **Finished**:完成。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'BootTime' => [ - 'description' => '具体项目启动时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-30T03:36:11.000+00:00', - ], - 'Item' => [ - 'description' => '具体项目名称。', - 'type' => 'string', - 'example' => 'login_common_time', - ], - 'Sub' => [ - 'description' => '具体项目的子项目进度。'."\n" - .'> 如返回<b>[]</b>,则表示没有子项目。', - 'type' => 'string', - 'example' => '[]', - ], - 'Total' => [ - 'description' => '项目的总条数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '11', - ], - 'TargetNames' => [ - 'description' => '目标对象的名称。', - 'type' => 'string', - 'example' => 'order', - ], - 'CanSkip' => [ - 'description' => 'DTS是否支持在项目失败后,跳过该项目。返回值:'."\n" - .'* **true**:是'."\n" - .'* **false**:否', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Names' => [ - 'description' => '具体项目名称。', - 'type' => 'string', - 'example' => 'metricRuleTargets-20180308houe', - ], - 'ErrDetail' => [ - 'description' => '具体项目出错时的错误详情。', - 'type' => 'string', - 'example' => 'CHECK__ERROR_SAME_OBJ_DETAIL', - ], - 'DiffRow' => [ - 'description' => '本参数即将下线。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => 'None', - ], - 'JobId' => [ - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'l3m1213ye7l****', - ], - 'SourceSchema' => [ - 'description' => '源实例中迁移对象所属数据库名称。', - 'type' => 'string', - 'example' => 'databasetest', - ], - 'DestSchema' => [ - 'description' => '目标实例中迁移对象所属数据库名称。', - 'type' => 'string', - 'example' => 'databasetest', - ], - 'ParentObj' => [ - 'description' => '本参数即将下线。', - 'type' => 'string', - 'example' => 'None', - ], - 'ErrMsg' => [ - 'description' => '具体项目出错时的报错提示。', - 'type' => 'string', - 'example' => 'ODPS project does not exist odps.`huijin', - ], - 'OrderNum' => [ - 'description' => '项目编号。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RepairMethod' => [ - 'description' => '预检查未通过时对应的修复方法。', - 'type' => 'string', - 'example' => 'CHECK__ERROR_SAME_OBJ_REPAIR '."\n", - ], - 'Id' => [ - 'description' => '该条记录在元数据库中的ID。', - 'type' => 'string', - 'example' => '3890****', - ], + 'Skip' => ['description' => '是否有跳过该项工作,返回值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'FinishTime' => ['description' => '完成时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-31T03:36:11.000+00:00'], + 'IgnoreFlag' => ['description' => '是否直接忽略该具体项目,跳至下一个具体项目,返回值:'."\n" + ."\n" + .'- **N**:否。'."\n" + .'- **Y**:是。', 'type' => 'string', 'example' => 'N'], + 'DelaySeconds' => ['description' => '增量迁移或同步延迟时间。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'DdlSql' => ['description' => '执行的DDL操作。', 'type' => 'string', 'example' => 'None'], + 'State' => ['description' => '子任务的执行状态,返回值为:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Suspending**:暂停中。'."\n" + .'- **Checking**:检查中。'."\n" + .'- **Migrating**:迁移中。'."\n" + .'- **Failed**:失败。'."\n" + .'- **Catched**:增量迁移或同步中。'."\n" + .'- **Finished**:完成。', 'type' => 'string', 'example' => 'Finished'], + 'BootTime' => ['description' => '具体项目启动时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-30T03:36:11.000+00:00'], + 'Item' => ['description' => '具体项目名称。', 'type' => 'string', 'example' => 'login_common_time'], + 'Sub' => ['description' => '具体项目的子项目进度。'."\n" + .'> 如返回<b>[]</b>,则表示没有子项目。', 'type' => 'string', 'example' => '[]'], + 'Total' => ['description' => '项目的总条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '11'], + 'TargetNames' => ['description' => '目标对象的名称。', 'type' => 'string', 'example' => 'order'], + 'CanSkip' => ['description' => 'DTS是否支持在项目失败后,跳过该项目。返回值:'."\n" + .'* **true**:是'."\n" + .'* **false**:否', 'type' => 'boolean', 'example' => 'false'], + 'Names' => ['description' => '具体项目名称。', 'type' => 'string', 'example' => 'metricRuleTargets-20180308houe'], + 'ErrDetail' => ['description' => '具体项目出错时的错误详情。', 'type' => 'string', 'example' => 'CHECK__ERROR_SAME_OBJ_DETAIL'], + 'DiffRow' => ['description' => '本参数即将下线。', 'type' => 'integer', 'format' => 'int64', 'example' => 'None'], + 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'l3m1213ye7l****'], + 'SourceSchema' => ['description' => '源实例中迁移对象所属数据库名称。', 'type' => 'string', 'example' => 'databasetest'], + 'DestSchema' => ['description' => '目标实例中迁移对象所属数据库名称。', 'type' => 'string', 'example' => 'databasetest'], + 'ParentObj' => ['description' => '本参数即将下线。', 'type' => 'string', 'example' => 'None'], + 'ErrMsg' => ['description' => '具体项目出错时的报错提示。', 'type' => 'string', 'example' => 'ODPS project does not exist odps.`huijin'], + 'OrderNum' => ['description' => '项目编号。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'RepairMethod' => ['description' => '预检查未通过时对应的修复方法。', 'type' => 'string', 'example' => 'CHECK__ERROR_SAME_OBJ_REPAIR '."\n"], + 'Id' => ['description' => '该条记录在元数据库中的ID。', 'type' => 'string', 'example' => '3890****'], 'Logs' => [ 'description' => '报错的执行日志信息。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ErrData' => [ - 'description' => '报错记录。', - 'type' => 'string', - 'example' => 'CREATE TABLE `dtstestdata`.`customer` (\\n`runoob_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\n`runoob_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`runoob_author1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`submission_date1216` date COMMENT \'\' NULL \\n, PRIMARY KEY (`runoob_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\n', - ], - 'ErrMsg' => [ - 'description' => '具体的错误信息。', - 'type' => 'string', - 'example' => 'get metric list fail', - ], - 'LogLevel' => [ - 'description' => '日志的级别。', - 'type' => 'string', - 'example' => 'INFO', - ], - 'ErrType' => [ - 'description' => '报错的类型。', - 'type' => 'string', - 'example' => 'ForeignKey', - ], + 'ErrData' => ['description' => '报错记录。', 'type' => 'string', 'example' => 'CREATE TABLE `dtstestdata`.`customer` (\\n`runoob_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\n`runoob_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`runoob_author1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`submission_date1216` date COMMENT \'\' NULL \\n, PRIMARY KEY (`runoob_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\n'], + 'ErrMsg' => ['description' => '具体的错误信息。', 'type' => 'string', 'example' => 'get metric list fail'], + 'LogLevel' => ['description' => '日志的级别。', 'type' => 'string', 'example' => 'INFO'], + 'ErrType' => ['description' => '报错的类型。', 'type' => 'string', 'example' => 'ForeignKey'], ], + 'description' => '', ], ], - 'Current' => [ - 'description' => '当前运行中的子任务数量。', - 'type' => 'string', - 'example' => '0', - ], + 'Current' => ['description' => '当前运行中的子任务数量。', 'type' => 'string', 'example' => '0'], ], + 'description' => '', ], ], ], + 'description' => '', ], ], 'FullNetCheckJobStatus' => [ @@ -25720,332 +11904,134 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'JobName' => [ - 'description' => '任务名称。', - 'type' => 'string', - 'example' => 'dts.step.fullnetcheck', - ], - 'State' => [ - 'description' => '检查结果,返回值为:'."\n" - .'- **Failed**:失败。'."\n" - .'- **Success**:完成。', - 'type' => 'string', - 'example' => 'Success', - ], - 'JobId' => [ - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'l3m1213ye7l****', - ], - 'ErrorItem' => [ - 'description' => '预检查失败的项目数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Code' => [ - 'description' => '任务码,**01**代表预检查。', - 'type' => 'string', - 'example' => '01', - ], - 'Total' => [ - 'description' => '项目的总条数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '11', - ], - 'HostRegion' => [ - 'description' => '实例运行节点的地域ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'SrcRegion' => [ - 'description' => '源端网段所属地域ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'DestRegion' => [ - 'description' => '目标端网段所属地域ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'SrcRegionCidr' => [ - 'description' => '源端网段。', - 'type' => 'string', - 'example' => '100.104.XX.XXX/XX', - ], - 'DestRegionCidr' => [ - 'description' => '目标端网段。', - 'type' => 'string', - 'example' => '100.104.XX.XXX/XX', - ], - 'SourceEndpointType' => [ - 'description' => '源实例的接入方式,返回值为:'."\n" - .'- **ALIYUN**:接入方式为**云实例**。'."\n" - .'- **OTHER**:接入方式为**公网IP**。'."\n" - .'- **ECS**:接入方式为**ECS自建数据库**。'."\n" - .'- **EXPRESS**:接入方式为**专线/VPN网关/智能网关**。'."\n" - .'- **CEN**:接入方式为**云企业网CEN**。'."\n" - .'- **DG**:接入方式为**数据库网关DG**。', - 'type' => 'string', - 'example' => 'CEN', - ], - 'DestinationEndpointType' => [ - 'description' => '目标实例的接入方式,返回值为:'."\n" - .'- **ALIYUN**:接入方式为**云实例**。'."\n" - .'- **OTHER**:接入方式为**公网IP**。'."\n" - .'- **ECS**:接入方式为**ECS自建数据库**。'."\n" - .'- **EXPRESS**:接入方式为**专线/VPN网关/智能网关**。'."\n" - .'- **CEN**:接入方式为**云企业网CEN**。'."\n" - .'- **DG**:接入方式为**数据库网关DG**。', - 'type' => 'string', - 'example' => 'CEN', - ], + 'JobName' => ['description' => '任务名称。', 'type' => 'string', 'example' => 'dts.step.fullnetcheck'], + 'State' => ['description' => '检查结果,返回值为:'."\n" + .'- **Failed**:失败。'."\n" + .'- **Success**:完成。', 'type' => 'string', 'example' => 'Success'], + 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'l3m1213ye7l****'], + 'ErrorItem' => ['description' => '预检查失败的项目数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'Code' => ['description' => '任务码,**01**代表预检查。', 'type' => 'string', 'example' => '01'], + 'Total' => ['description' => '项目的总条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '11'], + 'HostRegion' => ['description' => '实例运行节点的地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'SrcRegion' => ['description' => '源端网段所属地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'DestRegion' => ['description' => '目标端网段所属地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'SrcRegionCidr' => ['description' => '源端网段。', 'type' => 'string', 'example' => '100.104.XX.XXX/XX'], + 'DestRegionCidr' => ['description' => '目标端网段。', 'type' => 'string', 'example' => '100.104.XX.XXX/XX'], + 'SourceEndpointType' => ['description' => '源实例的接入方式,返回值为:'."\n" + .'- **ALIYUN**:接入方式为**云实例**。'."\n" + .'- **OTHER**:接入方式为**公网IP**。'."\n" + .'- **ECS**:接入方式为**ECS自建数据库**。'."\n" + .'- **EXPRESS**:接入方式为**专线/VPN网关/智能网关**。'."\n" + .'- **CEN**:接入方式为**云企业网CEN**。'."\n" + .'- **DG**:接入方式为**数据库网关DG**。', 'type' => 'string', 'example' => 'CEN'], + 'DestinationEndpointType' => ['description' => '目标实例的接入方式,返回值为:'."\n" + .'- **ALIYUN**:接入方式为**云实例**。'."\n" + .'- **OTHER**:接入方式为**公网IP**。'."\n" + .'- **ECS**:接入方式为**ECS自建数据库**。'."\n" + .'- **EXPRESS**:接入方式为**专线/VPN网关/智能网关**。'."\n" + .'- **CEN**:接入方式为**云企业网CEN**。'."\n" + .'- **DG**:接入方式为**数据库网关DG**。', 'type' => 'string', 'example' => 'CEN'], 'JobProgress' => [ 'description' => '任务的具体项目列表及项目执行进度。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Skip' => [ - 'description' => '该具体项目失败后,您是否设置跳过该项目。返回值:'."\n" - .'* **true**:是'."\n" - .'* **false**:否', - 'type' => 'boolean', - 'example' => 'false', - ], - 'FinishTime' => [ - 'description' => '任务完成时间,格式为yyyy-MM-ddTHH:mm:ssZ(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-31T03:36:11.000+00:00', - ], - 'IgnoreFlag' => [ - 'description' => '是否直接忽略该具体项目,跳至下一个具体项目,返回值:'."\n" - ."\n" - .'- **N**:否。'."\n" - .'- **Y**:是。', - 'type' => 'string', - 'example' => 'N', - ], - 'DelaySeconds' => [ - 'description' => '任务延迟时间。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'DdlSql' => [ - 'description' => '执行的DDL操作。', - 'type' => 'string', - 'example' => 'CREATE TABLE ****', - ], - 'State' => [ - 'description' => '检查结果,返回值为:'."\n" - .'- **Failed**:失败。'."\n" - .'- **Success**:完成。', - 'type' => 'string', - 'example' => 'Success', - ], - 'BootTime' => [ - 'description' => '具体项目启动时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2022-03-30T03:36:11.000+00:00', - ], - 'Item' => [ - 'description' => '具体项目名称。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC', - ], - 'Sub' => [ - 'description' => '具体项目的子项目进度。'."\n" - .'> 如返回<b>[]</b>,则表示没有子项目。', - 'type' => 'string', - 'example' => '[]', - ], - 'Total' => [ - 'description' => '项目的总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '11', - ], - 'TargetNames' => [ - 'description' => '目标对象的名称。', - 'type' => 'string', - 'example' => 'order', - ], - 'CanSkip' => [ - 'description' => 'DTS是否支持在项目失败后,跳过该项目。返回值:'."\n" - .'* **true**:是'."\n" - .'* **false**:否', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Names' => [ - 'description' => '具体项目名称。', - 'type' => 'string', - 'example' => 'CHECK_CONN_SRC_DETAIL', - ], - 'ErrDetail' => [ - 'description' => '具体项目出错时的错误详情。', - 'type' => 'string', - 'example' => 'CHECK__ERROR_SAME_OBJ_DETAIL', - ], - 'DiffRow' => [ - 'description' => '本参数即将下线。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'JobId' => [ - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'l3m1213ye7l****', - ], - 'SourceSchema' => [ - 'description' => '源实例中迁移对象所属数据库名称。', - 'type' => 'string', - 'example' => 'dtstestdata', - ], - 'DestSchema' => [ - 'description' => '目标实例中迁移对象所属数据库名称。', - 'type' => 'string', - 'example' => 'dest', - ], - 'ParentObj' => [ - 'description' => '本参数即将下线。', - 'type' => 'string', - 'example' => 'demo', - ], - 'ErrMsg' => [ - 'description' => '具体项目出错时的报错提示。', - 'type' => 'string', - 'example' => 'ODPS project does not exist odps.`huijin', - ], - 'OrderNum' => [ - 'description' => '项目编号。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RepairMethod' => [ - 'description' => '预检查未通过时对应的修复方法。', - 'type' => 'string', - 'example' => 'CHECK__ERROR_SAME_OBJ_REPAIR', - ], - 'Id' => [ - 'description' => '该条记录在元数据库中的ID。', - 'type' => 'string', - 'example' => '922305811766881****', - ], + 'Skip' => ['description' => '该具体项目失败后,您是否设置跳过该项目。返回值:'."\n" + .'* **true**:是'."\n" + .'* **false**:否', 'type' => 'boolean', 'example' => 'false'], + 'FinishTime' => ['description' => '任务完成时间,格式为yyyy-MM-ddTHH:mm:ssZ(UTC时间)。', 'type' => 'string', 'example' => '2022-03-31T03:36:11.000+00:00'], + 'IgnoreFlag' => ['description' => '是否直接忽略该具体项目,跳至下一个具体项目,返回值:'."\n" + ."\n" + .'- **N**:否。'."\n" + .'- **Y**:是。', 'type' => 'string', 'example' => 'N'], + 'DelaySeconds' => ['description' => '任务延迟时间。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'DdlSql' => ['description' => '执行的DDL操作。', 'type' => 'string', 'example' => 'CREATE TABLE ****'], + 'State' => ['description' => '检查结果,返回值为:'."\n" + .'- **Failed**:失败。'."\n" + .'- **Success**:完成。', 'type' => 'string', 'example' => 'Success'], + 'BootTime' => ['description' => '具体项目启动时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2022-03-30T03:36:11.000+00:00'], + 'Item' => ['description' => '具体项目名称。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC'], + 'Sub' => ['description' => '具体项目的子项目进度。'."\n" + .'> 如返回<b>[]</b>,则表示没有子项目。', 'type' => 'string', 'example' => '[]'], + 'Total' => ['description' => '项目的总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '11'], + 'TargetNames' => ['description' => '目标对象的名称。', 'type' => 'string', 'example' => 'order'], + 'CanSkip' => ['description' => 'DTS是否支持在项目失败后,跳过该项目。返回值:'."\n" + .'* **true**:是'."\n" + .'* **false**:否', 'type' => 'boolean', 'example' => 'false'], + 'Names' => ['description' => '具体项目名称。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC_DETAIL'], + 'ErrDetail' => ['description' => '具体项目出错时的错误详情。', 'type' => 'string', 'example' => 'CHECK__ERROR_SAME_OBJ_DETAIL'], + 'DiffRow' => ['description' => '本参数即将下线。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'l3m1213ye7l****'], + 'SourceSchema' => ['description' => '源实例中迁移对象所属数据库名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'DestSchema' => ['description' => '目标实例中迁移对象所属数据库名称。', 'type' => 'string', 'example' => 'dest'], + 'ParentObj' => ['description' => '本参数即将下线。', 'type' => 'string', 'example' => 'demo'], + 'ErrMsg' => ['description' => '具体项目出错时的报错提示。', 'type' => 'string', 'example' => 'ODPS project does not exist odps.`huijin'], + 'OrderNum' => ['description' => '项目编号。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'RepairMethod' => ['description' => '预检查未通过时对应的修复方法。', 'type' => 'string', 'example' => 'CHECK__ERROR_SAME_OBJ_REPAIR'], + 'Id' => ['description' => '该条记录在元数据库中的ID。', 'type' => 'string', 'example' => '922305811766881****'], 'Logs' => [ 'description' => '报错的执行日志信息。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ErrData' => [ - 'description' => '报错记录。', - 'type' => 'string', - 'example' => 'CREATE TABLE `dtstestdata`.`customer` ****', - ], - 'ErrMsg' => [ - 'description' => '具体的错误信息。', - 'type' => 'string', - 'example' => 'get metric list fail', - ], - 'LogLevel' => [ - 'description' => '日志的级别。', - 'type' => 'string', - 'example' => 'INFO', - ], - 'ErrType' => [ - 'description' => '报错的类型。', - 'type' => 'string', - 'example' => 'ForeignKey', - ], + 'ErrData' => ['description' => '报错记录。', 'type' => 'string', 'example' => 'CREATE TABLE `dtstestdata`.`customer` ****'], + 'ErrMsg' => ['description' => '具体的错误信息。', 'type' => 'string', 'example' => 'get metric list fail'], + 'LogLevel' => ['description' => '日志的级别。', 'type' => 'string', 'example' => 'INFO'], + 'ErrType' => ['description' => '报错的类型。', 'type' => 'string', 'example' => 'ForeignKey'], ], + 'description' => '', ], ], - 'Current' => [ - 'description' => '当前运行中的任务数量。', - 'type' => 'string', - 'example' => '0', - ], + 'Current' => ['description' => '当前运行中的任务数量。', 'type' => 'string', 'example' => '0'], ], + 'description' => '', ], ], ], + 'description' => '', ], ], 'NetworkDiagnosisResult' => [ 'description' => '网络诊断结果。', 'type' => 'object', 'properties' => [ - 'ModelVersion' => [ - 'description' => '诊断模型版本。', - 'type' => 'string', - 'example' => 'network-v0.2', - ], + 'ModelVersion' => ['description' => '诊断模型版本。', 'type' => 'string', 'example' => 'network-v0.2'], 'Diagnosis' => [ 'description' => '网络诊断报告。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'EndpointType' => [ - 'description' => '接入端,返回值为:'."\n" - .'- **source**:源端。'."\n" - .'- **destination**:目标端。'."\n" - .'- **unknown**:未知。', - 'type' => 'string', - 'example' => 'source', - ], - 'Code' => [ - 'description' => '诊断代码。', - 'type' => 'string', - 'example' => 'dts.kunlun.diagnosis.network.express_doc', - ], - 'CnDocUrl' => [ - 'description' => '中国地区文档地址。', - 'type' => 'string', - 'example' => 'https://***.ali***.com/document_detail/470447.html', - ], - 'InternationalDocUrl' => [ - 'description' => '海外地区文档地址。', - 'type' => 'string', - 'example' => 'https://www.ali***.com/help/en/data-transmission-service/latest/how-to-solve-an-error-when-accessing-a-database-instance-to-dts-using-vpn', - ], - 'Result' => [ - 'description' => '诊断结果的保留字段,默认为空。', - 'type' => 'string', - 'example' => 'none', - ], + 'EndpointType' => ['description' => '接入端,返回值为:'."\n" + .'- **source**:源端。'."\n" + .'- **destination**:目标端。'."\n" + .'- **unknown**:未知。', 'type' => 'string', 'example' => 'source'], + 'Code' => ['description' => '诊断代码。', 'type' => 'string', 'example' => 'dts.kunlun.diagnosis.network.express_doc'], + 'CnDocUrl' => ['description' => '中国地区文档地址。', 'type' => 'string', 'example' => 'https://***.ali***.com/document_detail/470447.html'], + 'InternationalDocUrl' => ['description' => '海外地区文档地址。', 'type' => 'string', 'example' => 'https://www.ali***.com/help/en/data-transmission-service/latest/how-to-solve-an-error-when-accessing-a-database-instance-to-dts-using-vpn'], + 'Result' => ['description' => '诊断结果的保留字段,默认为空。', 'type' => 'string', 'example' => 'none'], ], + 'description' => '', ], ], ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"State\\": \\"Finished\\",\\n \\"Success\\": true,\\n \\"PageRecordCount\\": 20,\\n \\"Total\\": 0,\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"C096FA97-B6BA-4575-899D-61E12B59****\\",\\n \\"JobName\\": \\"预检查\\",\\n \\"JobId\\": \\" b4my3zg929a****\\",\\n \\"ErrorItem\\": 0,\\n \\"ErrorAnalysisItem\\": 0,\\n \\"TotalRecordCount\\": 100,\\n \\"Code\\": \\"01\\",\\n \\"PageNumber\\": 1,\\n \\"JobProgress\\": [\\n {\\n \\"Skip\\": false,\\n \\"FinishTime\\": \\"2022-03-16T08:01:34.000+00:00\\",\\n \\"IgnoreFlag\\": \\"N\\",\\n \\"DelaySeconds\\": 0,\\n \\"DdlSql\\": \\"CREATE TABLE `dtstestdata`.`order` (\\\\\\\\n`orderid` int(11) COMMENT \'\' NOT NULL , \\\\\\\\n`username` char(32) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NULL , \\\\\\\\n`ordertime` datetime COMMENT \'\' NULL , \\\\\\\\n`commodity` varchar(32) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NULL , \\\\\\\\n`phonenumber` int(11) COMMENT \'\' NULL , \\\\\\\\n`address` text CHARSET `utf8mb4` COLLATE `utf8mb4_general_ci` COMMENT \'\' NULL \\\\\\\\n, PRIMARY KEY (`orderid`)) engine=InnoDB DEFAULT CHARSET=`gbk` DEFAULT COLLATE `gbk_chinese_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\\\\\\\n\\",\\n \\"State\\": \\"Success\\",\\n \\"BootTime\\": \\"2022-03-16T08:01:31.000+00:00\\",\\n \\"Item\\": \\"CHECK_CONN_DEST\\",\\n \\"Sub\\": \\"[]\\",\\n \\"Total\\": 1,\\n \\"TargetNames\\": \\"order\\",\\n \\"CanSkip\\": true,\\n \\"Names\\": \\"CHECK_CONN_DEST_DETAIL\\",\\n \\"ErrDetail\\": \\"CHECK__ERROR_SAME_OBJ_DETAIL\\",\\n \\"DiffRow\\": 1,\\n \\"JobId\\": \\"fj1c33ro168****\\",\\n \\"SourceSchema\\": \\"dtstestdata\\",\\n \\"DestSchema\\": \\"dtstestdata_new\\",\\n \\"ParentObj\\": \\"demo\\",\\n \\"ErrMsg\\": \\"CHECK__ERROR_SAME_OBJ\\",\\n \\"OrderNum\\": 10,\\n \\"RepairMethod\\": \\"CHECK__ERROR_SAME_OBJ_REPAIR\\",\\n \\"Id\\": \\"5632\\",\\n \\"Logs\\": [\\n {\\n \\"ErrData\\": \\"CREATE TABLE `dtstestdata`.`customer` (\\\\\\\\n`runoob_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\\\\\\\n`runoob_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`runoob_author1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`submission_date1216` date COMMENT \'\' NULL \\\\\\\\n, PRIMARY KEY (`runoob_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\\\\\\\n\\",\\n \\"ErrMsg\\": \\"DTS-1020042 Execute sql error sql: Table \'customer\' already exists\\",\\n \\"LogLevel\\": \\"ERROR\\",\\n \\"ErrType\\": \\"ForeignKey\\"\\n }\\n ],\\n \\"Current\\": \\"0\\"\\n }\\n ],\\n \\"AnalysisJobProgress\\": [\\n {\\n \\"Skip\\": false,\\n \\"FinishTime\\": \\"2022-03-16T08:01:31.000+00:00\\",\\n \\"IgnoreFlag\\": \\"N\\",\\n \\"DelaySeconds\\": 0,\\n \\"DdlSql\\": \\"CREATE TABLE ****\\",\\n \\"State\\": \\"Success\\",\\n \\"BootTime\\": \\"2022-03-16T08:01:31.000+00:00\\",\\n \\"Item\\": \\"ANALYSIS_MYSQL_4_ITEM\\",\\n \\"Sub\\": \\"[]\\",\\n \\"Total\\": 1,\\n \\"TargetNames\\": \\"testTable\\",\\n \\"CanSkip\\": true,\\n \\"Names\\": \\"ANALYSIS_MYSQL_4_DETAIL\\",\\n \\"ErrDetail\\": \\"ANALYSIS_MYSQL\\",\\n \\"DiffRow\\": 1,\\n \\"JobId\\": \\"11234234xc\\",\\n \\"SourceSchema\\": \\"dtstestdata\\",\\n \\"DestSchema\\": \\"dest\\",\\n \\"ParentObj\\": \\"demo\\",\\n \\"ErrMsg\\": \\"ANALYSIS_\\",\\n \\"OrderNum\\": 10,\\n \\"RepairMethod\\": \\"ANALYSIS_\\",\\n \\"Id\\": \\"123123\\",\\n \\"Logs\\": [\\n {\\n \\"ErrData\\": \\"请修改该对象\\",\\n \\"ErrMsg\\": \\"DTS-1020042 Execute sql error sql: Table \'customer\' already exists\\",\\n \\"LogLevel\\": \\"ERROR\\",\\n \\"ErrType\\": \\"ForeignKey\\"\\n }\\n ],\\n \\"Current\\": \\"0\\"\\n }\\n ],\\n \\"SubDistributedJobStatus\\": [\\n {\\n \\"JobName\\": \\"dts.step.struct.load\\",\\n \\"State\\": \\"Finished\\",\\n \\"JobId\\": \\"n0gm1682j6563np\\",\\n \\"ErrorItem\\": 0,\\n \\"Code\\": \\"02\\",\\n \\"Total\\": 11,\\n \\"JobProgress\\": [\\n {\\n \\"Skip\\": true,\\n \\"FinishTime\\": \\"2022-03-31T03:36:11.000+00:00\\",\\n \\"IgnoreFlag\\": \\"N\\",\\n \\"DelaySeconds\\": 0,\\n \\"DdlSql\\": \\"None\\",\\n \\"State\\": \\"Finished\\",\\n \\"BootTime\\": \\"2022-03-30T03:36:11.000+00:00\\",\\n \\"Item\\": \\"login_common_time\\",\\n \\"Sub\\": \\"[]\\",\\n \\"Total\\": 11,\\n \\"TargetNames\\": \\"order\\",\\n \\"CanSkip\\": false,\\n \\"Names\\": \\"metricRuleTargets-20180308houe\\",\\n \\"ErrDetail\\": \\"CHECK__ERROR_SAME_OBJ_DETAIL\\",\\n \\"DiffRow\\": 0,\\n \\"JobId\\": \\"l3m1213ye7l****\\",\\n \\"SourceSchema\\": \\"databasetest\\",\\n \\"DestSchema\\": \\"databasetest\\",\\n \\"ParentObj\\": \\"None\\",\\n \\"ErrMsg\\": \\"ODPS project does not exist odps.`huijin\\",\\n \\"OrderNum\\": 1,\\n \\"RepairMethod\\": \\"CHECK__ERROR_SAME_OBJ_REPAIR\\\\t\\\\n\\",\\n \\"Id\\": \\"3890****\\",\\n \\"Logs\\": [\\n {\\n \\"ErrData\\": \\"CREATE TABLE `dtstestdata`.`customer` (\\\\\\\\n`runoob_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\\\\\\\n`runoob_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`runoob_author1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`submission_date1216` date COMMENT \'\' NULL \\\\\\\\n, PRIMARY KEY (`runoob_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\\\\\\\n\\",\\n \\"ErrMsg\\": \\"get metric list fail\\",\\n \\"LogLevel\\": \\"INFO\\",\\n \\"ErrType\\": \\"ForeignKey\\"\\n }\\n ],\\n \\"Current\\": \\"0\\"\\n }\\n ]\\n }\\n ],\\n \\"FullNetCheckJobStatus\\": [\\n {\\n \\"JobName\\": \\"dts.step.fullnetcheck\\",\\n \\"State\\": \\"Success\\",\\n \\"JobId\\": \\"l3m1213ye7l****\\",\\n \\"ErrorItem\\": 0,\\n \\"Code\\": \\"01\\",\\n \\"Total\\": 11,\\n \\"HostRegion\\": \\"cn-hangzhou\\",\\n \\"SrcRegion\\": \\"cn-hangzhou\\",\\n \\"DestRegion\\": \\"cn-hangzhou\\",\\n \\"SrcRegionCidr\\": \\"100.104.XX.XXX/XX\\",\\n \\"DestRegionCidr\\": \\"100.104.XX.XXX/XX\\",\\n \\"SourceEndpointType\\": \\"CEN\\",\\n \\"DestinationEndpointType\\": \\"CEN\\",\\n \\"JobProgress\\": [\\n {\\n \\"Skip\\": false,\\n \\"FinishTime\\": \\"2022-03-31T03:36:11.000+00:00\\",\\n \\"IgnoreFlag\\": \\"N\\",\\n \\"DelaySeconds\\": 0,\\n \\"DdlSql\\": \\"CREATE TABLE ****\\",\\n \\"State\\": \\"Success\\",\\n \\"BootTime\\": \\"2022-03-30T03:36:11.000+00:00\\",\\n \\"Item\\": \\"CHECK_CONN_SRC\\",\\n \\"Sub\\": \\"[]\\",\\n \\"Total\\": 11,\\n \\"TargetNames\\": \\"order\\",\\n \\"CanSkip\\": false,\\n \\"Names\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"ErrDetail\\": \\"CHECK__ERROR_SAME_OBJ_DETAIL\\",\\n \\"DiffRow\\": 1,\\n \\"JobId\\": \\"l3m1213ye7l****\\",\\n \\"SourceSchema\\": \\"dtstestdata\\",\\n \\"DestSchema\\": \\"dest\\",\\n \\"ParentObj\\": \\"demo\\",\\n \\"ErrMsg\\": \\"ODPS project does not exist odps.`huijin\\",\\n \\"OrderNum\\": 1,\\n \\"RepairMethod\\": \\"CHECK__ERROR_SAME_OBJ_REPAIR\\",\\n \\"Id\\": \\"922305811766881****\\",\\n \\"Logs\\": [\\n {\\n \\"ErrData\\": \\"CREATE TABLE `dtstestdata`.`customer` ****\\",\\n \\"ErrMsg\\": \\"get metric list fail\\",\\n \\"LogLevel\\": \\"INFO\\",\\n \\"ErrType\\": \\"ForeignKey\\"\\n }\\n ],\\n \\"Current\\": \\"0\\"\\n }\\n ]\\n }\\n ],\\n \\"NetworkDiagnosisResult\\": {\\n \\"ModelVersion\\": \\"network-v0.2\\",\\n \\"Diagnosis\\": [\\n {\\n \\"EndpointType\\": \\"source\\",\\n \\"Code\\": \\"dts.kunlun.diagnosis.network.express_doc\\",\\n \\"CnDocUrl\\": \\"https://***.ali***.com/document_detail/470447.html\\",\\n \\"InternationalDocUrl\\": \\"https://www.ali***.com/help/en/data-transmission-service/latest/how-to-solve-an-error-when-accessing-a-database-instance-to-dts-using-vpn\\",\\n \\"Result\\": \\"none\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribePreCheckStatusResponse>\\n <State>Finished</State>\\n <Success>true</Success>\\n <PageRecordCount>20</PageRecordCount>\\n <Total>0</Total>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>C096FA97-B6BA-4575-899D-61E12B59****</RequestId>\\n <JobName>预检查</JobName>\\n <JobId> b4my3zg929a****</JobId>\\n <ErrorItem>0</ErrorItem>\\n <ErrorAnalysisItem>0</ErrorAnalysisItem>\\n <TotalRecordCount>100</TotalRecordCount>\\n <Code>01</Code>\\n <PageNumber>1</PageNumber>\\n <JobProgress>\\n <Skip>false</Skip>\\n <FinishTime>2022-03-16T08:01:34.000+00:00</FinishTime>\\n <IgnoreFlag>N</IgnoreFlag>\\n <DelaySeconds>0</DelaySeconds>\\n <DdlSql>CREATE TABLE `dtstestdata`.`order` (\\\\n`orderid` int(11) COMMENT \'\' NOT NULL , \\\\n`username` char(32) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NULL , \\\\n`ordertime` datetime COMMENT \'\' NULL , \\\\n`commodity` varchar(32) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NULL , \\\\n`phonenumber` int(11) COMMENT \'\' NULL , \\\\n`address` text CHARSET `utf8mb4` COLLATE `utf8mb4_general_ci` COMMENT \'\' NULL \\\\n, PRIMARY KEY (`orderid`)) engine=InnoDB DEFAULT CHARSET=`gbk` DEFAULT COLLATE `gbk_chinese_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\\\n</DdlSql>\\n <State>Success</State>\\n <BootTime>2022-03-16T08:01:31.000+00:00</BootTime>\\n <Item>CHECK_CONN_DEST</Item>\\n <Sub>[]</Sub>\\n <Total>1</Total>\\n <TargetNames>order</TargetNames>\\n <CanSkip>true</CanSkip>\\n <Names>CHECK_CONN_DEST_DETAIL</Names>\\n <ErrDetail>CHECK__ERROR_SAME_OBJ_DETAIL</ErrDetail>\\n <DiffRow>1</DiffRow>\\n <JobId>fj1c33ro168****</JobId>\\n <SourceSchema>dtstestdata</SourceSchema>\\n <DestSchema>dtstestdata_new</DestSchema>\\n <ParentObj>demo</ParentObj>\\n <ErrMsg>CHECK__ERROR_SAME_OBJ</ErrMsg>\\n <OrderNum>10</OrderNum>\\n <RepairMethod>CHECK__ERROR_SAME_OBJ_REPAIR</RepairMethod>\\n <Id>5632</Id>\\n <Current>0</Current>\\n </JobProgress>\\n <AnalysisJobProgress>\\n <Skip>false</Skip>\\n <FinishTime>2022-03-16T08:01:31.000+00:00</FinishTime>\\n <IgnoreFlag>N</IgnoreFlag>\\n <DelaySeconds>0</DelaySeconds>\\n <DdlSql>CREATE TABLE ****</DdlSql>\\n <State>Success</State>\\n <BootTime>2022-03-16T08:01:31.000+00:00</BootTime>\\n <Item>ANALYSIS_MYSQL_4_ITEM</Item>\\n <Sub>[]</Sub>\\n <Total>1</Total>\\n <TargetNames>testTable</TargetNames>\\n <CanSkip>true</CanSkip>\\n <Names>ANALYSIS_MYSQL_4_DETAIL</Names>\\n <ErrDetail>ANALYSIS_MYSQL</ErrDetail>\\n <DiffRow>1</DiffRow>\\n <JobId>11234234xc</JobId>\\n <SourceSchema>dtstestdata</SourceSchema>\\n <DestSchema>dest</DestSchema>\\n <ParentObj>demo</ParentObj>\\n <ErrMsg>ANALYSIS_</ErrMsg>\\n <OrderNum>10</OrderNum>\\n <RepairMethod>ANALYSIS_</RepairMethod>\\n <Id>123123</Id>\\n <Current>0</Current>\\n </AnalysisJobProgress>\\n <SubDistributedJobStatus>\\n <JobName>dts.step.struct.load</JobName>\\n <State>Finished</State>\\n <JobId>n0gm1682j6563np</JobId>\\n <ErrorItem>0</ErrorItem>\\n <Code>02</Code>\\n <Total>11</Total>\\n <JobProgress>\\n <Skip>true</Skip>\\n <FinishTime>2022-03-31T03:36:11.000+00:00</FinishTime>\\n <IgnoreFlag>N</IgnoreFlag>\\n <DelaySeconds>0</DelaySeconds>\\n <DdlSql>None</DdlSql>\\n <State>Finished</State>\\n <BootTime>2022-03-30T03:36:11.000+00:00</BootTime>\\n <Item>login_common_time</Item>\\n <Sub>[]</Sub>\\n <Total>11</Total>\\n <TargetNames>order</TargetNames>\\n <CanSkip>false</CanSkip>\\n <Names>metricRuleTargets-20180308houe</Names>\\n <ErrDetail>CHECK__ERROR_SAME_OBJ_DETAIL</ErrDetail>\\n <JobId>l3m1213ye7l****</JobId>\\n <SourceSchema>databasetest</SourceSchema>\\n <DestSchema>databasetest</DestSchema>\\n <ParentObj>None</ParentObj>\\n <ErrMsg>ODPS project does not exist odps.`huijin</ErrMsg>\\n <OrderNum>1</OrderNum>\\n <RepairMethod>CHECK__ERROR_SAME_OBJ_REPAIR\\t\\n</RepairMethod>\\n <Id>3890****</Id>\\n <Current>0</Current>\\n </JobProgress>\\n </SubDistributedJobStatus>\\n <FullNetCheckJobStatus>\\n <JobName>dts.step.fullnetcheck</JobName>\\n <State>Success</State>\\n <JobId>l3m1213ye7l****</JobId>\\n <ErrorItem>0</ErrorItem>\\n <Code>01</Code>\\n <Total>11</Total>\\n <HostRegion>cn-hangzhou</HostRegion>\\n <SrcRegion>cn-hangzhou</SrcRegion>\\n <DestRegion>cn-hangzhou</DestRegion>\\n <SrcRegionCidr>100.104.XX.XXX/XX</SrcRegionCidr>\\n <DestRegionCidr>100.104.XX.XXX/XX</DestRegionCidr>\\n <SourceEndpointType>CEN</SourceEndpointType>\\n <DestinationEndpointType>CEN</DestinationEndpointType>\\n <JobProgress>\\n <Skip>false</Skip>\\n <FinishTime>2022-03-31T03:36:11.000+00:00</FinishTime>\\n <IgnoreFlag>N</IgnoreFlag>\\n <DelaySeconds>0</DelaySeconds>\\n <DdlSql>CREATE TABLE ****</DdlSql>\\n <State>Success</State>\\n <BootTime>2022-03-30T03:36:11.000+00:00</BootTime>\\n <Item>CHECK_CONN_SRC</Item>\\n <Sub>[]</Sub>\\n <Total>11</Total>\\n <TargetNames>order</TargetNames>\\n <CanSkip>false</CanSkip>\\n <Names>CHECK_CONN_SRC_DETAIL</Names>\\n <DiffRow>1</DiffRow>\\n <JobId>l3m1213ye7l****</JobId>\\n <SourceSchema>dtstestdata</SourceSchema>\\n <DestSchema>dest</DestSchema>\\n <ParentObj>demo</ParentObj>\\n <OrderNum>1</OrderNum>\\n <RepairMethod>CHECK__ERROR_SAME_OBJ_REPAIR</RepairMethod>\\n <Id>922305811766881****</Id>\\n <Current>0</Current>\\n </JobProgress>\\n </FullNetCheckJobStatus>\\n <NetworkDiagnosisResult>\\n <ModelVersion>network-v0.2</ModelVersion>\\n <Diagnosis>\\n <EndpointType>source</EndpointType>\\n <Code>dts.kunlun.diagnosis.network.express_doc</Code>\\n <CnDocUrl>https://***.ali***.com/document_detail/470447.html</CnDocUrl>\\n <InternationalDocUrl>https://www.ali***.com/help/en/data-transmission-service/latest/how-to-solve-an-error-when-accessing-a-database-instance-to-dts-using-vpn</InternationalDocUrl>\\n </Diagnosis>\\n </NetworkDiagnosisResult>\\n</DescribePreCheckStatusResponse>","errorExample":""}]', @@ -26054,16 +12040,118 @@ 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribePreCheckStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], ], - 'DescribeSubscriptionMeta' => [ - 'methods' => [ - 'post', - 'get', + 'DescribeSubscriptionInstanceAlert' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], ], - 'schemes' => [ - 'http', - 'https', + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '数据订阅实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'SubscriptionInstanceId', + 'in' => 'query', + 'schema' => ['description' => '数据订阅实例ID,可以通过调用DescribeSubscriptionInstances接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsl8zl9ek6292****'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => '用于保证请求的幂等性。由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符,且该参数值中不能包含非ASCII字符。', 'type' => 'string', 'required' => false, 'example' => 'ETnLKlblzczshOTUbOCz****'], + ], + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], + ], ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => '210ec2e116055198849072222d****'], + 'ErrorAlertStatus' => ['description' => '是否监控异常状态,返回值:'."\n" + ."\n" + .'- **enable**:是。'."\n" + .'- **disable**:否。', 'type' => 'string', 'example' => 'enable'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrorAlertPhone' => ['description' => '异常报警的联系人手机号码。', 'type' => 'string', 'example' => '13555*****'], + 'ErrMessage' => ['description' => '调用出错时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'DelayAlertStatus' => ['description' => '是否监控延迟状态,返回值:'."\n" + ."\n" + .'- **enable**:是。'."\n" + .'- **disable**:否。', 'type' => 'string', 'example' => 'enable'], + 'SubscriptionInstanceName' => ['description' => '数据订阅实例名称。'."\n", 'type' => 'string', 'example' => 'test'], + 'DelayAlertPhone' => ['description' => '延迟报警的联系人手机号码。', 'type' => 'string', 'example' => '13465****'], + 'SubscriptionInstanceID' => ['description' => '数据订阅实例ID。', 'type' => 'string', 'example' => 'dtsl8zl9ek6292****'], + 'DelayOverSeconds' => ['description' => '触发延迟报警的阈值,单位为秒且需为整数,建议取值为10秒。', 'type' => 'string', 'example' => '10'], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], + ], + 403 => [ + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ], + 500 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"210ec2e116055198849072222d****\\",\\n \\"ErrorAlertStatus\\": \\"enable\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrorAlertPhone\\": \\"13555*****\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DelayAlertStatus\\": \\"enable\\",\\n \\"SubscriptionInstanceName\\": \\"test\\",\\n \\"DelayAlertPhone\\": \\"13465****\\",\\n \\"SubscriptionInstanceID\\": \\"dtsl8zl9ek6292****\\",\\n \\"DelayOverSeconds\\": \\"10\\"\\n}","type":"json"}]', + 'title' => '查询订阅实例的监控报警', + 'summary' => '查询数据订阅实例的监控报警设置详情。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeSubscriptionInstanceAlert', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + ], + ], + 'DescribeSubscriptionInstanceStatus' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -26071,76 +12159,454 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'Sid', + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '数据订阅实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'SubscriptionInstanceId', + 'in' => 'query', + 'schema' => ['description' => '数据订阅实例ID,可以通过调用[DescribeSubscriptionInstances](~~49442~~)接口查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsy0zz3t13h7d****'], + ], + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], + ], + [ + 'name' => 'ResourceGroupId', 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '消费组ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'z38m91gg2******', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '订阅实例的状态,返回值:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **Starting**:启动中。'."\n" + .'- **Normal**:正常。'."\n" + .'- **Abnormal**:异常。', 'type' => 'string', 'example' => 'Normal'], + 'ErrorMessage' => ['description' => '数据订阅异常的错误提示。'."\n" + ."\n", 'type' => 'string', 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'PayType' => ['description' => '订阅实例的付费类型,返回值:'."\n" + .'- **PrePaid**:包年包月(预付费)。'."\n" + .'- **PostPaid**:按量付费(后付费)。'."\n", 'type' => 'string', 'example' => 'PrePaid'], + 'ConsumptionClient' => ['description' => '下游消费客户端信息,由IP地址和DTS随机生成的随机数组成。'."\n", 'type' => 'string', 'example' => '114.***.***.**:dts********'], + 'ConsumptionCheckpoint' => ['description' => '订阅实例的下游消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2021-03-23T07:30:31Z'], + 'EndTimestamp' => ['description' => '订阅实例中保存的数据范围的截止时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n", 'type' => 'string', 'example' => '2021-03-26T14:03:21Z'], + 'BeginTimestamp' => ['description' => '订阅实例中保存的数据范围的起始时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2021-03-15T08:25:34Z'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'E0845D0A-6D36-4EEB-BE26-CF191E1A****'], + 'SubscribeTopic' => ['description' => '订阅Topic。'."\n" + .'> 当该订阅实例为新版,且调用[CreateConsumerGroup](~~122863~~)接口创建了消费组时,才会返回本参数。', 'type' => 'string', 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2'], + 'SubscriptionInstanceName' => ['description' => '数据订阅实例名称。', 'type' => 'string', 'example' => 'api测试'], + 'SubscriptionInstanceID' => ['description' => '数据订阅实例ID。', 'type' => 'string', 'example' => 'rm-bp1162kryivb8****'], + 'TaskId' => ['description' => '订阅任务ID。', 'type' => 'string', 'example' => 'y0zz3t13h7d****'], + 'SourceEndpoint' => [ + 'description' => '源实例的连接信息。'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => '源库的实例类型。'."\n" + .'> 当该订阅实例为新版时,才会返回该参数。'."\n", 'type' => 'string', 'example' => 'RDS'], + 'InstanceID' => ['description' => '源库的实例ID。'."\n", 'type' => 'string', 'example' => 'rm-bp1162kryivb8****'], + ], + ], + 'SubscriptionDataType' => [ + 'description' => '订阅数据的类型。', + 'type' => 'object', + 'properties' => [ + 'DML' => ['description' => '订阅数据是否包含DML语句,返回值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DDL' => ['description' => '订阅数据是否包含DDL语句,返回值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + ], + ], + 'SubscriptionHost' => [ + 'description' => '订阅实例的连接地址。', + 'type' => 'object', + 'properties' => [ + 'VPCHost' => ['description' => '订阅实例的专有网络VPC(Virtual Private Cloud)连接信息,格式为`地址:端口号`。', 'type' => 'string', 'example' => 'dts-cn-****-vpc.aliyuncs.com:18003'], + 'PublicHost' => ['description' => '订阅实例的公网连接信息,格式为`地址:端口号`。'."\n", 'type' => 'string', 'example' => 'dts-cn-****.aliyuncs.com:18001'], + 'PrivateHost' => ['description' => '订阅实例的私网连接信息,格式为`地址:端口号`。', 'type' => 'string', 'example' => 'dts-cn-****-internal.aliyuncs.com:18002'], + ], + ], + 'SubscriptionObject' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SynchronousObject' => [ + 'description' => '订阅对象。', + 'type' => 'array', + 'items' => [ + 'description' => '订阅对象。', + 'type' => 'object', + 'properties' => [ + 'DatabaseName' => ['description' => '订阅对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'WholeDatabase' => ['description' => '是否订阅整库,返回值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。'."\n", 'type' => 'string', 'example' => 'false'], + 'TableList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Table' => [ + 'description' => '订阅对象的表名。', + 'type' => 'array', + 'items' => ['description' => '订阅对象的表名。', 'type' => 'string', 'example' => 'test1'], + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], + ], + 403 => [ + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ], + 500 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"Normal\\",\\n \\"ErrorMessage\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"ConsumptionCheckpoint\\": \\"2021-03-23T07:30:31Z\\",\\n \\"EndTimestamp\\": \\"2021-03-26T14:03:21Z\\",\\n \\"BeginTimestamp\\": \\"2021-03-15T08:25:34Z\\",\\n \\"RequestId\\": \\"E0845D0A-6D36-4EEB-BE26-CF191E1A****\\",\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"SubscriptionInstanceName\\": \\"api测试\\",\\n \\"SubscriptionInstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"TaskId\\": \\"y0zz3t13h7d****\\",\\n \\"SourceEndpoint\\": {\\n \\"InstanceType\\": \\"RDS\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\"\\n },\\n \\"SubscriptionDataType\\": {\\n \\"DML\\": true,\\n \\"DDL\\": true\\n },\\n \\"SubscriptionHost\\": {\\n \\"VPCHost\\": \\"dts-cn-****-vpc.aliyuncs.com:18003\\",\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\"\\n },\\n \\"SubscriptionObject\\": {\\n \\"SynchronousObject\\": [\\n {\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"WholeDatabase\\": \\"false\\",\\n \\"TableList\\": {\\n \\"Table\\": [\\n \\"test1\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => '查看订阅通道实例状态详情', + 'summary' => '老版查看订阅通道实例状态详情。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeSubscriptionInstanceStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], + ], + ], + 'DescribeSubscriptionInstances' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'DtsInstanceId', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '数据订阅实例所在地域的ID,详情请参见[支持的地域列表](~~49442~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => '每页记录数,取值:**30**、**50**、**100**,默认值为**30**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '30', 'default' => '30'], + ], + [ + 'name' => 'PageNum', + 'in' => 'query', + 'schema' => ['description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1'], + ], + [ + 'name' => 'SubscriptionInstanceName', + 'in' => 'query', + 'schema' => ['description' => '订阅实例名称。'."\n" + .'> 传入本参数后,DTS将在调用结果中返回包含该名称的订阅实例。', 'type' => 'string', 'required' => false, 'example' => 'MySQL订阅'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****'], + ], + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], + ], + [ + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '分布式订阅的实例ID。'."\n" - ."\n" - .'> 本参数为必填参数。', - 'type' => 'string', + 'description' => '数据迁移实例的标签,作为过滤项,当此项不为空时,仅拥有此标签的实例会返回。', + 'type' => 'array', + 'items' => [ + 'description' => '数据迁移实例的标签,作为过滤项,当此项不为空时,仅拥有此标签的实例会返回。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '标签的键。'."\n" + .'> - N表示传入第几个标签的键。例如:Tag.1.Key表示传入第一个标签的键;Tag.2.Key表示传入第二个标签的键。可以同时查询1~20个标签键。'."\n" + .'- 不允许传入空字符串。'."\n", 'type' => 'string', 'required' => true, 'example' => 'testkey1'], + 'Value' => ['description' => '标签的值。'."\n" + .'>- N表示传入第几个标签的值。例如:Tag.1.Value表示传入第一个标签的值;Tag.2.Value表示传入第二个标签的值。可以同时查询1~20个标签值。'."\n" + .'- 允许传入空字符串。', 'type' => 'string', 'required' => false, 'example' => 'testvalue1'], + ], + 'required' => false, + ], 'required' => false, - 'example' => 'dtsbr4m9luv2******', + 'maxItems' => 11, ], ], [ - 'name' => 'SubMigrationJobIds', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aekz4us4iruleja'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '分布式订阅任务下所有的子订阅任务ID。多个子订阅任务ID间以英文逗号(,)分隔。'."\n" - .'> 本参数和参数**Topics**两者中至少传入一个。推荐填入本参数。', 'type' => 'object', - 'required' => false, - 'example' => '["zsls58agp6f****"]', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => 'FC3BAAF2-74E3-4471-8EB5-96202D6A****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'PageRecordCount' => ['description' => '当前页可展示的最大记录数。'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'TotalRecordCount' => ['description' => '阿里云主账号下所有符合条件的数据订阅实例数量。'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'PageNumber' => ['description' => '页码。'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'SubscriptionInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SubscriptionInstance' => [ + 'description' => '数据订阅实例列表和各订阅实例的详情。', + 'type' => 'array', + 'items' => [ + 'description' => '数据订阅实例列表和各订阅实例的详情。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '订阅实例的状态,返回值为:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **Starting**:启动中。'."\n" + .'- **Normal**:正常。'."\n" + .'- **Abnormal**:异常。', 'type' => 'string', 'example' => 'Normal'], + 'ErrorMessage' => ['description' => '数据订阅异常的错误提示。'."\n" + ."\n", 'type' => 'string', 'example' => 'xxxxxxxx'], + 'PayType' => ['description' => '订阅实例的付费类型,返回值:'."\n" + .'- **PrePaid**:包年包月(预付费)。'."\n" + .'- **PostPaid**:按量付费(后付费)。'."\n", 'type' => 'string', 'example' => 'PrePaid'], + 'ConsumptionClient' => ['description' => '下游链接对应的IP和随机标识信息,其中IP为下游客户端的IP地址,随机标示为DTS生成的随机ID。', 'type' => 'string', 'example' => '114.***.***.**:dts********'], + 'ConsumptionCheckpoint' => ['description' => '订阅实例的下游消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2021-06-21T09:30:31Z'], + 'EndTimestamp' => ['description' => '订阅实例保存数据范围的末尾时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n", 'type' => 'string', 'example' => '2021-06-21T10:17:21Z'], + 'InstanceCreateTime' => ['description' => '订阅实例创建时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n", 'type' => 'string', 'example' => '2021-06-21T02:48:20Z'], + 'BeginTimestamp' => ['description' => '订阅实例保存数据范围的起始时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2021-06-21T08:25:43Z'], + 'SubscribeTopic' => ['description' => '订阅Topic。'."\n" + .'> 当该订阅实例为新版,且调用[CreateConsumerGroup](~~122863~~)接口创建了消费组时,才会返回本参数。', 'type' => 'string', 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2'], + 'SubscriptionInstanceName' => ['description' => '数据订阅实例名称。', 'type' => 'string', 'example' => 'mysql订阅'], + 'SubscriptionInstanceID' => ['description' => '数据订阅实例ID。', 'type' => 'string', 'example' => 'rm-bp1162kryivb8****'], + 'JobCreateTime' => ['description' => '订阅任务创建时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n", 'type' => 'string', 'example' => '2021-06-21T02:48:20Z'], + 'SubscriptionObject' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SynchronousObject' => [ + 'description' => '订阅对象。', + 'type' => 'array', + 'items' => [ + 'description' => '订阅对象。', + 'type' => 'object', + 'properties' => [ + 'DatabaseName' => ['description' => '订阅对象所属数据库的名称。', 'type' => 'string', 'example' => 'dtstestdata'], + 'WholeDatabase' => ['description' => '是否订阅整库,返回值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。'."\n", 'type' => 'string', 'example' => 'false'], + 'TableList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Table' => [ + 'description' => '订阅对象的表名。', + 'type' => 'array', + 'items' => ['description' => '订阅对象的表名。', 'type' => 'string', 'example' => 'test1'], + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + 'description' => '', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签集合。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '标签集合。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '标签键。'."\n", 'type' => 'string', 'example' => 'testkey1'], + 'Value' => ['description' => '标签键对应的标签值。'."\n", 'type' => 'string', 'example' => 'testvalue1'], + ], + ], + ], + ], + 'description' => '', + ], + 'SourceEndpoint' => [ + 'description' => '源实例的连接信息。', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => '源实例类型。'."\n" + .'> 当该订阅实例为新版时,才会返回该参数。'."\n", 'type' => 'string', 'example' => 'RDS'], + 'InstanceID' => ['description' => '源实例ID。', 'type' => 'string', 'example' => 'rm-bp1162kryivb8****'], + ], + ], + 'SubscriptionDataType' => [ + 'description' => '订阅数据的类型。', + 'type' => 'object', + 'properties' => [ + 'DML' => ['description' => '订阅数据是否包含DML语句,返回值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'DDL' => ['description' => '订阅数据是否包含DDL语句,返回值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + ], + ], + 'SubscriptionHost' => [ + 'description' => '订阅实例的连接地址。', + 'type' => 'object', + 'properties' => [ + 'VPCHost' => ['description' => '订阅实例的专有网络VPC(Virtual Private Cloud)连接信息,格式为`地址:端口号`。'."\n", 'type' => 'string', 'example' => 'dts-cn-****-vpc.aliyuncs.com:18003'], + 'PublicHost' => ['description' => '订阅实例的公网连接信息,格式为`地址:端口号`。', 'type' => 'string', 'example' => 'dts-cn-****.aliyuncs.com:18001'], + 'PrivateHost' => ['description' => '订阅实例的私网连接信息,格式为`地址:端口号`。', 'type' => 'string', 'example' => 'dts-cn-****-internal.aliyuncs.com:18002'], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], + ], + 403 => [ + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ], + 500 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FC3BAAF2-74E3-4471-8EB5-96202D6A****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"PageRecordCount\\": 30,\\n \\"Success\\": \\"true\\",\\n \\"TotalRecordCount\\": 1,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PageNumber\\": 1,\\n \\"SubscriptionInstances\\": {\\n \\"SubscriptionInstance\\": [\\n {\\n \\"Status\\": \\"Normal\\",\\n \\"ErrorMessage\\": \\"xxxxxxxx\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"ConsumptionCheckpoint\\": \\"2021-06-21T09:30:31Z\\",\\n \\"EndTimestamp\\": \\"2021-06-21T10:17:21Z\\",\\n \\"InstanceCreateTime\\": \\"2021-06-21T02:48:20Z\\",\\n \\"BeginTimestamp\\": \\"2021-06-21T08:25:43Z\\",\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"SubscriptionInstanceName\\": \\"mysql订阅\\",\\n \\"SubscriptionInstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"JobCreateTime\\": \\"2021-06-21T02:48:20Z\\",\\n \\"SubscriptionObject\\": {\\n \\"SynchronousObject\\": [\\n {\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"WholeDatabase\\": \\"false\\",\\n \\"TableList\\": {\\n \\"Table\\": [\\n \\"test1\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"testkey1\\",\\n \\"Value\\": \\"testvalue1\\"\\n }\\n ]\\n },\\n \\"SourceEndpoint\\": {\\n \\"InstanceType\\": \\"RDS\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\"\\n },\\n \\"SubscriptionDataType\\": {\\n \\"DML\\": true,\\n \\"DDL\\": true\\n },\\n \\"SubscriptionHost\\": {\\n \\"VPCHost\\": \\"dts-cn-****-vpc.aliyuncs.com:18003\\",\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\"\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeSubscriptionInstancesResponse>\\r\\n <TotalRecordCount>1</TotalRecordCount>\\r\\n <PageRecordCount>30</PageRecordCount>\\r\\n <RequestId>FC3BAAF2-74E3-4471-8EB5-96202D6A****</RequestId>\\r\\n <PageNumber>1</PageNumber>\\r\\n <Success>true</Success>\\r\\n <SubscriptionInstances>\\r\\n <SubscriptionInstance>\\r\\n <Status>Normal</Status>\\r\\n <SubscriptionObject>\\r\\n <SynchronousObject>\\r\\n <DatabaseName>dtstestdata</DatabaseName>\\r\\n <WholeDatabase>false</WholeDatabase>\\r\\n <TableList>\\r\\n <Table>test1</Table>\\r\\n </TableList>\\r\\n </SynchronousObject>\\r\\n </SubscriptionObject>\\r\\n <SubscriptionDataType>\\r\\n <DML>true</DML>\\r\\n <DDL>true</DDL>\\r\\n </SubscriptionDataType>\\r\\n <SubscriptionInstanceName>mysql订阅</SubscriptionInstanceName>\\r\\n <SubscriptionHost>\\r\\n <PublicHost>dts-cn-hangzhou.aliyuncs.com:18001</PublicHost>\\r\\n <PrivateHost>dts-cn-hangzhou-internal.aliyuncs.com:18002</PrivateHost>\\r\\n <VPCHost>dts-cn-hangzhou-vpc.aliyuncs.com:18003</VPCHost>\\r\\n </SubscriptionHost>\\r\\n <SubscribeTopic>cn_hangzhou_rm_bp1162kryiv******_dtstest_version2</SubscribeTopic>\\r\\n <SourceEndpoint>\\r\\n <InstanceID>rm-bp1162kryivb8****</InstanceID>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n </SourceEndpoint>\\r\\n <InstanceCreateTime>2021-06-21T10:17:21Z</InstanceCreateTime>\\r\\n <JobCreateTime>2021-06-21T10:17:21Z</JobCreateTime>\\r\\n <EndTimestamp>2021-06-21T10:17:21Z</EndTimestamp>\\r\\n <PayType>PrePaid</PayType>\\r\\n <SubscriptionInstanceID>dtsy0zz3t13h******</SubscriptionInstanceID>\\r\\n <BeginTimestamp>2021-06-21T08:25:43Z</BeginTimestamp>\\r\\n <Tags></Tags>\\r\\n </SubscriptionInstance>\\r\\n </SubscriptionInstances>\\r\\n</DescribeSubscriptionInstancesResponse>","errorExample":""}]', + 'title' => '查询订阅实例列表及各实例详情', + 'summary' => '查询订阅实例列表和各订阅实例详情。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeSubscriptionInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + ], + ], + 'DescribeSubscriptionMeta' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ + [ + 'name' => 'Sid', + 'in' => 'query', + 'schema' => ['description' => '消费组ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'z38m91gg2******'], + ], + [ + 'name' => 'DtsInstanceId', + 'in' => 'query', + 'schema' => ['description' => '分布式订阅的实例ID。'."\n" + ."\n" + .'> 本参数为必填参数。', 'type' => 'string', 'required' => false, 'example' => 'dtsbr4m9luv2******'], + ], + [ + 'name' => 'SubMigrationJobIds', + 'in' => 'query', + 'style' => 'json', + 'schema' => ['description' => '分布式订阅任务下所有的子订阅任务ID。多个子订阅任务ID间以英文逗号(,)分隔。'."\n" + .'> 本参数和参数**Topics**两者中至少传入一个。推荐填入本参数。', 'type' => 'object', 'required' => false, 'example' => '["zsls58agp6f****"]'], + ], [ 'name' => 'Topics', 'in' => 'query', 'style' => 'json', - 'schema' => [ - 'description' => '分布式订阅任务下所有的订阅Topic。多个订阅Topic间以英文逗号(,)分隔。'."\n" - .'> 本参数和参数**SubMigrationJobIds**两者中至少传入一个。推荐填入参数**SubMigrationJobIds**。', - 'type' => 'object', - 'required' => false, - 'example' => '["rm_bp15jj3qi1p8f****"]', - ], + 'schema' => ['description' => '分布式订阅任务下所有的订阅Topic。多个订阅Topic间以英文逗号(,)分隔。'."\n" + .'> 本参数和参数**SubMigrationJobIds**两者中至少传入一个。推荐填入参数**SubMigrationJobIds**。', 'type' => 'object', 'required' => false, 'example' => '["rm_bp15jj3qi1p8f****"]'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '订阅实例所在地域。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '订阅实例所在地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -26148,89 +12614,41 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'C12E7A51-09A4-5796-94BE-08B6DA******', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'C12E7A51-09A4-5796-94BE-08B6DA******'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], 'SubscriptionMetaList' => [ 'description' => '订阅子任务的数据信息。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Sid' => [ - 'description' => '子任务的消费组ID。', - 'type' => 'string', - 'example' => 'z38m91gg2******', - ], - 'Checkpoint' => [ - 'description' => '子任务的消费位点,即客户端消费第一条数据的时间戳。格式为Unix时间戳,单位为秒。'."\n" - .'> Unix时间戳转换工具可用搜索引擎获取。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1610524452', - ], - 'DProxyUrl' => [ - 'description' => '数据订阅通道的网络地址及端口号信息。'."\n", - 'type' => 'string', - 'example' => 'dts-cn-hangzhou.aliyuncs.com:18001', - ], - 'DBList' => [ - 'description' => '子任务的订阅对象。详细定义说明,请参见[迁移、同步或订阅对象说明](~~209545~~)。', - 'type' => 'string', - 'example' => '{\\"dtstestdata\\":{\\"name\\":\\"dtstestdata\\",\\"all\\":false,\\"Table\\":{\\"order\\":{\\"name\\":\\"order\\",\\"all\\":true}}}}', - ], - 'Topic' => [ - 'description' => '子任务的订阅Topic。', - 'type' => 'string', - 'example' => 'cn_hangzhou_rm_bp1n0x0x5tz******_dtstestdata_version2', - ], + 'Sid' => ['description' => '子任务的消费组ID。', 'type' => 'string', 'example' => 'z38m91gg2******'], + 'Checkpoint' => ['description' => '子任务的消费位点,即客户端消费第一条数据的时间戳。格式为Unix时间戳,单位为秒。'."\n" + .'> Unix时间戳转换工具可用搜索引擎获取。', 'type' => 'integer', 'format' => 'int64', 'example' => '1610524452'], + 'DProxyUrl' => ['description' => '数据订阅通道的网络地址及端口号信息。'."\n", 'type' => 'string', 'example' => 'dts-cn-hangzhou.aliyuncs.com:18001'], + 'DBList' => ['description' => '子任务的订阅对象。详细定义说明,请参见[迁移、同步或订阅对象说明](~~209545~~)。', 'type' => 'string', 'example' => '{\\"dtstestdata\\":{\\"name\\":\\"dtstestdata\\",\\"all\\":false,\\"Table\\":{\\"order\\":{\\"name\\":\\"order\\",\\"all\\":true}}}}'], + 'Topic' => ['description' => '子任务的订阅Topic。', 'type' => 'string', 'example' => 'cn_hangzhou_rm_bp1n0x0x5tz******_dtstestdata_version2'], ], + 'description' => '', ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"C12E7A51-09A4-5796-94BE-08B6DA******\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"SubscriptionMetaList\\": [\\n {\\n \\"Sid\\": \\"z38m91gg2******\\",\\n \\"Checkpoint\\": 1610524452,\\n \\"DProxyUrl\\": \\"dts-cn-hangzhou.aliyuncs.com:18001\\",\\n \\"DBList\\": \\"{\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"Table\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"order\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"order\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":true}}}}\\",\\n \\"Topic\\": \\"cn_hangzhou_rm_bp1n0x0x5tz******_dtstestdata_version2\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSubscriptionMetaResponse>\\n <SubscriptionMetaList>\\n <Checkpoint>1610524452</Checkpoint>\\n <DBList>{\\\\\\"dtstestdata\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"dtstestdata\\\\\\",\\\\\\"all\\\\\\":false,\\\\\\"Table\\\\\\":{\\\\\\"order\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"order\\\\\\",\\\\\\"all\\\\\\":true}}}}</DBList>\\n <DProxyUrl>dts-cn-hangzhou.aliyuncs.com:18001</DProxyUrl>\\n <Topic>cn_hangzhou_rm_bp1n0x0x5tz******_dtstestdata_version2</Topic>\\n <Sid>z38m91gg2******</Sid>\\n </SubscriptionMetaList>\\n <RequestId>C12E7A51-09A4-5796-94BE-08B6DA******</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</DescribeSubscriptionMetaResponse>","errorExample":""}]', @@ -26252,106 +12670,67 @@ 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeTagKeys' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeSubscriptionMeta', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeSynchronizationJobAlert' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '当标签值过多时,选择一次返回的个数,默认为20。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '0', - 'example' => '20', - 'default' => '10', - ], - ], - [ - 'name' => 'PageNumber', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '页码,取值为大于0且不超过Integer数据类型的最大值,通常与PageSize搭配使用,默认值为1。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '0', - 'example' => '1', - 'default' => '0', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定订阅通道所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ResourceType', + 'name' => 'SynchronizationJobId', 'in' => 'query', - 'schema' => [ - 'description' => '系统服务规定参数,固定取值为:**ALIYUN::DTS::INSTANCE**。', - 'type' => 'string', - 'required' => false, - 'example' => 'ALIYUN::DTS::INSTANCE', - ], + 'schema' => ['description' => '数据同步实例ID,可以通过调用**DescribeSynchronizationJobs**接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'kxz1170c10p****'], ], [ - 'name' => 'ResourceId', + 'name' => 'SynchronizationDirection', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移、同步或订阅的实例ID,可以通过调用[DescribeDtsJobs](~~209702~~)接口查询。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsl5o11f9029c****', - ], + 'schema' => ['description' => '同步方向,取值:'."\n" + ."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> 默认取值为**Forward**。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ - 'name' => 'Category', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => '标签类型,取值:'."\n" - .'- **System**:系统创建的标签。'."\n" - .'- **Custom**:用户添加的标签。'."\n" - ."\n" - .'> 当值为空时,默认返回可公示的标签。', - 'type' => 'string', - 'required' => false, - 'example' => 'Custom', - ], + 'schema' => ['description' => '用于保证请求的幂等性。由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符,且该参数值中不能包含非ASCII字符。', 'type' => 'string', 'required' => false, 'example' => 'ETnLKlblzczshOTUbOCz****'], ], [ - 'name' => 'RegionId', + 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -26359,194 +12738,218 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Category' => [ - 'description' => '标签类型。', - 'type' => 'string', - 'example' => 'Custom', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'AD110813-9AD6-5F07-BFC8-4C841309****', - ], - 'PageSize' => [ - 'description' => '每页返回标签的数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => '标签的起始页。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => '标签键总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TagKeys' => [ - 'description' => '标签键列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签键。', - 'type' => 'string', - 'example' => '["a","x"]', - ], - ], + 'SynchronizationJobName' => ['description' => '数据同步作业名称。'."\n", 'type' => 'string', 'example' => 'Polar MySQL_TO_RDS MySQL'], + 'ErrorAlertStatus' => ['description' => '是否监控异常状态,返回值:'."\n" + ."\n" + .'- **enable**:是。'."\n" + .'- **disable**:否。', 'type' => 'string', 'example' => 'enable'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'ErrorAlertPhone' => ['description' => '异常报警的联系人手机号码。', 'type' => 'string', 'example' => '1361234****,1371234****'], + 'ErrMessage' => ['description' => '调用出错时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'DelayAlertStatus' => ['description' => '是否监控延迟状态,返回值:'."\n" + ."\n" + .'- **enable**:是。'."\n" + .'- **disable**:否。', 'type' => 'string', 'example' => 'enable'], + 'DelayAlertPhone' => ['description' => '延迟报警的联系人手机号码。', 'type' => 'string', 'example' => '1361234****,1371234****'], + 'DelayOverSeconds' => ['description' => '触发延迟报警的阈值,单位为秒。', 'type' => 'string', 'example' => '10'], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => '210ec20e16055205968635339d****'], + 'SynchronizationJobId' => ['description' => '数据同步实例ID。'."\n", 'type' => 'string', 'example' => 'kxz1170c10p****'], + 'SynchronizationDirection' => ['description' => '同步方向,取值:'."\n" + ."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> 默认取值为**Forward**。', 'type' => 'string', 'example' => 'Forward'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.Category', - 'errorMessage' => 'The specified Category is invalid. Valid values are Custom and System.', - ], - [ - 'errorCode' => 'InvalidParameter.ResourceType', - 'errorMessage' => 'The ResourceType parameter is invalid.', - ], - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SynchronizationJobName\\": \\"Polar MySQL_TO_RDS MySQL\\",\\n \\"ErrorAlertStatus\\": \\"enable\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrorAlertPhone\\": \\"1361234****,1371234****\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DelayAlertStatus\\": \\"enable\\",\\n \\"DelayAlertPhone\\": \\"1361234****,1371234****\\",\\n \\"DelayOverSeconds\\": \\"10\\",\\n \\"RequestId\\": \\"210ec20e16055205968635339d****\\",\\n \\"SynchronizationJobId\\": \\"kxz1170c10p****\\",\\n \\"SynchronizationDirection\\": \\"Forward\\"\\n}","type":"json"}]', + 'title' => '查询同步作业的监控报警', + 'summary' => '查询同步作业的监控报警设置详情。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeSynchronizationJobAlert', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Category\\": \\"Custom\\",\\n \\"RequestId\\": \\"AD110813-9AD6-5F07-BFC8-4C841309****\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 10,\\n \\"TagKeys\\": [\\n \\"[\\\\\\"a\\\\\\",\\\\\\"x\\\\\\"]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeTagKeysResponse>\\n <TotalCount>10</TotalCount>\\n <Category>Custom</Category>\\n <RequestId>AD110813-9AD6-5F07-BFC8-4C841309****</RequestId>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <TagKeys>a</TagKeys>\\n <TagKeys>x</TagKeys>\\n</DescribeTagKeysResponse>","errorExample":""}]', - 'title' => '查找DTS服务所有的标签', - 'summary' => '调用DescribeTagKeys接口查找一个迁移、同步或订阅实例绑定的所有标签。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'DescribeTagValues' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeSynchronizationJobReplicatorCompare' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'PageSize', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '当一个标签键对应多个标签值时,选择一次返回标签值的个数,默认为20。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '0', - 'example' => '20', - 'default' => '10', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'PageNumber', + 'name' => 'SynchronizationJobId', 'in' => 'query', - 'schema' => [ - 'description' => '页码,当一个标签键对应多个标签值时,选择返回的起始页。取值为大于0且不超过Integer数据类型的最大值,通常与PageSize搭配使用,默认值为1。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '0', - 'example' => '1', - 'default' => '0', - ], + 'schema' => ['description' => '数据同步实例ID,可以通过调用[DescribeSynchronizationJobs](~~49454~~)接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsexjk1alb116****'], ], [ - 'name' => 'ResourceType', + 'name' => 'SynchronizationDirection', 'in' => 'query', - 'schema' => [ - 'description' => '系统服务规定参数,固定取值为:**ALIYUN::DTS::INSTANCE**。', - 'type' => 'string', - 'required' => false, - 'example' => 'ALIYUN::DTS::INSTANCE', - ], + 'schema' => ['description' => '指定同步方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 只有当数据同步实例的同步拓扑为双向同步时,才需要传入本参数。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ - 'name' => 'ResourceId', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移、同步或订阅的实例ID,可以通过调用[DescribeDtsJobs](~~209702~~)接口查询。'."\n" - ."\n" - .'> 取值为空时,返回该用户下对应标签键的所有标签值。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsl5o11f9029c****', - ], + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****'], ], [ - 'name' => 'Category', + 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '标签键类型,取值:'."\n" - .'- **Custom**:用户添加的标签键。'."\n" - .'- **System**:系统创建的标签键。'."\n" - ."\n" - .'> 当值为空时,默认返回所有的标签键。', - 'type' => 'string', - 'required' => false, - 'example' => 'Custom', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ - 'name' => 'Key', + 'name' => 'ResourceGroupId', 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '标签的键值。'."\n" - .'> 本参数为必填参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'owner', + 'type' => 'object', + 'properties' => [ + 'SynchronizationReplicatorCompareEnable' => ['description' => '全镜像开关,返回值:'."\n" + .'- **true**:打开。'."\n" + .'- **false**:关闭。', 'type' => 'boolean', 'example' => 'true'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'E6EB407F-C59F-4682-A682-A00FA6A2****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + ], + 'description' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], + ], + 403 => [ + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ], + 500 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SynchronizationReplicatorCompareEnable\\": true,\\n \\"RequestId\\": \\"E6EB407F-C59F-4682-A682-A00FA6A2****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '获取当前镜像匹配开关配置', + 'summary' => '老版获取当前镜像匹配开关配置。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeSynchronizationJobReplicatorCompare', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + ], + ], + 'DescribeSynchronizationJobStatus' => [ + 'summary' => '老版查询同步作业的运行状态。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREdtsDW6WLD'], + ], + 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => [ - 'description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', + 'description' => '数据同步实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', + 'enum' => [ + 'cn-hangzhou', 'cn-shanghai', 'cn-beijing', 'cn-guangzhou', 'cn-shenzhen', 'cn-chengdu', 'cn-heyuan', 'cn-hongkong', 'cn-qingdao', 'cn-zhangbei', 'cn-zhangjiakou', 'us-east-1', 'us-west-1', 'cn-hangzhou-finance', 'cn-shanghai-finance', 'cn-shanghai-finance-1', 'cn-shenzhen-finance', 'cn-shenzhen-finance-1', 'cn-beijing-finance-1', 'cn-huhehaote', + 'cn-north-2-gov-1', 'eu-central-1', 'eu-west-1', 'me-central-1', 'me-east-1', 'ap-northeast-1', 'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-3', 'ap-southeast-5', 'ap-southeast-6', 'ap-southeast-7', 'cn-wulanchabu', 'cn-zhengzhou-jva', 'cn-wuhan-lr', + ], ], ], [ + 'name' => 'SynchronizationJobId', + 'in' => 'query', + 'schema' => ['description' => '数据同步实例ID,可以通过调用[DescribeSynchronizationJobs](~~49454~~)接口查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsexjk1alb116****'], + ], + [ + 'name' => 'SynchronizationDirection', + 'in' => 'query', + 'schema' => ['description' => '同步方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> 默认取值为**Forward**。'."\n" + .'只有当数据同步实例的同步拓扑为双向同步时,本参数传入**Reverse**才会生效。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****'], + ], + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], + ], + [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -26554,91 +12957,227 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Category' => [ - 'description' => '标签键类型。', - 'type' => 'string', - 'example' => 'Custom', + 'SynchronizationJobName' => ['description' => '同步实例名称。'."\n", 'type' => 'string', 'example' => 'MySQL同步'], + 'Status' => ['description' => '同步实例的状态,返回值:'."\n" + ."\n" + .'- **notStarted**:未启动。'."\n" + .'- **prechecking**:预检查中。'."\n" + .'- **precheckFailed**:预检查失败。'."\n" + .'- **initializating**:同步初始化中。'."\n" + .'- **initializeFailed**:同步初始化失败。'."\n" + .'- **synchronizing**:同步中。'."\n" + .'- **failed**:同步失败。'."\n" + .'- **suspending**:暂停。'."\n" + .'- **modifying**:同步对象变更中。'."\n" + .'- **finished**:完成。', 'type' => 'string', 'example' => 'synchronizing'], + 'DataInitialization' => ['description' => '是否执行全量数据初始化,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'string', 'example' => 'true'], + 'Delay' => ['description' => '同步延迟,单位为秒。'."\n", 'type' => 'string', 'example' => '0'], + 'ErrorMessage' => ['description' => '数据同步失败的错误提示。'."\n", 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].'], + 'ExpireTime' => ['description' => '同步实例的到期时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" + .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', 'type' => 'string', 'example' => '2021-03-07T16:00:00Z'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'StructureInitialization' => ['description' => '是否执行结构初始化,返回值:'."\n" + ."\n" + .'- **true**:是'."\n" + .'- **false**:否', 'type' => 'string', 'example' => 'true'], + 'PayType' => ['description' => '同步实例的付费类型,返回值:'."\n" + ."\n" + .'- **PrePaid**:包年包月(预付费)。'."\n" + .'- **PostPaid**:按量付费(后付费)。', 'type' => 'string', 'example' => 'PrePaid'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'SynchronizationJobClass' => ['description' => '同步链路规格。'."\n", 'type' => 'string', 'example' => 'large'], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => 'DACDF659-AFC6-4DC8-ADB8-4569419A4****'], + 'SynchronizationJobId' => ['description' => '数据同步实例ID。', 'type' => 'string', 'example' => 'dtsexjk1alb116****'], + 'DelayMillis' => ['description' => '同步延迟,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '506'], + 'SynchronizationDirection' => ['description' => '同步方向,返回值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。', 'type' => 'string', 'example' => 'Forward'], + 'TaskId' => ['description' => '数据同步任务ID。', 'type' => 'string', 'example' => 'exjk1alb116****'], + 'Checkpoint' => ['description' => '同步最新一条数据的时间戳,格式为Unix时间戳。'."\n" + ."\n" + .'> Unix时间戳转换工具可用搜索引擎获取。', 'type' => 'string', 'example' => '1610616144'], + 'DataInitializationStatus' => [ + 'description' => '全量数据初始化状态。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '全量数据初始化状态,取值包括:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:初始化中。'."\n" + .'- **Failed**:初始化失败。'."\n" + .'- **Finished**:初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '全量数据初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '全量数据初始化失败的错误提示。', 'type' => 'string', 'example' => 'java.lang.NumberFormatException: For input string: ""'], + 'Progress' => ['description' => '已完成全量数据初始化的记录数。', 'type' => 'string', 'example' => '200001'], + ], ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'AD110813-9AD6-5F07-BFC8-4C841309****', + 'DataSynchronizationStatus' => [ + 'description' => '增量数据同步状态。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '增量数据同步状态,取值包括:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:同步中。'."\n" + .'- **Failed**:同步失败。'."\n" + .'- **Finished**:同步完成。', 'type' => 'string', 'example' => 'Finished'], + 'Delay' => ['description' => '增量数据同步延迟,单位为秒。', 'type' => 'string', 'example' => '0'], + 'Percent' => ['description' => '增量数据同步进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '增量数据同步失败的错误提示。', 'type' => 'string', 'example' => '任务失败太久无法恢复'], + 'DelayMillis' => ['description' => '增量数据同步延迟,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '856'], + 'Checkpoint' => ['description' => '同步最新一条数据的时间戳,格式为Unix时间戳。', 'type' => 'string', 'example' => '1610709865'], + ], ], - 'PageSize' => [ - 'description' => '每页返回标签值的数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', + 'DestinationEndpoint' => [ + 'description' => '目标实例的连接信息。', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => '目标实例ID。', 'type' => 'string', 'example' => 'rm-bp162d4tp0500****'], + 'IP' => ['description' => '目标实例的连接地址。', 'type' => 'string', 'example' => '172.16.88.***'], + 'InstanceType' => ['description' => '目标实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'Port' => ['description' => '目标实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'UserName' => ['description' => '目标实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'EngineName' => ['description' => '目标实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], + ], + ], + 'Performance' => [ + 'description' => '同步链路概况信息。', + 'type' => 'object', + 'properties' => [ + 'RPS' => ['description' => '每秒同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。', 'type' => 'string', 'example' => '100'], + 'FLOW' => ['description' => '每秒同步数据的流量,单位为MB/s。'."\n", 'type' => 'string', 'example' => '1'], + ], ], - 'PageNumber' => [ - 'description' => '标签值的起始页。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', + 'PrecheckStatus' => [ + 'description' => '预检查状态。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '预检查结果,返回值:'."\n" + .'- **Success**:通过该项检查。'."\n" + .'- **Failed**:未通过该项检查。', 'type' => 'string', 'example' => 'Success'], + 'Percent' => ['description' => '预检查整体进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'Detail' => [ + 'description' => '各预检查项的执行情况。', + 'type' => 'array', + 'items' => [ + 'description' => '各预检查项的执行情况。', + 'type' => 'object', + 'properties' => [ + 'CheckStatus' => ['description' => '检查结果,返回值:'."\n" + .'- **Success**:通过该项检查。'."\n" + .'- **Failed**:未通过该项检查。', 'type' => 'string', 'example' => 'Success'], + 'ErrorMessage' => ['description' => '预检查未通过的错误提示。'."\n" + .'> 当**CheckStatus**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)'], + 'ItemName' => ['description' => '预检查项目。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC'], + 'RepairMethod' => ['description' => '预检查未通过时对应的修复方法。'."\n" + .'> 当**CheckStatus**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2'], + ], + ], + ], + ], ], - 'TotalCount' => [ - 'description' => '标签键对应标签值的总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '13', + 'SourceEndpoint' => [ + 'description' => '源实例连接信息。', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => '源实例ID。', 'type' => 'string', 'example' => 'rm-bp1i99e8l7913****'], + 'IP' => ['description' => '源实例的连接地址。', 'type' => 'string', 'example' => '172.16.88.***'], + 'InstanceType' => ['description' => '源实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'Port' => ['description' => '源实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'UserName' => ['description' => '源实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'EngineName' => ['description' => '源实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], + ], ], - 'TagValues' => [ - 'description' => '标签信息。', + 'StructureInitializationStatus' => [ + 'description' => '结构初始化状态。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '结构初始化状态,取值包括:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating**:初始化中。'."\n" + .'- **Failed**:初始化失败。'."\n" + .'- **Finished**:初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '结构初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '结构初始化出现异常的错误提示。', 'type' => 'string', 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;'], + 'Progress' => ['description' => '已完成结构初始化的表的数量。', 'type' => 'string', 'example' => '1'], + ], + ], + 'SynchronizationObjects' => [ + 'description' => '同步对象。', 'type' => 'array', 'items' => [ - 'description' => '标签键对应的标签值。', - 'type' => 'string', - 'example' => '["a","x"]', + 'description' => '同步对象。', + 'type' => 'object', + 'properties' => [ + 'NewSchemaName' => ['description' => '待同步的库在目标数据库中映射的名称。', 'type' => 'string', 'example' => 'newdtstestdatabase'], + 'SchemaName' => ['description' => '待同步的库名。', 'type' => 'string', 'example' => 'dtstestdatabase'], + 'TableExcludes' => [ + 'description' => '待同步库中排除的表,这些表将不会被同步。', + 'type' => 'array', + 'items' => [ + 'description' => '待同步库中排除的表,这些表将不会被同步。', + 'type' => 'object', + 'properties' => [ + 'TableName' => ['description' => '排除的表的名称。', 'type' => 'string', 'example' => 'order'], + ], + ], + ], + 'TableIncludes' => [ + 'description' => '待同步的表。', + 'type' => 'array', + 'items' => [ + 'description' => '待同步的表。', + 'type' => 'object', + 'properties' => [ + 'TableName' => ['description' => '待同步表名。', 'type' => 'string', 'example' => 'customer'], + ], + ], + ], + ], ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.Category', - 'errorMessage' => 'The specified Category is invalid. Valid values are Custom and System.', - ], - [ - 'errorCode' => 'InvalidParameter.ResourceType', - 'errorMessage' => 'The ResourceType parameter is invalid.', - ], - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Category\\": \\"Custom\\",\\n \\"RequestId\\": \\"AD110813-9AD6-5F07-BFC8-4C841309****\\",\\n \\"PageSize\\": 20,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 13,\\n \\"TagValues\\": [\\n \\"[\\\\\\"a\\\\\\",\\\\\\"x\\\\\\"]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeTagValuesResponse>\\n <pageNumber>1</pageNumber>\\n <tagValues>a</tagValues>\\n <tagValues>b</tagValues>\\n <totalRecordCount>13</totalRecordCount>\\n <pageRecordCount>10</pageRecordCount>\\n <requestId>AD110813-9AD6-5F07-BFC8-4C841309****</requestId>\\n <success>true</success>\\n <httpStatusCode>200</httpStatusCode>\\n</DescribeTagValuesResponse>","errorExample":""}]', - 'title' => '查找标签键对应的所有值', - 'summary' => '调用DescribeTagValues接口查找一个迁移、同步或订阅实例绑定的标签键对应的所有值。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"SynchronizationJobName\\": \\"MySQL同步\\",\\n \\"Status\\": \\"synchronizing\\",\\n \\"DataInitialization\\": \\"true\\",\\n \\"Delay\\": \\"0\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"ExpireTime\\": \\"2021-03-07T16:00:00Z\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"StructureInitialization\\": \\"true\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"SynchronizationJobClass\\": \\"large\\",\\n \\"RequestId\\": \\"DACDF659-AFC6-4DC8-ADB8-4569419A4****\\",\\n \\"SynchronizationJobId\\": \\"dtsexjk1alb116****\\",\\n \\"DelayMillis\\": 506,\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"TaskId\\": \\"exjk1alb116****\\",\\n \\"Checkpoint\\": \\"1610616144\\",\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"200001\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Delay\\": \\"0\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\",\\n \\"DelayMillis\\": 856,\\n \\"Checkpoint\\": \\"1610709865\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"InstanceId\\": \\"rm-bp162d4tp0500****\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"Performance\\": {\\n \\"RPS\\": \\"100\\",\\n \\"FLOW\\": \\"1\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Success\\",\\n \\"Percent\\": \\"100\\",\\n \\"Detail\\": [\\n {\\n \\"CheckStatus\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"ItemName\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"SourceEndpoint\\": {\\n \\"InstanceId\\": \\"rm-bp1i99e8l7913****\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n },\\n \\"SynchronizationObjects\\": [\\n {\\n \\"NewSchemaName\\": \\"newdtstestdatabase\\",\\n \\"SchemaName\\": \\"dtstestdatabase\\",\\n \\"TableExcludes\\": [\\n {\\n \\"TableName\\": \\"order\\"\\n }\\n ],\\n \\"TableIncludes\\": [\\n {\\n \\"TableName\\": \\"customer\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSynchronizationJobStatusResponse>\\r\\n <TaskId>exjk1alb116****</TaskId>\\r\\n <SynchronizationObjects>\\r\\n <SchemaName>newdtstestdatabase</SchemaName>\\r\\n <NewSchemaName>dtstestdatabase</NewSchemaName>\\r\\n </SynchronizationObjects>\\r\\n <DataInitializationStatus>\\r\\n <Status>Finished</Status>\\r\\n <Progress>200001</Progress>\\r\\n <Percent>100</Percent>\\r\\n </DataInitializationStatus>\\r\\n <Delay>0</Delay>\\r\\n <Success>true</Success>\\r\\n <DelayMillis>0</DelayMillis>\\r\\n <DataInitialization>true</DataInitialization>\\r\\n <SynchronizationJobClass>large</SynchronizationJobClass>\\r\\n <Status>synchronizing</Status>\\r\\n <RequestId>DACDF659-AFC6-4DC8-ADB8-4569419A****</RequestId>\\r\\n <SynchronizationJobName>MySQL同步</SynchronizationJobName>\\r\\n <PayType>PostPaid</PayType>\\r\\n <ErrMessage/>\\r\\n <PrecheckStatus>\\r\\n <Status>Finished</Status>\\r\\n <Percent>100</Percent>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_CONN_SRC</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_AUTH_SRC</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_CONN_DEST</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_AUTH_DEST</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_ON</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_MODE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_ROW_IMAGE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SERVER_ID</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_EXIST</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_ENGINE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_MYSQL_PASSOWRD_FORMAT</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SRC</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SAME_OBJ</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SQL_MODE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SAME_USER</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_TOPOLOGY</ItemName>\\r\\n </Detail>\\r\\n </PrecheckStatus>\\r\\n <Checkpoint>1610616144</Checkpoint>\\r\\n <SynchronizationJobId>dtsexjk1alb116****</SynchronizationJobId>\\r\\n <DestinationEndpoint>\\r\\n <InstanceId>rm-bp1u40w1ip917****</InstanceId>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </DestinationEndpoint>\\r\\n <SourceEndpoint>\\r\\n <InstanceId>rm-bp1i99e8l7913****</InstanceId>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </SourceEndpoint>\\r\\n <StructureInitialization>true</StructureInitialization>\\r\\n <Performance>\\r\\n <RPS>0</RPS>\\r\\n <FLOW>0.00MB/s</FLOW>\\r\\n </Performance>\\r\\n <StructureInitializationStatus>\\r\\n <Status>Finished</Status>\\r\\n <Progress>1</Progress>\\r\\n <Percent>100</Percent>\\r\\n </StructureInitializationStatus>\\r\\n</DescribeSynchronizationJobStatusResponse>","errorExample":""}]', + 'title' => '查询同步作业的运行状态', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'InitDtsRdsInstance' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeSynchronizationJobStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], ], + ], + 'DescribeSynchronizationJobStatusList' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -26646,89 +13185,32 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '全球数据多活集群所属的地域。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'EndpointInstanceType', - 'in' => 'query', - 'schema' => [ - 'description' => '单元节点的实例类型,取值:'."\n" - ."\n" - .'- **RDS**:RDS MySQL实例。'."\n" - .'- **CEN**:通过云企业网CEN接入的自建MySQL数据库。', - 'type' => 'string', - 'required' => false, - 'example' => 'RDS', - ], - ], - [ - 'name' => 'EndpointRegion', + 'name' => 'SynchronizationJobIdListJsonStr', 'in' => 'query', - 'schema' => [ - 'description' => '如单元节点为RDS MySQL实例,则您需要传入RDS MySQL实例所属地域。'."\n" - ."\n" - .'> - 您还需要传入参数**EndpointInstanceId**。'."\n" - .'- 本参数与**EndpointCenId**,两者必须传入其一。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据同步实例ID,格式为JSON数组,可以通过调用[DescribeSynchronizationJobs](~~49454~~)接口查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '["dtsexjk1alb116****","dtskfq1149w254****"]'], ], [ - 'name' => 'EndpointInstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => '如单元节点为RDS MySQL实例,则您需要传入RDS MySQL实例ID。'."\n" - .'> - 您还需要传入参数**EndpointRegion**。'."\n" - .'- 本参数与**EndpointCenId**,两者必须传入其一。', - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp1162kryivb8****', - ], - ], - [ - 'name' => 'EndpointCenId', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => '如单元节点为云企业网CEN接入的自建MySQL,则您需要传入云企业网CEN的实例ID。'."\n" - .'> 本参数与RDS MySQL相关参数(**EndpointRegion**、**EndpointInstanceId**),两组参数必须传入其中一组。', - 'type' => 'string', - 'required' => false, - 'example' => 'cen-9kqshqum*******', - ], + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****'], ], [ - 'name' => 'DtsInstanceId', + 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '同步任务实例ID。'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dtszvxa4qmot6p****', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID,全局参数,当前API无需传入。', - 'type' => 'string', - 'required' => false, - 'example' => '资源组ID,全局参数,当前API无需传入。', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -26736,203 +13218,444 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。'."\n" - ."\n", - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。'."\n" - ."\n", - 'type' => 'string', - 'example' => '7796ECE0-9C17-5E4D-9CE6-B7EC825A****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid. ', - ], - 'AdminAccount' => [ - 'description' => 'DTS连接单元节点时使用的内置账号。', - 'type' => 'string', - 'example' => 'rdsdt_dtsacct', - ], - 'AdminPassword' => [ - 'description' => '内置账号的密码。', - 'type' => 'string', - 'example' => '1jecpqrtc****', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '1413460B-138A-48D1-836C-B24EDDC1****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'PageRecordCount' => ['description' => '一页展示的同步实例数量。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'TotalRecordCount' => ['description' => '所查询的同步实例总数。', 'type' => 'integer', 'format' => 'int64', 'example' => '2'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'PageNumber' => ['description' => '页码。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'SynchronizationJobListStatusList' => [ + 'description' => '同步任务状态列表。', + 'type' => 'array', + 'items' => [ + 'description' => '同步任务状态列表。', + 'type' => 'object', + 'properties' => [ + 'SynchronizationJobId' => ['description' => '数据同步实例ID。', 'type' => 'string', 'example' => 'dtsexjk1alb116****'], + 'SynchronizationDirectionInfoList' => [ + 'description' => '同步方向详情列表。', + 'type' => 'array', + 'items' => [ + 'description' => '同步方向详情列表。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '同步实例在该方向上的同步状态,返回值:'."\n" + ."\n" + .'- **NotStarted**:未启动'."\n" + .'- **Prechecking**:预检查中'."\n" + .'- **PrecheckFailed**:预检查失败'."\n" + .'- **Initializing**:同步初始化'."\n" + .'- **InitializeFailed**:同步初始化失败'."\n" + .'- **Synchronizing**:同步中'."\n" + .'- **Failed**:同步失败'."\n" + .'- **Suspending**:暂停'."\n" + .'- **Modifying**:同步对象变更中'."\n" + .'- **Finished**:完成', 'type' => 'string', 'example' => 'InitializeFailed'], + 'SynchronizationDirection' => ['description' => '同步方向,返回值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。', 'type' => 'string', 'example' => 'Forward'], + 'Checkpoint' => ['description' => '同步最新一条数据的时间戳,格式为Unix时间戳。'."\n" + ."\n" + .'> Unix时间戳转换工具可用搜索引擎获取。', 'type' => 'string', 'example' => '1610524452'], + ], + ], + ], + ], + ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1413460B-138A-48D1-836C-B24EDDC1****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"PageRecordCount\\": 2,\\n \\"Success\\": \\"true\\",\\n \\"TotalRecordCount\\": 2,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PageNumber\\": 1,\\n \\"SynchronizationJobListStatusList\\": [\\n {\\n \\"SynchronizationJobId\\": \\"dtsexjk1alb116****\\",\\n \\"SynchronizationDirectionInfoList\\": [\\n {\\n \\"Status\\": \\"InitializeFailed\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"Checkpoint\\": \\"1610524452\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => '获取同步作业状态列表', + 'summary' => '老版获取同步作业状态列表。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeSynchronizationJobStatusList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"7796ECE0-9C17-5E4D-9CE6-B7EC825A****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\\\t\\",\\n \\"AdminAccount\\": \\"rdsdt_dtsacct\\",\\n \\"AdminPassword\\": \\"1jecpqrtc****\\"\\n}","errorExample":""},{"type":"xml","example":"<InitDtsRdsInstanceResponse>\\n <RequestId>7796ECE0-9C17-5E4D-9CE6-B7EC825A****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <AdminAccount>rdsdt_dtsacct</AdminAccount>\\n <Success>true</Success>\\n <AdminPassword>1jecpqrtc****</AdminPassword>\\n</InitDtsRdsInstanceResponse>","errorExample":""}]', - 'title' => '初始化单元节点中DTS使用的内置账号', - 'summary' => '调用InitDtsRdsInstance在全球多活数据库集群的节点中初始化一个内置账号,DTS使用该账号连接节点并进行同步任务。', - 'description' => '- 单元节点需为RDS MySQL或云企业网CEN接入的自建MySQL。'."\n" - .'- 该接口用于在全球多活数据库集群的单元节点中,初始化一个内置账号rdsdt_dtsacct,DTS使用该账号连接节点并进行同步任务。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'ModifySubscription' => [ - 'summary' => '新版修改订阅任务。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeSynchronizationJobs' => [ + 'summary' => '通过DescribeSynchronizationJobs查询数据同步实例列表和各同步实例的详情。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREdts7755BW', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeNodes' => ['FEATUREdtsDW6WLD'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所在地域,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据同步实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'DtsInstanceId', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '订阅实例ID,可以调用[DescribeDtsJobs](~~209702~~)查询。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'dtsboss6pn1w******', - ], + 'schema' => ['description' => '每页记录数。取值为: **10**、**20**、**30**,默认值为**30**,最大值为**30**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '30', 'default' => '30'], ], [ - 'name' => 'DbList', + 'name' => 'PageNum', 'in' => 'query', - 'schema' => [ - 'description' => '修改后的订阅对象,格式为JSON串。详细定义,请参见[迁移、同步或订阅对象说明](~~209545~~)。'."\n" - .'> - 原DbList会被新传入的DbList覆盖,请确保新传入的DbList数据中包含所有需要订阅的对象,否则可能会导致订阅对象丢失,请谨慎修改。'."\n" - .'- 原订阅对象,可调用[DescribeDtsJobDetail](~~208925~~)进行查询。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '{"dtstest":{"name":"dtstest","all":true}}', - ], + 'schema' => ['description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1'], ], [ - 'name' => 'DtsJobId', + 'name' => 'SynchronizationJobName', 'in' => 'query', - 'schema' => [ - 'description' => '订阅任务ID,可以调用[DescribeDtsJobs](~~209702~~)查询。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'boss6pn1w******', - ], + 'schema' => ['description' => '同步实例名称。'."\n" + .'> 支持模糊查询。'."\n", 'type' => 'string', 'required' => false, 'example' => 'MySQL同步'], ], [ - 'name' => 'SubscriptionDataTypeDDL', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => '修改后任务是否订阅DDL类型的数据,取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'docRequired' => true, - 'example' => 'true', - ], + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****'], ], [ - 'name' => 'SubscriptionDataTypeDML', + 'name' => 'AccountId', 'in' => 'query', + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '修改后任务是否订阅DML类型的数据,取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', + 'description' => '数据同步实例的标签,作为过滤项,当此项不为空时,仅拥有此标签的实例任务会返回。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '标签键,可以通过调用[ListTagResources](~~191187~~)接口查询。'."\n" + .'> - N表示第几个标签的键。例如:Tag.1.Key表示第一个标签的键;Tag.2.Key表示第二个标签的键。可以同时传入1~20个标签键。'."\n" + .'- 该参数传入时不允许传入空字符串。'."\n", 'type' => 'string', 'required' => true, 'example' => 'testkey1'], + 'Value' => ['description' => '标签的值,可以通过调用[ListTagResources](~~191187~~)接口查询。'."\n" + .'>- N表示第几个标签的值。例如:Tag.1.Value表示第一个标签的值;Tag.2.Value表示第二个标签的值。可以同时传入1~20个标签值。'."\n" + .'- 允许传入空字符串。', 'type' => 'string', 'required' => false, 'example' => 'testvalue1 '], + ], + 'required' => false, + 'description' => '', + ], 'required' => false, - 'docRequired' => true, - 'example' => 'true', + 'maxItems' => 11, ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', + 'type' => 'object', + 'properties' => [ + 'PageNumber' => ['description' => '页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '92E1E99D-5224-4AD3-8C94-23A3516B****'], + 'PageRecordCount' => ['description' => '当前页可展示的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '30'], + 'TotalRecordCount' => ['description' => '阿里云主账号下所有符合条件的数据同步实例数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '100'], + 'SynchronizationInstances' => [ + 'description' => '数据同步实例列表和各同步实例的详情。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DataInitialization' => ['description' => '是否执行全量数据初始化,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'string', 'example' => 'true'], + 'Status' => ['description' => '同步实例的状态,返回值:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **Initializating **:同步初始化。'."\n" + .'- **InitializeFailed**:同步初始化失败。'."\n" + .'- **Synchronizing **:同步中。'."\n" + .'- **Failed**:同步失败。'."\n" + .'- **Suspending**:暂停。'."\n" + .'- **Modifying**:同步对象变更中。'."\n" + .'- **Finished**:完成。', 'type' => 'string', 'example' => 'synchronizing'], + 'SynchronizationJobName' => ['description' => '同步实例名称。', 'type' => 'string', 'example' => 'MySQL同步'], + 'Delay' => ['description' => '同步延迟,单位为秒。', 'type' => 'string', 'example' => '0'], + 'ErrorMessage' => ['description' => '数据同步失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].'], + 'ExpireTime' => ['description' => '同步实例的到期时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n" + .'> 当**PayType**参数的返回值为**PrePaid**时才会返回本参数。', 'type' => 'string', 'example' => '2021-07-07T16:00:00Z'], + 'CreateTime' => ['description' => '同步任务创建时间,<i>yyyy-MM-dd HH:mm:ss</i>.0(北京时间)。', 'type' => 'string', 'example' => '2021-06-28 17:34:53.0'], + 'PayType' => ['description' => '同步实例的付费类型,返回值:'."\n" + .'- **PrePaid**:包年包月(预付费)。'."\n" + .'- **PostPaid**:按量付费(后付费)。'."\n", 'type' => 'string', 'example' => 'PrePaid'], + 'StructureInitialization' => ['description' => '是否执行结构初始化,返回值:'."\n" + ."\n" + .'- **true**:是'."\n" + .'- **false**:否', 'type' => 'string', 'example' => 'true'], + 'SynchronizationJobClass' => ['description' => '同步链路规格。', 'type' => 'string', 'example' => 'large'], + 'InstanceCreateTime' => ['description' => '同步实例创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2021-06-28T09:36:32Z'], + 'SynchronizationJobId' => ['description' => '数据同步实例ID。', 'type' => 'string', 'example' => 'dtsexjk1alb116****'], + 'SynchronizationDirection' => ['description' => '同步方向,返回值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。', 'type' => 'string', 'example' => 'Forward'], + 'JobCreateTime' => ['description' => '同步任务创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2021-06-28T09:34:53Z'], + 'Tags' => [ + 'description' => '标签集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '标签键。'."\n" + ."\n", 'type' => 'string', 'example' => 'testkey1'], + 'Value' => ['description' => '标签键对应的标签值。'."\n" + ."\n", 'type' => 'string', 'example' => 'testvalue1'], + ], + 'description' => '', + ], + ], + 'SynchronizationObjects' => [ + 'description' => '同步对象。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'NewSchemaName' => ['description' => '待同步的库在目标数据库中映射的名称。', 'type' => 'string', 'example' => 'newdtstestdatabase'], + 'SchemaName' => ['description' => '待同步的库名。', 'type' => 'string', 'example' => 'dtstestdatabase'], + 'TableExcludes' => [ + 'description' => '待同步库中排除的表,这些表将不会被同步。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TableName' => ['description' => '排除的表的名称。', 'type' => 'string', 'example' => 'order'], + ], + 'description' => '', + ], + ], + 'TableIncludes' => [ + 'description' => '待同步的表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TableName' => ['description' => '待同步表名。', 'type' => 'string', 'example' => 'customer'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', + ], + ], + 'DataInitializationStatus' => [ + 'description' => '全量数据初始化状态。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '全量数据初始化状态,取值包括:'."\n" + .'- **NotStarted**:未初始化。'."\n" + .'- **Migrating**:初始化中。'."\n" + .'- **Failed**:初始化失败。'."\n" + .'- **Finished**:初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '全量数据初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '全量数据初始化失败的错误提示。', 'type' => 'string', 'example' => 'java.lang.NumberFormatException: For input string: ""'], + 'Progress' => ['description' => '已完成全量数据初始化的记录数。', 'type' => 'string', 'example' => '200001'], + ], + ], + 'DataSynchronizationStatus' => [ + 'description' => '增量数据同步状态。'."\n" + .'> 本参数集合及所包含的参数已下线。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '增量数据同步状态。'."\n" + .'> 本参数已下线。', 'type' => 'string', 'example' => 'Finished'], + 'Delay' => ['description' => '增量数据同步延迟。'."\n" + .'> 本参数已下线。', 'type' => 'string', 'example' => '0'], + 'Percent' => ['description' => '增量数据同步进度。'."\n" + .'> 本参数已下线。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '增量数据同步失败的错误提示。'."\n" + .'> 本参数已下线。', 'type' => 'string', 'example' => '任务失败太久无法恢复'], + ], + ], + 'DestinationEndpoint' => [ + 'description' => '目标实例的连接信息。', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => '目标实例ID。', 'type' => 'string', 'example' => 'rm-bp162d4tp0500****'], + 'IP' => ['description' => '目标实例的连接地址。', 'type' => 'string', 'example' => '172.16.88.***'], + 'InstanceType' => ['description' => '目标实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'Port' => ['description' => '目标实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'UserName' => ['description' => '目标实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'EngineName' => ['description' => '目标实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], + ], + ], + 'Performance' => [ + 'description' => '同步链路概况信息。', + 'type' => 'object', + 'properties' => [ + 'RPS' => ['description' => '每秒同步SQL语句的次数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。', 'type' => 'string', 'example' => '100'], + 'FLOW' => ['description' => '每秒同步数据的流量,单位为MB/s。'."\n", 'type' => 'string', 'example' => '1'], + ], + ], + 'PrecheckStatus' => [ + 'description' => '预检查状态。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '预检查结果,返回值:'."\n" + .'- **Success**:通过该项检查。'."\n" + .'- **Failed**:未通过该项检查。', 'type' => 'string', 'example' => 'Success'], + 'Percent' => ['description' => '预检查整体进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'Detail' => [ + 'description' => '各预检查项的执行情况。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CheckStatus' => ['description' => '检查结果,返回值:'."\n" + .'- **Success**:通过该项检查。'."\n" + .'- **Failed**:未通过该项检查。', 'type' => 'string', 'example' => 'Success'], + 'ErrorMessage' => ['description' => '预检查未通过的错误提示。'."\n" + .'> 当**CheckStatus**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)'], + 'ItemName' => ['description' => '预检查项目。', 'type' => 'string', 'example' => 'CHECK_CONN_SRC'], + 'RepairMethod' => ['description' => '预检查未通过时对应的修复方法。'."\n" + .'> 当**CheckStatus**参数返回值为**Failed**时,才会返回本参数。', 'type' => 'string', 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2'], + ], + 'description' => '', + ], + ], + ], + ], + 'SourceEndpoint' => [ + 'description' => '源实例连接信息。', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => '源实例ID。', 'type' => 'string', 'example' => 'rm-bp1i99e8l7913****'], + 'IP' => ['description' => '源实例的连接地址。', 'type' => 'string', 'example' => '172.16.88.***'], + 'InstanceType' => ['description' => '源实例类型。', 'type' => 'string', 'example' => 'RDS'], + 'Port' => ['description' => '源实例的数据库服务端口。', 'type' => 'string', 'example' => '3306'], + 'UserName' => ['description' => '源实例的数据库账号。', 'type' => 'string', 'example' => 'dtstest'], + 'EngineName' => ['description' => '源实例的数据库类型。', 'type' => 'string', 'example' => 'MySQL'], + ], + ], + 'StructureInitializationStatus' => [ + 'description' => '结构初始化状态。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '结构初始化状态,取值包括:'."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Migrating **:初始化中。'."\n" + .'- **Failed **:初始化失败。'."\n" + .'- **Finished**:初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '结构初始化进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '结构初始化失败的错误提示。', 'type' => 'string', 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;'], + 'Progress' => ['description' => '已完成结构初始化的表的数量。', 'type' => 'string', 'example' => '1'], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'description' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], + ], + 403 => [ + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ], + 500 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'title' => '查询数据同步实例列表及各实例详情', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeSynchronizationJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"92E1E99D-5224-4AD3-8C94-23A3516B****\\",\\n \\"PageRecordCount\\": 30,\\n \\"TotalRecordCount\\": 100,\\n \\"SynchronizationInstances\\": [\\n {\\n \\"DataInitialization\\": \\"true\\",\\n \\"Status\\": \\"synchronizing\\",\\n \\"SynchronizationJobName\\": \\"MySQL同步\\",\\n \\"Delay\\": \\"0\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"ExpireTime\\": \\"2021-07-07T16:00:00Z\\",\\n \\"CreateTime\\": \\"2021-06-28 17:34:53.0\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"StructureInitialization\\": \\"true\\",\\n \\"SynchronizationJobClass\\": \\"large\\",\\n \\"InstanceCreateTime\\": \\"2021-06-28T09:36:32Z\\",\\n \\"SynchronizationJobId\\": \\"dtsexjk1alb116****\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"JobCreateTime\\": \\"2021-06-28T09:34:53Z\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"testkey1\\",\\n \\"Value\\": \\"testvalue1\\"\\n }\\n ],\\n \\"SynchronizationObjects\\": [\\n {\\n \\"NewSchemaName\\": \\"newdtstestdatabase\\",\\n \\"SchemaName\\": \\"dtstestdatabase\\",\\n \\"TableExcludes\\": [\\n {\\n \\"TableName\\": \\"order\\"\\n }\\n ],\\n \\"TableIncludes\\": [\\n {\\n \\"TableName\\": \\"customer\\"\\n }\\n ]\\n }\\n ],\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"200001\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Delay\\": \\"0\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"InstanceId\\": \\"rm-bp162d4tp0500****\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"Performance\\": {\\n \\"RPS\\": \\"100\\",\\n \\"FLOW\\": \\"1\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Success\\",\\n \\"Percent\\": \\"100\\",\\n \\"Detail\\": [\\n {\\n \\"CheckStatus\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"ItemName\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"SourceEndpoint\\": {\\n \\"InstanceId\\": \\"rm-bp1i99e8l7913****\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n }\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSynchronizationJobsResponse>\\r\\n <TotalRecordCount>100</TotalRecordCount>\\r\\n <SynchronizationInstances>\\r\\n <Status>synchronizing</Status>\\r\\n <SynchronizationObjects>\\r\\n <SchemaName>dtstestdatabase</SchemaName>\\r\\n <NewSchemaName>newdtstestdatabase</NewSchemaName>\\r\\n </SynchronizationObjects>\\r\\n <DataInitializationStatus>\\r\\n <Status>Finished</Status>\\r\\n <Progress>200001</Progress>\\r\\n <Percent>100</Percent>\\r\\n </DataInitializationStatus>\\r\\n <SynchronizationJobName>MySQL同步</SynchronizationJobName>\\r\\n <InstanceCreateTime>2021-06-28T09:36:32Z</InstanceCreateTime>\\r\\n <CreateTime>2021-06-28 17:34:53.0</CreateTime>\\r\\n <JobCreateTime>2021-06-28T09:34:53Z</JobCreateTime>\\r\\n <PayType>PostPaid</PayType>\\r\\n <Delay>0</Delay>\\r\\n <PrecheckStatus>\\r\\n <Status>Finished</Status>\\r\\n <Percent>100</Percent>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_CONN_SRC</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_AUTH_SRC</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_CONN_DEST</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_AUTH_DEST</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_ON</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_MODE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_ROW_IMAGE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SERVER_ID</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_EXIST</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_ENGINE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_MYSQL_PASSOWRD_FORMAT</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SRC</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SAME_OBJ</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SQL_MODE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SAME_USER</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_TOPOLOGY</ItemName>\\r\\n </Detail>\\r\\n </PrecheckStatus>\\r\\n <SynchronizationJobId>dtsexjk1alb116lbf1</SynchronizationJobId>\\r\\n <DataInitialization>true</DataInitialization>\\r\\n <DestinationEndpoint>\\r\\n <InstanceId>rm-bp162d4tp0500****</InstanceId>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </DestinationEndpoint>\\r\\n <SourceEndpoint>\\r\\n <InstanceId>rm-bp1i99e8l7913****</InstanceId>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </SourceEndpoint>\\r\\n <StructureInitialization>true</StructureInitialization>\\r\\n <ExpireTime>2021-07-07T16:00:00Z</ExpireTime>\\r\\n <Performance>\\r\\n <RPS>0</RPS>\\r\\n <FLOW>0.00MB/s</FLOW>\\r\\n </Performance>\\r\\n <SynchronizationJobClass>large</SynchronizationJobClass>\\r\\n <DataSynchronizationStatus/>\\r\\n <StructureInitializationStatus>\\r\\n <Status>Finished</Status>\\r\\n <Progress>1</Progress>\\r\\n <Percent>100</Percent>\\r\\n </StructureInitializationStatus>\\r\\n </SynchronizationInstances>\\r\\n <PageRecordCount>30</PageRecordCount>\\r\\n <RequestId>92E1E99D-5224-4AD3-8C94-23A3516B****</RequestId>\\r\\n <PageNumber>1</PageNumber>\\r\\n</DescribeSynchronizationJobsResponse>","errorExample":""}]', + ], + 'DescribeSynchronizationObjectModifyStatus' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Reserved', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => '数据同步实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ModifyType', + 'name' => 'TaskId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => '任务ID,调用[ModifySynchronizationObject](~~49451~~)接口修改同步对象时会返回该值。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'k71r16fj13g****'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****'], + ], + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -26940,154 +13663,154 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。'."\n" - ."\n", - 'type' => 'string', - 'example' => '068FA72F-4800-4A54-90BB-94806068****', + 'Status' => ['description' => '同步对象变更状态,取值:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **Migrating**:同步中。'."\n" + .'- **Failed**:同步失败。'."\n" + .'- **Finished**:同步完成。', 'type' => 'string', 'example' => 'Finished'], + 'ErrorMessage' => ['description' => '修改同步对象任务失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].'], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => 'B38C644B-4395-4F6F-86E3-592F26BE****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'DataInitializationStatus' => [ + 'description' => '全量数据初始化状态。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '同步对象变更状态,取值包括:-**notstarted**:未启动。-**migrating**:同步中。-**failed**:同步失败。-**finaciallocked**:欠费锁定。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '全量数据初始化进度,单位为百分比。'."\n", 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '全量数据初始化失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].'], + 'Progress' => ['description' => '已完成全量数据初始化的记录数。', 'type' => 'string', 'example' => '39754'], + ], ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', + 'DataSynchronizationStatus' => [ + 'description' => '增量数据同步状态。'."\n" + .'> 该参数合集及包含的返回参数即将下线。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '同步对象变更状态,取值:'."\n" + ."\n" + .'- **NotStarted**:未启动。'."\n" + .'- **Prechecking**:预检查中。'."\n" + .'- **PrecheckFailed**:预检查失败。'."\n" + .'- **Migrating**:同步中。'."\n" + .'- **Failed**:同步失败。'."\n" + .'- **Finished**:同步完成。', 'type' => 'string', 'example' => 'Finished'], + 'Delay' => ['description' => '增量数据同步延迟,单位为秒。', 'type' => 'string', 'example' => '0'], + 'Percent' => ['description' => '增量数据同步进度,单位为百分比。', 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '增量数据同步失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].'], + ], ], - 'Success' => [ - 'description' => '请求是否成功。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'true', + 'PrecheckStatus' => [ + 'description' => '预检查状态。'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '预检查状态。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '预检查进度,单位为百分比。'."\n", 'type' => 'string', 'example' => '100'], + 'Detail' => [ + 'description' => '各预检查项的执行情况。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '各预检查项的执行情况。'."\n", + 'type' => 'object', + 'properties' => [ + 'CheckStatus' => ['description' => '检查结果,返回值:'."\n" + ."\n" + .'- Success:通过该项检查。'."\n" + .'- Failed:未通过该项检查。', 'type' => 'string', 'example' => 'Success'], + 'ErrorMessage' => ['description' => '预检查未通过的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].'], + 'ItemName' => ['description' => '预检查项目。'."\n", 'type' => 'string', 'example' => 'CHECK_CONN_SRC'], + 'RepairMethod' => ['description' => '预检查未通过时对应的修复方法。'."\n" + .'> 当**CheckStatus**参数返回值为Failed时,才会返回本参数。', 'type' => 'string', 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2'], + ], + ], + ], + ], ], - 'ErrMessage' => [ - 'description' => '调用出错时返回对应的错误信息。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', + 'StructureInitializationStatus' => [ + 'description' => '结构初始化状态。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '结构初始化状态,取值包括:NotStarted:未启动。 Migrating :初始化中。 Failed :初始化失败。 Finished:初始化完成。', 'type' => 'string', 'example' => 'Finished'], + 'Percent' => ['description' => '结构初始化进度,单位为百分比。'."\n", 'type' => 'string', 'example' => '100'], + 'ErrorMessage' => ['description' => '结构初始化失败的错误提示。', 'type' => 'string', 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].'], + 'Progress' => ['description' => '已完成结构初始化的表的数量。'."\n", 'type' => 'string', 'example' => '1'], + ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"068FA72F-4800-4A54-90BB-94806068****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySubscriptionResponse>\\n <RequestId>068FA72F-4800-4A54-90BB-94806068****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</ModifySubscriptionResponse>","errorExample":""}]', - 'title' => '修改订阅任务', - 'description' => '> 您可以根据需求在控制台进行相应的预配置,然后预览对应配置的OpenAPI参数信息,以协助您填写请求参数。更多信息,请参见[预览OpenAPI的请求参数](~~2851612~~)。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"RequestId\\": \\"B38C644B-4395-4F6F-86E3-592F26BE****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"Progress\\": \\"39754\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Delay\\": \\"0\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"Detail\\": [\\n {\\n \\"CheckStatus\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"ItemName\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"Progress\\": \\"1\\"\\n }\\n}","type":"json"}]', + 'title' => '查询修改同步对象任务的执行状态', + 'summary' => '老版查询修改同步对象任务的执行状态。', + 'changeSet' => [], + 'ramActions' => [], ], - 'RenewInstance' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeTagKeys' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'DtsJobId', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '同步或订阅任务ID,可调用[DescribeDtsJobs](~~209702~~)查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'qi0r643lc31****', - ], + 'schema' => ['description' => '当标签值过多时,选择一次返回的个数,默认为20。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '0', 'example' => '20', 'default' => '10'], ], [ - 'name' => 'ChargeType', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '付费类型为**PREPAY**,包年包月(预付费)。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'PREPAY', - ], + 'schema' => ['description' => '页码,取值为大于0且不超过Integer数据类型的最大值,通常与PageSize搭配使用,默认值为1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '0', 'example' => '1', 'default' => '0'], ], [ - 'name' => 'Period', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => "\n" - .'续费实例的计费方式,取值:'."\n" - .'- **Year**:包年。'."\n" - .'- **Month**:包月(默认值)。', - 'type' => 'string', - 'required' => false, - 'example' => 'Month', - ], + 'schema' => ['description' => '系统服务规定参数,固定取值为:**ALIYUN::DTS::INSTANCE**。', 'type' => 'string', 'required' => false, 'example' => 'ALIYUN::DTS::INSTANCE'], ], [ - 'name' => 'BuyCount', + 'name' => 'ResourceId', 'in' => 'query', - 'schema' => [ - 'description' => '续费实例购买时长,默认为1。'."\n" - .'- 当**Period**为**Year**(包年)时,取值范围为**1~5**。'."\n" - .'- 当**Period**为**Month**(包月)时,取值范围为**1~60**。', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '数据迁移、同步或订阅的实例ID,可以通过调用[DescribeDtsJobs](~~209702~~)接口查询。', 'type' => 'string', 'required' => false, 'example' => 'dtsl5o11f9029c****'], + ], + [ + 'name' => 'Category', + 'in' => 'query', + 'schema' => ['description' => '标签类型,取值:'."\n" + .'- **System**:系统创建的标签。'."\n" + .'- **Custom**:用户添加的标签。'."\n" + ."\n" + .'> 当值为空时,默认返回可公示的标签。', 'type' => 'string', 'required' => false, 'example' => 'Custom'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所在地域的ID,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -27095,217 +13818,112 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'EndTime' => [ - 'description' => '续费实例到期时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ssZZZ</i>(UTC时间)。'."\n" - ."\n" - .'> **ZZZ**表示完整时区偏移量(“+”或“-”后面跟有小时和分钟),例如:**+00:00**。', - 'type' => 'string', - 'example' => '2021-08-04T16:00:00.000+00:00', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '1112E255-0C38-4970-8159-1D54AD92****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'DtsJobId' => [ - 'description' => '同步或订阅任务ID。', - 'type' => 'string', - 'example' => 'qi0r643lc31****', - ], - 'Success' => [ - 'description' => '请求是否成功,返回值:'."\n" - ."\n" - .'- **true**:请求成功。'."\n" - .'- **false**:请求失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'ChargeType' => [ - 'description' => '付费类型为**PREPAY**,包年包月(预付费)。'."\n", - 'type' => 'string', - 'example' => 'PREPAY', - ], - 'Code' => [ - 'description' => '错误码。'."\n" - ."\n" - .'> 本参数即将下线。', - 'type' => 'string', - 'example' => '200', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的%**s**。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则表示所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', - ], - 'InstanceId' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'dtsqi0r643lc31****', + 'Category' => ['description' => '标签类型。', 'type' => 'string', 'example' => 'Custom'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'AD110813-9AD6-5F07-BFC8-4C841309****'], + 'PageSize' => ['description' => '每页返回标签的数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'PageNumber' => ['description' => '标签的起始页。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'TotalCount' => ['description' => '标签键总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'TagKeys' => [ + 'description' => '标签键列表。', + 'type' => 'array', + 'items' => ['description' => '标签键。', 'type' => 'string', 'example' => '["a","x"]'], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'InvalidParameter.Category', 'errorMessage' => 'The specified Category is invalid. Valid values are Custom and System.', 'description' => '标签类型非法,合法值为Custom,System。'], + ['errorCode' => 'InvalidParameter.ResourceType', 'errorMessage' => 'The ResourceType parameter is invalid.', 'description' => '参数ResourceType无效,请输入固定值ALIYUN::DTS::INSTANCE。'], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"EndTime\\": \\"2021-08-04T16:00:00.000+00:00\\",\\n \\"RequestId\\": \\"1112E255-0C38-4970-8159-1D54AD92****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"DtsJobId\\": \\"qi0r643lc31****\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"ChargeType\\": \\"PREPAY\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"InstanceId\\": \\"dtsqi0r643lc31****\\"\\n}","errorExample":""},{"type":"xml","example":"<RenewInstanceResponse>\\n<DtsJobId>qi0r643lc31****</DtsJobId>\\n<EndTime>2021-08-04T16:00:00.000+00:00</EndTime>\\n<RequestId>1112E255-0C38-4970-8159-1D54AD92****</RequestId>\\n<InstanceId>dtsqi0r643lc31****</InstanceId>\\n<ChargeType>PREPAY</ChargeType>\\n<HttpStatusCode>200</HttpStatusCode>\\n<Success>true</Success>\\n</RenewInstanceResponse>","errorExample":""}]', - 'title' => '为DTS实例续费', - 'summary' => '可以为DTS实例续费。本接口仅适用于预付费类型的DTS实例。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Category\\": \\"Custom\\",\\n \\"RequestId\\": \\"AD110813-9AD6-5F07-BFC8-4C841309****\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 10,\\n \\"TagKeys\\": [\\n \\"[\\\\\\"a\\\\\\",\\\\\\"x\\\\\\"]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeTagKeysResponse>\\n <TotalCount>10</TotalCount>\\n <Category>Custom</Category>\\n <RequestId>AD110813-9AD6-5F07-BFC8-4C841309****</RequestId>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <TagKeys>a</TagKeys>\\n <TagKeys>x</TagKeys>\\n</DescribeTagKeysResponse>","errorExample":""}]', + 'title' => '查找DTS服务所有的标签', + 'summary' => '调用DescribeTagKeys接口查找一个迁移、同步或订阅实例绑定的所有标签。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SkipPreCheck' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeTagKeys', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeTagValues' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'JobId', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '预检查任务ID,可以调用**DescribePreCheckStatus**查询。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'b4my3zg929a****', - ], + 'schema' => ['description' => '当一个标签键对应多个标签值时,选择一次返回标签值的个数,默认为20。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '0', 'example' => '20', 'default' => '10'], ], [ - 'name' => 'Skip', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '是否屏蔽该预检查项目,取值:'."\n" - ."\n" - .'- **true**:屏蔽。'."\n" - .'- **false**:取消屏蔽。', - 'type' => 'boolean', - 'required' => true, - 'example' => 'true', - ], + 'schema' => ['description' => '页码,当一个标签键对应多个标签值时,选择返回的起始页。取值为大于0且不超过Integer数据类型的最大值,通常与PageSize搭配使用,默认值为1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '0', 'example' => '1', 'default' => '0'], ], [ - 'name' => 'SkipPreCheckItems', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => '需屏蔽或取消屏蔽的预检查项目简称,取值:'."\n" - ."\n" - .'- **["CHECK_SAME_OBJ"]**:同名对象存在性检查。'."\n" - .'- **["CHECK_SAME_USER"]**:不同名账号存在性检查。'."\n" - .'- **["CHECK_SRC"]**:源库版本检查。'."\n" - .'- **["CHECK_TOPOLOGY"]**:拓扑版本检查。目前DTS支持的拓扑版本,请参见[拓扑介绍](~~124115~~)。'."\n" - .'- **["CHECK_SERVER_ID"]**:源库server_id检查。'."\n" - .'- **["CHECK_DEST_TABLE_EMPTY"]**:目标库对象存在性检查。'."\n" - .'- **["CHECK_SUPER_AUTH_DEST"]**:目标库super账号权限检查。'."\n" - ."\n" - .'> 多个项目名称用英文逗号(,)分隔,例如**["CHECK_SRC","CHECK_SAME_OBJ"]**。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '["CHECK_SAME_OBJ"]', - ], + 'schema' => ['description' => '系统服务规定参数,固定取值为:**ALIYUN::DTS::INSTANCE**。', 'type' => 'string', 'required' => false, 'example' => 'ALIYUN::DTS::INSTANCE'], ], [ - 'name' => 'SkipPreCheckNames', + 'name' => 'ResourceId', 'in' => 'query', - 'schema' => [ - 'description' => '需屏蔽或取消屏蔽的预检查项目名称,对应参数**SkipPreCheckItems**,取值:'."\n" - ."\n" - .'- **["CHECK_SAME_OBJ_DETAIL"]**:同名对象存在性检查。'."\n" - .'- **["CHECK_SAME_USER_DETAIL"]**:不同名账号存在性检查。'."\n" - .'- **["CHECK_SRC_DETAIL"]**:源库版本检查。'."\n" - .'- **["CHECK_TOPOLOGY_DETAIL"]**:拓扑版本检查。目前DTS支持的拓扑版本,请参见[拓扑介绍](~~124115~~)。'."\n" - .'- **["CHECK_SERVER_ID_DETAIL"]**:源库server_id检查。'."\n" - .'- **["CHECK_DEST_TABLE_EMPTY_DETAIL"]**:检查目标库表是否为空。'."\n" - .'- **["CHECK_SUPER_AUTH_DEST_DETAIL"]**:检查目标库super账号权限。'."\n" - ."\n" - .'> 多个项目名称用英文逗号(,)分隔,例如**["CHECK_SRC_DETAIL","CHECK_SAME_OBJ_DETAIL"]**。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '["CHECK_SAME_OBJ_DETAIL"]', - ], + 'schema' => ['description' => '数据迁移、同步或订阅的实例ID,可以通过调用[DescribeDtsJobs](~~209702~~)接口查询。'."\n" + ."\n" + .'> 取值为空时,返回该用户下对应标签键的所有标签值。', 'type' => 'string', 'required' => false, 'example' => 'dtsl5o11f9029c****'], ], [ - 'name' => 'DtsJobId', + 'name' => 'Category', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅任务ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'c7412z57g8k****', - ], + 'schema' => ['description' => '标签键类型,取值:'."\n" + .'- **Custom**:用户添加的标签键。'."\n" + .'- **System**:系统创建的标签键。'."\n" + ."\n" + .'> 当值为空时,默认返回所有的标签键。', 'type' => 'string', 'required' => false, 'example' => 'Custom'], + ], + [ + 'name' => 'Key', + 'in' => 'query', + 'schema' => ['description' => '标签的键值。'."\n" + .'> 本参数为必填参数。', 'type' => 'string', 'required' => false, 'example' => 'owner'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -27313,161 +13931,95 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '8C498360-7892-433C-847A-BA71A850****', - ], - 'ErrCode' => [ - 'description' => '调用错误时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'SkipNames' => [ - 'description' => '需屏蔽或取消屏蔽的预检查项目名称。', - 'type' => 'string', - 'example' => 'CHECK_SAME_OBJ_DETAIL', - ], - 'Code' => [ - 'description' => '错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '200', - ], - 'ScheduleJobId' => [ - 'description' => '预检查任务ID。', - 'type' => 'string', - 'example' => 'b4my3zg929a****', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数ErrMessage错误信息中的%s。'."\n" - ."\n" - .'> 如果ErrMessage返回The Value of Input Parameter %s is not valid,且DynamicMessage返回JobId,则代表所传入的请求参数JobId不合法。', - 'type' => 'string', - 'example' => 'JobId', - ], - 'MigrationJobId' => [ - 'description' => '预检查任务ID。', - 'type' => 'string', - 'example' => 'b4my3zg929a****', - ], - 'SkipItems' => [ - 'description' => '需屏蔽或取消屏蔽的预检查项目简称。', - 'type' => 'string', - 'example' => 'CHECK_SAME_OBJ', + 'Category' => ['description' => '标签键类型。', 'type' => 'string', 'example' => 'Custom'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'AD110813-9AD6-5F07-BFC8-4C841309****'], + 'PageSize' => ['description' => '每页返回标签值的数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'PageNumber' => ['description' => '标签值的起始页。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'TotalCount' => ['description' => '标签键对应标签值的总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '13'], + 'TagValues' => [ + 'description' => '标签信息。', + 'type' => 'array', + 'items' => ['description' => '标签键对应的标签值。', 'type' => 'string', 'example' => '["a","x"]'], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'InvalidParameter.Category', 'errorMessage' => 'The specified Category is invalid. Valid values are Custom and System.', 'description' => '标签类型非法,合法值为Custom,System。'], + ['errorCode' => 'InvalidParameter.ResourceType', 'errorMessage' => 'The ResourceType parameter is invalid.', 'description' => '参数ResourceType无效,请输入固定值ALIYUN::DTS::INSTANCE。'], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Category\\": \\"Custom\\",\\n \\"RequestId\\": \\"AD110813-9AD6-5F07-BFC8-4C841309****\\",\\n \\"PageSize\\": 20,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 13,\\n \\"TagValues\\": [\\n \\"[\\\\\\"a\\\\\\",\\\\\\"x\\\\\\"]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeTagValuesResponse>\\n <pageNumber>1</pageNumber>\\n <tagValues>a</tagValues>\\n <tagValues>b</tagValues>\\n <totalRecordCount>13</totalRecordCount>\\n <pageRecordCount>10</pageRecordCount>\\n <requestId>AD110813-9AD6-5F07-BFC8-4C841309****</requestId>\\n <success>true</success>\\n <httpStatusCode>200</httpStatusCode>\\n</DescribeTagValuesResponse>","errorExample":""}]', + 'title' => '查找标签键对应的所有值', + 'summary' => '调用DescribeTagValues接口查找一个迁移、同步或订阅实例绑定的标签键对应的所有值。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeTagValues', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"8C498360-7892-433C-847A-BA71A850****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"SkipNames\\": \\"CHECK_SAME_OBJ_DETAIL\\",\\n \\"Code\\": \\"200\\",\\n \\"ScheduleJobId\\": \\"b4my3zg929a****\\",\\n \\"DynamicMessage\\": \\"JobId\\",\\n \\"MigrationJobId\\": \\"b4my3zg929a****\\",\\n \\"SkipItems\\": \\"CHECK_SAME_OBJ\\"\\n}","errorExample":""},{"type":"xml","example":"<SkipPreCheckResponse>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>8C498360-7892-433C-847A-BA71A850****</RequestId>\\n <Success>true</Success>\\n <SkipNames>CHECK_SAME_OBJ_DETAIL</SkipNames>\\n <ScheduleJobId>b4my3zg929a****</ScheduleJobId>\\n <MigrationJobId>b4my3zg929a****</MigrationJobId>\\n <SkipItems>CHECK_SAME_OBJ</SkipItems>\\n</SkipPreCheckResponse>","errorExample":""}]', - 'title' => '是否屏蔽预检查告警项目', - 'summary' => '屏蔽或取消屏蔽预检查告警项目。', ], - 'StartDtsJobs' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DetachGadInstanceDbMember' => [ + 'summary' => '移除从角色', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '52310', - 'abilityTreeNodes' => [ - 'FEATUREdtsQYRBZN', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '235864', + 'abilityTreeNodes' => ['FEATUREdts05OBVW'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'DtsJobIds', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步任务ID。'."\n" - .'> - 当有多个任务ID时,使用**\',\'**隔开。'."\n" - .'- 可调用[DescribeDtsJobs](~~209702~~)获取DTS任务ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'l5o11f9029c****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见支持的地域列表。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ZeroEtlJob', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" - ."\n" - .'- **false**:否。'."\n" - .'- **true**:是。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '热活实例组实例ID。', 'type' => 'string', 'required' => false, 'example' => 'gad-bp162d4tp0500****'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'SlaveDbInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '从角色实例ID。', 'type' => 'string', 'required' => false, 'example' => 'rm-sdfghjk****'], ], ], 'responses' => [ @@ -27475,86 +14027,64 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'AD823BD3-1BA6-4117-A536-165CB280****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', - ], + 'HttpStatusCode' => ['description' => '状态码。'."\n", 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => '6063641E-BAD1-4BA7-B70B-26FFFD18****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'Success' => ['description' => '请求是否成功,返回值:'."\n" + .'- **true**:请求成功。'."\n" + .'- **false**:请求失败。', 'type' => 'string', 'example' => 'true'], + 'DynamicCode' => ['description' => '与本次请求相关的动态错误码。', 'type' => 'string', 'example' => '403'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => '****'], + 'RegionId' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见支持的地域列表。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'InstanceId' => ['description' => '全球实例热活组实例ID。', 'type' => 'string', 'example' => 'gad-bp1i99e8l7913****'], + 'InstanceName' => ['description' => '全球热活实例组实例名称。', 'type' => 'string', 'example' => 'test'], + 'CreateTime' => ['description' => '任务创建时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'integer', 'format' => 'int64', 'example' => '2021-06-28 17:34:53.0'], + 'ResourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-acfmzawhxxc****'], + 'SlaveDbInstanceId' => ['description' => '从角色实例ID。', 'type' => 'string', 'example' => 'rm-bp1i99e8l7913****'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'OperationDenied.NotPurchased', - 'errorMessage' => 'The instance has not been purchased and the task cannot be started.', - ], - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ['errorCode' => 'DTS.Msg.GADInstanceNotFound', 'errorMessage' => 'The GAD instance is not found.', 'description' => 'GAD实例不存在。'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"AD823BD3-1BA6-4117-A536-165CB280****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","type":"json"}]', - 'title' => '批量启动DTS任务', - 'summary' => '调用StartDtsJobs接口批量启动数据迁移或同步任务。', - ], - 'StopDtsJobs' => [ - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"6063641E-BAD1-4BA7-B70B-26FFFD18****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Success\\": \\"true\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DynamicMessage\\": \\"****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceId\\": \\"gad-bp1i99e8l7913****\\",\\n \\"InstanceName\\": \\"test\\",\\n \\"CreateTime\\": 0,\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"SlaveDbInstanceId\\": \\"rm-bp1i99e8l7913****\\"\\n}","type":"json"}]', + 'title' => '移除从角色', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:DetachGadInstanceDbMember', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'InitDtsRdsInstance' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -27562,59 +14092,52 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '52315', - 'abilityTreeNodes' => [ - 'FEATUREdtsQYRBZN', - ], - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'DtsJobIds', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步任务ID。'."\n" - .'> - 当有多个任务ID时,使用**\',\'**隔开。'."\n" - .'- 可调用[DescribeDtsJobs](~~209702~~)获取DTS任务ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'l5o11f9029c****', - ], + 'schema' => ['description' => '全球数据多活集群所属的地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RegionId', + 'name' => 'EndpointInstanceType', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '单元节点的实例类型,取值:'."\n" + ."\n" + .'- **RDS**:RDS MySQL实例。'."\n" + .'- **CEN**:通过云企业网CEN接入的自建MySQL数据库。', 'type' => 'string', 'required' => false, 'example' => 'RDS'], ], [ - 'name' => 'ZeroEtlJob', + 'name' => 'EndpointRegion', 'in' => 'query', - 'schema' => [ - 'description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" - ."\n" - .'- **false**:否。'."\n" - .'- **true**:是。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '如单元节点为RDS MySQL实例,则您需要传入RDS MySQL实例所属地域。'."\n" + ."\n" + .'> - 您还需要传入参数**EndpointInstanceId**。'."\n" + .'- 本参数与**EndpointCenId**,两者必须传入其一。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'EndpointInstanceId', + 'in' => 'query', + 'schema' => ['description' => '如单元节点为RDS MySQL实例,则您需要传入RDS MySQL实例ID。'."\n" + .'> - 您还需要传入参数**EndpointRegion**。'."\n" + .'- 本参数与**EndpointCenId**,两者必须传入其一。', 'type' => 'string', 'required' => false, 'example' => 'rm-bp1162kryivb8****'], + ], + [ + 'name' => 'EndpointCenId', + 'in' => 'query', + 'schema' => ['description' => '如单元节点为云企业网CEN接入的自建MySQL,则您需要传入云企业网CEN的实例ID。'."\n" + .'> 本参数与RDS MySQL相关参数(**EndpointRegion**、**EndpointInstanceId**),两组参数必须传入其中一组。', 'type' => 'string', 'required' => false, 'example' => 'cen-9kqshqum*******'], + ], + [ + 'name' => 'DtsInstanceId', + 'in' => 'query', + 'schema' => ['description' => '同步任务实例ID。'."\n" + ."\n", 'type' => 'string', 'required' => false, 'example' => 'dtszvxa4qmot6p****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekzsf6yoxhfpva', - ], + 'schema' => ['description' => '资源组ID,全局参数,当前API无需传入。', 'type' => 'string', 'required' => false, 'example' => '资源组ID,全局参数,当前API无需传入。'], ], ], 'responses' => [ @@ -27622,189 +14145,137 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'AD823BD3-1BA6-4117-A536-165CB280****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**errmessage**错误信息中的**%s**。>如果**errmessale**返回**thevalueofinputparameter%sisnotvalid**,且**dynamicmessage**返回*[timeout**]**,则代表所传入的请求参数**timeout**不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', - ], + 'HttpStatusCode' => ['description' => '状态码。'."\n" + ."\n", 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。'."\n" + ."\n", 'type' => 'string', 'example' => '7796ECE0-9C17-5E4D-9CE6-B7EC825A****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n" + ."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n" + ."\n", 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n" + ."\n", 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid. '], + 'AdminAccount' => ['description' => 'DTS连接单元节点时使用的内置账号。', 'type' => 'string', 'example' => 'rdsdt_dtsacct'], + 'AdminPassword' => ['description' => '内置账号的密码。', 'type' => 'string', 'example' => '1jecpqrtc****'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"7796ECE0-9C17-5E4D-9CE6-B7EC825A****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\\\t\\",\\n \\"AdminAccount\\": \\"rdsdt_dtsacct\\",\\n \\"AdminPassword\\": \\"1jecpqrtc****\\"\\n}","errorExample":""},{"type":"xml","example":"<InitDtsRdsInstanceResponse>\\n <RequestId>7796ECE0-9C17-5E4D-9CE6-B7EC825A****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <AdminAccount>rdsdt_dtsacct</AdminAccount>\\n <Success>true</Success>\\n <AdminPassword>1jecpqrtc****</AdminPassword>\\n</InitDtsRdsInstanceResponse>","errorExample":""}]', + 'title' => '初始化单元节点中DTS使用的内置账号', + 'summary' => '调用InitDtsRdsInstance在全球多活数据库集群的节点中初始化一个内置账号,DTS使用该账号连接节点并进行同步任务。', + 'description' => '- 单元节点需为RDS MySQL或云企业网CEN接入的自建MySQL。'."\n" + .'- 该接口用于在全球多活数据库集群的单元节点中,初始化一个内置账号rdsdt_dtsacct,DTS使用该账号连接节点并进行同步任务。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:InitDtsRdsInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"AD823BD3-1BA6-4117-A536-165CB280****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","type":"json"}]', - 'title' => '批量结束DTS任务', - 'summary' => '调用StopDtsJobs接口批量结束DTS任务。', ], - 'SummaryJobDetail' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListDedicatedCluster' => [ + 'summary' => '调用ListDedicatedCluster接口查询当前用户创建的所有集群,也可以按照传入的条件信息筛选指定的集群。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '52317', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ - 'name' => 'DtsJobId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移或同步任务ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'l3m1213ye7l****', - ], + 'schema' => ['description' => '区域,指定的查询条件。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'JobCode', + 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'description' => '迁移阶段,取值:'."\n" - .'- **02**:结构迁移阶段。'."\n" - .'- **03**:增量迁移阶段。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '02', - ], + 'schema' => ['description' => '查询的键,取值为:'."\n" + ."\n" + .'- **NAME**:集群名称。'."\n" + .'- **INSTANCE**:集群实例ID。'."\n" + .'- **DEDICATEDCLUSTERID**:专属集群ID。'."\n" + ."\n" + .'> 您需要传入**Params**,指定查询条件的具体内容。', 'type' => 'string', 'required' => false, 'example' => 'NAME'], ], [ - 'name' => 'SynchronizationDirection', + 'name' => 'Params', 'in' => 'query', - 'schema' => [ - 'description' => '同步链路方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 当数据同步实例的拓扑为双向时,才可以传入**Reverse**以释放反向同步链路。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'Forward', - ], + 'schema' => ['description' => '查询条件的具体内容。'."\n" + ."\n" + .'> 您需要提前传入**Type**,指定查询条件。', 'type' => 'string', 'required' => false, 'example' => 'dtspk3f13r731m****'], ], [ - 'name' => 'RegionId', + 'name' => 'State', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '集群状态,取值为:'."\n" + ."\n" + .'- **init**:初始化。'."\n" + .'- **schedule**:待调度。'."\n" + .'- **running**:运行中。'."\n" + .'- **upgrade**:升级中。'."\n" + .'- **downgrade**,:降级中。'."\n" + .'- **locked**:已锁定。'."\n" + .'- **releasing**:释放中。'."\n" + .'- **released**:已经释放。', 'type' => 'string', 'required' => false, 'example' => 'init'], ], [ - 'name' => 'DtsInstanceId', + 'name' => 'OrderDirection', 'in' => 'query', - 'schema' => [ - 'description' => '迁移或同步实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsl3m1213ye7l****', - ], + 'schema' => ['description' => '排序方向,取值为:'."\n" + ."\n" + .'- **asc**:正序,为默认值。'."\n" + .'- **desc**:倒序。', 'type' => 'string', 'required' => false, 'example' => 'asc'], ], [ - 'name' => 'StructType', + 'name' => 'OrderColumn', 'in' => 'query', - 'schema' => [ - 'description' => '结构定义的类型,取值:'."\n" - ."\n" - .'- **before**:库表结构迁移或初始化。'."\n" - .'- **after**:增量数据迁移或同步的DDL操作。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'before', - 'enum' => [], - ], + 'schema' => ['description' => '当返回结果包含多个DTS专属集群实例时,传入本参数指定实例的排序依据,取值:'."\n" + ."\n" + .'- **gmtCreated**:创建时间'."\n" + .'- **orderCount**:节点数', 'type' => 'string', 'required' => false, 'example' => 'gmtCreated'], ], [ - 'name' => 'ZeroEtlJob', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '每页记录集群数量。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => '页码,取值为大于0且不超过Integer数据类型的最大值,默认值为**1**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek2mjc4qlnog6q', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfntftbiobqyky'], ], ], 'responses' => [ @@ -27812,105 +14283,97 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Code' => [ - 'description' => '错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9033138C-5AB3-5EB7-BA78-43131F19297C', - ], - 'Success' => [ - 'description' => '请求是否成功,返回值:'."\n" - .'- **true**:请求成功。'."\n" - .'- **false**:请求失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'JobId' => [ - 'description' => '迁移或同步任务ID。', - 'type' => 'string', - 'example' => 'l3m1213ye7l****', - ], - 'ProgressSummaryDetails' => [ - 'description' => '迁移对象数组返回信息。'."\n" - .'> 数组返回格式如下:\\[{"key":"Function","state":5,"totalCount":22},{"key":"Procedure","state":5,"totalCount":26},{"key":"Table","state":0,"totalCount":68},{"key":"View","state":5,"totalCount":100}]。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '迁移对象类型,返回值:**Table**(表)、**Constraint**(约束)、**Index**(索引)、**View**(视图)、**Materialize View**(物化视图)、**Type**(自定义类型)、**Synonym**(同义词)、**Trigger**(触发器)、**Function**(函数)、**Procedure**(存储过程)、**Package**(包)、**Default**(默认值)、**Rule**(规则)、**PlanGuide**(执行计划)、**Sequence**(序列)。', - 'type' => 'string', - 'example' => 'Table', - ], - 'TotalCount' => [ - 'description' => '迁移对象总数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'State' => [ - 'description' => '迁移状态,返回值:'."\n" - .'- **0**:finish(结束)。'."\n" - .'- **1**:catched(等待同步)。'."\n" - .'- **2**:init(初始化)。'."\n" - .'- **3**:running(同步中)。'."\n" - .'- **4**:warning(报错)。'."\n" - .'- **5**:failed(失败)。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'PageRecordCount' => ['description' => '当前页可展示的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'TotalRecordCount' => ['description' => '所有符合条件的集群数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '15'], + 'PageNumber' => ['description' => '页码,取值为大于0且不超过Integer数据类型的最大值,默认值为1。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'DedicatedClusterStatusList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DedicatedClusterStatus' => [ + 'description' => '查询所有集群的状态。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DtsInstanceID' => ['description' => 'DTS实例ID。', 'type' => 'string', 'example' => 'dtsi03e3zty16i****'], + 'DedicatedClusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => 'dtscluster*******'], + 'DedicatedClusterName' => ['description' => '集群名称。', 'type' => 'string', 'example' => 'daily_test'], + 'Du' => ['description' => 'DU数。', 'type' => 'integer', 'format' => 'int64', 'example' => '30'], + 'OversoldDu' => ['description' => '超配DU的数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '60'], + 'UsedDu' => ['description' => '已使用DU数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '5'], + 'State' => ['description' => '集群状态,取值为:'."\n" + ."\n" + .'- **init**:初始化。'."\n" + .'- **schedule**:待调度。'."\n" + .'- **running**:运行中。'."\n" + .'- **upgrade**:升级中。'."\n" + .'- **downgrade**,:降级中。'."\n" + .'- **locked**:已锁定。'."\n" + .'- **releasing**:释放中。'."\n" + .'- **released**:已经释放。', 'type' => 'string', 'example' => 'init'], + 'RegionId' => ['description' => '实例所在区域。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'GmtCreated' => ['description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1647424384606'], + 'NodeCount' => ['description' => '集群节点数。', 'type' => 'integer', 'format' => 'int64', 'example' => '5'], + 'DuUtilization' => ['description' => 'DU使用百分比。', 'type' => 'integer', 'format' => 'int64', 'example' => '16.6667'], + 'CpuUtilization' => ['description' => 'CPU使用百分比。', 'type' => 'integer', 'format' => 'int64', 'example' => '30'], + 'TotalCpuCore' => ['description' => 'CPU总核数。', 'type' => 'integer', 'format' => 'int64', 'example' => '100'], + 'UsedCpuCore' => ['description' => '已使用CPU核数。', 'type' => 'integer', 'format' => 'int64', 'example' => '30'], + 'MemUtilization' => ['description' => 'CPU使用量。', 'type' => 'integer', 'format' => 'int64', 'example' => '20'], + 'TotalMemGBSize' => ['description' => '内存总大小(GB)。', 'type' => 'integer', 'format' => 'int64', 'example' => '256'], + 'UsedMemGBSize' => ['description' => '已使用内存大小(GB)。', 'type' => 'integer', 'format' => 'int64', 'example' => '128'], + 'DiskUtilization' => ['description' => '磁盘使用量。', 'type' => 'integer', 'format' => 'int64', 'example' => '50'], + 'TotalDiskGBSize' => ['description' => '磁盘总大小(GB)。', 'type' => 'integer', 'format' => 'int64', 'example' => '2048'], + 'UsedDiskGBSize' => ['description' => '已使用磁盘大小(GB)。', 'type' => 'integer', 'format' => 'int64', 'example' => '1024'], + ], + 'description' => '', ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"PageRecordCount\\": 20,\\n \\"TotalRecordCount\\": 15,\\n \\"PageNumber\\": 1,\\n \\"DedicatedClusterStatusList\\": {\\n \\"DedicatedClusterStatus\\": [\\n {\\n \\"DtsInstanceID\\": \\"dtsi03e3zty16i****\\",\\n \\"DedicatedClusterId\\": \\"dtscluster*******\\",\\n \\"DedicatedClusterName\\": \\"daily_test\\",\\n \\"Du\\": 30,\\n \\"OversoldDu\\": 60,\\n \\"UsedDu\\": 5,\\n \\"State\\": \\"init\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"GmtCreated\\": 1647424384606,\\n \\"NodeCount\\": 5,\\n \\"DuUtilization\\": 16.6667,\\n \\"CpuUtilization\\": 30,\\n \\"TotalCpuCore\\": 100,\\n \\"UsedCpuCore\\": 30,\\n \\"MemUtilization\\": 20,\\n \\"TotalMemGBSize\\": 256,\\n \\"UsedMemGBSize\\": 128,\\n \\"DiskUtilization\\": 50,\\n \\"TotalDiskGBSize\\": 2048,\\n \\"UsedDiskGBSize\\": 1024\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListDedicatedClusterResponse>\\n <code>200</code>\\n <data>\\n <TotalRecordCount>2</TotalRecordCount>\\n <PageRecordCount>20</PageRecordCount>\\n <RequestId>49BCBE1F-3AB4-***</RequestId>\\n <PageNumber>1</PageNumber>\\n <DedicatedClusterStatusList>\\n <DedicatedClusterStatus>\\n <UsedDu>14</UsedDu>\\n <DuUtilization>46</DuUtilization>\\n <DedicatedClusterId>dtscluster_***</DedicatedClusterId>\\n <NodeCount>2</NodeCount>\\n <UsedDiskGBSize>51</UsedDiskGBSize>\\n <OversoldDu>30</OversoldDu>\\n <TotalDiskGBSize>1006</TotalDiskGBSize>\\n <DiskUtilization>6</DiskUtilization>\\n <UsedMemGBSize>63</UsedMemGBSize>\\n <GmtCreated>1642476144000</GmtCreated>\\n <DtsInstanceID>dtsb84w12e2188ya1r</DtsInstanceID>\\n <DedicatedClusterName>dtscluster_***</DedicatedClusterName>\\n <TotalMemGBSize>259</TotalMemGBSize>\\n <Du>30</Du>\\n <MemUtilization>24</MemUtilization>\\n <State>running</State>\\n <UsedCpuCore>0</UsedCpuCore>\\n <TotalCpuCore>32</TotalCpuCore>\\n <RegionId>cn-hangzhou</RegionId>\\n <CpuUtilization>2</CpuUtilization>\\n </DedicatedClusterStatus>\\n <DedicatedClusterStatus>\\n <UsedDu>0</UsedDu>\\n <DuUtilization>0</DuUtilization>\\n <DedicatedClusterId>dtsCluster***</DedicatedClusterId>\\n <NodeCount>0</NodeCount>\\n <UsedDiskGBSize>0</UsedDiskGBSize>\\n <OversoldDu>60</OversoldDu>\\n <TotalDiskGBSize>0</TotalDiskGBSize>\\n <DiskUtilization>0</DiskUtilization>\\n <UsedMemGBSize>0</UsedMemGBSize>\\n <GmtCreated>1641377381000</GmtCreated>\\n <DedicatedClusterName>dedicatedCluster_***</DedicatedClusterName>\\n <TotalMemGBSize>0</TotalMemGBSize>\\n <Du>40</Du>\\n <MemUtilization>0</MemUtilization>\\n <State>releasing</State>\\n <UsedCpuCore>0</UsedCpuCore>\\n <TotalCpuCore>0</TotalCpuCore>\\n <RegionId>cn-hangzhou</RegionId>\\n <CpuUtilization>0</CpuUtilization>\\n </DedicatedClusterStatus>\\n </DedicatedClusterStatusList>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>49BCBE1F-3AB4-****</requestId>\\n <successResponse>true</successResponse>\\n</ListDedicatedClusterResponse>","errorExample":""}]', + 'title' => '查询集群列表', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'dts:ListDedicatedCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"Code\\": \\"200\\",\\n \\"RequestId\\": \\"9033138C-5AB3-5EB7-BA78-43131F19297C\\",\\n \\"Success\\": true,\\n \\"JobId\\": \\"l3m1213ye7l****\\",\\n \\"ProgressSummaryDetails\\": [\\n {\\n \\"Key\\": \\"Table\\",\\n \\"TotalCount\\": 100,\\n \\"State\\": 0\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<SummaryJobDetailResponse>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Code>200</Code>\\n <RequestId>9033138C-5AB3-5EB7-BA78-43131F19297C</RequestId>\\n <Success>true</Success>\\n <JobId>l3m1213ye7l****</JobId>\\n <ProgressSummaryDetails>\\n <Key>Table</Key>\\n <TotalCount>100</TotalCount>\\n <State>0</State>\\n </ProgressSummaryDetails>\\n</SummaryJobDetailResponse>","errorExample":""}]', - 'title' => '获取DTS任务迁移表的信息', - 'summary' => '调用SummaryJobDetail接口统计DTS数据迁移或同步任务中迁移表的数量。', ], - 'SuspendDtsJobs' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListJobStep' => [ + 'summary' => '查询JobStep列表', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -27919,58 +14382,36 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '52319', - 'abilityTreeNodes' => [ - 'FEATUREdtsQYRBZN', - ], + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '142560', + 'abilityTreeNodes' => ['FEATUREdtsDW6WLD'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'DtsJobIds', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步任务ID。'."\n" - .'> - 当有多个任务ID时,使用\',\'隔开。'."\n" - .'- 可调用[DescribeDtsJobs](~~209702~~)获取DTS任务ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'hfi12iv4z7e****', - ], + 'schema' => ['description' => '迁移或同步任务ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'k2gm967v16f****'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ZeroEtlJob', 'in' => 'query', - 'schema' => [ - 'description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" - ."\n" - .'- **false**:否。'."\n" - .'- **true**:是。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek3dcgyq7p****'], ], ], 'responses' => [ @@ -27978,82 +14419,147 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'AD823BD3-1BA6-4117-A536-165CB280****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。'."\n", - 'type' => 'string', - 'example' => 'DtsJobId', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。'."\n" - ."\n", - 'type' => 'string', - 'example' => '403', + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****'], + 'Code' => ['description' => '错误码。', 'type' => 'string', 'example' => '200'], + 'UseV2API' => ['description' => '是否使用Console2.0的API。', 'type' => 'boolean', 'example' => 'True'], + 'JobSteps' => [ + 'description' => '任务步骤信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'JobStepId' => ['description' => '任务步骤ID。', 'type' => 'string', 'example' => 'l02c1f7h179****'], + 'JobStepName' => ['description' => '任务步骤信息。取值范围如下:'."\n" + ."\n" + .'- 预检查:预检查阶段'."\n" + .'- 增量数据服务:增量数据采集阶段'."\n" + .'- dts.step.struct.load:结构迁移阶段'."\n" + .'- dts.step.data.load:全量迁移阶段'."\n" + .'- etl-check:ETL阶段'."\n" + .'- 一致性校验:数据校验阶段'."\n" + .'- 同步:增量同步阶段', 'type' => 'string', 'example' => '预检查'], + 'Code' => ['description' => '任务步骤标识。', 'type' => 'string', 'example' => '01'], + 'Serial' => ['description' => '任务步骤系列号。任务执行顺序,数值越小执行顺序越靠前。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Progress' => ['description' => '任务步骤进度', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'SubJobCount' => ['description' => '子任务数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'IncLatencySeconds' => ['description' => '增量数据延迟时间,单位为秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '-1'], + 'State' => ['description' => '任务步骤状态。', 'type' => 'string', 'example' => '○ Finished'], + 'ErrMsg' => ['description' => '报错信息。', 'type' => 'string', 'example' => 'fullcheck find different records : 2372'], + 'SubJobSteps' => [ + 'description' => '子任务的步骤信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'JobStepId' => ['description' => '任务id。', 'type' => 'string', 'example' => 'mj3z9w9s10am68o_0004_0000'], + 'JobStepName' => ['description' => '子任务步骤信息。取值范围如下:'."\n" + ."\n" + .'- 预检查:预检查阶段'."\n" + .'- 增量数据服务:增量数据采集阶段'."\n" + .'- dts.step.struct.load:结构迁移阶段'."\n" + .'- dts.step.data.load:全量迁移阶段'."\n" + .'- etl-check:ETL阶段'."\n" + .'- 一致性校验:数据校验阶段'."\n" + .'- 同步:增量同步阶段', 'type' => 'string', 'example' => 'test'], + 'Code' => ['description' => '子任务步骤标识。', 'type' => 'string', 'example' => '03'], + 'Serial' => ['description' => '子任务步骤系列号。任务执行顺序,数值越小执行顺序越靠前。', 'type' => 'integer', 'format' => 'int32', 'example' => '123'], + 'Progress' => ['description' => '子任务步骤进度。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'IncLatencySeconds' => ['description' => '增量数据延迟时间,单位为秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'State' => ['description' => '子任务步骤状态,取值范围:'."\n" + .'- Failed:失败。'."\n" + .'- Pause:暂停。'."\n" + .'- Schedule:调度。'."\n" + .'- Init:初始化。'."\n" + .'- Running:同步中。'."\n" + .'- Catched:等待同步。'."\n" + .'- Finished:结束。', 'type' => 'string', 'example' => 'running'], + 'ErrMsg' => ['description' => '报错信息。', 'type' => 'string', 'example' => 'UncaughtException:java.lang.NullPointerException'], + 'CreateTime' => ['description' => '子任务创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2024-09-20T02:13:12Z'], + 'BootTime' => ['description' => '子任务启动时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2025-01-02T02:00:21Z'], + 'FinishTime' => ['description' => '子任务结束时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2024-03-15T02:15:14Z'], + 'ModifyTime' => ['description' => '子任务修改时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2024-08-22T02:04:35Z'], + 'ErrorDetails' => [ + 'description' => '错误信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ErrorCode' => ['description' => '错误码。', 'type' => 'string', 'example' => 'Success'], + 'HelpUrl' => ['description' => '帮助文档的URL。', 'type' => 'string', 'example' => '****'], + ], + 'description' => '', + ], + ], + 'IncLatencyMilliseconds' => ['description' => '增量数据延迟时间,单位为毫秒。', 'type' => 'string', 'example' => '1'], + 'NeedAcceleration' => ['description' => '判断是否需要提供尝试加速功能。', 'type' => 'boolean', 'example' => 'true'], + ], + 'description' => '', + ], + ], + 'CreateTime' => ['description' => '任务创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2023-11-28T17:13:51Z'], + 'BootTime' => ['description' => '任务启动时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2024-04-11T09:33:23Z'], + 'FinishTime' => ['description' => '任务结束时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2024-03-15T02:15:14Z'], + 'ModifyTime' => ['description' => '任务修改时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'string', 'example' => '2025-01-03T02:26:14Z'], + 'ErrorDetails' => [ + 'description' => '错误信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ErrorCode' => ['description' => '错误码。', 'type' => 'string', 'example' => '200'], + 'HelpUrl' => ['description' => '帮助文档的URL。', 'type' => 'string', 'example' => '****'], + ], + 'description' => '', + ], + ], + 'IncLatencyMilliseconds' => ['description' => '增量数据延迟时间,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'NeedAcceleration' => ['description' => '判断是否需要提供尝试加速功能。', 'type' => 'boolean', 'example' => 'true'], + 'redisPhaseType' => ['description' => '用于区分Redis全量和增量阶段。取值范围:'."\n" + .'- full:全量阶段'."\n" + .'- inc:增量阶段', 'type' => 'string', 'example' => 'full'], + ], + 'description' => '', + ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Success\\": true,\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"Code\\": \\"200\\",\\n \\"UseV2API\\": true,\\n \\"JobSteps\\": [\\n {\\n \\"JobStepId\\": \\"l02c1f7h179****\\",\\n \\"JobStepName\\": \\"预检查\\",\\n \\"Code\\": \\"01\\",\\n \\"Serial\\": 1,\\n \\"Progress\\": 100,\\n \\"SubJobCount\\": 1,\\n \\"IncLatencySeconds\\": -1,\\n \\"State\\": \\"○ Finished\\",\\n \\"ErrMsg\\": \\"fullcheck find different records : 2372\\",\\n \\"SubJobSteps\\": [\\n {\\n \\"JobStepId\\": \\"mj3z9w9s10am68o_0004_0000\\",\\n \\"JobStepName\\": \\"test\\",\\n \\"Code\\": \\"03\\",\\n \\"Serial\\": 123,\\n \\"Progress\\": 0,\\n \\"IncLatencySeconds\\": 1,\\n \\"State\\": \\"running\\",\\n \\"ErrMsg\\": \\"UncaughtException:java.lang.NullPointerException\\",\\n \\"CreateTime\\": \\"2024-09-20T02:13:12Z\\",\\n \\"BootTime\\": \\"2025-01-02T02:00:21Z\\",\\n \\"FinishTime\\": \\"2024-03-15T02:15:14Z\\",\\n \\"ModifyTime\\": \\"2024-08-22T02:04:35Z\\",\\n \\"ErrorDetails\\": [\\n {\\n \\"ErrorCode\\": \\"Success\\",\\n \\"HelpUrl\\": \\"****\\"\\n }\\n ],\\n \\"IncLatencyMilliseconds\\": \\"1\\",\\n \\"NeedAcceleration\\": true\\n }\\n ],\\n \\"CreateTime\\": \\"2023-11-28T17:13:51Z\\",\\n \\"BootTime\\": \\"2024-04-11T09:33:23Z\\",\\n \\"FinishTime\\": \\"2024-03-15T02:15:14Z\\",\\n \\"ModifyTime\\": \\"2025-01-03T02:26:14Z\\",\\n \\"ErrorDetails\\": [\\n {\\n \\"ErrorCode\\": \\"200\\",\\n \\"HelpUrl\\": \\"****\\"\\n }\\n ],\\n \\"IncLatencyMilliseconds\\": 1,\\n \\"NeedAcceleration\\": true,\\n \\"redisPhaseType\\": \\"full\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListJobStepResponse>\\n <Success>true</Success>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>621BB4F8-3016-4FAA-8D5A-5D3163CC****</RequestId>\\n <Code>200</Code>\\n <UseV2API>true</UseV2API>\\n <JobSteps>\\n <JobStepId>l02c1f7h179****</JobStepId>\\n <JobStepName>预检查</JobStepName>\\n <Code>01</Code>\\n <Serial>1</Serial>\\n <Progress>100</Progress>\\n <SubJobCount>1</SubJobCount>\\n <IncLatencySeconds>-1</IncLatencySeconds>\\n <State>○ Finished</State>\\n <ErrMsg>fullcheck find different records : 2372</ErrMsg>\\n <SubJobSteps>\\n <JobStepId>mj3z9w9s10am68o_0004_0000</JobStepId>\\n <JobStepName>test</JobStepName>\\n <Code>03</Code>\\n <Serial>123</Serial>\\n <Progress>0</Progress>\\n <IncLatencySeconds>1</IncLatencySeconds>\\n <State>running</State>\\n <ErrMsg>UncaughtException:java.lang.NullPointerException</ErrMsg>\\n <CreateTime>2024-09-20T02:13:12Z</CreateTime>\\n <BootTime>2025-01-02T02:00:21Z</BootTime>\\n <FinishTime>2024-03-15T02:15:14Z</FinishTime>\\n <ModifyTime>2024-08-22T02:04:35Z</ModifyTime>\\n <ErrorDetails>\\n <ErrorCode>Success</ErrorCode>\\n <HelpUrl>****</HelpUrl>\\n </ErrorDetails>\\n <IncLatencyMilliseconds>1</IncLatencyMilliseconds>\\n <NeedAcceleration>true</NeedAcceleration>\\n </SubJobSteps>\\n <CreateTime>2023-11-28T17:13:51Z</CreateTime>\\n <BootTime>2024-04-11T09:33:23Z</BootTime>\\n <FinishTime>2024-03-15T02:15:14Z</FinishTime>\\n <ModifyTime>2025-01-03T02:26:14Z</ModifyTime>\\n <ErrorDetails>\\n <ErrorCode>200</ErrorCode>\\n <HelpUrl>****</HelpUrl>\\n </ErrorDetails>\\n <IncLatencyMilliseconds>1</IncLatencyMilliseconds>\\n <NeedAcceleration>true</NeedAcceleration>\\n </JobSteps>\\n</ListJobStepResponse>","errorExample":""}]', + 'title' => '查询JobStep列表', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'dts:ListJobStep', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"AD823BD3-1BA6-4117-A536-165CB280****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","type":"json"}]', - 'title' => '批量暂停DTS任务', - 'summary' => '调用SuspendDtsJobs接口批量暂停DTS任务。', ], - 'TransferInstanceClass' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListTagResources' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -28061,67 +14567,69 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'OrderType', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '请填入**UPGRADE**。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'UPGRADE', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou '], ], [ - 'name' => 'InstanceClass', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => '升级后的实例规格,可以调用[DescribeDtsJobDetail](~~208925~~)查询升级前的实例规格。'."\n" - ."\n" - .'- 迁移实例支持的规格:**xxlarge**、**xlarge**、**large**、**medium**、**small**。'."\n" - .'- 同步实例支持的规格:**large**、**medium**、**small**、**micro**。'."\n" - ."\n" - .'> 关于各链路规格的说明及性能测试情况请参见[数据迁移链路规格说明](~~26606~~)和[数据同步链路规格说明](~~26605~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'large', - ], + 'schema' => ['description' => '资源类型定义,取值固定为:**ALIYUN::DTS::INSTANCE**。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ALIYUN::DTS::INSTANCE'], ], [ - 'name' => 'RegionId', + 'name' => 'NextToken', 'in' => 'query', + 'schema' => ['description' => '查询凭证。'."\n" + .'> 如果一次查询没有返回全部结果,则可在后续查询中传入上一次查询返回的**NextToken**参数继续查询。', 'type' => 'string', 'required' => false, 'example' => '212db86sca4384811e0b5e8707ec2****'], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'DTS实例所在地域的ID,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', + 'description' => '数据迁移、同步和订阅的实例ID,可以通过调用[DescribeDtsJobs](~~209702~~)。'."\n" + .'> - N表示传入第几个实例ID。例如:ResourceId.0表示传入第一个实例ID;ResourceId.1表示传入第二个实例ID。可以同时查询1~50个实例ID。'."\n" + .'- 该参数和**Tag.N.Key**参数至少传入一个。', + 'type' => 'array', + 'items' => ['description' => '数据迁移、同步和订阅的实例ID,可以通过调用[DescribeDtsJobs](~~209702~~)。'."\n" + .'> - N表示传入第几个实例ID。例如:ResourceId.0表示传入第一个实例ID;ResourceId.1表示传入第二个实例ID。可以同时查询1~50个实例ID。'."\n" + .'- 该参数和**Tag.N.Key**参数至少传入一个。', 'type' => 'string', 'required' => false, 'example' => 'dtsntk10k6r12v****'], 'required' => false, - 'example' => 'cn-hangzhou', + 'example' => 'dtsntk10k6r12v****', + 'maxItems' => 51, ], ], [ - 'name' => 'DtsJobId', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '迁移或同步任务ID,可调用[DescribeDtsJobs](~~209702~~)查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'r4yr723m199****', + 'description' => '标签键对应的标签值。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '标签键。'."\n" + .'> - N表示传入第几个标签的键。例如:Tag.0.Key表示传入第一个标签的键;Tag.1.Key表示传入第二个标签的键。可以同时查询1~20个标签键。'."\n" + .'- 该参数和**ResourceId.N**参数至少传入一个,且传入时不允许传入空字符串。'."\n", 'type' => 'string', 'required' => false, 'example' => 'testkey1'], + 'Value' => ['description' => '标签的值。'."\n" + .'> - N表示传入第几个标签的值。例如:Tag.0.Value表示传入第一个标签的值;Tag.1.Value表示传入第二个标签的值。可以同时查询1~20个标签值。'."\n" + .'- 允许传入空字符串。', 'type' => 'string', 'required' => false, 'example' => 'testvalue1 '], + ], + 'required' => false, + 'description' => '', + ], + 'required' => false, + 'maxItems' => 21, ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -28129,252 +14637,311 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => '实例到期时间。'."\n" - ."\n" - .'> ChargeType为**PREPAY**,才会返回此参数。', - 'type' => 'string', - 'example' => '2021-08-04T16:00:00.000+00:00', - ], - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '716DB03E-2D0B-4DC3-BC4C-F7A9EE21****', - ], - 'DtsJobId' => [ - 'description' => '迁移或同步任务ID。', - 'type' => 'string', - 'example' => 'r4yr723m199****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。返回值:'."\n" - ."\n" - .'- **true**:请求成功。'."\n" - .'- **false**:请求失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ChargeType' => [ - 'description' => '付费类型,返回值:'."\n" - .'- **POSTPAY**:按量付费(后付费)。'."\n" - .'- **PREPAY**:包年包月(预付费)。', - 'type' => 'string', - 'example' => 'POSTPAY', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'Code' => [ - 'description' => '错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的%**s**。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则表示所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', - ], - 'InstanceId' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'dtsr4yr723m199****', + 'NextToken' => ['description' => '查询凭证。'."\n" + .'> 如果此次查询没有返回全部结果,则可在后续查询中传入此**NextToken**参数继续查询。', 'type' => 'string', 'example' => '212db86sca4384811e0b5e8707ec2****'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '609AD332-F2B1-48B7-BF43-41FEE641****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'TagResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TagResource' => [ + 'description' => '返回标签集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TagValue' => ['description' => '标签键对应的标签值。', 'type' => 'string', 'example' => 'testvalue1'], + 'ResourceType' => ['description' => '资源类型定义,取值固定为**ALIYUN::DTS::INSTANCE**。', 'type' => 'string', 'example' => 'ALIYUN::DTS::INSTANCE'], + 'ResourceId' => ['description' => '实例ID。', 'type' => 'string', 'example' => 'dtsntk10k6r12v****'], + 'TagKey' => ['description' => '标签键。', 'type' => 'string', 'example' => 'testkey1'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ], + 419 => [ + ['errorCode' => 'QuotaExceed.TagsPerResource', 'errorMessage' => 'The maximum number of tags for each resource is exceeded.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2021-08-04T16:00:00.000+00:00\\",\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"716DB03E-2D0B-4DC3-BC4C-F7A9EE21****\\",\\n \\"DtsJobId\\": \\"r4yr723m199****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ChargeType\\": \\"POSTPAY\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"InstanceId\\": \\"dtsr4yr723m199****\\"\\n}","errorExample":""},{"type":"xml","example":"<TransferInstanceClassResponse>\\n <DtsJobId>r4yr723m199****</DtsJobId>\\n <RequestId>716DB03E-2D0B-4DC3-BC4C-F7A9EE21****</RequestId>\\n <InstanceId>dtsr4yr723m199****</InstanceId>\\n <ChargeType>POSTPAY</ChargeType>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success> \\n</TransferInstanceClassResponse>","errorExample":""}]', - 'title' => '升级或降级DTS实例规格', - 'summary' => '可以升级或降级DTS实例规格。', - 'description' => '> - DTS实例规格已不支持降级。'."\n" - .'- 若DTS实例的源端为Redis 6.0版本且有增量数据更新,请勿执行升级操作,否则可能会导致DTS实例失败且无法恢复(失败后需要重新配置实例)。'."\n", + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"212db86sca4384811e0b5e8707ec2****\\",\\n \\"RequestId\\": \\"609AD332-F2B1-48B7-BF43-41FEE641****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"TagValue\\": \\"testvalue1\\",\\n \\"ResourceType\\": \\"ALIYUN::DTS::INSTANCE\\",\\n \\"ResourceId\\": \\"dtsntk10k6r12v****\\",\\n \\"TagKey\\": \\"testkey1\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListTagResourcesResponse>\\n <RequestId>609AD332-F2B1-48B7-BF43-41FEE641****</RequestId>\\n <TagResources>\\n <ResourceId>dtsntk10k6r12v****</ResourceId>\\n <TagKey>testkey1</TagKey>\\n <ResourceType>ALIYUN::DTS::INSTANCE</ResourceType>\\n <TagValue>testvalue1</TagValue>\\n </TagResources>\\n <Success>true</Success>\\n</ListTagResourcesResponse>","errorExample":""}]', + 'title' => '查询标签', + 'summary' => '调用ListTagResources查询迁移、同步和订阅实例绑定的标签,也可以查询标签所绑定的实例。', + 'description' => '****', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'TransferPayType' => [ - 'summary' => '新版转换支付方式。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'ModifyConsumerChannel' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '52325', - 'abilityTreeNodes' => [ - 'FEATUREdtsJ32CAF', - ], - ], + 'systemTags' => [], 'parameters' => [ [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'DTS订阅实例所在地域的ID,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'DtsInstanceId', + 'in' => 'query', + 'schema' => ['description' => '订阅实例ID,可以调用[DescribeDtsJobs](~~209702~~)查询。'."\n" + .'> 参数**DtsInstanceId**与**DtsJobId**,两者必须传入其一。', 'type' => 'string', 'required' => false, 'example' => 'dtsboss6pn1w73****'], + ], + [ 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '同步或订阅任务ID,可调用[DescribeDtsJobs](~~209702~~)查询。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'o4nh3g7jg56****', - ], + 'schema' => ['description' => '订阅任务ID,可以调用[DescribeDtsJobs](~~209702~~)查询。'."\n" + .'> 参数**DtsInstanceId**与**DtsJobId**,两者必须传入其一。', 'type' => 'string', 'required' => false, 'example' => 'boss6pn1w73****'], ], [ - 'name' => 'ChargeType', + 'name' => 'ConsumerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '修改后的付费方式,取值:'."\n" - .'- **PrePaid**:预付费,即包年包月。'."\n" - .'- **PostPaid**:后付费,即按量付费。'."\n" - .'<props="china">'."\n" - .'- **sync_serverless**:后付费Serverless。</props>'."\n" - ."\n\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'PostPaid', - ], + 'schema' => ['description' => '消费组ID,您可以调用[DescribeConsumerChannel](~~264169~~)接口查询消费组ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsor2y66j4219****'], ], [ - 'name' => 'Period', + 'name' => 'ConsumerGroupPassword', 'in' => 'query', - 'schema' => [ - 'description' => '预付费实例的计费方式,取值:'."\n" - .'- **Year**:包年。'."\n" - .'- **Month**:包月。'."\n" - ."\n" - .'> 当**ChargeType**为**PrePaid**(预付费)时,该参数才有效且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'Year', - ], + 'schema' => ['description' => '修改后的消费组账号密码。'."\n" + ."\n" + .'- 由大写字母、小写字母、数字、特殊字符中的任意两种或两种以上组成。'."\n" + .'- 密码长度为8~32个字符。', 'type' => 'string', 'required' => false, 'example' => 'Test123456'], ], [ - 'name' => 'BuyCount', + 'name' => 'ConsumerGroupUserName', + 'in' => 'query', + 'schema' => ['description' => '修改后的消费组的账号。'."\n" + ."\n" + .'- 由大写字母、小写字母、数字、下划线中的任意一种或多种组成。'."\n" + .'- 最长16个字符。', 'type' => 'string', 'required' => false, 'example' => 'dtstest'], + ], + [ + 'name' => 'ConsumerGroupName', 'in' => 'query', + 'schema' => ['description' => '修改后的消费组名称,不超过128个字符。建议配置具有业务意义的名称,便于后续识别。', 'type' => 'string', 'required' => false, 'example' => '订阅组B'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '预付费实例购买时长。'."\n" - .'- 当**Period**为**Year**(包年)时,取值范围为**1**~**5**。'."\n" - .'- 当**Period**为**Month**(包月)时,取值范围为**1**~**60**。'."\n" - ."\n" - .'> 当**ChargeType**为**Prepaid**(预付费)时,该参数才有效且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => '5', + 'type' => 'object', + 'properties' => [ + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '055CAF9B-C15D-4799-BB9E-E62D417****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], + ], + 403 => [ + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ], + 500 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"055CAF9B-C15D-4799-BB9E-E62D417****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyConsumerChannelResponse>\\n <RequestId>055CAF9B-C15D-4799-BB9E-E62D417****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</ModifyConsumerChannelResponse>","errorExample":""}]', + 'title' => '修改订阅通道中消费组', + 'summary' => '新版修改订阅通道中消费组的相关信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'dts:ModifyConsumerChannel', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], + ], + ], + 'ModifyConsumerGroupPassword' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '实例所属的地域,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据订阅实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'MinDu', + 'name' => 'SubscriptionInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'Serverless实例的DU下限,取值为:1、2、4、8、16。'."\n" - ."\n" - .'<props="intl">'."\n" - .'> 当前暂不支持此功能,请勿传入参数。</props>'."\n" - .'<props="china">'."\n" - .'> 当**ChargeType**为**sync_serverless**时,该参数才有效且必须传入。</props>'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '数据订阅实例ID,可以通过调用DescribeSubscriptionInstances接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsg2m10r1x15a****'], ], [ - 'name' => 'MaxDu', + 'name' => 'ConsumerGroupID', 'in' => 'query', - 'schema' => [ - 'description' => 'Serverless实例的DU上限,取值为:2、4、8、16。'."\n" - .'<props="intl">'."\n" - .'> 当前暂不支持此功能,请勿传入参数。</props>'."\n" - .'<props="china">'."\n" - .'> 当**ChargeType**为**sync_serverless**时,该参数才有效且必须传入。</props>', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '16', - ], + 'schema' => ['description' => '消费组ID,'."\n" + .'您可以调用[DescribeConsumerGroup](~~122886~~)接口查询消费组ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtswc411cg617p****'], ], [ - 'name' => 'AutoPay', + 'name' => 'ConsumerGroupName', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], + 'schema' => ['description' => '消费组名称,您可以调用[DescribeConsumerGroup](~~122886~~)接口查询。', 'type' => 'string', 'required' => false, 'example' => 'dtstest'], + ], + [ + 'name' => 'ConsumerGroupUserName', + 'in' => 'query', + 'schema' => ['description' => '消费组账号,您可以使用DescribeConsumerGroup接口查询', 'type' => 'string', 'required' => false, 'example' => 'dtstest'], + ], + [ + 'name' => 'ConsumerGroupPassword', + 'in' => 'query', + 'schema' => ['description' => '消费组当前的密码。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Test123456'], + ], + [ + 'name' => 'consumerGroupNewPassword', + 'in' => 'query', + 'schema' => ['description' => '消费组的新密码。'."\n" + ."\n" + .'- 密码由大写字母、小写字母、数字、特殊字符中的任意两种或两种以上组成。'."\n" + .'- 密码长度为8~32个字符。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Test654321'], + ], + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'A06B5CFF-9576-4BC1-BE62-A3D43E1F****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用出错时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + ], + 'description' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], + ], + 403 => [ + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ], + 500 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A06B5CFF-9576-4BC1-BE62-A3D43E1F****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '修改消费组密码', + 'summary' => '老版修改消费组密码。', + 'changeSet' => [], + 'ramActions' => [], + ], + 'ModifyConsumptionTimestamp' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], + 'parameters' => [ [ - 'name' => 'InstanceClass', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'SubscriptionInstanceId', + 'in' => 'query', + 'schema' => ['description' => '数据订阅实例ID,可以通过调用**DescribeSubscriptionInstances**接口查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsg2m10r1x15a****'], + ], + [ + 'name' => 'ConsumptionTimestamp', + 'in' => 'query', + 'schema' => ['description' => '消费时间点,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2019-10-15T17:20:03Z'], + ], + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -28382,170 +14949,88 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => '预付费实例到期时间,格式为Unix时间戳。'."\n" - .'> - 如修改后的实例为后付费实例,则该值为空值。'."\n" - .'- Unix时间戳转换工具可用搜索引擎获取。', - 'type' => 'string', - 'example' => '1614916318', - ], - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '601B6F25-21E7-4484-99D5-3EF2625C****', - ], - 'DtsJobId' => [ - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'o4nh3g7jg56****', - ], - 'ErrCode' => [ - 'description' => '调用错误时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功,返回值:'."\n" - .'- **true**:请求成功。'."\n" - .'- **false**:请求失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ChargeType' => [ - 'description' => '修改后的付费方式,返回值:'."\n" - .'- **PrePaid**:预付费。'."\n" - .'- **PostPaid**:后付费。', - 'type' => 'string', - 'example' => 'PostPaid', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'Code' => [ - 'description' => '错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '200', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', - ], - 'InstanceId' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'dtso4nh3g7jg56****', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'ABBACEFC-CBA9-4F80-A337-42F202F5****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用出错时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ABBACEFC-CBA9-4F80-A337-42F202F5****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '修改消费时间点', + 'summary' => '修改数据订阅实例通道的消费时间点。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyConsumptionTimestamp', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"1614916318\\",\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"601B6F25-21E7-4484-99D5-3EF2625C****\\",\\n \\"DtsJobId\\": \\"o4nh3g7jg56****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ChargeType\\": \\"PostPaid\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"InstanceId\\": \\"dtso4nh3g7jg56****\\"\\n}","errorExample":""},{"type":"xml","example":"<TransferPayTypeResponse>\\n <DtsJobId>o4nh3g7jg56****</DtsJobId>\\n <RequestId>601B6F25-21E7-4484-99D5-3EF2625C****</RequestId>\\n <InstanceId>dtso4nh3g7jg56****</InstanceId>\\n <ChargeType>PostPaid</ChargeType>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</TransferPayTypeResponse>","errorExample":""}]', - 'title' => '转换支付方式', - 'description' => '<props="china">请确保在使用该接口前,已充分了解云数据库DTS产品的收费方式和[价格](https://www.aliyun.com/price/product#/dts/detail)。'."\n" - .'</props>'."\n" - .'<props="intl">请确保在使用该接口前,已充分了解云数据库DTS产品的收费方式和[价格](https://www.alibabacloud.com/zh/product/data-transmission-service/pricing)。'."\n" - .'</props>'."\n" - ."\n" - .'- 为避免您的资源浪费,在实例转换付费方式操作前确认要进行转换操作。'."\n" - .'- 数据迁移实例只支持按量付费,无需转换。'."\n" - .'<props="china">'."\n" - .'- Serverless实例不支持转换付费方式。</props>'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'UpgradeTwoWay' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifyDedicatedCluster' => [ + 'summary' => '调用ModifyDedicatedCluster接口修改集群配置。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '实例ID,可通过调用[DescribeDtsJobs](~~209702~~)获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dtsh77p49x4k28****', - ], + 'schema' => ['description' => '集群实例ID。'."\n" + .'> 参数**InstanceId**与**DedicatedClusterId**,两者必须传入其一。', 'type' => 'string', 'required' => false, 'example' => 'rm-bp1162kryivb8****'], ], [ - 'name' => 'InstanceClass', + 'name' => 'DedicatedClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '双向同步的实例规格,取值为**large**、**medium**、**micro** 、**small**。'."\n" - .'> 链路规格说明,请参见[数据同步链路规格说明](~~26605~~)。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'large', - ], + 'schema' => ['description' => '专属集群ID。'."\n" + .'> 参数**InstanceId**与**DedicatedClusterId**,两者必须传入其一。', 'type' => 'string', 'required' => false, 'example' => 'dtscluster_h3fl1cs217sx952'], + ], + [ + 'name' => 'DedicatedClusterName', + 'in' => 'query', + 'schema' => ['description' => '集群名称。', 'type' => 'string', 'required' => false, 'example' => 'dtscluster_test_001'], + ], + [ + 'name' => 'OversoldRatio', + 'in' => 'query', + 'schema' => ['description' => '超配比,单位为%。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '150'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'DTS实例所在地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -28553,95 +15038,50 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '2D3B4615-923F-49AA-AF21-6D8E3967****', - ], - 'ErrCode' => [ - 'description' => '调用错误时返回的错误码。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功,返回值:'."\n" - .'- **true**:请求成功。'."\n" - .'- **false**:请求失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**InstanceId**,则代表所传入的请求参数**InstanceId**不合法。', - 'type' => 'string', - 'example' => 'InstanceId', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DedicatedClusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => 'dtscluster_h3fl1cs217sx952'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DedicatedClusterId\\": \\"dtscluster_h3fl1cs217sx952\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDedicatedClusterResponse>\\n <code>200</code>\\n <data>\\n <RequestId>26EC538C-9E2D-11D5-A55F-****</RequestId>\\n <DedicatedClusterId>dtscluster_w****</DedicatedClusterId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>26EC538C-9E2D-11D5-A55F-****</requestId>\\n <successResponse>true</successResponse>\\n</ModifyDedicatedClusterResponse>","errorExample":""}]', + 'title' => '修改集群配置', + 'description' => '目前仅支持修改超配比。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyDedicatedCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"2D3B4615-923F-49AA-AF21-6D8E3967****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"InstanceId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<StartDtsJobResponse>\\r\\n <RequestId>2D3B4615-923F-49AA-AF21-6D8E3967****</RequestId>\\r\\n <HttpStatusCode>200</HttpStatusCode>\\r\\n <Success>true</Success>\\r\\n</StartDtsJobResponse>","errorExample":""}]', - 'title' => '升级单向同步至双向同步', - 'summary' => '调用UpgradeTwoWay接口将DTS同步实例的同步拓扑从单向同步升级为双向同步。', - 'description' => '<props="china">请确保在使用该接口前,已充分了解云数据库DTS产品的收费方式和[价格](https://www.aliyun.com/price/product#/dts/detail)。</props>'."\n" - .'<props="intl">请确保在使用该接口前,已充分了解云数据库DTS产品的收费方式和[价格](https://www.alibabacloud.com/zh/product/data-transmission-service/pricing)。</props>'."\n" - .'使用该接口需注意:'."\n" - .'- 数据同步任务的源实例和目标实例的数据库类型均为**MySQL**。'."\n" - .'- 数据同步任务的同步拓扑为**单向同步**。'."\n" - .'- 数据同步任务的状态为**同步中**。'."\n" - .'- 升级生效期间数据同步会出现5秒左右的延迟,请在业务低峰期操作。'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'WhiteIpList' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifyDtsJob' => [ + 'summary' => '调用ModifyDtsJob接口修改同步任务。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -28650,182 +15090,151 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '52328', - 'abilityTreeNodes' => [ - 'FEATUREdtsJGBLR6', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '52289', + 'abilityTreeNodes' => ['FEATUREdtsQYRBZN'], ], 'parameters' => [ [ - 'name' => 'Type', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '自建数据库或第三方云数据库的接入方式,取值为'."\n" - .'- **internet**:通过公网接入。'."\n" - .'- **vpc**:通过专线/VPN网关/智能网关接入。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'vpc', - ], + 'schema' => ['description' => '实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Region', + 'name' => 'DtsInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '源实例所属地域ID,详情请参见[支持的地域列表](~~141033~~)。'."\n" - .'> 如果源实例为有公网IP的自建数据库或第三方云数据库,则可以传入**cn-hangzhou**或者离该类数据库物理距离最近的区域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '同步实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsbi6e22ay243****'], ], [ - 'name' => 'DestinationRegion', + 'name' => 'SynchronizationDirection', 'in' => 'query', - 'schema' => [ - 'description' => '目标实例所属地域ID,详情请参见[支持的地域列表](~~141033~~)。'."\n" - ."\n" - .'> - 如果目标实例为有公网IP的自建数据库或第三方云数据库,则可以传入**cn-hangzhou**或者离该类数据库物理距离最近的区域ID。'."\n" - .'- 当DTS任务为迁移或同步时,本参数必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '指定同步方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 只有当数据同步实例的同步拓扑为双向同步时,才需要传入本参数。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ - 'name' => 'RegionId', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****'], ], [ - 'name' => 'ZeroEtlJob', - 'in' => 'query', - 'schema' => [ - 'description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'name' => 'DbList', + 'in' => 'formData', + 'style' => 'json', + 'schema' => ['description' => '修改后的同步对象,格式为JSON串。详细定义,请参见[迁移、同步或订阅对象说明](~~209545~~)。'."\n" + .'- 原DbList会被新传入的DbList覆盖,请确保新传入的DbList数据中包含所有需要同步的对象,否则可能会导致同步对象丢失,请谨慎修改。'."\n" + .'- 建议您提前调用[DescribeDtsJobDetail](~~208925~~)查询当前同步对象,然后根据业务需要输入修改后的同步对象。例如,当前对象为表A、B,现需要新增对象表C,那么您需要在本参数同时传入表A、B、C。'."\n" + .'- DbList最多支持传入1 MB的数据。'."\n" + .'- 若DbList中包含过滤条件,则DbList整体(含过滤条件)的长度最大支持1 MB。'."\n" + .'- 分布式任务(例如源端为PolarDB-X 1.0的迁移或同任务)的DbList会根据物理分表进行拆分并生成多个子任务,子任务的DbList最多支持1 MB的数据。', 'type' => 'object', 'required' => false, 'example' => '{"dtstest":{"name":"dtstest","all":true}}'], ], [ - 'name' => 'SrcVpcId', - 'in' => 'query', - 'schema' => [ - 'description' => '源端VPC的ID', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], + 'name' => 'EtlOperatorColumnReference', + 'in' => 'formData', + 'schema' => ['description' => 'T+1业务专用的字段,ETL算子,为业务专用字段。', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "configKeyMap": ['."\n" + .' {'."\n" + .' "moduleCode": "03",'."\n" + .' "etlOperatorColumnReference": "etlOperatorColumnReference",'."\n" + .' "etlOperatorSetting": "etlOperatorSetting"'."\n" + .' },'."\n" + .' {'."\n" + .' "moduleCode": "07",'."\n" + .' "etlOperatorColumnReference": "etlOperatorColumnReference",'."\n" + .' "etlOperatorSetting": "etlOperatorSetting"'."\n" + .' }'."\n" + .' ],'."\n" + .' "amp.increment.replicator.compare.all.columns.enable": false,'."\n" + .' "srcNetType": "VPC",'."\n" + .' "etlOperatorColumnReference": {'."\n" + .' "MODIFY_TIME": ['."\n" + .' {'."\n" + .' "datasynchron.test_timing_user_000": "user_create_date"'."\n" + .' },'."\n" + .' {'."\n" + .' "datasynchron.test_timing_user_001": "user_create_date"'."\n" + .' },'."\n" + .' {'."\n" + .' "datasynchron.test_timing_user_002": "user_create_date"'."\n" + .' },'."\n" + .' {'."\n" + .' "datasynchron.test_timing_user_003": "user_create_date"'."\n" + .' }'."\n" + .' ]'."\n" + .' },'."\n" + .' "destNetType": "VPC",'."\n" + .' "originalSrcDbInst": "sg-sit-db2-primary.mysql.polardb.rds.aliyuncs.com",'."\n" + .' "etlOperatorSetting": "adb_time_travel",'."\n" + .' "sjobUseJobTask": "1",'."\n" + .' "srcVpcNetMappingInst": "172.19.XXX.XXX:4261",'."\n" + .' "destVpcNetMappingInst": "172.19.XXX.XXX:4260",'."\n" + .' "useJobTask": "1"'."\n" + .'}'], ], [ - 'name' => 'SrcPrimaryVswId', - 'in' => 'query', - 'schema' => [ - 'description' => 'VPCNAT源端主VSW', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], + 'name' => 'ModifyTypeEnum', + 'in' => 'formData', + 'schema' => ['title' => '修改任务的方式,当为UPDATE_RESERVED时为修改reserve字段,不传默认修改dbList', 'description' => '指示修改同步任务的方式,不填默认修改同步对象;填写UPDATE_RESERVED为修改预留参数。', 'type' => 'string', 'required' => false, 'example' => 'UPDATE_RESERVED'], ], [ - 'name' => 'SrcSecondaryVswId', - 'in' => 'query', - 'schema' => [ - 'description' => 'VPCNAT源端备VSW', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], + 'name' => 'Reserved', + 'in' => 'formData', + 'schema' => ['title' => '新增的reserved字段,新增而不是覆盖', 'description' => 'DTS预留参数,更新方式为新增而非覆盖,格式为MAP JSON串,您可以传入本参数实现特殊需求(例如是否自动启动预检查)。使用方法与Reserve参数类似,详情请参见[Reserve参数说明](~~273111~~)。', 'type' => 'string', 'required' => false, 'example' => '{"definer": false,"syncArchitecture": "oneway","whitelist.dms.online.ddl.enable": false,"destSSL": "0","triggerMode": "manual","sqlparser.dms.original.ddl": true,"whitelist.ghost.online.ddl.enable": false,"privilegeMigration": false,"maxRetryTime": 43200,"srcSSL": "0","autoStartModulesAfterConfig": "none"}'], ], [ - 'name' => 'DestVpcId', + 'name' => 'FileOssUrl', 'in' => 'query', - 'schema' => [ - 'description' => '目标端VPC的ID', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], + 'allowEmptyValue' => true, + 'schema' => ['title' => '文件上传后的url', 'description' => '同步文件的OSS地址。', 'type' => 'string', 'required' => false, 'example' => 'http://db-list-os-file.oss-cn-shanghai.aliyuncs.com/8e42_12185******43989_************', 'isFileTransferUrl' => true], ], [ - 'name' => 'DestPrimaryVswId', - 'in' => 'query', - 'schema' => [ - 'description' => 'VPCNAT目的端主VSW', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], + 'name' => 'FilterTableName', + 'in' => 'formData', + 'schema' => ['title' => '需要过滤的db.table', 'description' => '需要过滤的表名。', 'type' => 'string', 'required' => false, 'example' => 'testtable'], ], [ - 'name' => 'DestSecondaryVswId', + 'name' => 'StructureInitialization', 'in' => 'query', - 'schema' => [ - 'description' => 'VPCNAT目的端备VSW', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], + 'schema' => ['description' => '是否执行库表结构迁移或初始化,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'SrcRoleName', + 'name' => 'DataInitialization', 'in' => 'query', - 'schema' => [ - 'description' => '源端角色名称', - 'type' => 'string', - 'required' => false, - 'example' => 'ram-for-dts', - ], + 'schema' => ['description' => '是否执行全量数据迁移或全量数据初始化,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'SrcAliyunUid', + 'name' => 'DataSynchronization', 'in' => 'query', - 'schema' => [ - 'description' => '源端Aliyun的UID', - 'type' => 'string', - 'required' => false, - 'example' => '1971721963139419', - ], + 'schema' => ['description' => '是否执行增量数据迁移或同步,取值:'."\n" + ."\n" + .'- **false**:否。'."\n" + .'- **true**:是。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'DestRoleName', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '目标端角色名称', - 'type' => 'string', - 'required' => false, - 'example' => 'ram-for-dts-sq', - ], + 'schema' => ['description' => '同步任务的ID,可调用[DescribeDtsJobs](~~209702~~)查询。', 'type' => 'string', 'required' => false, 'example' => 'fpx1149rw7p***'], ], [ - 'name' => 'DestAliyunUid', + 'name' => 'ZeroEtlJob', 'in' => 'query', - 'schema' => [ - 'description' => '目标端Aliyun的UID', - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], + 'schema' => ['description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek26mat2ldb4oy', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -28833,185 +15242,164 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'AD823BD3-1BA6-4117-A536-165CB280****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功,返回值:'."\n" - .'- **true**:请求成功。'."\n" - .'- **false**:请求失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'IpList' => [ - 'description' => 'IP白名单列表,多个IP地址中间使用英文逗号(,)分隔。', - 'type' => 'string', - 'example' => '10.151.12.0/24,47.102.181.0/24,47.101.109.0/24,120.55.129.0/24,11.115.103.0/24,47.102.234.0/24', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n", - 'type' => 'string', - 'example' => 'Type', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', - ], - 'SrcIpList' => [ - 'description' => '源端适配VPCNAT ip白名单', - 'type' => 'string', - 'example' => '127.0.0.1', - ], - 'DestIpList' => [ - 'description' => '目标端适配VPCNAT ip白名单', - 'type' => 'string', - 'example' => '127.0.0.1', - ], + 'Status' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '1D6ECADF-C5E9-4C96-8811-77602B31****'], + 'DtsJobId' => ['description' => 'DTS任务ID。'."\n" + ."\n", 'type' => 'string', 'example' => 'bi6e22a****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n" + ."\n", 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用出错时返回的错误信息。'."\n" + .'> 该参数的数据类型应为String,实际示例值为**The request processing has failed due to some unknown error**.', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'OperationDenied.JobStatusModifying', 'errorMessage' => 'jobs state is modifying, please wait sync subtask ends', 'description' => '该任务处于修改同步对象中(之前修改同步对象操作尚未完成),请等待该状态结束'], + ['errorCode' => 'CheckStatus.InvalidInitStatus', 'errorMessage' => 'Task has not been configured, please configure job first', 'description' => '任务尚未配置,修改任务之前请先配置任务'], + ['errorCode' => 'DTS.Msg.OperationDenied.JobStatusModifying', 'errorMessage' => 'jobs state is modifying, please wait sync subtask ends', 'description' => '该任务处于修改同步对象中(之前修改同步对象操作尚未完成),请等待该状态结束'], + ['errorCode' => 'DTS.Msg.CheckStatus.InvalidInitStatus', 'errorMessage' => 'Task has not been configured, please configure job first', 'description' => '任务尚未配置,修改任务之前请先配置任务'], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"AD823BD3-1BA6-4117-A536-165CB280****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"IpList\\": \\"10.151.12.0/24,47.102.181.0/24,47.101.109.0/24,120.55.129.0/24,11.115.103.0/24,47.102.234.0/24\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"SrcIpList\\": \\"127.0.0.1\\",\\n \\"DestIpList\\": \\"127.0.0.1\\"\\n}","errorExample":""},{"type":"xml","example":"<WhiteIpListResponse>\\n <RequestId>AD823BD3-1BA6-4117-A536-165CB280****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n <IpList>10.151.12.0/24,47.102.181.0/24,47.101.109.0/24,120.55.129.0/24,11.115.103.0/24,47.102.234.0/24</IpList>\\n</WhiteIpListResponse>","errorExample":""}]', - 'title' => '查询DTS服务的IP地址', - 'summary' => '调用WhiteIpList接口查询DTS服务器的IP地址。', - 'description' => '<props="china">如果**源或目标实例**是**自建数据库**或**第三方云数据库**,您需要调用该接口查询DTS服务的IP地址,然后将查询所得的IP地址添加至源或目标实例的安全设置(通常为该类数据库的防火墙)中。具体添加方式及更多信息,请参见[迁移、同步或订阅本地数据库时需添加的IP白名单](~~84900~~)。</props>'."\n" - .'<props="intl">如果**源或目标实例**是**自建数据库**或**第三方云数据库**,您需要调用该接口查询DTS服务的IP地址,然后将查询所得的IP地址添加至源或目标实例的安全设置(通常为该类数据库的防火墙)中。具体添加方式及更多信息,请参见[将DTS服务器的IP地址段添加到自建数据库的IP白名单](~~176627~~)。</props>'."\n" - ."\n" - .'> 如果**源或目标数据库**是**阿里云数据库实例**(例如RDS、MongoDB等)或**ECS上的自建数据库**,在配置源或目标实例信息时,如您点击**授权白名单并进入下一步**,系统会自动把DTS服务IP地址添加至实例的安全设置,您无需手动添加。'."\n" - ."\n", + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"200\\",\\n \\"RequestId\\": \\"1D6ECADF-C5E9-4C96-8811-77602B31****\\",\\n \\"DtsJobId\\": \\"bi6e22a****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": true\\n}","errorExample":""},{"type":"xml","example":"<ModifyDtsJobResponse>\\n <DtsJobId>bi6e22a****</DtsJobId>\\n <RequestId>1D6ECADF-C5E9-4C96-8811-77602B31****</RequestId>\\n <Success>true</Success>\\n</ModifyDtsJobResponse>","errorExample":""}]', + 'title' => '修改DTS同步任务', + 'description' => '> 您可以根据需求在控制台进行相应的预配置,然后预览对应配置的OpenAPI参数信息,以协助您填写请求参数。更多信息,请参见[预览OpenAPI的请求参数](~~2851612~~)。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDtsEtlJobVersionInfo' => [ - 'summary' => '查看ETL任务详情。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyDtsJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], ], + ], + 'ModifyDtsJobConfig' => [ + 'summary' => '调用ModifyDtsJobConfig接口修改DTS任务参数。', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'PageSize', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '分页查询时设置的每页行数,默认为20。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '0', - 'example' => '20', - 'default' => '10', - ], + 'schema' => ['description' => '实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'PageNumber', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '当前实例状态列表的页码,默认为1。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '0', - 'example' => '1', - 'default' => '0', - ], + 'schema' => ['description' => 'DTS任务ID,可以调用[DescribeDtsJobs](~~209702~~)查询。', 'type' => 'string', 'required' => false, 'example' => 'lxsn87r328d****'], ], [ - 'name' => 'DtsInstanceId', + 'name' => 'Parameters', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例ID,您可以调用[DescribeDtsJobs](~~209702~~)接口查询实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'dtsggk12iwya1a****', - ], + 'schema' => ['description' => '需要修改的参数,格式为JSON字符串。更多信息,请参见[Parameters参数说明](~~2536412~~)。', 'type' => 'string', 'required' => false, 'example' => '[{"module":"07","name":"sink.connection.idle.second","value":60},{"module":"07","name":"sink.batch.size.maximum","value":64}]'], ], [ - 'name' => 'DtsJobId', + 'name' => 'ResourceGroupId', 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'ETL任务ID,您可以调用[DescribeDtsJobs](~~209702~~)接口查询任务ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'l5512es7w15****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '068FA72F-4800-4A54-90BB-94806068****'], + ], + 'description' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], + ], + 403 => [ + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ], + 500 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"068FA72F-4800-4A54-90BB-94806068****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDtsJobConfigResponse>\\n <RequestId>068FA72F-4800-4A54-90BB-94806068****</RequestId>\\n</ModifyDtsJobConfigResponse>","errorExample":""}]', + 'title' => '修改作业配置', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyDtsJobConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + ], + ], + 'ModifyDtsJobDedicatedCluster' => [ + 'summary' => '更换任务运行的独享集群。', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], + 'parameters' => [ + [ + 'name' => 'DtsJobIds', + 'in' => 'query', + 'schema' => ['description' => '任务ID。取值可以由多个任务ID组成一个JSON数组,ID之间用半角逗号(,)隔开。', 'type' => 'string', 'required' => false, 'example' => '["dtsxxxx01", "dtsxxx02"]'], + ], + [ + 'name' => 'DedicatedClusterId', + 'in' => 'query', + 'schema' => ['description' => '专属集群ID。', 'type' => 'string', 'required' => false, 'example' => 'dtsxxxx'], + ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)接口查询阿里云地域列表。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'DTS实例所属的地域。'."\n" + ."\n" + .'> 专属集群支持的地域,请参见[DTS专属集群](~~417481~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -29019,199 +15407,81 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '224DB9F7-3100-4899-AB9C-C938BCCB43E7', - ], - 'Success' => [ - 'description' => '请求是否成功,如果失败则返回false。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrCode' => [ - 'description' => '传入的ETL任务ID错误,找不到对应的任务。', - 'type' => 'string', - 'example' => 'InvalidJobId', - ], - 'PageNumber' => [ - 'description' => '当前实例状态列表的页码,默认为1。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageRecordCount' => [ - 'description' => '当前分页的记录数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'TotalRecordCount' => [ - 'description' => '记录的总行数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ErrMessage' => [ - 'description' => '传入的ETL任务ID错误,找不到对应的任务(任务可能已删除)。', - 'type' => 'string', - 'example' => 'The specified dts job id %s is not exists.', - ], - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '与本次请求相关的动态错误码。', - 'type' => 'string', - 'example' => '403', - ], - 'DynamicMessage' => [ - 'description' => '与本次请求相关的动态错误信息。', - 'type' => 'string', - 'example' => 'present environment is not support,so skip', - ], - 'DtsEtlJobVersionInfos' => [ - 'description' => '返回ETL任务信息对象数组。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '日志等级,有ERROR、WARN、INFO、DEBUG4种等级。', - 'type' => 'string', - 'example' => 'INFO', - ], - 'DtsJobName' => [ - 'description' => 'ETL任务名称。', - 'type' => 'string', - 'example' => 'test_sql', - ], - 'DtsJobId' => [ - 'description' => 'ETL任务ID。', - 'type' => 'string', - 'example' => 'l5512es7w15****', - ], - 'Version' => [ - 'description' => 'ETL任务版本号。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '9', - ], - 'DtsInstanceId' => [ - 'description' => 'DTS实例ID。', - 'type' => 'string', - 'example' => 'dtsg******gd', - ], - 'CreateTime' => [ - 'description' => '创建ETL任务的时间戳。'."\n", - 'type' => 'string', - 'example' => '1637229315000', - ], - 'SafeCheckpoint' => [ - 'description' => '安全检查点,即ETL任务的当前位点。', - 'type' => 'string', - 'example' => '1637230117000', - ], - 'Creator' => [ - 'description' => '创建者ID。', - 'type' => 'string', - 'example' => '10000000', - ], - 'ModifyTime' => [ - 'description' => '修改时间戳。', - 'type' => 'string', - 'example' => '1637230117000', - ], - 'CreatorName' => [ - 'description' => '创建者用户名。', - 'type' => 'string', - 'example' => '***@****.com', - ], - ], - ], - ], + 'RequestId' => ['description' => ' 请求ID。', 'type' => 'string', 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****'], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int64', 'example' => '200'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的%s。', 'type' => 'string', 'example' => 'Type'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'Code' => ['description' => '后端错误码,数字递增。', 'type' => 'string', 'example' => '500'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"500\\",\\n \\"Success\\": true,\\n \\"ErrCode\\": \\"InternalError\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDtsJobDedicatedClusterResponse>\\n <code>200</code>\\n <data>\\n <RequestId>26EC538C-9E2D-11D5-A55F-***</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>26EC538C-9E2D-11D5-A55F-***</requestId>\\n <successResponse>true</successResponse>\\n</ModifyDtsJobDedicatedClusterResponse>","errorExample":""}]', + 'title' => '更换任务集群', + 'description' => '> 迁移任务由专属集群修改到公共集群运行后,任务的付费方式将为后付费,并开始计费。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyDtsJobDedicatedCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:*:{#accountId}:instance/{#DtsInstanceId}'], + ], ], ], ], - 'staticInfo' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"224DB9F7-3100-4899-AB9C-C938BCCB43E7\\",\\n \\"Success\\": true,\\n \\"ErrCode\\": \\"InvalidJobId\\",\\n \\"PageNumber\\": 1,\\n \\"PageRecordCount\\": 20,\\n \\"TotalRecordCount\\": 200,\\n \\"ErrMessage\\": \\"The specified dts job id %s is not exists.\\",\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip\\",\\n \\"DtsEtlJobVersionInfos\\": [\\n {\\n \\"Status\\": \\"INFO\\",\\n \\"DtsJobName\\": \\"test_sql\\",\\n \\"DtsJobId\\": \\"l5512es7w15****\\",\\n \\"Version\\": 9,\\n \\"DtsInstanceId\\": \\"dtsg******gd\\",\\n \\"CreateTime\\": \\"1637229315000\\",\\n \\"SafeCheckpoint\\": \\"1637230117000\\",\\n \\"Creator\\": \\"10000000\\",\\n \\"ModifyTime\\": \\"1637230117000\\",\\n \\"CreatorName\\": \\"***@****.com\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeDtsEtlJobVersionInfoResponse>\\n<requestId>62E37CD4-586B-50A4-99AA-3E60D2485F6C</requestId>\\n<success>true</success>\\n<dtsEtlJobVersionInfos>\\n <createTime>1637229315000</createTime>\\n <creator>10000000</creator>\\n <creatorName>***@****.com</creatorName>\\n <dtsInstanceId>dtsggk12iwya1a****</dtsInstanceId>\\n <dtsJobId>l5512es7w15****</dtsJobId>\\n <dtsJobName>test_sql</dtsJobName>\\n <modifyTime>1637230117000</modifyTime>\\n <status>INFO</status>\\n <version>9</version>\\n</dtsEtlJobVersionInfos>\\n<httpStatusCode>200</httpStatusCode>\\n</DescribeDtsEtlJobVersionInfoResponse>","errorExample":""}]', - 'title' => '查询ETL任务详情', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'DescribeEtlJobLogs' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifyDtsJobDuLimit' => [ + 'summary' => '调用ModifyDtsJobDuLimit接口修改作业DU上限。', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => 'ETL任务ID,您可以调用[DescribeDtsJobs](~~209702~~)接口查询任务ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'vd*********2ls', - ], + 'schema' => ['description' => 'DTS迁移、同步或订阅任务ID。', 'type' => 'string', 'required' => true, 'example' => 'dtsxxx'], + ], + [ + 'name' => 'DuLimit', + 'in' => 'query', + 'schema' => ['description' => '任务DU上限。'."\n" + ."\n" + .'> 最小取值为**1**。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)接口查询阿里云地域列表。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -29219,120 +15489,53 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '224DB9F7-3100-4899-AB9C-C938BCCB43E7', - ], - 'ErrCode' => [ - 'description' => '传入的ETL任务ID错误,找不到对应的任务。', - 'type' => 'string', - 'example' => 'InvalidJobId', - ], - 'Success' => [ - 'description' => '请求是否成功,如果失败则返回false。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '传入的ETL任务ID错误,找不到对应的任务(任务可能已删除)。', - 'type' => 'string', - 'example' => 'The specified dts job id %s is not exists.', - ], - 'DynamicMessage' => [ - 'description' => '与本次请求相关的动态错误信息。', - 'type' => 'string', - 'example' => 'present environment is not support,so skip.', - ], - 'DynamicCode' => [ - 'description' => '与本次请求相关的动态错误码。', - 'type' => 'string', - 'example' => '403', - ], - 'EtlRunningLogs' => [ - 'description' => '返回ETL任务运行日志对象数组。', - 'type' => 'array', - 'items' => [ - 'description' => '返回ETL任务运行日志对象数组。', - 'type' => 'object', - 'properties' => [ - 'EtlId' => [ - 'description' => 'ETL任务的ID。', - 'type' => 'string', - 'example' => 'u**********5', - ], - 'UserId' => [ - 'description' => '用户ID。', - 'type' => 'string', - 'example' => '123123******12131', - ], - 'ContentKey' => [ - 'description' => '状态,即产生日志的模块名,比如ETL任务的转换模块。', - 'type' => 'string', - 'example' => 'DTS-ETL', - ], - 'Content' => [ - 'description' => 'ETL任务运行状态描述。', - 'type' => 'string', - 'example' => 'Starting DTS-ETL...', - ], - 'Status' => [ - 'description' => '日志等级,有ERROR、WARN、INFO、DEBUG4种等级。', - 'type' => 'string', - 'example' => 'INFO', - ], - 'LogDatetime' => [ - 'description' => '记录时间戳(产生日志的时间)。', - 'type' => 'string', - 'example' => '1637306503000', - ], - ], - ], - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****'], + 'HttpStatusCode' => ['description' => ' 状态码。', 'type' => 'integer', 'format' => 'int64', 'example' => '200'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的%s。', 'type' => 'string', 'example' => 'Type'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'Code' => ['description' => '后端错误码,数字递增。', 'type' => 'string', 'example' => '500'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'staticInfo' => [], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"500\\",\\n \\"Success\\": true,\\n \\"ErrCode\\": \\"InternalError\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDtsJobDuLimitResponse>\\n <code>200</code>\\n <data>\\n <RequestId>229866A4-4C4A-1A46-8074-***</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>229866A4-4C4A-1A46-8074-***</requestId>\\n <successResponse>true</successResponse>\\n</ModifyDtsJobDuLimitResponse>","errorExample":""}]', + 'title' => '修改作业DU上限', + 'description' => '- 专属集群的DTS实例需要支持升降配,通过改变任务运行时占用的资源,动态调整当前集群可调度的任务数,实现对集群总DU数量的扣减和释放。'."\n" + .'- 修改作业DU上限前,需要确保资源余量足够。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyDtsJobDuLimit', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"224DB9F7-3100-4899-AB9C-C938BCCB43E7\\",\\n \\"ErrCode\\": \\"InvalidJobId\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The specified dts job id %s is not exists.\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"EtlRunningLogs\\": [\\n {\\n \\"EtlId\\": \\"u**********5\\",\\n \\"UserId\\": \\"123123******12131\\",\\n \\"ContentKey\\": \\"DTS-ETL\\",\\n \\"Content\\": \\"Starting DTS-ETL...\\",\\n \\"Status\\": \\"INFO\\",\\n \\"LogDatetime\\": \\"1637306503000\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '查询ETL任务日志', - 'summary' => '查看ETL任务运行日志。', ], - 'CreateDedicatedClusterMonitorRule' => [ - 'summary' => '调用CreateDedicatedClusterMonitorRule接口创建报警规则。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifyDtsJobEndpoint' => [ + 'summary' => '调用ModifyDtsJobEndpoint接口修改DTS同步或迁移任务的源或目标库实例。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -29341,117 +15544,166 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '199390', + 'abilityTreeNodes' => ['FEATUREdtsJ32CAF'], ], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'rm-bp1162kryivb8****', - ], + 'schema' => ['description' => 'DTS实例所属的地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'DedicatedClusterId', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'dts-dasd22******', - ], + 'schema' => ['description' => 'DTS任务ID,可调用[DescribeDtsJobs](~~209702~~)查询。'."\n" + ."\n" + .'> 若不填入此参数,则必须填入**DtsInstanceId**。', 'type' => 'string', 'required' => false, 'example' => 'm4312mab158****'], ], [ - 'name' => 'NoticeSwitch', + 'name' => 'DtsInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '报警开关,取值:'."\n" - ."\n" - .'- **1**:打开。'."\n" - .'- **0**:关闭。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'DTS实例的ID。'."\n" + .'> 若不填入此参数,则必须填入**DtsJobId**。', 'type' => 'string', 'required' => false, 'example' => 'dtsaw012y2g15q****'], ], [ - 'name' => 'DuAlarmThreshold', + 'name' => 'SynchronizationDirection', 'in' => 'query', - 'schema' => [ - 'description' => 'DU报警阈值,单位为%。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => '同步方向,取值:'."\n" + ."\n" + .'- **Forward**(默认值):正向。'."\n" + .'- **Reverse**:反向。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ - 'name' => 'CpuAlarmThreshold', + 'name' => 'Endpoint', 'in' => 'query', - 'schema' => [ - 'description' => 'CPU报警阈值,单位为%。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '30', - ], + 'schema' => ['description' => '待修改的数据库实例,取值:'."\n" + ."\n" + .'- **src**:源库实例。'."\n" + .'- **dest**:目标库实例。', 'type' => 'string', 'required' => true, 'example' => 'src'], ], [ - 'name' => 'MemAlarmThreshold', + 'name' => 'EndpointRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Mem报警阈值,单位为%。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '40', - ], + 'schema' => ['description' => '数据库实例所属的地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'DiskAlarmThreshold', + 'name' => 'EndpointInstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '磁盘报警阈值,单位为%。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => '数据库实例类型,取值为:'."\n" + ."\n" + .'- **rds**:RDS MySQL或RDS PostgreSQL。'."\n" + .'- **polardb**:PolarDB MySQL版或PolarDB PostgreSQL版。'."\n" + .'- **mongodb**:作为源库时,表示云数据库MongoDB(副本集架构);作为目标库时,表示云数据库MongoDB(副本集架构或分片集群架构)。'."\n" + .'- **distributed_mongodb**:仅支持作为分布式实例的源库,表示云数据库MongoDB(分片集群架构)。'."\n" + ."\n" + .'> 分布式实例的增量任务,必须通过Oplog日志获取源库的数据变更。'."\n" + ."\n" + .'- **greenplum**:云原生数据仓库AnalyticDB PostgreSQL版。'."\n" + .'- **kafka**:云消息队列Kafka版。'."\n" + .'- **ecs**:ECS自建的数据库(仅限支持的数据库类型)。'."\n" + .'- **express**:专线接入的数据库(仅限支持的数据库类型)。'."\n" + .'- **other**:公网接入的数据库(仅限支持的数据库类型)。'."\n" + ."\n" + .'> - 当前支持的数据库类型有**MySQL**、**PolarDB for MySQL**、**PostgreSQL**、**PolarDB for PostgreSQL**、**MongoDB**、**Kafka**和**AnalyticDB PostgreSQL**。'."\n" + .'- 若数据库为MongoDB(分片集群),则新数据库的Shard数量需与原来的MongoDB(分片集群)相同。'."\n" + .'- 若需要修改的是源库实例,且数据库类型为**PostgreSQL**,则需确保DTS实例的延迟时间小于30秒,并且停止向源库写入数据,否则可能会出现不一致数据。'."\n" + .'- 传入的参数大小写不敏感。', 'type' => 'string', 'required' => true, 'example' => 'rds'], ], [ - 'name' => 'Phones', + 'name' => 'EndpointInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '报警电话,多个用逗号(,)隔开。', - 'type' => 'string', - 'required' => true, - 'example' => '186****7654', - ], + 'schema' => ['description' => '数据库实例的ID。', 'type' => 'string', 'required' => false, 'example' => 'rm-bp10k50h8374w****'], ], [ - 'name' => 'RegionId', + 'name' => 'EndpointIp', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所在地域。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据库实例的IP。', 'type' => 'string', 'required' => false, 'example' => '172.168.XX.XXX'], + ], + [ + 'name' => 'EndpointPort', + 'in' => 'query', + 'schema' => ['description' => '数据库实例的端口。', 'type' => 'string', 'required' => false, 'example' => '3306'], + ], + [ + 'name' => 'Database', + 'in' => 'query', + 'schema' => ['description' => '当数据库类型为**PostgreSQL**、**PolarDB for PostgreSQL**、**AnalyticDB PostgreSQL**时,表示数据库名称;当数据库类型为**MongoDB**时,表示鉴权数据库名称。'."\n" + ."\n" + .'> 当数据库类型为**PostgreSQL**、**PolarDB for PostgreSQL**、**AnalyticDB PostgreSQL**、**MongoDB**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'admin'], + ], + [ + 'name' => 'ModifyAccount', + 'in' => 'query', + 'schema' => ['description' => '是否修改账号密码,取值为:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**(默认值):否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'Username', + 'in' => 'query', + 'schema' => ['description' => '数据库账号。'."\n" + ."\n" + .'> 仅当**ModifyAccount**取值为**true**时才生效。', 'type' => 'string', 'required' => false, 'example' => 'dtstest'], + ], + [ + 'name' => 'Password', + 'in' => 'query', + 'schema' => ['description' => '数据库密码。'."\n" + ."\n" + .'> 仅当**ModifyAccount**取值为**true**时才生效。', 'type' => 'string', 'required' => false, 'example' => 'DTStest****'], + ], + [ + 'name' => 'ShardUsername', + 'in' => 'query', + 'schema' => ['description' => 'MongoDB分片集群实例的Shard的账号。'."\n" + ."\n" + .'> - 当源数据库实例为MongoDB(分片集群架构)时,本参数才可用且必须传入。'."\n" + .'- 当**ModifyAccount**取值为**true**时才生效。', 'type' => 'string', 'required' => false, 'example' => 'shard'], + ], + [ + 'name' => 'ShardPassword', + 'in' => 'query', + 'schema' => ['description' => 'MongoDB分片集群实例的Shard的密码。'."\n" + ."\n" + .'> - 当源数据库实例为MongoDB(分片集群架构)时,本参数才可用且必须传入。'."\n" + .'- 当**ModifyAccount**取值为**true**时才生效。', 'type' => 'string', 'required' => false, 'example' => 'DTStest****'], + ], + [ + 'name' => 'RoleName', + 'in' => 'query', + 'schema' => ['description' => '跨阿里云账号角色名。'."\n" + ."\n" + .'> 执行跨阿里云账号的数据同步时须传入本参数,该角色所需的权限及授权方式,请参见[跨阿里云账号数据迁移或同步时如何配置RAM授权](~~48468~~)。', 'type' => 'string', 'required' => false, 'example' => 'ram-for-dts'], + ], + [ + 'name' => 'AliyunUid', + 'in' => 'query', + 'schema' => ['description' => '数据库实例所属的阿里云账号(主账号)的ID。'."\n" + ."\n" + .'> 传入本参数即代表执行跨阿里云账号的数据同步,同时您还需要传入**RoleName**参数。', 'type' => 'string', 'required' => false, 'example' => '150780020300****'], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => ['description' => '是否只进行预检查,取值为:'."\n" + ."\n" + .'- **true**:是。预检查通过后,实例不进行变更操作。'."\n" + .'- **false**(默认值):否。预检查通过后,修改DTS任务的数据库实例并运行。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID,全局参数,当前API无需传入。', - 'type' => 'string', - 'required' => false, - 'example' => '资源组ID,全局参数,当前API无需传入。', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], + ], + [ + 'name' => 'ZeroEtlJob', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'required' => false, 'description' => ''], ], ], 'responses' => [ @@ -29459,68 +15711,64 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '3FA98DF2-2F81-51FF-8A38-AA5112DD****'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'DTS.Msg.InvalidEndpoint'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The endpoint is invalid.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'InvalidParameter.TagKey', 'errorMessage' => 'The Tag.N.Key parameter is invalid.', 'description' => '标签键无效,请输入有效的标签键。'], + ['errorCode' => 'InvalidParameter.TagValue', 'errorMessage' => 'The Tag.N.Value parameter is invalid.', 'description' => '标签值无效,请输入有效的标签值。'], + ['errorCode' => 'InvalidParameter.Tags', 'errorMessage' => 'The specified value of parameter Tags is not valid.', 'description' => '标签的键或值无效,请输入有效的标签键或值。'], + ['errorCode' => 'Missing.TagKey', 'errorMessage' => 'You must specify the key for value %s in Tag.N.Key.', 'description' => '同一个N的标签键值对,对应的Value缺失相同Key。'], + ['errorCode' => 'MissingParameter.TagOrResourceId', 'errorMessage' => 'Either Tags or ResourceIds must be specified.', 'description' => '标签和ResourceId(DTS实例ID)均不可以为空。'], + ['errorCode' => 'NumberExceed.Tags', 'errorMessage' => 'The maximum number of Tags is exceeded. The maximum value is 20.', 'description' => '已超过标签数量上限(上限:20个),请先删除不需要的标签。'], + ['errorCode' => 'NumberExceed.ResourceIds', 'errorMessage' => 'The maximum number of ResourceIds is exceeded. The maximum value is 50.', 'description' => '已超过ResourceId(DTS实例ID)的数量上限(上限:20个),请先删除不需要的ResourceId。'], + ['errorCode' => 'InvalidParameter.Category', 'errorMessage' => 'The specified Category is invalid. Valid values are Custom and System.', 'description' => '标签类型非法,合法值为Custom,System。'], + ['errorCode' => 'InvalidParameter.NextToken', 'errorMessage' => 'The parameter NextToken is invalid.', 'description' => '参数NextToken(查询凭证)无效,请输入正确的NextToken值。'], + ['errorCode' => 'InvalidParameter.ResourceType', 'errorMessage' => 'The ResourceType parameter is invalid.', 'description' => '参数ResourceType无效,请输入固定值ALIYUN::DTS::INSTANCE。'], + ['errorCode' => 'InvalidParameter.Scope', 'errorMessage' => 'The specified Scope is invalid. Valid value: public, private.', 'description' => '标签可见范围输入无效,请输入有效值public或 private。'], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'Duplicate.TagKey', 'errorMessage' => 'The Tag.N.Key contains duplicate keys.', 'description' => '存在重复的标签键,请删除多余的标签键。'], + ['errorCode' => 'NoPermission.SystemTag', 'errorMessage' => 'You are not authorized to operate system tag because the product code is invalid.', 'description' => '由于产品code非法,您未被授权操作该系统标签键。'], + ['errorCode' => 'QuotaExceed.TagsPerResource', 'errorMessage' => 'The maximum number of tags for each resource is exceeded.', 'description' => '已超过标签数量上限,请先删除不需要的标签。'], + ['errorCode' => 'NoPermission.Operator', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => '该用户未被授权在指定的资源上进行操作。'], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"3FA98DF2-2F81-51FF-8A38-AA5112DD****\\",\\n \\"Success\\": true,\\n \\"ErrCode\\": \\"DTS.Msg.InvalidEndpoint\\",\\n \\"ErrMessage\\": \\"The endpoint is invalid.\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDtsJobEndpointResponse>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>3FA98DF2-2F81-51FF-8A38-AA5112DD****</RequestId>\\n <Success>true</Success>\\n</ModifyDtsJobEndpointResponse>","errorExample":""}]', + 'title' => '修改DTS任务的源或目标库实例', + 'description' => '> 数据库实例被修改后,DTS增量写入模块会回退10秒写入。若同步或迁移的数据没有主键,在替换数据库实例期间源端实例关联的业务需要停止写入数据,否则可能会出现重复数据。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyDtsJobEndpoint', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateDedicatedClusterMonitorRuleResponse>\\n <code>200</code>\\n <data>\\n <RequestId>C80CF904-73D1-1983-9A1C-****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>C80CF904-73D1-1983-9A1C-****</requestId>\\n <successResponse>true</successResponse>\\n</CreateDedicatedClusterMonitorRuleResponse>","errorExample":""}]', - 'title' => '创建报警规则', ], - 'DescribeClusterOperateLogs' => [ - 'summary' => '调用DescribeClusterOperateLogs接口查询DTS集群日志信息。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifyDtsJobName' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -29529,280 +15777,93 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', + 'abilityTreeCode' => '52290', + 'abilityTreeNodes' => ['FEATUREdtsJ32CAF'], ], 'parameters' => [ [ - 'name' => 'StartTime', - 'in' => 'formData', - 'schema' => [ - 'title' => '当不传时默认最近返回七天的数据', - 'description' => '起始时间戳,当不传时默认最近返回七天的数据,单位为毫秒(ms)。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1650866955000', - ], - ], - [ - 'name' => 'EndTime', - 'in' => 'formData', - 'schema' => [ - 'description' => '结束时间戳,单位为毫秒(ms)。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1650866995000', - ], - ], - [ - 'name' => 'DedicatedClusterId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'DTS专属集群ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'dtsxxxxx', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'formData', - 'schema' => [ - 'description' => '每页日志的请求条数,默认值为:**20**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - 'default' => '20', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'formData', - 'schema' => [ - 'description' => '页码,取值为大于0且不超过Integer数据类型的最大值,默认值为**1**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '0', - ], - ], - [ 'name' => 'DtsJobId', - 'in' => 'formData', - 'schema' => [ - 'title' => 'migration job id', - 'description' => '迁移或同步任务ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'k2gm967v16f****', - ], + 'in' => 'query', + 'schema' => ['description' => '迁移、同步或订阅任务ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'l3m1213ye7l****'], ], [ - 'name' => 'OwnerID', - 'in' => 'formData', - 'schema' => [ - 'title' => 'OwnerID', - 'type' => 'string', - ], + 'name' => 'DtsJobName', + 'in' => 'query', + 'schema' => ['description' => '修改后的任务名称。'."\n" + .'> 建议配置具有业务意义的名称(无唯一性要求),便于后续识别。', 'type' => 'string', 'required' => true, 'example' => 'RDS间迁移'], ], [ - 'name' => 'ClientToken', - 'in' => 'formData', - 'schema' => [ - 'title' => '幂等性验证', - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。', - 'type' => 'string', - 'required' => false, - 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', - ], + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '任务所属地域ID,请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'], ], [ - 'name' => 'AccountId', - 'in' => 'formData', - 'schema' => [ - 'title' => 'callType=AssumedRoleUser', - 'description' => '阿里云主账号ID。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'name' => 'ZeroEtlJob', + 'in' => 'query', + 'schema' => ['description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aekzfkjjb5gyy6i'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'DescribeClusterOperateLogsResponse', - 'description' => 'DescribeClusterOperateLogsResponse', 'type' => 'object', 'properties' => [ - 'DataPoints' => [ - 'description' => '监控统计信息。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'description' => '日志记录表的主键。', - 'type' => 'string', - 'example' => '237827', - ], - 'LogDatetime' => [ - 'description' => '时间戳,单位毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1642077211574', - ], - 'OperationName' => [ - 'description' => '操作类型。', - 'type' => 'string', - 'example' => 'modify-oversold-ratio', - ], - 'OperationUser' => [ - 'description' => '操作人。', - 'type' => 'string', - 'example' => 'null', - ], - 'OldValue' => [ - 'description' => '操作类型是修改时,旧的参数值。', - 'type' => 'string', - 'example' => '100', - ], - 'NewValue' => [ - 'description' => '操作类型是修改时,新的参数值。', - 'type' => 'string', - 'example' => '105', - ], - 'Content' => [ - 'description' => '其他备注信息。', - 'type' => 'string', - 'example' => 'null', - ], - 'Success' => [ - 'description' => '调用结果,是否成功,**1**代表成功。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], - ], - ], - 'PageNumber' => [ - 'title' => '当前页码', - 'description' => '当前页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageRecordCount' => [ - 'title' => '当前每页显示数量', - 'description' => '当前每页显示的数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'TotalRecordCount' => [ - 'title' => '总数', - 'description' => '记录的总数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'Success' => [ - 'title' => '调用结果', - 'description' => '调用结果。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Code' => [ - 'title' => '后端错误码 数字递增', - 'description' => '后端错误码,数字递增。', - 'type' => 'string', - 'example' => '500', - ], - 'ErrCode' => [ - 'title' => '错误短码 ps:InternalError', - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'ErrMessage' => [ - 'title' => '错误信息(返回给用户)', - 'description' => '错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DynamicMessage' => [ - 'title' => '动态错误信息,会替换错误码里的"%s"', - 'description' => '动态错误信息,用于替换返回参数ErrMessage错误信息中的%s。', - 'type' => 'string', - 'example' => 'Type', - ], - 'HttpStatusCode' => [ - 'title' => '异常对应的http code', - 'description' => '异常对应的状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8C498360-7892-433C-847A-BA71A850****'], + 'ErrCode' => ['description' => '调用错误时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'Code' => ['description' => '错误码,本参数即将下线。', 'type' => 'string', 'example' => '200'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'DtsJobId'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The Value of Input Parameter %s is not valid.', - ], - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"8C498360-7892-433C-847A-BA71A850****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDtsJobNameResponse>\\n <RequestId>8C498360-7892-433C-847A-BA71A850****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</ModifyDtsJobNameResponse>","errorExample":""}]', + 'title' => '修改DTS任务名称', + 'summary' => '调用ModifyDtsJobName修改DTS任务名称。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyDtsJobName', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"DataPoints\\": [\\n {\\n \\"Id\\": \\"237827\\",\\n \\"LogDatetime\\": 1642077211574,\\n \\"OperationName\\": \\"modify-oversold-ratio\\",\\n \\"OperationUser\\": \\"null\\",\\n \\"OldValue\\": \\"100\\",\\n \\"NewValue\\": \\"105\\",\\n \\"Content\\": \\"null\\",\\n \\"Success\\": 1\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageRecordCount\\": 20,\\n \\"TotalRecordCount\\": 100,\\n \\"Success\\": true,\\n \\"Code\\": \\"500\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeClusterOperateLogsResponse>\\n <requestId>1651135450713-***</requestId>\\n <success>true</success>\\n <code/>\\n <errCode/>\\n <errMessage/>\\n <dynamicMessage/>\\n <httpStatusCode>200</httpStatusCode>\\n <pageNumber>1</pageNumber>\\n <pageRecordCount>3</pageRecordCount>\\n <totalRecordCount>3</totalRecordCount>\\n <dataPoints>\\n <id>2</id>\\n <logDatetime>1642077211574</logDatetime>\\n <operationName>modify-network-***</operationName>\\n <operationUser/>\\n <oldValue>1</oldValue>\\n <newValue>2</newValue>\\n <content>ak</content>\\n <success>1</success>\\n </dataPoints>\\n <dataPoints>\\n <id>3</id>\\n <logDatetime>1642077211574</logDatetime>\\n <operationName>modify-network-***</operationName>\\n <operationUser/>\\n <oldValue>2</oldValue>\\n <newValue>3</newValue>\\n <content>ak</content>\\n <success>1</success>\\n </dataPoints>\\n <dataPoints>\\n <id>4</id>\\n <logDatetime>1642077211574</logDatetime>\\n <operationName>modify-network-***</operationName>\\n <operationUser/>\\n <oldValue>3</oldValue>\\n <newValue>4</newValue>\\n <content>ak</content>\\n <success>1</success>\\n </dataPoints>\\n</DescribeClusterOperateLogsResponse>","errorExample":""}]', - 'title' => '查询集群日志信息', ], - 'DescribeClusterUsedUtilization' => [ - 'summary' => '调用DescribeClusterUsedUtilization接口查看集群当前使用量。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifyDtsJobPassword' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -29811,437 +15872,270 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', + 'abilityTreeCode' => '52291', + 'abilityTreeNodes' => ['FEATUREdtsJ32CAF'], ], 'parameters' => [ [ - 'name' => 'DedicatedClusterId', - 'in' => 'formData', - 'schema' => [ - 'description' => '当**MetricType**为**CLUSTER**填入独享集群ID,否则为**nodeid**。', - 'type' => 'string', - 'required' => true, - 'example' => 'nodeid', - ], + 'name' => 'DtsJobId', + 'in' => 'query', + 'schema' => ['description' => '迁移、同步或订阅任务ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'l3m1213ye7l****'], ], [ - 'name' => 'Env', - 'in' => 'formData', - 'schema' => [ - 'description' => '默认为**ALIYUN**。', - 'type' => 'string', - 'required' => false, - 'example' => 'ALIYUN', - 'default' => 'ALIYUN', - ], + 'name' => 'UserName', + 'in' => 'query', + 'schema' => ['description' => '待修改数据库的账号名称。', 'type' => 'string', 'required' => false, 'example' => 'dtstest'], ], [ - 'name' => 'MetricType', - 'in' => 'formData', - 'schema' => [ - 'description' => '查询集群或节点,取值:'."\n" - .'- **CLUSTER**(默认值):集群。'."\n" - .'- **NODE**:节点', - 'type' => 'string', - 'required' => false, - 'example' => 'NODE', - 'default' => 'CLUSTER', - ], + 'name' => 'Password', + 'in' => 'query', + 'schema' => ['description' => '修改后的账号密码。'."\n" + .'> 本参数应为必填参数,且不能与当前密码一致。', 'type' => 'string', 'required' => false, 'example' => 'Test123456'], ], [ - 'name' => 'RegionId', - 'in' => 'formData', - 'schema' => [ - 'description' => '实例所在地域。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'name' => 'Endpoint', + 'in' => 'query', + 'schema' => ['description' => '待修改的账号密码所属的数据库,取值:'."\n" + ."\n" + .'- **src**:源库。'."\n" + .'- **dest**:目标库。'."\n" + ."\n" + .'> 本参数为必填参数。', 'type' => 'string', 'required' => false, 'example' => 'src'], ], [ - 'name' => 'DtsJobId', - 'in' => 'formData', - 'schema' => [ - 'title' => 'migration job id', - 'description' => '迁移或同步任务ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'k2gm967v16f****', - ], + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '实例所属的地域,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'OwnerID', - 'in' => 'formData', - 'schema' => [ - 'title' => 'OwnerID', - 'type' => 'string', - ], + 'name' => 'ZeroEtlJob', + 'in' => 'query', + 'schema' => ['description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'ClientToken', - 'in' => 'formData', - 'schema' => [ - 'title' => '幂等性验证', - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。', - 'type' => 'string', - 'required' => false, - 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', - ], + 'name' => 'DtsInstanceId', + 'in' => 'query', + 'schema' => ['description' => '迁移、同步或订阅实例ID。', 'type' => 'string', 'required' => false, 'example' => 'dtsl3m1213ye7l****'], ], [ - 'name' => 'AccountId', - 'in' => 'formData', - 'schema' => [ - 'title' => 'callType=AssumedRoleUser', - 'description' => '阿里云主账号ID,无需设置,该参数即将下线。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'name' => 'SynchronizationDirection', + 'in' => 'query', + 'schema' => ['description' => '指定同步方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 只有当数据同步实例的同步拓扑为双向同步时,才需要传入本参数。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'DescribeClusterUsedUtilizationResponse', - 'description' => 'DescribeClusterUsedUtilizationResponse', 'type' => 'object', 'properties' => [ - 'DedicatedClusterId' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'example' => 'dtscluster_h3fl1cs217sx952', - ], - 'CpuTotal' => [ - 'description' => '集群CPU使用率,单位为%。', - 'type' => 'number', - 'format' => 'float', - 'example' => '50', - ], - 'MemoryUsed' => [ - 'description' => '内存使用量,暂时返回0。', - 'type' => 'number', - 'format' => 'float', - 'example' => '0', - ], - 'MemoryTotal' => [ - 'description' => '内存总量,暂时返回0。', - 'type' => 'number', - 'format' => 'float', - 'example' => '0', - ], - 'DiskTotal' => [ - 'description' => '集群磁盘总量,单位GB。', - 'type' => 'number', - 'format' => 'float', - 'example' => '1024', - ], - 'DiskUsed' => [ - 'description' => '集群磁盘使用量,单位GB。', - 'type' => 'number', - 'format' => 'float', - 'example' => '96', - ], - 'DuTotal' => [ - 'description' => '总DU量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'DuUsed' => [ - 'description' => 'DU使用量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'TaskRunning' => [ - 'description' => '运行任务数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'Success' => [ - 'title' => '调用结果', - 'description' => '调用结果是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Code' => [ - 'title' => '后端错误码 数字递增', - 'description' => '后端错误码,数字递增。', - 'type' => 'string', - 'example' => '200', - ], - 'ErrCode' => [ - 'title' => '错误短码 ps:InternalError', - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'ErrMessage' => [ - 'title' => '错误信息(返回给用户)', - 'description' => '错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DynamicMessage' => [ - 'title' => '动态错误信息,会替换错误码里的 "%s"', - 'description' => '动态错误信息,用于替换返回参数ErrMessage错误信息中的%s。', - 'type' => 'string', - 'example' => 'Type', - ], - 'HttpStatusCode' => [ - 'title' => '异常对应的http code', - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****', - ], - 'MemoryUsedPercentage' => [ - 'description' => '内存使用百分比。', - 'type' => 'number', - 'format' => 'float', - 'example' => '1.0', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8C498360-7892-433C-847A-BA71A850****'], + 'ErrCode' => ['description' => '调用错误时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'Code' => ['description' => '错误码,本参数即将下线。', 'type' => 'string', 'example' => '200'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'DtsJobId'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"DedicatedClusterId\\": \\"dtscluster_h3fl1cs217sx952\\",\\n \\"CpuTotal\\": 50,\\n \\"MemoryUsed\\": 0,\\n \\"MemoryTotal\\": 0,\\n \\"DiskTotal\\": 1024,\\n \\"DiskUsed\\": 96,\\n \\"DuTotal\\": 30,\\n \\"DuUsed\\": 2,\\n \\"TaskRunning\\": 3,\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"MemoryUsedPercentage\\": 1\\n}","errorExample":""},{"type":"xml","example":"<DescribeClusterUsedUtilizationResponse>\\n <code>200</code>\\n <data>\\n <DedicatedClusterId>dtscluster_****</DedicatedClusterId>\\n <RequestId>E2E2AD3E-B7A4-106C-9063-****</RequestId>\\n <DuUsed>14</DuUsed>\\n <Success>true</Success>\\n <DuTotal>30</DuTotal>\\n <DiskTotal>982.3013</DiskTotal>\\n <HttpStatusCode>200</HttpStatusCode>\\n <MemoryUsedPercentage>5.5200005</MemoryUsedPercentage>\\n <MemoryUsed>0</MemoryUsed>\\n <TaskRunning>3</TaskRunning>\\n <DiskUsed>92.0647</DiskUsed>\\n <MemoryTotal>0</MemoryTotal>\\n <CpuTotal>1.7</CpuTotal>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>E2E2AD3E-B7A4-106C-9063-****</requestId>\\n <successResponse>true</successResponse>\\n</DescribeClusterUsedUtilizationResponse>","errorExample":""}]', - 'title' => '查看集群当前使用量', - ], - 'DescribeDedicatedClusterMonitorRule' => [ - 'summary' => '调用DescribeDedicatedClusterMonitorRule接口查询报警规则。', - 'methods' => [ - 'post', - 'get', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"8C498360-7892-433C-847A-BA71A850****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\"\\n}","type":"json"}]', + 'title' => '修改作业密码', + 'summary' => '新版修改作业密码。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyDtsJobPassword', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], ], + ], + 'ModifyDynamicConfig' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => [], 'parameters' => [ [ - 'name' => 'DedicatedClusterId', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsClustervcwn1oeyu5fx4yf', - ], + 'schema' => ['description' => '同步或迁移任务的ID。'."\n" + ."\n" + .'> 可调用[DescribeDtsJobs](~~209702~~)获取任务ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ta7w132u12h****'], + ], + [ + 'name' => 'JobCode', + 'in' => 'query', + 'schema' => ['description' => '任务码,取值为:'."\n" + ."\n" + .'- **03** : 全量同步或迁移任务。'."\n" + .'- **04** : 增量迁移任务。'."\n" + .'- **07** : 增量同步任务。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '07'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '实例所在地域。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'DTS实例所在地域的ID,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'ConfigList', + 'in' => 'query', + 'schema' => ['description' => '具体限速配置。'."\n" + ."\n" + .'- **dts.datamove.blaster.qps.max**:每秒查询源库的速率。'."\n" + .'- **dts.datamove.source.rps.max**:每秒全量同步或迁移的行数RPS。'."\n" + .'- **dts.datamove.source.bps.max**:每秒全量同步或迁移的数据量,单位为Byte/s。'."\n" + ."\n" + .'> - 当**JobCode**取值为**03**时,您需将**EnableLimit**配置为**true**,三个参数的配置才会生效。'."\n" + .'- 当**JobCode**取值为**04**或**07**时,您只需配置**dts.datamove.source.rps.max**和**dts.datamove.source.bps.max**。'."\n" + .'- 取值为**-1**时表示不限速。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '{'."\n" + .' "dts.datamove.source.rps.max": 5000,'."\n" + .' "dts.datamove.source.bps.max": 10485760'."\n" + .'}'], + ], + [ + 'name' => 'EnableLimit', + 'in' => 'query', + 'schema' => ['description' => '是否限制全量同步或迁移任务的迁移速率,取值为**true**或**false**。'."\n" + ."\n" + .'> 仅当**JobCode**为**03**时需要配置。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID,全局参数,当前API无需传入。', - 'type' => 'string', - 'required' => false, - 'example' => '资源组ID,全局参数,当前API无需传入。', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aekz6zsi7ce5rpy'], ], ], 'responses' => [ 200 => [ + 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DedicatedClusterId' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'example' => 'dtsClustervcwn1oeyu5fx4yf', - ], - 'NoticeSwitch' => [ - 'description' => '报警开关,取值为:'."\n" - ."\n" - .'- **1**:打开。'."\n" - .'- **0**:关闭。', - 'type' => 'string', - 'example' => '1', - ], - 'DuAlarmThreshold' => [ - 'description' => 'DU报警阈值,单位百分比。', - 'type' => 'string', - 'example' => '46', - ], - 'CpuAlarmThreshold' => [ - 'description' => 'CPU报警阈值,单位百分比。', - 'type' => 'string', - 'example' => '80', - ], - 'MemAlarmThreshold' => [ - 'description' => '内存报警阈值,单位百分比。', - 'type' => 'string', - 'example' => '80', - ], - 'DiskAlarmThreshold' => [ - 'description' => '磁盘报警阈值,单位百分比。', - 'type' => 'string', - 'example' => '80', - ], - 'Phones' => [ - 'description' => '报警接收电话。如果有多个,用逗号(,)隔开。', - 'type' => 'string', - 'example' => '186****7653', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8D81829D-1BBD-5CE8-BE75-1CAD5750****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'Code' => ['description' => '错误码,本参数即将下线。', 'type' => 'string', 'example' => '200'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'DtsJobId'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"8D81829D-1BBD-5CE8-BE75-1CAD5750****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => '调整迁移速率', + 'summary' => '调整同步或迁移实例的迁移速率。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'dts:ModifyDynamicConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DedicatedClusterId\\": \\"dtsClustervcwn1oeyu5fx4yf\\",\\n \\"NoticeSwitch\\": \\"1\\",\\n \\"DuAlarmThreshold\\": \\"46\\",\\n \\"CpuAlarmThreshold\\": \\"80\\",\\n \\"MemAlarmThreshold\\": \\"80\\",\\n \\"DiskAlarmThreshold\\": \\"80\\",\\n \\"Phones\\": \\"186****7653\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeDedicatedClusterMonitorRuleResponse>\\n <code>200</code>\\n <data>\\n <NoticeSwitch>0</NoticeSwitch>\\n <RequestId>F3284539-46AC-1BC3-A2A6-****</RequestId>\\n <DedicatedClusterId>dtscluster_w4****</DedicatedClusterId>\\n <Phones>159****2120</Phones>\\n <DuAlarmThreshold>100</DuAlarmThreshold>\\n <CpuAlarmThreshold>85</CpuAlarmThreshold>\\n <MemAlarmThreshold>99</MemAlarmThreshold>\\n <DiskAlarmThreshold>99</DiskAlarmThreshold>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>F3284539-46AC-1BC3-A2A6-****</requestId>\\n <successResponse>true</successResponse>\\n</DescribeDedicatedClusterMonitorRuleResponse>","errorExample":""}]', - 'title' => '查询报警规则', ], - 'DescribeDedicatedCluster' => [ - 'summary' => '调用DescribeDedicatedCluster接口获得集群的详细信息。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifyGadInstanceName' => [ + 'summary' => '修改GAD实例名称', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '231795', + 'abilityTreeNodes' => ['FEATUREdts05OBVW'], ], 'parameters' => [ [ - 'name' => 'DedicatedClusterId', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'dtsCluster****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek26mat2ldb4oy'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '实例所在地域。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '任务所属地域ID,请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '热活实例组的实例ID。', 'type' => 'string', 'required' => false, 'example' => 'rm-bp1i99e8l7913****'], + ], + [ + 'name' => 'InstanceName', + 'in' => 'query', + 'schema' => ['description' => '热活实例组的实例名称。', 'type' => 'string', 'required' => false, 'example' => 'rm-uf6b0m001ir8mr9i9'], ], ], 'responses' => [ @@ -30249,486 +16143,153 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DedicatedClusterId' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'example' => 'dtsCluster****', - ], - 'DedicatedClusterName' => [ - 'description' => '集群名称。', - 'type' => 'string', - 'example' => 'daily_test', - ], - 'Du' => [ - 'description' => 'DU数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '30', - ], - 'OversoldDu' => [ - 'description' => '超配DU的数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '60', - ], - 'UsedDu' => [ - 'description' => '已使用DU数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - ], - 'State' => [ - 'description' => '集群状态,取值为:'."\n" - ."\n" - .'- **init**:初始化。'."\n" - .'- **schedule**:待调度。'."\n" - .'- **running**:运行中。'."\n" - .'- **upgrade**:升级中。'."\n" - .'- **downgrade**,:降级中。'."\n" - .'- **locked**:已锁定。'."\n" - .'- **releasing**:释放中。'."\n" - .'- **released**:已经释放。', - 'type' => 'string', - 'example' => 'inti', - ], - 'RegionId' => [ - 'description' => '实例所在区域。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'NodeCount' => [ - 'description' => '集群节点数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - ], - 'DuUtilization' => [ - 'description' => 'DU使用百分比。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '16', - ], - 'CpuUtilization' => [ - 'description' => 'CPU使用百分比。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '30', - ], - 'TotalCpuCore' => [ - 'description' => 'CPU总核数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'UsedCpuCore' => [ - 'description' => '已使用CPU核数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '30', - ], - 'MemUtilization' => [ - 'description' => 'CPU使用量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'TotalMemGBSize' => [ - 'description' => '内存总大小(GB)。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '256', - ], - 'UsedMemGBSize' => [ - 'description' => '已使用内存大小(GB)。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '128', - ], - 'DiskUtilization' => [ - 'description' => '磁盘使用量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '50', - ], - 'TotalDiskGBSize' => [ - 'description' => '磁盘总大小(GB)。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2048', - ], - 'UsedDiskGBSize' => [ - 'description' => '已使用磁盘大小(GB)。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1024', - ], - 'GmtCreated' => [ - 'description' => '创建时间。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1642476144000', - ], - 'GmtFinished' => [ - 'description' => '结束时间。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1645200000000', - ], - 'DtsInstanceID' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'dtsb8r****', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4D0ADAD5-DD97-41B6-B78F-D1961AB1****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'present environment is not support,so skip.'], + 'RegionId' => ['description' => '实例所在地域的ID,详情请参见支持的地域列表。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'InstanceId' => ['description' => '热活实例组ID。', 'type' => 'string', 'example' => 'rm-bp162d4tp0500****'], + 'InstanceName' => ['description' => '实例名称。', 'type' => 'string', 'example' => 'rm-2zehh163694qs5c3v'], + 'CreateTime' => ['description' => '任务创建时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', 'type' => 'integer', 'format' => 'int64', 'example' => '2021-06-28 17:34:53.0'], + 'ResourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-acfmzawhxxc****'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ['errorCode' => 'DTS.Msg.GADInstanceNotFound', 'errorMessage' => 'The GAD instance is not found.', 'description' => 'GAD实例不存在。'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"4D0ADAD5-DD97-41B6-B78F-D1961AB1****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Success\\": \\"true\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceId\\": \\"rm-bp162d4tp0500****\\",\\n \\"InstanceName\\": \\"rm-2zehh163694qs5c3v\\",\\n \\"CreateTime\\": 0,\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\"\\n}","type":"json"}]', + 'title' => '修改GAD实例组名称', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyGadInstanceName', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DedicatedClusterId\\": \\"dtsCluster****\\",\\n \\"DedicatedClusterName\\": \\"daily_test\\",\\n \\"Du\\": 30,\\n \\"OversoldDu\\": 60,\\n \\"UsedDu\\": 5,\\n \\"State\\": \\"inti\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"NodeCount\\": 5,\\n \\"DuUtilization\\": 16,\\n \\"CpuUtilization\\": 30,\\n \\"TotalCpuCore\\": 100,\\n \\"UsedCpuCore\\": 30,\\n \\"MemUtilization\\": 20,\\n \\"TotalMemGBSize\\": 256,\\n \\"UsedMemGBSize\\": 128,\\n \\"DiskUtilization\\": 50,\\n \\"TotalDiskGBSize\\": 2048,\\n \\"UsedDiskGBSize\\": 1024,\\n \\"GmtCreated\\": 1642476144000,\\n \\"GmtFinished\\": 1645200000000,\\n \\"DtsInstanceID\\": \\"dtsb8r****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeDedicatedClusterResponse>\\n <code>200</code>\\n <data>\\n <UsedDu>14</UsedDu>\\n <DuUtilization>46</DuUtilization>\\n <UsedDiskGBSize>51</UsedDiskGBSize>\\n <RequestId>1D1C3EFB-3338-143F-***</RequestId>\\n <DedicatedClusterId>dtscluster_w4iv***</DedicatedClusterId>\\n <NodeCount>2</NodeCount>\\n <OversoldDu>30</OversoldDu>\\n <TotalDiskGBSize>1006</TotalDiskGBSize>\\n <DiskUtilization>6</DiskUtilization>\\n <GmtFinished>1645200000000</GmtFinished>\\n <UsedMemGBSize>63</UsedMemGBSize>\\n <GmtCreated>1642476144000</GmtCreated>\\n <DedicatedClusterName>dtscluster_w4iv***</DedicatedClusterName>\\n <DtsInstanceID>dtsb84w***</DtsInstanceID>\\n <Success>true</Success>\\n <TotalMemGBSize>259</TotalMemGBSize>\\n <MemUtilization>24</MemUtilization>\\n <Du>30</Du>\\n <State>running</State>\\n <HttpStatusCode>200</HttpStatusCode>\\n <UsedCpuCore>64</UsedCpuCore>\\n <TotalCpuCore>32</TotalCpuCore>\\n <RegionId>cn-hangzhou</RegionId>\\n <CpuUtilization>2</CpuUtilization>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>1D1C3EFB-3338-143F-8CF2-***</requestId>\\n <successResponse>true</successResponse>\\n</DescribeDedicatedClusterResponse>","errorExample":""}]', - 'title' => '查询指定集群详细信息', ], - 'DescribeMetricList' => [ - 'summary' => '调用DescribeMetricList接口查看集群监控信息。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifyJobStepCheckpoint' => [ + 'summary' => '修改增量写入的位点。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREdtsJ32CAF'], ], 'parameters' => [ [ - 'name' => 'MetricType', - 'in' => 'formData', - 'schema' => [ - 'title' => 'NODE, CLUSTER', - 'description' => '查询集群或节点,取值:'."\n" - .'- **CLUSTER**:集群。'."\n" - .'- **NODE**:节点', - 'type' => 'string', - 'required' => false, - 'example' => 'NODE', - 'default' => 'NODE', - ], - ], - [ - 'name' => 'MetricName', - 'in' => 'formData', - 'schema' => [ - 'description' => '- **InternetOut**:公网流出流量,单位为Byte。'."\n" - .'- **diskusage_utilization**:磁盘使用率。'."\n" - .'- **IntranetInRate**:内网流入流量,单位为Byte。'."\n" - .'- **InternetIn**:公网流入流量,单位为Byte。'."\n" - .'- **cpu_total**:CPU使用率。'."\n" - .'- **memory_usedutilization**:内存使用率。'."\n" - .'- **IntranetOutRate**:内网流出流量,单位为Byte。', - 'type' => 'string', - 'required' => true, - 'example' => 'cpu_total', - ], - ], - [ - 'name' => 'Period', - 'in' => 'formData', - 'schema' => [ - 'description' => '观测间隔(单位秒),最小间隔为15秒。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '15', - 'default' => '15', - ], - ], - [ - 'name' => 'Param', - 'in' => 'formData', - 'schema' => [ - 'description' => '观测值,当**MetricType**为**NODE**时,值为**nodeid**。', - 'type' => 'string', - 'required' => true, - 'example' => 'nodeid', - ], - ], - [ - 'name' => 'StartTime', - 'in' => 'formData', - 'schema' => [ - 'description' => '起始时间戳,单位毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1642476144000', - ], - ], - [ - 'name' => 'EndTime', - 'in' => 'formData', - 'schema' => [ - 'description' => '结束时间戳,单位毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1642476194000', - ], - ], - [ - 'name' => 'Env', - 'in' => 'formData', - 'schema' => [ - 'description' => '默认为:**ALIYUN**。', - 'type' => 'string', - 'required' => false, - 'example' => 'ALIYUN', - 'default' => 'ALIYUN', - ], + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'DTS实例所属的地域。'."\n" + ."\n" + .'> 专属集群支持的地域,请参见[DTS专属集群](~~417481~~)。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'DtsJobId', - 'in' => 'formData', - 'schema' => [ - 'title' => 'migration job id', - 'description' => '迁移或同步任务ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'k2gm967v16f****', - ], - ], - [ - 'name' => 'OwnerID', - 'in' => 'formData', - 'schema' => [ - 'title' => 'OwnerID', - 'type' => 'string', - ], + 'in' => 'query', + 'schema' => ['description' => '迁移、同步或订阅任务ID。', 'type' => 'string', 'required' => false, 'example' => 'l5512es7w15****'], ], [ - 'name' => 'ClientToken', - 'in' => 'formData', - 'schema' => [ - 'title' => '幂等性验证', - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。', - 'type' => 'string', - 'required' => false, - 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', - ], + 'name' => 'JobStepId', + 'in' => 'query', + 'schema' => ['description' => '任务步骤ID,即ListJobStep接口中返回的**同步**步骤ID。', 'type' => 'string', 'required' => false, 'example' => 'wn3z4ukia9wi9xu_0004_0000'], ], [ - 'name' => 'AccountId', - 'in' => 'formData', - 'schema' => [ - 'title' => 'callType=AssumedRoleUser', - 'description' => '阿里云主账号ID。', - 'type' => 'string', - 'required' => false, - 'example' => '12323344****', - ], + 'name' => 'NewCheckPoint', + 'in' => 'query', + 'schema' => ['description' => '新位点的秒级时间戳,修改范围需在增量数据采集步骤的位点范围内。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1760406***'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2ilvoxlrd***'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'DescribeMetricListResponse', - 'description' => 'DescribeMetricListResponse', 'type' => 'object', 'properties' => [ - 'MetricType' => [ - 'title' => 'NODE, CLUSTER', - 'description' => '查询集群或节点,取值:'."\n" - .'- **CLUSTER**:集群。'."\n" - .'- **NODE**:节点', - 'type' => 'string', - 'example' => 'CLUSTER', - ], - 'Param' => [ - 'description' => '观测值。'."\n" - ."\n" - .'- 当**MetricType**为**NODE**时,值为**nodeid**。'."\n" - .'- 当**MetricType**为**CLUSTER**时为独享集群ID,可通过ListDedicatedCluster接口获取。', - 'type' => 'string', - 'example' => 'ecs-jhjnjjn', - ], - 'MetricName' => [ - 'description' => '- **InternetOut**:公网流出流量,单位为Byte。'."\n" - .'- **diskusage_utilization**:磁盘使用率。'."\n" - .'- **IntranetInRate**:内网流入流量,单位为Byte。'."\n" - .'- **InternetIn**:公网流入流量,单位为Byte。'."\n" - .'- **cpu_total**:CPU使用率。'."\n" - .'- **memory_usedutilization**:内存使用率。'."\n" - .'- **IntranetOutRate**:内网流出流量,单位为Byte。', - 'type' => 'string', - 'example' => 'cpu_total', - ], - 'Period' => [ - 'description' => '观测间隔(单位为秒),最小间隔为15秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '15', - ], - 'DataPoints' => [ - 'description' => '监控统计信息。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Timestamp' => [ - 'description' => '记录时间戳,单位毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1650872310000', - ], - 'Statistics' => [ - 'description' => '统计值。', - 'type' => 'number', - 'format' => 'float', - 'example' => '15.25', - ], - ], - ], - ], - 'Success' => [ - 'title' => '调用结果', - 'description' => '调用是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Code' => [ - 'title' => '后端错误码 数字递增', - 'description' => '后端错误码,数字递增。', - 'type' => 'string', - 'example' => '403', - ], - 'ErrCode' => [ - 'title' => '错误短码 ps:InternalError', - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'ErrMessage' => [ - 'title' => '错误信息(返回给用户)', - 'description' => '错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DynamicMessage' => [ - 'title' => '动态错误信息,会替换错误码里的"%s"', - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的%s。', - 'type' => 'string', - 'example' => 'Type', - ], - 'HttpStatusCode' => [ - 'title' => '异常对应的http code', - 'description' => '异常对应的状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '403', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****', - ], + 'HttpStatusCode' => ['description' => ' 状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'C306C198-7807-409D-930A-D6CE6C32****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功,返回值:'."\n" + .'- **true**:请求成功。'."\n" + .'- **false**:请求失败。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用出错时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'Code' => ['description' => '错误码。', 'type' => 'string', 'example' => '200'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数ErrMessage错误信息中的%s。'."\n" + ."\n" + .'> 如果ErrMessage返回The Value of Input Parameter %s is not valid,且DynamicMessage返回JobId,则代表所传入的请求参数JobId不合法。', 'type' => 'string', 'example' => 'can not find env: zbyk-pre'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"C306C198-7807-409D-930A-D6CE6C32****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"can not find env: zbyk-pre\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyJobStepCheckpointResponse>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>C306C198-7807-409D-930A-D6CE6C32****</RequestId>\\n <ErrCode>InternalError</ErrCode>\\n <Success>true</Success>\\n <ErrMessage>The request processing has failed due to some unknown error.</ErrMessage>\\n <Code>200</Code>\\n <DynamicMessage>can not find env: zbyk-pre</DynamicMessage>\\n</ModifyJobStepCheckpointResponse>","errorExample":""}]', + 'title' => '修改任务位点', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:ModifyJobStepCheckpoint', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"MetricType\\": \\"CLUSTER\\",\\n \\"Param\\": \\"ecs-jhjnjjn\\",\\n \\"MetricName\\": \\"cpu_total\\",\\n \\"Period\\": 15,\\n \\"DataPoints\\": [\\n {\\n \\"Timestamp\\": 1650872310000,\\n \\"Statistics\\": 15.25\\n }\\n ],\\n \\"Success\\": true,\\n \\"Code\\": \\"403\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"HttpStatusCode\\": 403,\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeMetricListResponse>\\n <code>200</code>\\n <data>\\n <MetricName>diskusage_utilization</MetricName>\\n <RequestId>36F33F1C-CF13-149E-AB05-****</RequestId>\\n <MetricType>CLUSTER</MetricType>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Period>15</Period>\\n <DataPoints>\\n <Timestamp>1651112970000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651112985000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113000000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113015000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113030000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113045000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113060000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113075000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113090000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113105000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113120000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113135000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113150000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113165000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113180000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113195000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113210000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113225000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113240000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113255000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113270000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113285000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113300000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113315000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113330000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113345000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113360000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113375000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113390000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113405000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113420000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113435000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113450000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113465000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113480000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113495000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113510000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113525000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113540000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113555000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>36F33F1C-CF13-149E-AB05-****</requestId>\\n <successResponse>true</successResponse>\\n</DescribeMetricListResponse>","errorExample":""}]', - 'title' => '查看集群监控信息', ], - 'ListDedicatedCluster' => [ - 'summary' => '调用ListDedicatedCluster接口查询当前用户创建的所有集群,也可以按照传入的条件信息筛选指定的集群。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifySubscription' => [ + 'summary' => '新版修改订阅任务。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -30737,123 +16298,65 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREdts7755BW'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '区域,指定的查询条件。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'DTS实例所在地域,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Type', + 'name' => 'DtsInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '查询的键,取值为:'."\n" - ."\n" - .'- **NAME**:集群名称。'."\n" - .'- **INSTANCE**:集群实例ID。'."\n" - .'- **DEDICATEDCLUSTERID**:专属集群ID。'."\n" - ."\n" - .'> 您需要传入**Params**,指定查询条件的具体内容。', - 'type' => 'string', - 'required' => false, - 'example' => 'NAME', - ], + 'schema' => ['description' => '订阅实例ID,可以调用[DescribeDtsJobs](~~209702~~)查询。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'dtsboss6pn1w******'], ], [ - 'name' => 'Params', + 'name' => 'DbList', 'in' => 'query', - 'schema' => [ - 'description' => '查询条件的具体内容。'."\n" - ."\n" - .'> 您需要提前传入**Type**,指定查询条件。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtspk3f13r731m****', - ], + 'schema' => ['description' => '修改后的订阅对象,格式为JSON串。详细定义,请参见[迁移、同步或订阅对象说明](~~209545~~)。'."\n" + .'> - 原DbList会被新传入的DbList覆盖,请确保新传入的DbList数据中包含所有需要订阅的对象,否则可能会导致订阅对象丢失,请谨慎修改。'."\n" + .'- 原订阅对象,可调用[DescribeDtsJobDetail](~~208925~~)进行查询。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '{"dtstest":{"name":"dtstest","all":true}}'], ], [ - 'name' => 'State', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '集群状态,取值为:'."\n" - ."\n" - .'- **init**:初始化。'."\n" - .'- **schedule**:待调度。'."\n" - .'- **running**:运行中。'."\n" - .'- **upgrade**:升级中。'."\n" - .'- **downgrade**,:降级中。'."\n" - .'- **locked**:已锁定。'."\n" - .'- **releasing**:释放中。'."\n" - .'- **released**:已经释放。', - 'type' => 'string', - 'required' => false, - 'example' => 'init', - ], + 'schema' => ['description' => '订阅任务ID,可以调用[DescribeDtsJobs](~~209702~~)查询。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'boss6pn1w******'], ], [ - 'name' => 'OrderDirection', + 'name' => 'SubscriptionDataTypeDDL', 'in' => 'query', - 'schema' => [ - 'description' => '排序方向,取值为:'."\n" - ."\n" - .'- **asc**:正序,为默认值。'."\n" - .'- **desc**:倒序。', - 'type' => 'string', - 'required' => false, - 'example' => 'asc', - ], + 'schema' => ['description' => '修改后任务是否订阅DDL类型的数据,取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'docRequired' => true, 'example' => 'true'], ], [ - 'name' => 'OrderColumn', + 'name' => 'SubscriptionDataTypeDML', 'in' => 'query', - 'schema' => [ - 'description' => '当返回结果包含多个DTS专属集群实例时,传入本参数指定实例的排序依据,取值:'."\n" - ."\n" - .'- **gmtCreated**:创建时间'."\n" - .'- **orderCount**:节点数', - 'type' => 'string', - 'required' => false, - 'example' => 'gmtCreated', - ], + 'schema' => ['description' => '修改后任务是否订阅DML类型的数据,取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'docRequired' => true, 'example' => 'true'], ], [ - 'name' => 'PageSize', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '每页记录集群数量。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], [ - 'name' => 'PageNumber', + 'name' => 'Reserved', 'in' => 'query', - 'schema' => [ - 'description' => '页码,取值为大于0且不超过Integer数据类型的最大值,默认值为**1**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'ModifyType', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfntftbiobqyky', - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => ''], ], ], 'responses' => [ @@ -30861,277 +16364,88 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'PageRecordCount' => [ - 'description' => '当前页可展示的最大记录数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'TotalRecordCount' => [ - 'description' => '所有符合条件的集群数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'PageNumber' => [ - 'description' => '页码,取值为大于0且不超过Integer数据类型的最大值,默认值为1。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'DedicatedClusterStatusList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DedicatedClusterStatus' => [ - 'description' => '查询所有集群的状态。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DtsInstanceID' => [ - 'description' => 'DTS实例ID。', - 'type' => 'string', - 'example' => 'dtsi03e3zty16i****', - ], - 'DedicatedClusterId' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'example' => 'dtscluster*******', - ], - 'DedicatedClusterName' => [ - 'description' => '集群名称。', - 'type' => 'string', - 'example' => 'daily_test', - ], - 'Du' => [ - 'description' => 'DU数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '30', - ], - 'OversoldDu' => [ - 'description' => '超配DU的数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '60', - ], - 'UsedDu' => [ - 'description' => '已使用DU数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - ], - 'State' => [ - 'description' => '集群状态,取值为:'."\n" - ."\n" - .'- **init**:初始化。'."\n" - .'- **schedule**:待调度。'."\n" - .'- **running**:运行中。'."\n" - .'- **upgrade**:升级中。'."\n" - .'- **downgrade**,:降级中。'."\n" - .'- **locked**:已锁定。'."\n" - .'- **releasing**:释放中。'."\n" - .'- **released**:已经释放。', - 'type' => 'string', - 'example' => 'init', - ], - 'RegionId' => [ - 'description' => '实例所在区域。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'GmtCreated' => [ - 'description' => '创建时间。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1647424384606', - ], - 'NodeCount' => [ - 'description' => '集群节点数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - ], - 'DuUtilization' => [ - 'description' => 'DU使用百分比。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '16.6667', - ], - 'CpuUtilization' => [ - 'description' => 'CPU使用百分比。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '30', - ], - 'TotalCpuCore' => [ - 'description' => 'CPU总核数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'UsedCpuCore' => [ - 'description' => '已使用CPU核数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '30', - ], - 'MemUtilization' => [ - 'description' => 'CPU使用量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'TotalMemGBSize' => [ - 'description' => '内存总大小(GB)。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '256', - ], - 'UsedMemGBSize' => [ - 'description' => '已使用内存大小(GB)。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '128', - ], - 'DiskUtilization' => [ - 'description' => '磁盘使用量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '50', - ], - 'TotalDiskGBSize' => [ - 'description' => '磁盘总大小(GB)。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2048', - ], - 'UsedDiskGBSize' => [ - 'description' => '已使用磁盘大小(GB)。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1024', - ], - ], - ], - ], - ], - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。'."\n" + ."\n", 'type' => 'string', 'example' => '068FA72F-4800-4A54-90BB-94806068****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n" + ."\n", 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用出错时返回对应的错误信息。'."\n" + ."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"068FA72F-4800-4A54-90BB-94806068****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySubscriptionResponse>\\n <RequestId>068FA72F-4800-4A54-90BB-94806068****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</ModifySubscriptionResponse>","errorExample":""}]', + 'title' => '修改订阅任务', + 'description' => '> 您可以根据需求在控制台进行相应的预配置,然后预览对应配置的OpenAPI参数信息,以协助您填写请求参数。更多信息,请参见[预览OpenAPI的请求参数](~~2851612~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifySubscription', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"PageRecordCount\\": 20,\\n \\"TotalRecordCount\\": 15,\\n \\"PageNumber\\": 1,\\n \\"DedicatedClusterStatusList\\": {\\n \\"DedicatedClusterStatus\\": [\\n {\\n \\"DtsInstanceID\\": \\"dtsi03e3zty16i****\\",\\n \\"DedicatedClusterId\\": \\"dtscluster*******\\",\\n \\"DedicatedClusterName\\": \\"daily_test\\",\\n \\"Du\\": 30,\\n \\"OversoldDu\\": 60,\\n \\"UsedDu\\": 5,\\n \\"State\\": \\"init\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"GmtCreated\\": 1647424384606,\\n \\"NodeCount\\": 5,\\n \\"DuUtilization\\": 16.6667,\\n \\"CpuUtilization\\": 30,\\n \\"TotalCpuCore\\": 100,\\n \\"UsedCpuCore\\": 30,\\n \\"MemUtilization\\": 20,\\n \\"TotalMemGBSize\\": 256,\\n \\"UsedMemGBSize\\": 128,\\n \\"DiskUtilization\\": 50,\\n \\"TotalDiskGBSize\\": 2048,\\n \\"UsedDiskGBSize\\": 1024\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListDedicatedClusterResponse>\\n <code>200</code>\\n <data>\\n <TotalRecordCount>2</TotalRecordCount>\\n <PageRecordCount>20</PageRecordCount>\\n <RequestId>49BCBE1F-3AB4-***</RequestId>\\n <PageNumber>1</PageNumber>\\n <DedicatedClusterStatusList>\\n <DedicatedClusterStatus>\\n <UsedDu>14</UsedDu>\\n <DuUtilization>46</DuUtilization>\\n <DedicatedClusterId>dtscluster_***</DedicatedClusterId>\\n <NodeCount>2</NodeCount>\\n <UsedDiskGBSize>51</UsedDiskGBSize>\\n <OversoldDu>30</OversoldDu>\\n <TotalDiskGBSize>1006</TotalDiskGBSize>\\n <DiskUtilization>6</DiskUtilization>\\n <UsedMemGBSize>63</UsedMemGBSize>\\n <GmtCreated>1642476144000</GmtCreated>\\n <DtsInstanceID>dtsb84w12e2188ya1r</DtsInstanceID>\\n <DedicatedClusterName>dtscluster_***</DedicatedClusterName>\\n <TotalMemGBSize>259</TotalMemGBSize>\\n <Du>30</Du>\\n <MemUtilization>24</MemUtilization>\\n <State>running</State>\\n <UsedCpuCore>0</UsedCpuCore>\\n <TotalCpuCore>32</TotalCpuCore>\\n <RegionId>cn-hangzhou</RegionId>\\n <CpuUtilization>2</CpuUtilization>\\n </DedicatedClusterStatus>\\n <DedicatedClusterStatus>\\n <UsedDu>0</UsedDu>\\n <DuUtilization>0</DuUtilization>\\n <DedicatedClusterId>dtsCluster***</DedicatedClusterId>\\n <NodeCount>0</NodeCount>\\n <UsedDiskGBSize>0</UsedDiskGBSize>\\n <OversoldDu>60</OversoldDu>\\n <TotalDiskGBSize>0</TotalDiskGBSize>\\n <DiskUtilization>0</DiskUtilization>\\n <UsedMemGBSize>0</UsedMemGBSize>\\n <GmtCreated>1641377381000</GmtCreated>\\n <DedicatedClusterName>dedicatedCluster_***</DedicatedClusterName>\\n <TotalMemGBSize>0</TotalMemGBSize>\\n <Du>40</Du>\\n <MemUtilization>0</MemUtilization>\\n <State>releasing</State>\\n <UsedCpuCore>0</UsedCpuCore>\\n <TotalCpuCore>0</TotalCpuCore>\\n <RegionId>cn-hangzhou</RegionId>\\n <CpuUtilization>0</CpuUtilization>\\n </DedicatedClusterStatus>\\n </DedicatedClusterStatusList>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>49BCBE1F-3AB4-****</requestId>\\n <successResponse>true</successResponse>\\n</ListDedicatedClusterResponse>","errorExample":""}]', - 'title' => '查询集群列表', ], - 'ModifyDtsJobDedicatedCluster' => [ - 'summary' => '更换任务运行的独享集群。', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifySubscriptionObject' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'DtsJobIds', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '任务ID。取值可以由多个任务ID组成一个JSON数组,ID之间用半角逗号(,)隔开。', - 'type' => 'string', - 'required' => false, - 'example' => '["dtsxxxx01", "dtsxxx02"]', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'DedicatedClusterId', + 'name' => 'SubscriptionInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '专属集群ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsxxxx', - ], + 'schema' => ['description' => '数据订阅实例ID,可以通过调用[DescribeSubscriptionInstances](~~49442~~)接口查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsl8zl9ek6292****'], ], [ - 'name' => 'RegionId', + 'name' => 'SubscriptionObject', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域。'."\n" - ."\n" - .'> 专属集群支持的地域,请参见[DTS专属集群](~~417481~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '订阅对象,格式为JSON串且支持一定的正则表达式,详细说明请参见[订阅对象配置说明](~~141902~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"DBName":"dtstestdata"}]'], + ], + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -31139,80 +16453,47 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => ' 请求ID。', - 'type' => 'string', - 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****', - ], - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '200', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的%s。', - 'type' => 'string', - 'example' => 'Type', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'Code' => [ - 'description' => '后端错误码,数字递增。', - 'type' => 'string', - 'example' => '500', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'ABBACEFC-CBA9-4F80-A337-42F202F5****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用出错时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ABBACEFC-CBA9-4F80-A337-42F202F5****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '修改订阅对象', + 'summary' => '老版修改订阅对象。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifySubscriptionObject', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"500\\",\\n \\"Success\\": true,\\n \\"ErrCode\\": \\"InternalError\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDtsJobDedicatedClusterResponse>\\n <code>200</code>\\n <data>\\n <RequestId>26EC538C-9E2D-11D5-A55F-***</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>26EC538C-9E2D-11D5-A55F-***</requestId>\\n <successResponse>true</successResponse>\\n</ModifyDtsJobDedicatedClusterResponse>","errorExample":""}]', - 'title' => '更换任务集群', - 'description' => '> 迁移任务由专属集群修改到公共集群运行后,任务的付费方式将为后付费,并开始计费。', ], - 'ModifyDedicatedCluster' => [ - 'summary' => '调用ModifyDedicatedCluster接口修改集群配置。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifySynchronizationObject' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -31220,72 +16501,42 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '集群实例ID。'."\n" - .'> 参数**InstanceId**与**DedicatedClusterId**,两者必须传入其一。', - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp1162kryivb8****', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'DedicatedClusterId', + 'name' => 'SynchronizationJobId', 'in' => 'query', - 'schema' => [ - 'description' => '专属集群ID。'."\n" - .'> 参数**InstanceId**与**DedicatedClusterId**,两者必须传入其一。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtscluster_h3fl1cs217sx952', - ], + 'schema' => ['description' => '数据同步实例ID,可以通过调用[DescribeSynchronizationJobs](~~49454~~)接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtskfq1149w254****'], ], [ - 'name' => 'DedicatedClusterName', - 'in' => 'query', - 'schema' => [ - 'description' => '集群名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtscluster_test_001', - ], + 'name' => 'SynchronizationObjects', + 'in' => 'formData', + 'schema' => ['description' => '修改后的同步对象,格式为JSON串且支持一定的正则表达式,详细说明请参见[同步对象配置说明](~~141901~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"DBName": "dtstestdata"}]'], ], [ - 'name' => 'OversoldRatio', + 'name' => 'SynchronizationDirection', 'in' => 'query', - 'schema' => [ - 'description' => '超配比,单位为%。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '150', - ], + 'schema' => ['description' => '指定同步方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 只有当数据同步实例的同步拓扑为双向同步时,才需要传入本参数。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ - 'name' => 'RegionId', + 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所在地域。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -31293,74 +16544,49 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DedicatedClusterId' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'example' => 'dtscluster_h3fl1cs217sx952', - ], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => '902DDCDE-C755-4458-85DA-DF9A323C****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'TaskId' => ['description' => '任务ID,您可以根据此参数调用[DescribeSynchronizationObjectModifyStatus](~~49452~~)接口查询同步对象变更的状态及进度。', 'type' => 'string', 'example' => 'tl911uvi25z****'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"902DDCDE-C755-4458-85DA-DF9A323C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"TaskId\\": \\"tl911uvi25z****\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '修改数据同步作业实例同步对象', + 'summary' => '老版修改数据同步作业实例中的同步对象。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifySynchronizationObject', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DedicatedClusterId\\": \\"dtscluster_h3fl1cs217sx952\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDedicatedClusterResponse>\\n <code>200</code>\\n <data>\\n <RequestId>26EC538C-9E2D-11D5-A55F-****</RequestId>\\n <DedicatedClusterId>dtscluster_w****</DedicatedClusterId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>26EC538C-9E2D-11D5-A55F-****</requestId>\\n <successResponse>true</successResponse>\\n</ModifyDedicatedClusterResponse>","errorExample":""}]', - 'title' => '修改集群配置', - 'description' => '目前仅支持修改超配比。', ], - 'ModifyDtsJobDuLimit' => [ - 'summary' => '调用ModifyDtsJobDuLimit接口修改作业DU上限。', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'PreCheckCreateGadOrder' => [ + 'summary' => '预检查创建GAD订单', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -31369,51 +16595,69 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '232361', + 'abilityTreeNodes' => ['FEATUREdts05OBVW'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'DtsJobId', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS迁移、同步或订阅任务ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'dtsxxx', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfntftbiobqyky'], ], [ - 'name' => 'DuLimit', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '任务DU上限。'."\n" - ."\n" - .'> 最小取值为**1**。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RegionId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '热活实例组ID。', 'type' => 'string', 'required' => false, 'example' => 'gad-bp1i99e8l7913****'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'SlaveDbInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '从角色数据库实例ID。', 'type' => 'string', 'required' => false, 'example' => 'rm-bp17562h64****'], + ], + [ + 'name' => 'SlaveDbInstanceRegion', + 'in' => 'query', + 'schema' => ['description' => '从角色数据库实例Region。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'MasterDatabaseName', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => false, 'description' => ''], + ], + [ + 'name' => 'MasterEngineArchType', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => false, 'description' => ''], + ], + [ + 'name' => 'MasterShardAccountName', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => false, 'description' => ''], + ], + [ + 'name' => 'MasterShardAccountPassword', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => false, 'description' => ''], + ], + [ + 'name' => 'SlaveDatabaseName', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => false, 'description' => ''], + ], + [ + 'name' => 'SlaveEngineArchType', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => false, 'description' => ''], ], ], 'responses' => [ @@ -31421,144 +16665,92 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****', - ], - 'HttpStatusCode' => [ - 'description' => ' 状态码。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '200', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的%s。', - 'type' => 'string', - 'example' => 'Type', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'Code' => [ - 'description' => '后端错误码,数字递增。', - 'type' => 'string', - 'example' => '500', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => 'C166D79D-436B-45F0-B5A5-25E1959F****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'Success' => ['description' => '是否成功。可取值:true:成功。fasle:失败。', 'type' => 'string', 'example' => 'true'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数ErrMessage错误信息中的%s。'."\n" + ."\n" + .'> 如果ErrMessage返回The Value of Input Parameter %s is not valid,且DynamicMessage返回JobId,则代表所传入的请求参数JobId不合法。', 'type' => 'string', 'example' => 'https://check-result-file-sh.oss-cn-shanghai.aliyuncs.com/dw612cru18e****/dtsdb/diff/student.diff.zip?Expires=****'], + 'RegionId' => ['description' => '实例所在地域的ID,详情请参见支持的地域列表。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'InstanceId' => ['description' => '热活实例组ID。', 'type' => 'string', 'example' => 'rm-bp162d4tp0500****'], + 'TaskId' => ['description' => '预检查任务ID。', 'type' => 'string', 'example' => 'z2v12jfo309****'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"C166D79D-436B-45F0-B5A5-25E1959F****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Success\\": \\"true\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DynamicMessage\\": \\"https://check-result-file-sh.oss-cn-shanghai.aliyuncs.com/dw612cru18e****/dtsdb/diff/student.diff.zip?Expires=****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceId\\": \\"rm-bp162d4tp0500****\\",\\n \\"TaskId\\": \\"z2v12jfo309****\\"\\n}","type":"json"}]', + 'title' => 'GAD全球热活实例组创建预检查', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:PreCheckCreateGadOrder', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"500\\",\\n \\"Success\\": true,\\n \\"ErrCode\\": \\"InternalError\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDtsJobDuLimitResponse>\\n <code>200</code>\\n <data>\\n <RequestId>229866A4-4C4A-1A46-8074-***</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>229866A4-4C4A-1A46-8074-***</requestId>\\n <successResponse>true</successResponse>\\n</ModifyDtsJobDuLimitResponse>","errorExample":""}]', - 'title' => '修改作业DU上限', - 'description' => '- 专属集群的DTS实例需要支持升降配,通过改变任务运行时占用的资源,动态调整当前集群可调度的任务数,实现对集群总DU数量的扣减和释放。'."\n" - .'- 修改作业DU上限前,需要确保资源余量足够。', ], - 'StopDedicatedCluster' => [ - 'summary' => '调用StopDedicatedCluster接口释放集群。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'PromoteToMaster' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', + 'abilityTreeCode' => '236002', + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '实例ID。'."\n" - .'> 参数**InstanceId**与**DedicatedClusterId**,两者必须传入其一。', - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp1162kryivb8****', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见支持的地域列表。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'DedicatedClusterId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '集群ID。'."\n" - .'> 参数**InstanceId**与**DedicatedClusterId**,两者必须传入其一。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtscluster_h3fl1cs217sx952', - ], + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => false, 'example' => 'gad-bp162d4tp0500****'], ], [ - 'name' => 'DedicatedClusterName', + 'name' => 'MasterDbInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '集群名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtscluster_test_001', - ], + 'schema' => ['description' => '主角色实例ID。', 'type' => 'string', 'required' => false, 'example' => 'rm-bp1756****'], ], [ - 'name' => 'RegionId', + 'name' => 'SlaveDbInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '实例所在地域。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '从角色实例ID。', 'type' => 'string', 'required' => false, 'example' => 'rm-bp1756****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID,全局参数,当前API无需传入。', - 'type' => 'string', - 'required' => false, - 'example' => '资源组ID,全局参数,当前API无需传入。', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -31566,67 +16758,52 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.q', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => '210ec2e116055198849072222d****'], + 'ErrCode' => ['description' => '调用错误时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'present environment is not support,so skip.'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], + 'TaskId' => ['description' => '任务ID,该参数即将下线。', 'type' => 'string', 'example' => 'z2v12jfo309****'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"210ec2e116055198849072222d****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"TaskId\\": \\"z2v12jfo309****\\"\\n}","type":"json"}]', + 'title' => '异地灾备实例从角色转为主角色', + 'summary' => '异地灾备实例从角色转为主角色', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:PromoteToMaster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.q\\"\\n}","errorExample":""},{"type":"xml","example":"<StopDedicatedClusterResponse>\\n <code>200</code>\\n <data>\\n <RequestId>26EC538C-9E2D-11D5-A55F-****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>26EC538C-9E2D-11D5-A55F-****</requestId>\\n <successResponse>true</successResponse>\\n</StopDedicatedClusterResponse>","errorExample":""}]', - 'title' => '释放集群', ], - 'DescribeDataCheckTableDiffDetails' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'RenewInstance' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -31634,87 +16811,148 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'CheckType', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '数据校验方式,取值:'."\n" - ."\n" - .'- **1**:全量校验。'."\n" - .'- **2**:增量校验。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '2', - ], + 'schema' => ['description' => '同步或订阅任务ID,可调用[DescribeDtsJobs](~~209702~~)查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'qi0r643lc31****'], ], [ - 'name' => 'DbName', + 'name' => 'ChargeType', 'in' => 'query', - 'schema' => [ - 'description' => '存在不一致数据的表所在的数据库的名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'db_dtstest', - ], + 'schema' => ['description' => '付费类型为**PREPAY**,包年包月(预付费)。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'PREPAY'], ], [ - 'name' => 'TbName', + 'name' => 'Period', 'in' => 'query', - 'schema' => [ - 'description' => '存在不一致数据的表名。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_person', - ], + 'schema' => ['description' => "\n" + .'续费实例的计费方式,取值:'."\n" + .'- **Year**:包年。'."\n" + .'- **Month**:包月(默认值)。', 'type' => 'string', 'required' => false, 'example' => 'Month'], ], [ - 'name' => 'PageSize', + 'name' => 'BuyCount', 'in' => 'query', - 'schema' => [ - 'description' => '每页记录数。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '续费实例购买时长,默认为1。'."\n" + .'- 当**Period**为**Year**(包年)时,取值范围为**1~5**。'."\n" + .'- 当**Period**为**Month**(包月)时,取值范围为**1~60**。', 'type' => 'string', 'required' => false, 'example' => '1'], ], [ - 'name' => 'PageNumber', + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'DTS实例所在地域的ID,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'ResourceGroupId', 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '是否返回所有的同步子任务', - 'description' => '页码,取值为大于0且不超过Integer数据类型的最大值,默认值为1。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', + 'type' => 'object', + 'properties' => [ + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'EndTime' => ['description' => '续费实例到期时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ssZZZ</i>(UTC时间)。'."\n" + ."\n" + .'> **ZZZ**表示完整时区偏移量(“+”或“-”后面跟有小时和分钟),例如:**+00:00**。', 'type' => 'string', 'example' => '2021-08-04T16:00:00.000+00:00'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '1112E255-0C38-4970-8159-1D54AD92****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'DtsJobId' => ['description' => '同步或订阅任务ID。', 'type' => 'string', 'example' => 'qi0r643lc31****'], + 'Success' => ['description' => '请求是否成功,返回值:'."\n" + ."\n" + .'- **true**:请求成功。'."\n" + .'- **false**:请求失败。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'ChargeType' => ['description' => '付费类型为**PREPAY**,包年包月(预付费)。'."\n", 'type' => 'string', 'example' => 'PREPAY'], + 'Code' => ['description' => '错误码。'."\n" + ."\n" + .'> 本参数即将下线。', 'type' => 'string', 'example' => '200'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的%**s**。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则表示所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'DtsJobId'], + 'InstanceId' => ['description' => '实例ID。', 'type' => 'string', 'example' => 'dtsqi0r643lc31****'], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], + ], + 403 => [ + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ], + 500 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"EndTime\\": \\"2021-08-04T16:00:00.000+00:00\\",\\n \\"RequestId\\": \\"1112E255-0C38-4970-8159-1D54AD92****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"DtsJobId\\": \\"qi0r643lc31****\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"ChargeType\\": \\"PREPAY\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"InstanceId\\": \\"dtsqi0r643lc31****\\"\\n}","errorExample":""},{"type":"xml","example":"<RenewInstanceResponse>\\n<DtsJobId>qi0r643lc31****</DtsJobId>\\n<EndTime>2021-08-04T16:00:00.000+00:00</EndTime>\\n<RequestId>1112E255-0C38-4970-8159-1D54AD92****</RequestId>\\n<InstanceId>dtsqi0r643lc31****</InstanceId>\\n<ChargeType>PREPAY</ChargeType>\\n<HttpStatusCode>200</HttpStatusCode>\\n<Success>true</Success>\\n</RenewInstanceResponse>","errorExample":""}]', + 'title' => '为DTS实例续费', + 'summary' => '可以为DTS实例续费。本接口仅适用于预付费类型的DTS实例。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:RenewInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], + ], + ], + 'ResetDtsJob' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], + 'parameters' => [ [ 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移或同步任务ID,您可以调用[DescribeDtsJobs](~~209702~~)接口查询。', - 'type' => 'string', - 'required' => true, - 'example' => 'xd4e4xb419q****', - ], + 'schema' => ['description' => '同步或订阅任务ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'l3m1213ye7l****'], + ], + [ + 'name' => 'DtsInstanceId', + 'in' => 'query', + 'schema' => ['description' => '同步或订阅实例ID。', 'type' => 'string', 'required' => false, 'example' => 'dtsl3m1213ye7l****'], + ], + [ + 'name' => 'SynchronizationDirection', + 'in' => 'query', + 'schema' => ['description' => '同步方向,取值:'."\n" + ."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 当数据同步实例的拓扑为双向时,才可以传入**Reverse**以重置反向同步链路。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'DTS实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aekzn4iqlbsm7hy'], ], ], 'responses' => [ @@ -31722,238 +16960,181 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****', - ], - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InvalidParameter', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The value of the parameter tbName is invalid.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**Type**,则代表所传入的请求参数**Type**不合法。', - 'type' => 'string', - 'example' => 'Type', - ], - 'TbName' => [ - 'description' => '源库中存在不一致数据的表名。', - 'type' => 'string', - 'example' => 'test_person', - ], - 'DbName' => [ - 'description' => '源库中存在不一致数据的表所在的数据库名称。', - 'type' => 'string', - 'example' => 'db_dtstest', - ], - 'DiffDetails' => [ - 'description' => '不一致信息。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'description' => '用于标识一条校验结果数据的自增主键。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '13058****', - ], - 'GmtCreated' => [ - 'description' => '执行校验的时间。', - 'type' => 'string', - 'example' => '2023-04-23T10:36:05.000+00:00', - ], - 'Diff' => [ - 'description' => '具体不一致信息,是一个JSON字符串。'."\n" - ."\n" - .'- column:字段名称。'."\n" - .'- source:源库中的值。'."\n" - .'- dest:目标库中的值。'."\n" - .'- isPrimary:字段是否是主键。', - 'type' => 'string', - 'example' => '[ { "column": "id", "source": "9511", "dest": "9511", "isPrimary": true }, { "column": "state", "source": "3", "dest": "2", "isPrimary": false }, { "column": "create_time", "source": "2023-04-11 14:07:17.0", "dest": "NULL", "isPrimary": false }, { "column": "update_time", "source": "2023-04-11 06:07:17.0", "dest": "2023-04-11 06:02:29.0", "isPrimary": false } ]', - ], - ], - ], - ], - 'DiffCount' => [ - 'description' => '数据不一致的行数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'InstanceId' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'dtsog8q1z3tc9t****"', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '01B6F25-21E7-4484-99D5-3EF2625C****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'DtsJobId'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"01B6F25-21E7-4484-99D5-3EF2625C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<ResetDtsJobResponse>\\n <RequestId>01B6F25-21E7-4484-99D5-3EF2625C****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</ResetDtsJobResponse>","errorExample":""}]', + 'title' => '重置DTS任务', + 'summary' => '调用ResetDtsJob重置一个数据同步或订阅任务。', + 'description' => '> 清空数据同步或订阅任务配置后,原先的任务就会被删除,DTS将重新创建一个未配置的任务,您需要调用接口[ConfigureDtsJob](~~208399~~)重新配置该任务。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ResetDtsJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"HttpStatusCode\\": 200,\\n \\"ErrCode\\": \\"InvalidParameter\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The value of the parameter tbName is invalid.\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"TbName\\": \\"test_person\\",\\n \\"DbName\\": \\"db_dtstest\\",\\n \\"DiffDetails\\": [\\n {\\n \\"Id\\": 0,\\n \\"GmtCreated\\": \\"2023-04-23T10:36:05.000+00:00\\",\\n \\"Diff\\": \\"[ { \\\\\\"column\\\\\\": \\\\\\"id\\\\\\", \\\\\\"source\\\\\\": \\\\\\"9511\\\\\\", \\\\\\"dest\\\\\\": \\\\\\"9511\\\\\\", \\\\\\"isPrimary\\\\\\": true }, { \\\\\\"column\\\\\\": \\\\\\"state\\\\\\", \\\\\\"source\\\\\\": \\\\\\"3\\\\\\", \\\\\\"dest\\\\\\": \\\\\\"2\\\\\\", \\\\\\"isPrimary\\\\\\": false }, { \\\\\\"column\\\\\\": \\\\\\"create_time\\\\\\", \\\\\\"source\\\\\\": \\\\\\"2023-04-11 14:07:17.0\\\\\\", \\\\\\"dest\\\\\\": \\\\\\"NULL\\\\\\", \\\\\\"isPrimary\\\\\\": false }, { \\\\\\"column\\\\\\": \\\\\\"update_time\\\\\\", \\\\\\"source\\\\\\": \\\\\\"2023-04-11 06:07:17.0\\\\\\", \\\\\\"dest\\\\\\": \\\\\\"2023-04-11 06:02:29.0\\\\\\", \\\\\\"isPrimary\\\\\\": false } ]\\"\\n }\\n ],\\n \\"DiffCount\\": 1,\\n \\"InstanceId\\": \\"dtsog8q1z3tc9t****\\\\\\"\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeDataCheckTableDiffDetailsResponse>\\n <DiffDetails>\\n <Diff>[{\\"column\\":\\"s_id\\",\\"source\\":null,\\"dest\\":\\"9\\",\\"isPrimary\\":true}]</Diff>\\n <Id>130581999</Id>\\n <GmtCreated>2023-04-23T10:36:05.000+00:00</GmtCreated>\\n </DiffDetails>\\n <RequestId>EE2EB5DA-1162-5FE6-AA61-DAED5E38****</RequestId>\\n <InstanceId>dtsnabt4g2r19q****</InstanceId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <TbName>test_person</TbName>\\n <DbName>db_dtstest</DbName>\\n <DiffCount>1</DiffCount>\\n <Success>true</Success>\\n</DescribeDataCheckTableDiffDetailsResponse>","errorExample":""}]', - 'title' => '校验任务校验结果', - 'summary' => '以不一致数据为维度的列表结果', ], - 'DescribeDataCheckTableDetails' => [ - 'summary' => '以表为维度的列表结果。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ResetSynchronizationJob' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREdtsMQWIQD', - 'FEATUREdtsEGTFKE', - ], - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'Status', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '校验结果对应的状态,取值为:'."\n" - .'- **-1**(默认值):所有状态。'."\n" - .'- **6**:存在不一致数据的表。', - 'type' => 'string', - 'required' => false, - 'example' => '-1', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'PageSize', + 'name' => 'SynchronizationJobId', 'in' => 'query', - 'schema' => [ - 'description' => '每页记录数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '1', - 'example' => '10', - 'default' => '20', - ], + 'schema' => ['description' => '数据同步实例ID,可以通过调用**DescribeSynchronizationJobs**接口查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsm761239l27m****'], ], [ - 'name' => 'PageNumber', + 'name' => 'SynchronizationDirection', 'in' => 'query', - 'schema' => [ - 'description' => '页码,取值为大于**0**且不超过Integer数据类型的最大值,默认值为**1**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '0', - 'example' => '1', - 'default' => '0', - ], + 'schema' => ['description' => '同步方向,取值:'."\n" + ."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 当数据同步实例的拓扑为双向时,才可以传入**Reverse**以清空反向同步链路。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ - 'name' => 'CheckType', + 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '数据校验方式,取值:'."\n" - ."\n" - .'- **1**:全量校验。'."\n" - .'- **2**:增量校验。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ - 'name' => 'TableName', + 'name' => 'ResourceGroupId', 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '源数据库中校验的表名。', - 'type' => 'string', - 'required' => false, - 'example' => 'student', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'FDC111B1-ACBF-457D-9656-247FDEE9****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], + ], + 403 => [ + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ], + 500 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FDC111B1-ACBF-457D-9656-247FDEE9****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ResetSynchronizationJobResponse>\\n <RequestId>FDC111B1-ACBF-457D-9656-247FDEE9****</RequestId>\\n <Success>true</Success>\\n</ResetSynchronizationJobResponse>","errorExample":""}]', + 'title' => '清空同步作业配置', + 'summary' => '清空数据同步作业配置。', + 'description' => '> 清空数据同步任务配置后,原先的同步任务就会被释放,您需要调用接口**ConfigureSynchronizationJob**重新配置同步任务,才能成功启动该任务。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ResetSynchronizationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:*:{#accountId}:instance/{#DtsInstanceId}'], + ], ], ], + ], + ], + 'ShieldPrecheck' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'DtsJobId', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移或同步任务ID,您可以调用[DescribeDtsJobs](~~209702~~)接口查询。', - 'type' => 'string', - 'required' => true, - 'example' => 'xd4e4xb419q****', - ], + 'schema' => ['description' => '实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SchemaName', + 'name' => 'DtsInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '源数据库中校验对象的Schema名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstest', - ], + 'schema' => ['description' => '数据迁移或同步实例ID,可以通过调用**DescribeMigrationJobs**、DescribeSynchronizationJobs接口查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsi76118o3w92****'], + ], + [ + 'name' => 'PrecheckItems', + 'in' => 'query', + 'schema' => ['description' => '预检查项,取值如下,多个预检查项以英文逗号(,)分隔。'."\n" + ."\n" + .'- **CHECK_SAME_OBJ**:同名对象存在性检查。'."\n" + .'- **CHECK_SAME_USER**:不同名账号存在性检查。'."\n" + .'- **CHECK_SRC**:源库版本检查。'."\n" + .'- **CHECK_TOPOLOGY**:拓扑版本检查。'."\n" + .'> 目前DTS支持的拓扑版本,请参见[拓扑介绍](~~124115~~)。'."\n" + .'- **CHECK_SERVER_ID**:源库server_id检查。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'CHECK_SAME_OBJ'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekz4us4iruleja', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -31961,249 +17142,87 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**Type**,则代表所传入的请求参数**Type**不合法。', - 'type' => 'string', - 'example' => 'Type', - ], - 'PageNumber' => [ - 'description' => '页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', - ], - 'TableDetails' => [ - 'description' => '数据表校验的结果详情。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '校验结果对应的状态,返回值为:'."\n" - ."\n" - .'- **0**:已完成。'."\n" - .'- **2**:初始化中。'."\n" - .'- **3**:运行中。'."\n" - .'- **5**:失败。', - 'type' => 'string', - 'example' => '0', - ], - 'Id' => [ - 'description' => '用于标识一条校验结果数据的自增主键。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '167401241974****', - ], - 'SourceDbName' => [ - 'description' => '源端数据库名称。', - 'type' => 'string', - 'example' => 'testdb', - ], - 'TargetDbName' => [ - 'description' => '目标端数据库名称。', - 'type' => 'string', - 'example' => 'testdb', - ], - 'SourceTbName' => [ - 'description' => '源端表名称。', - 'type' => 'string', - 'example' => 'student', - ], - 'TargetTbName' => [ - 'description' => '目标端表名称。', - 'type' => 'string', - 'example' => 'person', - ], - 'TotalCount' => [ - 'description' => '校验数据的总行数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '8', - ], - 'FinishCount' => [ - 'description' => '表中已完成校验的数据行数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '7', - ], - 'DiffCount' => [ - 'description' => '数据不一致的行数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'BootTime' => [ - 'description' => '进行校验的时间。', - 'type' => 'string', - 'example' => '2023-01-18 11:26:59', - ], - 'ErrorCode' => [ - 'description' => '任务运行出错时,返回报错信息的错误编码。'."\n" - ."\n" - .'- **1**:无主键表的数量超过限制。'."\n" - .'- **2**:差异数据超过300行。'."\n" - .'- **3**:待查询的表不存在。'."\n" - .'- **4**:查询数据的SQL语法错误。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], - ], - ], - 'TotalCount' => [ - 'description' => '校验的表的总数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'FinishedCount' => [ - 'description' => '累计已完成校验的数据行数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '7', - ], - 'DiffTableCount' => [ - 'description' => '数据不一致表的数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'FailedTableCount' => [ - 'description' => '校验失败的表的数量', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => '6F4B5BC4-34B1-49C9-9C8F-C8F16AC4****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6F4B5BC4-34B1-49C9-9C8F-C8F16AC4****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '屏蔽预检查', + 'summary' => '老版屏蔽预检查。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:ShieldPrecheck', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"PageNumber\\": 2,\\n \\"DynamicCode\\": \\"403\\",\\n \\"TableDetails\\": [\\n {\\n \\"Status\\": \\"0\\",\\n \\"Id\\": 0,\\n \\"SourceDbName\\": \\"testdb\\",\\n \\"TargetDbName\\": \\"testdb\\",\\n \\"SourceTbName\\": \\"student\\",\\n \\"TargetTbName\\": \\"person\\",\\n \\"TotalCount\\": 8,\\n \\"FinishCount\\": 7,\\n \\"DiffCount\\": 1,\\n \\"BootTime\\": \\"2023-01-18 11:26:59\\",\\n \\"ErrorCode\\": 1\\n }\\n ],\\n \\"TotalCount\\": 1,\\n \\"FinishedCount\\": 7,\\n \\"DiffTableCount\\": 1,\\n \\"FailedTableCount\\": 1\\n}","errorExample":""},{"type":"xml","example":"<DescribeDataCheckTableDetailsResponse>\\n <DiffTableCount>1</DiffTableCount>\\n <TableDetails>\\n <Status>0</Status>\\n <SourceTbName>student</SourceTbName>\\n <TotalCount>8</TotalCount>\\n <TargetTbName>person</TargetTbName>\\n <TargetDbName>testdb</TargetDbName>\\n <FinishCount>7</FinishCount>\\n <BootTime>2023-04-23 18:35:05</BootTime>\\n <Id>1682246105030001</Id>\\n <SourceDbName>testdb</SourceDbName>\\n <DiffCount>1</DiffCount>\\n </TableDetails>\\n <TotalCount>1</TotalCount>\\n <RequestId>B8BCB980-CDC2-5628-A6F0-AB1910AA****</RequestId>\\n <PageNumber>1</PageNumber>\\n <FinishedCount>7</FinishedCount>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</DescribeDataCheckTableDetailsResponse>","errorExample":""}]', - 'title' => '校验任务校验结果', ], - 'DescribeDataCheckReportUrl' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SkipFullJobTable' => [ + 'summary' => '跳过全量阶段不需要同步的表', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', + 'abilityTreeCode' => '142566', + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ - 'name' => 'CheckType', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '数据校验方式,当前仅支持取值为**1**,表示全量校验。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => '迁移、同步或订阅任务ID。废弃参数,当前无效。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'l3m1213ye7l****'], ], [ - 'name' => 'DbName', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '校验的源数据库名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'dtsdb', - ], + 'schema' => ['description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'TbName', + 'name' => 'JobProgressId', 'in' => 'query', - 'schema' => [ - 'description' => '源数据库中校验的表名。', - 'type' => 'string', - 'required' => true, - 'example' => 'student', - ], + 'schema' => ['description' => 'JobProgress主键ID,全量迁移任务中每个对象对应一个JobProgress,指定该项确定需要跳过的表。', 'type' => 'string', 'required' => false, 'example' => '123'], ], [ - 'name' => 'DtsJobId', + 'name' => 'ZeroEtlJob', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS任务ID,可以调用[DescribeDtsJobs](~~209702~~)获取。', - 'type' => 'string', - 'required' => true, - 'example' => 'f4612nr2182****', - ], + 'schema' => ['description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2ilvoxlrdcby'], ], ], 'responses' => [ @@ -32211,79 +17230,46 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'AF2DE23-B692-5B85-90B7-44B6F4D8****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], - 'DynamicMessage' => [ - 'description' => '校验报告的下载地址。', - 'type' => 'string', - 'example' => 'https://check-result-file-sh.oss-cn-shanghai.aliyuncs.com/dw612cru18e****/dtsdb/diff/student.diff.zip?Expires=****', - ], - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], + 'Success' => ['description' => '请求是否成功。'."\n", 'type' => 'boolean', 'example' => 'true'], + 'HttpStatusCode' => ['description' => '状态码。'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4D0ADAD5-DD97-41B6-B78F-D1961AB1****'], + 'Code' => ['description' => '错误码。', 'type' => 'string', 'example' => '200'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'DTS.Msg.FileExistValidFailError', - 'errorMessage' => 'The file has not been generated, please try again later.', - ], - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"4D0ADAD5-DD97-41B6-B78F-D1961AB1****\\",\\n \\"Code\\": \\"200\\"\\n}","type":"json"}]', + 'title' => '跳过全量阶段不需要同步的表', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:SkipFullJobTable', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AF2DE23-B692-5B85-90B7-44B6F4D8****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"https://check-result-file-sh.oss-cn-shanghai.aliyuncs.com/dw612cru18e****/dtsdb/diff/student.diff.zip?Expires=****\\",\\n \\"HttpStatusCode\\": 200\\n}","errorExample":""},{"type":"xml","example":"<DescribeDataCheckReportUrlResponse>\\n <RequestId>7DF6862F-E666-5509-AE36-C5E745A1****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <DynamicMessage>https://check-result-file-sh.oss-cn-shanghai.aliyuncs.com/dw612cru18e****/dtsdb/diff/student.diff.zip?Expires=****</DynamicMessage>\\n <ErrMessage/>\\n <Success>true</Success>\\n <ErrCode/>\\n</DescribeDataCheckReportUrlResponse>","errorExample":""}]', - 'title' => '查询校验报告的下载地址', - 'summary' => '以不一致数据为维度的列表数据的下载连接', ], - 'DescribeCheckJobs' => [ - 'summary' => '包含迁移任务关联的校验任务和同步任务关联的校验任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SkipPreCheck' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -32291,96 +17277,65 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '143962', - 'abilityTreeNodes' => [ - 'FEATUREdtsEGTFKE', - ], - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'PageSize', + 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => '每页记录数,取值:**30**、**50**、**100**,默认值为**30**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '1', - 'example' => '30', - 'default' => '20', - ], + 'schema' => ['description' => '预检查任务ID,可以调用**DescribePreCheckStatus**查询。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'b4my3zg929a****'], ], [ - 'name' => 'PageNumber', + 'name' => 'Skip', 'in' => 'query', - 'schema' => [ - 'description' => '页码。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '0', - 'example' => '1', - 'default' => '0', - ], + 'schema' => ['description' => '是否屏蔽该预检查项目,取值:'."\n" + ."\n" + .'- **true**:屏蔽。'."\n" + .'- **false**:取消屏蔽。', 'type' => 'boolean', 'required' => true, 'example' => 'true'], ], [ - 'name' => 'CheckType', + 'name' => 'SkipPreCheckItems', 'in' => 'query', - 'schema' => [ - 'description' => '数据校验方式,取值:'."\n" - ."\n" - .'- **1**:全量校验。'."\n" - .'- **2**:增量校验。'."\n" - .'- **3**:所有', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '需屏蔽或取消屏蔽的预检查项目简称,取值:'."\n" + ."\n" + .'- **["CHECK_SAME_OBJ"]**:同名对象存在性检查。'."\n" + .'- **["CHECK_SAME_USER"]**:不同名账号存在性检查。'."\n" + .'- **["CHECK_SRC"]**:源库版本检查。'."\n" + .'- **["CHECK_TOPOLOGY"]**:拓扑版本检查。目前DTS支持的拓扑版本,请参见[拓扑介绍](~~124115~~)。'."\n" + .'- **["CHECK_SERVER_ID"]**:源库server_id检查。'."\n" + .'- **["CHECK_DEST_TABLE_EMPTY"]**:目标库对象存在性检查。'."\n" + .'- **["CHECK_SUPER_AUTH_DEST"]**:目标库super账号权限检查。'."\n" + ."\n" + .'> 多个项目名称用英文逗号(,)分隔,例如**["CHECK_SRC","CHECK_SAME_OBJ"]**。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '["CHECK_SAME_OBJ"]'], ], [ - 'name' => 'InstanceId', + 'name' => 'SkipPreCheckNames', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移实例id,可以通过调用**describemigrationjobs**接口查询。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsz9p104ib23e972e', - ], + 'schema' => ['description' => '需屏蔽或取消屏蔽的预检查项目名称,对应参数**SkipPreCheckItems**,取值:'."\n" + ."\n" + .'- **["CHECK_SAME_OBJ_DETAIL"]**:同名对象存在性检查。'."\n" + .'- **["CHECK_SAME_USER_DETAIL"]**:不同名账号存在性检查。'."\n" + .'- **["CHECK_SRC_DETAIL"]**:源库版本检查。'."\n" + .'- **["CHECK_TOPOLOGY_DETAIL"]**:拓扑版本检查。目前DTS支持的拓扑版本,请参见[拓扑介绍](~~124115~~)。'."\n" + .'- **["CHECK_SERVER_ID_DETAIL"]**:源库server_id检查。'."\n" + .'- **["CHECK_DEST_TABLE_EMPTY_DETAIL"]**:检查目标库表是否为空。'."\n" + .'- **["CHECK_SUPER_AUTH_DEST_DETAIL"]**:检查目标库super账号权限。'."\n" + ."\n" + .'> 多个项目名称用英文逗号(,)分隔,例如**["CHECK_SRC_DETAIL","CHECK_SAME_OBJ_DETAIL"]**。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '["CHECK_SAME_OBJ_DETAIL"]'], ], [ - 'name' => 'JobName', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移或同步的作业名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'zwy_test', - ], + 'schema' => ['description' => '迁移、同步或订阅任务ID。', 'type' => 'string', 'required' => true, 'example' => 'c7412z57g8k****'], ], [ - 'name' => 'CheckJobId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '检查任务作业ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'z9p104ib23***', - ], + 'schema' => ['description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -32388,199 +17343,56 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => 'FC1D920B-AB89-52A9-AA5F-AA724C4205E8', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'boolean', - 'example' => 'True', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**errmessage**错误信息中的**%s**。>如果**errmessale**返回**thevalueofinputparameter%sisnotvalid**,且**dynamicmessage**返回*[1,2,3]**,则代表所传入的请求参数**dtsjobid**不合法。', - 'type' => 'string', - 'example' => 'present environment is not support,so skip.', - ], - 'PageNumber' => [ - 'description' => '当前页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageRecordCount' => [ - 'description' => '当前页可展示的最大记录数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'TotalRecordCount' => [ - 'description' => '总记录数。'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'CheckJobs' => [ - 'description' => '检查项信息。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DtsJobId' => [ - 'description' => '迁移、同步或订阅任务id。', - 'type' => 'string', - 'example' => 'n08o6si4q338b1x', - ], - 'JobStepId' => [ - 'description' => '任务id。', - 'type' => 'string', - 'example' => 'as0e1ks426bq3z0', - ], - 'JobName' => [ - 'description' => '检查任务的名称。', - 'type' => 'string', - 'example' => 'dtstest', - ], - 'Status' => [ - 'description' => '检查结果,返回值:-**0**:检查通过-**1**:检查不通过', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'CheckType' => [ - 'description' => '数据校验方式,取值:'."\n" - ."\n" - .'- **1**:全量校验。'."\n" - .'- **2**:增量校验。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'InstanceClass' => [ - 'description' => '实例规格。', - 'type' => 'string', - 'example' => 'SMALL', - ], - 'CheckPoint' => [ - 'description' => '检查点', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1111****', - ], - 'TotalCount' => [ - 'description' => '校验数据的总行数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '159', - ], - 'DiffCount' => [ - 'description' => '数据不一致的行数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'DiffSum' => [ - 'description' => '同步初始化的进度,单位为百分比。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'FinishCount' => [ - 'description' => '表中已完成校验的数据行数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '15094', - ], - 'GroupId' => [ - 'description' => 'DTS任务ID。'."\n" - .'> 一般情况下无需设置该参数。', - 'type' => 'string', - 'example' => 'c3d12dii27t632g', - ], - 'DtsInstanceID' => [ - 'description' => '迁移、同步或订阅实例id。', - 'type' => 'string', - 'example' => 'dtsz8tc99sy2158b36', - ], - 'ChargeType' => [ - 'description' => '付费类型,返回值:'."\n" - .'- **POSTPAY**:按量付费(后付费)。'."\n" - .'- **PREPAY**:包年包月(预付费)。', - 'type' => 'string', - 'example' => 'POSTPAY', - ], - 'ParentJobType' => [ - 'description' => '本参数即将下线。', - 'type' => 'string', - 'example' => '****', - ], - 'RegionId' => [ - 'description' => '所属地域id。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - ], - ], - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8C498360-7892-433C-847A-BA71A850****'], + 'ErrCode' => ['description' => '调用错误时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'SkipNames' => ['description' => '需屏蔽或取消屏蔽的预检查项目名称。', 'type' => 'string', 'example' => 'CHECK_SAME_OBJ_DETAIL'], + 'Code' => ['description' => '错误码,本参数即将下线。', 'type' => 'string', 'example' => '200'], + 'ScheduleJobId' => ['description' => '预检查任务ID。', 'type' => 'string', 'example' => 'b4my3zg929a****'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数ErrMessage错误信息中的%s。'."\n" + ."\n" + .'> 如果ErrMessage返回The Value of Input Parameter %s is not valid,且DynamicMessage返回JobId,则代表所传入的请求参数JobId不合法。', 'type' => 'string', 'example' => 'JobId'], + 'MigrationJobId' => ['description' => '预检查任务ID。', 'type' => 'string', 'example' => 'b4my3zg929a****'], + 'SkipItems' => ['description' => '需屏蔽或取消屏蔽的预检查项目简称。', 'type' => 'string', 'example' => 'CHECK_SAME_OBJ'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"8C498360-7892-433C-847A-BA71A850****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"SkipNames\\": \\"CHECK_SAME_OBJ_DETAIL\\",\\n \\"Code\\": \\"200\\",\\n \\"ScheduleJobId\\": \\"b4my3zg929a****\\",\\n \\"DynamicMessage\\": \\"JobId\\",\\n \\"MigrationJobId\\": \\"b4my3zg929a****\\",\\n \\"SkipItems\\": \\"CHECK_SAME_OBJ\\"\\n}","errorExample":""},{"type":"xml","example":"<SkipPreCheckResponse>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>8C498360-7892-433C-847A-BA71A850****</RequestId>\\n <Success>true</Success>\\n <SkipNames>CHECK_SAME_OBJ_DETAIL</SkipNames>\\n <ScheduleJobId>b4my3zg929a****</ScheduleJobId>\\n <MigrationJobId>b4my3zg929a****</MigrationJobId>\\n <SkipItems>CHECK_SAME_OBJ</SkipItems>\\n</SkipPreCheckResponse>","errorExample":""}]', + 'title' => '是否屏蔽预检查告警项目', + 'summary' => '屏蔽或取消屏蔽预检查告警项目。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:SkipPreCheck', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"FC1D920B-AB89-52A9-AA5F-AA724C4205E8\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"DynamicCode\\": \\"403\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"PageNumber\\": 1,\\n \\"PageRecordCount\\": 20,\\n \\"TotalRecordCount\\": 100,\\n \\"CheckJobs\\": [\\n {\\n \\"DtsJobId\\": \\"n08o6si4q338b1x\\",\\n \\"JobStepId\\": \\"as0e1ks426bq3z0\\",\\n \\"JobName\\": \\"dtstest\\",\\n \\"Status\\": 0,\\n \\"CheckType\\": 1,\\n \\"InstanceClass\\": \\"SMALL\\",\\n \\"CheckPoint\\": 0,\\n \\"TotalCount\\": 159,\\n \\"DiffCount\\": 0,\\n \\"DiffSum\\": 1,\\n \\"FinishCount\\": 15094,\\n \\"GroupId\\": \\"c3d12dii27t632g\\",\\n \\"DtsInstanceID\\": \\"dtsz8tc99sy2158b36\\",\\n \\"ChargeType\\": \\"POSTPAY\\",\\n \\"ParentJobType\\": \\"****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '当前账号创建的所有校验任务的任务列表', ], - 'SwitchPhysicalDtsJobToCloud' => [ - 'summary' => 'MSSQL物理迁移上云', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'StartDtsJob' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -32590,63 +17402,46 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', + 'abilityTreeCode' => '52309', + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '数据迁移或同步实例id,可以通过调用**describedtsjobs**接口查询。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'l5512es7w15****', - ], + 'schema' => ['description' => '迁移、同步或订阅任务ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'l3m1213ye7l****'], ], [ 'name' => 'DtsInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅实例id。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsl3m1213ye7l****', - ], + 'schema' => ['description' => '迁移、同步或订阅实例ID。'."\n" + .'> 可以通过调用[查询迁移实例列表及各实例详情](~~208139~~)、[查询数据订阅实例列表及各实例详情](~~49442~~) 、[查询数据同步实例列表及各实例详情](~~49454~~)进行查询。', 'type' => 'string', 'required' => false, 'example' => 'dtsl3m1213ye7l****'], ], [ 'name' => 'SynchronizationDirection', 'in' => 'query', - 'schema' => [ - 'description' => '同步方向,取值:'."\n" - .'- **Forward**:正向。'."\n" - .'- **Reverse**:反向。'."\n" - ."\n" - .'> - 默认取值为**Forward**。'."\n" - .'- 当数据同步实例的拓扑为双向时,才可以传入**Reverse**以释放反向同步链路。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => '同步方向,取值:'."\n" + .'- **Forward**:正向,默认值。'."\n" + .'- **Reverse**:反向。'."\n" + .'> 当数据同步实例的拓扑类型为双向时,才可以传入**Reverse**以启动反向同步链路。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见支持的地域列表。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'DTS实例所属地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'ZeroEtlJob', + 'in' => 'query', + 'schema' => ['description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" + ."\n" + .'- **false**:否。'."\n" + .'- **true**:是。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekz4us4iruleja', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2ilvoxlrdcby'], ], ], 'responses' => [ @@ -32654,79 +17449,55 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '659304E3-D44E-5EFA-BDE3-60015E30403B', - ], - 'ErrCode' => [ - 'description' => '调用错误时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。'."\n", - 'type' => 'string', - 'example' => 'DtsJobId', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '601B6F25-21E7-4484-99D5-3EF2625C****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。'."\n", 'type' => 'string', 'example' => 'DtsJobId'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'OperationDenied.NotPurchased', 'errorMessage' => 'The instance has not been purchased and the task cannot be started.', 'description' => '任务尚未购买,无法启动。'], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"601B6F25-21E7-4484-99D5-3EF2625C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<StartDtsJobResponse>\\n <RequestId>2D3B4615-923F-49AA-AF21-6D8E3967****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</StartDtsJobResponse>","errorExample":""}]', + 'title' => '启动DTS实例', + 'summary' => '调用StartDtsJob接口启动一个迁移、同步或订阅任务。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:StartDtsJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"659304E3-D44E-5EFA-BDE3-60015E30403B\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","type":"json"}]', - 'title' => 'MSSQL物理迁移上云', ], - 'ModifyDynamicConfig' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'StartDtsJobs' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -32734,223 +17505,119 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '52310', + 'abilityTreeNodes' => ['FEATUREdtsQYRBZN'], + ], 'parameters' => [ [ - 'name' => 'DtsJobId', + 'name' => 'DtsJobIds', 'in' => 'query', - 'schema' => [ - 'description' => '同步或迁移任务的ID。'."\n" - ."\n" - .'> 可调用[DescribeDtsJobs](~~209702~~)获取任务ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ta7w132u12h****', - ], - ], - [ - 'name' => 'JobCode', - 'in' => 'query', - 'schema' => [ - 'description' => '任务码,取值为:'."\n" - ."\n" - .'- **03** : 全量同步或迁移任务。'."\n" - .'- **04** : 增量迁移任务。'."\n" - .'- **07** : 增量同步任务。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '07', - ], + 'schema' => ['description' => '迁移、同步任务ID。'."\n" + .'> - 当有多个任务ID时,使用**\',\'**隔开。'."\n" + .'- 可调用[DescribeDtsJobs](~~209702~~)获取DTS任务ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'l5o11f9029c****'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所在地域的ID,请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ConfigList', - 'in' => 'query', - 'schema' => [ - 'description' => '具体限速配置。'."\n" - ."\n" - .'- **dts.datamove.blaster.qps.max**:每秒查询源库的速率。'."\n" - .'- **dts.datamove.source.rps.max**:每秒全量同步或迁移的行数RPS。'."\n" - .'- **dts.datamove.source.bps.max**:每秒全量同步或迁移的数据量,单位为Byte/s。'."\n" - ."\n" - .'> - 当**JobCode**取值为**03**时,您需将**EnableLimit**配置为**true**,三个参数的配置才会生效。'."\n" - .'- 当**JobCode**取值为**04**或**07**时,您只需配置**dts.datamove.source.rps.max**和**dts.datamove.source.bps.max**。'."\n" - .'- 取值为**-1**时表示不限速。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '{'."\n" - .' "dts.datamove.source.rps.max": 5000,'."\n" - .' "dts.datamove.source.bps.max": 10485760'."\n" - .'}', - ], - ], - [ - 'name' => 'EnableLimit', + 'name' => 'ZeroEtlJob', 'in' => 'query', - 'schema' => [ - 'description' => '是否限制全量同步或迁移任务的迁移速率,取值为**true**或**false**。'."\n" - ."\n" - .'> 仅当**JobCode**为**03**时需要配置。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" + ."\n" + .'- **false**:否。'."\n" + .'- **true**:是。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekz6zsi7ce5rpy', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ 200 => [ - 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '8D81829D-1BBD-5CE8-BE75-1CAD5750****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'Code' => [ - 'description' => '错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '200', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', - ], + 'HttpStatusCode' => ['description' => '状态码。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'AD823BD3-1BA6-4117-A536-165CB280****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n" + ."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'DtsJobId'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'OperationDenied.NotPurchased', 'errorMessage' => 'The instance has not been purchased and the task cannot be started.', 'description' => '任务尚未购买,无法启动。'], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"AD823BD3-1BA6-4117-A536-165CB280****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","type":"json"}]', + 'title' => '批量启动DTS任务', + 'summary' => '调用StartDtsJobs接口批量启动数据迁移或同步任务。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:StartDtsJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"8D81829D-1BBD-5CE8-BE75-1CAD5750****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => '调整迁移速率', - 'summary' => '调整同步或迁移实例的迁移速率。', ], - 'ModifyDtsJobConfig' => [ - 'summary' => '调用ModifyDtsJobConfig接口修改DTS任务参数。', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'StartMigrationJob' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '实例所在区域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'DtsJobId', + 'name' => 'MigrationJobId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS任务ID,可以调用[DescribeDtsJobs](~~209702~~)查询。', - 'type' => 'string', - 'required' => false, - 'example' => 'lxsn87r328d****', - ], + 'schema' => ['description' => '数据迁移实例ID,可以通过调用**DescribeMigrationJobs**接口查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtss0611o8vv90****'], ], [ - 'name' => 'Parameters', + 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '需要修改的参数,格式为JSON字符串。更多信息,请参见[Parameters参数说明](~~2536412~~)。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"module":"07","name":"sink.connection.idle.second","value":60},{"module":"07","name":"sink.batch.size.maximum","value":64}]', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aekz4us4iruleja'], ], ], 'responses' => [ @@ -32958,50 +17625,48 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '068FA72F-4800-4A54-90BB-94806068****', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'FDC111B1-ACBF-457D-9656-247FDEE9****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FDC111B1-ACBF-457D-9656-247FDEE9****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '启动迁移任务', + 'summary' => '启动DTS的数据迁移任务。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:StartMigrationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"068FA72F-4800-4A54-90BB-94806068****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDtsJobConfigResponse>\\n <RequestId>068FA72F-4800-4A54-90BB-94806068****</RequestId>\\n</ModifyDtsJobConfigResponse>","errorExample":""}]', - 'title' => '修改作业配置', ], 'StartReverseWriter' => [ 'summary' => '调用StartReverseWriter接口启动CreateReverseDtsJob接口创建的反向任务。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -33013,9 +17678,7 @@ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREdtsZOB49A', - ], + 'abilityTreeNodes' => ['FEATUREdtsZOB49A'], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], @@ -33023,34 +17686,19 @@ [ 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '调用**CreateReverseDtsJob**接口生成任务的ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'n99m9jx822k****', - ], + 'schema' => ['description' => '调用**CreateReverseDtsJob**接口生成任务的ID。', 'type' => 'string', 'required' => true, 'example' => 'n99m9jx822k****'], ], [ 'name' => 'CheckPoint', 'in' => 'query', - 'schema' => [ - 'description' => '指定增量写入模块的位点,格式为Unix时间戳。'."\n" - ."\n" - .'> 默认为原任务停止时DTS自动保存的位点。', - 'type' => 'string', - 'required' => false, - 'example' => '1695613785', - ], + 'schema' => ['description' => '指定增量写入模块的位点,格式为Unix时间戳。'."\n" + ."\n" + .'> 默认为原任务停止时DTS自动保存的位点。', 'type' => 'string', 'required' => false, 'example' => '1695613785'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID,全局参数,当前API无需传入。', - 'type' => 'string', - 'required' => false, - 'example' => '资源组ID,全局参数,当前API无需传入。', - ], + 'schema' => ['description' => '资源组ID,全局参数,当前API无需传入。', 'type' => 'string', 'required' => false, 'example' => '资源组ID,全局参数,当前API无需传入。'], ], ], 'responses' => [ @@ -33058,75 +17706,50 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '291BA4F1-2035-3FAA-6D5A-5D2015CC****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '291BA4F1-2035-3FAA-6D5A-5D2015CC****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The value of the parameter %s is invalid.', - ], - [ - 'errorCode' => 'Original.Job.Running', - 'errorMessage' => 'The parent dts job is running, reverse job cannot been startup.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The value of the parameter %s is invalid.', 'description' => '参数值校验不通过,请输入有效的参数值。'], + ['errorCode' => 'Original.Job.Running', 'errorMessage' => 'The parent dts job is running, reverse job cannot been startup.', 'description' => '原任务正在运行,反向任务不能启动。'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"291BA4F1-2035-3FAA-6D5A-5D2015CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\"\\n}","errorExample":""},{"type":"xml","example":"<StartReverseWriterResponse>\\n <RequestId>291BA4F1-2035-3FAA-6D5A-5D2015CC****</RequestId>\\n <Success>true</Success>\\n</StartReverseWriterResponse>","errorExample":""}]', 'title' => '启动反向任务', 'description' => '在调用此接口前,您需要在控制台或者调用[DescribeDtsJobDetail](~~208925~~)查看反向任务的状态,确保该任务未被释放且是暂停状态。', - ], - 'CreateReverseDtsJob' => [ - 'summary' => '调用CreateReverseDtsJob接口,为目标同步或迁移任务创建一个反向任务。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:StartReverseWriter', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], ], + ], + 'StartSubscriptionInstance' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -33134,58 +17757,27 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '195766', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'DtsJobId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '同步或迁移任务的ID,可调用[DescribeDtsJobs](~~209702~~)查询。', - 'type' => 'string', - 'required' => true, - 'example' => 'n99m9jx822k****', - ], + 'schema' => ['description' => '数据订阅实例所在地域的ID,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ShardUsername', + 'name' => 'SubscriptionInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'MongoDB分片集群实例的Shard的账号。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstest', - ], + 'schema' => ['description' => '数据订阅实例ID,可以通过调用[DescribeSubscriptionInstances](~~49442~~)接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtso6m11cxt26q****'], ], [ - 'name' => 'ShardPassword', + 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => 'MongoDB分片集群实例的Shard的密码。'."\n" - ."\n" - .'> - 当源数据库实例为MongoDB(分片集群架构)时,本参数才可用且必须传入。'."\n" - .'- 当**ModifyAccount**取值为**true**时才生效。', - 'type' => 'string', - 'required' => false, - 'example' => 'DTStest****', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID,全局参数,当前API无需传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aekz4us4iruleja'], ], ], 'responses' => [ @@ -33193,85 +17785,36 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'DtsJobId' => [ - 'description' => '生成的反向同步任务的ID。', - 'type' => 'string', - 'example' => 'n99m9jx822k****', - ], - 'DtsInstanceId' => [ - 'description' => '生成的反向任务对应实例的ID。', - 'type' => 'string', - 'example' => 'dtsor1f9kr822l****', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The Value of Input Parameter %s is not valid.', - ], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => 'B083F9AB-BE9B-4716-8AD3-CFA04391****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'TaskId' => ['description' => '任务ID,该参数即将下线。', 'type' => 'string', 'example' => '11****'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], - [ - 'errorCode' => 'ReverseJob.Exists', - 'errorMessage' => 'The operation is not permitted due to reverse Dts job is already exists.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"DtsJobId\\": \\"n99m9jx822k****\\",\\n \\"DtsInstanceId\\": \\"dtsor1f9kr822l****\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateReverseDtsJobResponse>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>621BB4F8-3016-4FAA-8D5A-5D3163CC****</RequestId>\\n <DtsJobId>n99m9jx822k****</DtsJobId>\\n <DtsInstanceId>dtsor1f9kr822l****</DtsInstanceId>\\n <Success>true</Success>\\n</CreateReverseDtsJobResponse>","errorExample":""}]', - 'title' => '创建反向任务', - 'description' => '调用接口创建的反向任务会立即进行预检查,预检查通过后会进行增量数据采集,增量数据写入模块不会运行(需要调用**StartReverseWriter**接口运行)。'."\n" - ."\n" - .'> 创建的反向任务固定为同步任务,且只有增量写入模块。', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B083F9AB-BE9B-4716-8AD3-CFA04391****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"TaskId\\": \\"11****\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '启动订阅数据订阅实例通道', + 'summary' => '老版启动订阅数据订阅实例通道。', + 'changeSet' => [], + 'ramActions' => [], ], - 'ModifyDtsJobEndpoint' => [ - 'summary' => '调用ModifyDtsJobEndpoint接口修改DTS同步或迁移任务的源或目标库实例。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'StartSynchronizationJob' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -33279,272 +17822,314 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '199390', - 'abilityTreeNodes' => [ - 'FEATUREdtsJ32CAF', - ], - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据同步实例所在地域的id,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'DtsJobId', + 'name' => 'SynchronizationJobId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS任务ID,可调用[DescribeDtsJobs](~~209702~~)查询。'."\n" - ."\n" - .'> 若不填入此参数,则必须填入**DtsInstanceId**。', - 'type' => 'string', - 'required' => false, - 'example' => 'm4312mab158****', - ], + 'schema' => ['description' => '数据同步实例ID,可以通过调用**DescribeSynchronizationJobs**接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsf19100l2186****'], ], [ - 'name' => 'DtsInstanceId', + 'name' => 'SynchronizationDirection', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例的ID。'."\n" - .'> 若不填入此参数,则必须填入**DtsJobId**。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtsaw012y2g15q****', - ], + 'schema' => ['description' => '同步方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'> - 当数据同步实例的拓扑类型为双向时,才可以传入**Reverse**以启动反向同步链路。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ - 'name' => 'SynchronizationDirection', + 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '同步方向,取值:'."\n" - ."\n" - .'- **Forward**(默认值):正向。'."\n" - .'- **Reverse**:反向。', - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '1689726061829****'], ], [ - 'name' => 'Endpoint', + 'name' => 'ResourceGroupId', 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '待修改的数据库实例,取值:'."\n" - ."\n" - .'- **src**:源库实例。'."\n" - .'- **dest**:目标库实例。', - 'type' => 'string', - 'required' => true, - 'example' => 'src', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => 'FDC111B1-ACBF-457D-9656-247FDEE9****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功,返回值:'."\n" + .'- **true**:请求成功。'."\n" + .'- **false**:请求失败。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + ], + 'description' => '', ], ], - [ - 'name' => 'EndpointRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '数据库实例所属的地域。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], + ], + 403 => [ + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ], + 500 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FDC111B1-ACBF-457D-9656-247FDEE9****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '启动同步实例', + 'summary' => '启动数据同步作业。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:StartSynchronizationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], + ], + ], + 'StopDedicatedCluster' => [ + 'summary' => '调用StopDedicatedCluster接口释放集群。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'EndpointInstanceType', - 'in' => 'query', - 'schema' => [ - 'description' => '数据库实例类型,取值为:'."\n" - ."\n" - .'- **rds**:RDS MySQL或RDS PostgreSQL。'."\n" - .'- **polardb**:PolarDB MySQL版或PolarDB PostgreSQL版。'."\n" - .'- **mongodb**:作为源库时,表示云数据库MongoDB(副本集架构);作为目标库时,表示云数据库MongoDB(副本集架构或分片集群架构)。'."\n" - .'- **distributed_mongodb**:仅支持作为分布式实例的源库,表示云数据库MongoDB(分片集群架构)。'."\n" - ."\n" - .'> 分布式实例的增量任务,必须通过Oplog日志获取源库的数据变更。'."\n" - ."\n" - .'- **greenplum**:云原生数据仓库AnalyticDB PostgreSQL版。'."\n" - .'- **kafka**:云消息队列Kafka版。'."\n" - .'- **ecs**:ECS自建的数据库(仅限支持的数据库类型)。'."\n" - .'- **express**:专线接入的数据库(仅限支持的数据库类型)。'."\n" - .'- **other**:公网接入的数据库(仅限支持的数据库类型)。'."\n" - ."\n" - .'> - 当前支持的数据库类型有**MySQL**、**PolarDB for MySQL**、**PostgreSQL**、**PolarDB for PostgreSQL**、**MongoDB**、**Kafka**和**AnalyticDB PostgreSQL**。'."\n" - .'- 若数据库为MongoDB(分片集群),则新数据库的Shard数量需与原来的MongoDB(分片集群)相同。'."\n" - .'- 若需要修改的是源库实例,且数据库类型为**PostgreSQL**,则需确保DTS实例的延迟时间小于30秒,并且停止向源库写入数据,否则可能会出现不一致数据。'."\n" - .'- 传入的参数大小写不敏感。', - 'type' => 'string', - 'required' => true, - 'example' => 'rds', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], + 'parameters' => [ [ - 'name' => 'EndpointInstanceId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '数据库实例的ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp10k50h8374w****', - ], + 'schema' => ['description' => '实例ID。'."\n" + .'> 参数**InstanceId**与**DedicatedClusterId**,两者必须传入其一。', 'type' => 'string', 'required' => false, 'example' => 'rm-bp1162kryivb8****'], ], [ - 'name' => 'EndpointIp', + 'name' => 'DedicatedClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '数据库实例的IP。', - 'type' => 'string', - 'required' => false, - 'example' => '172.168.XX.XXX', - ], + 'schema' => ['description' => '集群ID。'."\n" + .'> 参数**InstanceId**与**DedicatedClusterId**,两者必须传入其一。', 'type' => 'string', 'required' => false, 'example' => 'dtscluster_h3fl1cs217sx952'], ], [ - 'name' => 'EndpointPort', + 'name' => 'DedicatedClusterName', 'in' => 'query', - 'schema' => [ - 'description' => '数据库实例的端口。', - 'type' => 'string', - 'required' => false, - 'example' => '3306', - ], + 'schema' => ['description' => '集群名称。', 'type' => 'string', 'required' => false, 'example' => 'dtscluster_test_001'], ], [ - 'name' => 'Database', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '当数据库类型为**PostgreSQL**、**PolarDB for PostgreSQL**、**AnalyticDB PostgreSQL**时,表示数据库名称;当数据库类型为**MongoDB**时,表示鉴权数据库名称。'."\n" - ."\n" - .'> 当数据库类型为**PostgreSQL**、**PolarDB for PostgreSQL**、**AnalyticDB PostgreSQL**、**MongoDB**时,本参数才可用且必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'admin', - ], + 'schema' => ['description' => '实例所在地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ModifyAccount', + 'name' => 'ResourceGroupId', 'in' => 'query', + 'schema' => ['description' => '资源组ID,全局参数,当前API无需传入。', 'type' => 'string', 'required' => false, 'example' => '资源组ID,全局参数,当前API无需传入。'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '是否修改账号密码,取值为:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**(默认值):否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'type' => 'object', + 'properties' => [ + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.q'], + ], + 'description' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], + ], + 403 => [ + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ], + 500 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.q\\"\\n}","errorExample":""},{"type":"xml","example":"<StopDedicatedClusterResponse>\\n <code>200</code>\\n <data>\\n <RequestId>26EC538C-9E2D-11D5-A55F-****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>26EC538C-9E2D-11D5-A55F-****</requestId>\\n <successResponse>true</successResponse>\\n</StopDedicatedClusterResponse>","errorExample":""}]', + 'title' => '释放集群', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:StopDedicatedCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + ], + 'StopDtsJob' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '52314', + 'abilityTreeNodes' => ['FEATUREdtsQYRBZN'], + ], + 'parameters' => [ [ - 'name' => 'Username', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '数据库账号。'."\n" - ."\n" - .'> 仅当**ModifyAccount**取值为**true**时才生效。', - 'type' => 'string', - 'required' => false, - 'example' => 'dtstest', - ], + 'schema' => ['description' => '迁移、同步或订阅任务ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'l3m1213ye7l****'], ], [ - 'name' => 'Password', + 'name' => 'DtsInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '数据库密码。'."\n" - ."\n" - .'> 仅当**ModifyAccount**取值为**true**时才生效。', - 'type' => 'string', - 'required' => false, - 'example' => 'DTStest****', - ], + 'schema' => ['description' => '迁移、同步或订阅实例ID。', 'type' => 'string', 'required' => false, 'example' => 'dtsl3m1213ye7l****'], ], [ - 'name' => 'ShardUsername', + 'name' => 'SynchronizationDirection', 'in' => 'query', - 'schema' => [ - 'description' => 'MongoDB分片集群实例的Shard的账号。'."\n" - ."\n" - .'> - 当源数据库实例为MongoDB(分片集群架构)时,本参数才可用且必须传入。'."\n" - .'- 当**ModifyAccount**取值为**true**时才生效。', - 'type' => 'string', - 'required' => false, - 'example' => 'shard', - ], + 'schema' => ['description' => '同步方向,取值:'."\n" + ."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 当数据同步实例的拓扑为双向时,才可以传入**Reverse**以结束反向同步链路。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ - 'name' => 'ShardPassword', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'MongoDB分片集群实例的Shard的密码。'."\n" - ."\n" - .'> - 当源数据库实例为MongoDB(分片集群架构)时,本参数才可用且必须传入。'."\n" - .'- 当**ModifyAccount**取值为**true**时才生效。', - 'type' => 'string', - 'required' => false, - 'example' => 'DTStest****', - ], + 'schema' => ['description' => 'DTS实例所属的地域,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RoleName', + 'name' => 'ZeroEtlJob', 'in' => 'query', - 'schema' => [ - 'description' => '跨阿里云账号角色名。'."\n" - ."\n" - .'> 执行跨阿里云账号的数据同步时须传入本参数,该角色所需的权限及授权方式,请参见[跨阿里云账号数据迁移或同步时如何配置RAM授权](~~48468~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'ram-for-dts', - ], + 'schema' => ['description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" + ."\n" + .'- **false**:否。'."\n" + .'- **true**:是。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'AliyunUid', + 'name' => 'ResourceGroupId', 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfm2jr35xnjh7i'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '数据库实例所属的阿里云账号(主账号)的ID。'."\n" - ."\n" - .'> 传入本参数即代表执行跨阿里云账号的数据同步,同时您还需要传入**RoleName**参数。', - 'type' => 'string', - 'required' => false, - 'example' => '150780020300****', + 'type' => 'object', + 'properties' => [ + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '01B6F25-21E7-4484-99D5-3EF2625C****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'DtsJobId'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], + ], + 'description' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], + ], + 403 => [ + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ], + 500 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"01B6F25-21E7-4484-99D5-3EF2625C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<StopDtsJobResponse>\\r\\n <RequestId>01B6F25-21E7-4484-99D5-3EF2625C****</RequestId>\\r\\n <HttpStatusCode>200</HttpStatusCode>\\r\\n <Success>true</Success>\\r\\n</StopDtsJobResponse>","errorExample":""}]', + 'title' => '结束DTS任务', + 'summary' => '调用StopDtsJob结束一个数据迁移、同步或订阅任务。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:StopDtsJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + ], + ], + 'StopDtsJobs' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'DryRun', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '52315', + 'abilityTreeNodes' => ['FEATUREdtsQYRBZN'], + ], + 'parameters' => [ + [ + 'name' => 'DtsJobIds', 'in' => 'query', - 'schema' => [ - 'description' => '是否只进行预检查,取值为:'."\n" - ."\n" - .'- **true**:是。预检查通过后,实例不进行变更操作。'."\n" - .'- **false**(默认值):否。预检查通过后,修改DTS任务的数据库实例并运行。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '迁移、同步任务ID。'."\n" + .'> - 当有多个任务ID时,使用**\',\'**隔开。'."\n" + .'- 可调用[DescribeDtsJobs](~~209702~~)获取DTS任务ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'l5o11f9029c****'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ZeroEtlJob', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], + 'schema' => ['description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" + ."\n" + .'- **false**:否。'."\n" + .'- **true**:是。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aekzsf6yoxhfpva'], ], ], 'responses' => [ @@ -33552,199 +18137,83 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '3FA98DF2-2F81-51FF-8A38-AA5112DD****', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'DTS.Msg.InvalidEndpoint', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The endpoint is invalid.', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'AD823BD3-1BA6-4117-A536-165CB280****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**errmessage**错误信息中的**%s**。>如果**errmessale**返回**thevalueofinputparameter%sisnotvalid**,且**dynamicmessage**返回*[timeout**]**,则代表所传入的请求参数**timeout**不合法。', 'type' => 'string', 'example' => 'DtsJobId'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.TagKey', - 'errorMessage' => 'The Tag.N.Key parameter is invalid.', - ], - [ - 'errorCode' => 'InvalidParameter.TagValue', - 'errorMessage' => 'The Tag.N.Value parameter is invalid.', - ], - [ - 'errorCode' => 'InvalidParameter.Tags', - 'errorMessage' => 'The specified value of parameter Tags is not valid.', - ], - [ - 'errorCode' => 'Missing.TagKey', - 'errorMessage' => 'You must specify the key for value %s in Tag.N.Key.', - ], - [ - 'errorCode' => 'MissingParameter.TagOrResourceId', - 'errorMessage' => 'Either Tags or ResourceIds must be specified.', - ], - [ - 'errorCode' => 'NumberExceed.Tags', - 'errorMessage' => 'The maximum number of Tags is exceeded. The maximum value is 20.', - ], - [ - 'errorCode' => 'NumberExceed.ResourceIds', - 'errorMessage' => 'The maximum number of ResourceIds is exceeded. The maximum value is 50.', - ], - [ - 'errorCode' => 'InvalidParameter.Category', - 'errorMessage' => 'The specified Category is invalid. Valid values are Custom and System.', - ], - [ - 'errorCode' => 'InvalidParameter.NextToken', - 'errorMessage' => 'The parameter NextToken is invalid.', - ], - [ - 'errorCode' => 'InvalidParameter.ResourceType', - 'errorMessage' => 'The ResourceType parameter is invalid.', - ], - [ - 'errorCode' => 'InvalidParameter.Scope', - 'errorMessage' => 'The specified Scope is invalid. Valid value: public, private.', - ], - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'Duplicate.TagKey', - 'errorMessage' => 'The Tag.N.Key contains duplicate keys.', - ], - [ - 'errorCode' => 'NoPermission.SystemTag', - 'errorMessage' => 'You are not authorized to operate system tag because the product code is invalid.', - ], - [ - 'errorCode' => 'QuotaExceed.TagsPerResource', - 'errorMessage' => 'The maximum number of tags for each resource is exceeded.', - ], - [ - 'errorCode' => 'NoPermission.Operator', - 'errorMessage' => 'The user is not authorized to operate on the specified resource.', - ], - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"AD823BD3-1BA6-4117-A536-165CB280****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","type":"json"}]', + 'title' => '批量结束DTS任务', + 'summary' => '调用StopDtsJobs接口批量结束DTS任务。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:StopDtsJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"3FA98DF2-2F81-51FF-8A38-AA5112DD****\\",\\n \\"Success\\": true,\\n \\"ErrCode\\": \\"DTS.Msg.InvalidEndpoint\\",\\n \\"ErrMessage\\": \\"The endpoint is invalid.\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDtsJobEndpointResponse>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>3FA98DF2-2F81-51FF-8A38-AA5112DD****</RequestId>\\n <Success>true</Success>\\n</ModifyDtsJobEndpointResponse>","errorExample":""}]', - 'title' => '修改DTS任务的源或目标库实例', - 'description' => '> 数据库实例被修改后,DTS增量写入模块会回退10秒写入。若同步或迁移的数据没有主键,在替换数据库实例期间源端实例关联的业务需要停止写入数据,否则可能会出现重复数据。', ], - 'SkipFullJobTable' => [ - 'summary' => '跳过全量阶段不需要同步的表', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'StopMigrationJob' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '142566', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'DtsJobId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅任务ID。废弃参数,当前无效。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'l3m1213ye7l****', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RegionId', + 'name' => 'MigrationJobId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据迁移实例ID,可以通过调用**DescribeMigrationJobs**接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsb2c11sxpi3j****'], ], [ - 'name' => 'JobProgressId', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'JobProgress主键ID,全量迁移任务中每个对象对应一个JobProgress,指定该项确定需要跳过的表。', - 'type' => 'string', - 'required' => false, - 'example' => '123', - ], + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****'], ], [ - 'name' => 'ZeroEtlJob', + 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek2ilvoxlrdcby', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -33752,64 +18221,47 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'HttpStatusCode' => [ - 'description' => '状态码。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4D0ADAD5-DD97-41B6-B78F-D1961AB1****', - ], - 'Code' => [ - 'description' => '错误码。', - 'type' => 'string', - 'example' => '200', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'C306C198-7807-409D-930A-D6CE6C32****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C306C198-7807-409D-930A-D6CE6C32****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '结束迁移任务', + 'summary' => '结束处于迁移状态的数据迁移任务。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:StopMigrationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"4D0ADAD5-DD97-41B6-B78F-D1961AB1****\\",\\n \\"Code\\": \\"200\\"\\n}","type":"json"}]', - 'title' => '跳过全量阶段不需要同步的表', ], - 'DescribeFullProcessList' => [ - 'summary' => '查询全量迁移任务运行详情', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SummaryJobDetail' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -33819,54 +18271,67 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '156988', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], + 'abilityTreeCode' => '52317', + 'abilityTreeNodes' => ['FEATUREdts4VPC0Q'], ], 'parameters' => [ [ 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移、同步或订阅任务ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'i03e3zty16i****', - ], + 'schema' => ['description' => '迁移或同步任务ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'l3m1213ye7l****'], + ], + [ + 'name' => 'JobCode', + 'in' => 'query', + 'schema' => ['description' => '迁移阶段,取值:'."\n" + .'- **02**:结构迁移阶段。'."\n" + .'- **03**:增量迁移阶段。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '02'], + ], + [ + 'name' => 'SynchronizationDirection', + 'in' => 'query', + 'schema' => ['description' => '同步链路方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 当数据同步实例的拓扑为双向时,才可以传入**Reverse**以释放反向同步链路。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'Forward'], ], [ 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'DtsInstanceId', + 'in' => 'query', + 'schema' => ['description' => '迁移或同步实例ID。', 'type' => 'string', 'required' => false, 'example' => 'dtsl3m1213ye7l****'], + ], + [ + 'name' => 'StructType', + 'in' => 'query', 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', + 'description' => '结构定义的类型,取值:'."\n" + ."\n" + .'- **before**:库表结构迁移或初始化。'."\n" + .'- **after**:增量数据迁移或同步的DDL操作。'."\n", 'type' => 'string', 'required' => false, - 'example' => 'cn-hangzhou', + 'example' => 'before', + 'enum' => [], ], ], [ 'name' => 'ZeroEtlJob', 'in' => 'query', - 'schema' => [ - 'description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2mjc4qlnog6q'], ], ], 'responses' => [ @@ -33874,214 +18339,124 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => 'http状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => 'C166D79D-436B-45F0-B5A5-25E1959F****', - ], - 'DtsJobId' => [ - 'description' => '迁移、同步或订阅任务ID。', - 'type' => 'string', - 'example' => 'i03e3zty16i****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功,返回值:'."\n" - ."\n" - .'- **true**:请求成功。'."\n" - ."\n" - .'- **false**:请求失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'ConfigList' => [ - 'description' => '当前参数无返回值,具体限速配置。'."\n" - ."\n" - .'- **dts.datamove.blaster.qps.max**:每秒查询源库的速率。'."\n" - .'- **dts.datamove.source.rps.max**:每秒全量同步或迁移的行数RPS。'."\n" - .'- **dts.datamove.source.bps.max**:每秒全量同步或迁移的数据量,单位为Byte/s。'."\n" - ."\n" - .'> - 当**JobCode**取值为**03**时,您需将**EnableLimit**配置为**true**,三个参数的配置才会生效。'."\n" - .'- 当**JobCode**取值为**04**或**07**时,您只需配置**dts.datamove.source.rps.max**和**dts.datamove.source.bps.max**。'."\n" - .'- 取值为**-1**时表示不限速。', - 'type' => 'object', - 'example' => '{'."\n" - .' "dts.datamove.source.rps.max": 5000,'."\n" - .' "dts.datamove.source.bps.max": 10485760'."\n" - .'}', - ], - 'Code' => [ - 'description' => '错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', - ], - 'FullProcessList' => [ - 'description' => '全球加速实例列表的详细信息。', + 'HttpStatusCode' => ['description' => '状态码。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Code' => ['description' => '错误码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9033138C-5AB3-5EB7-BA78-43131F19297C'], + 'Success' => ['description' => '请求是否成功,返回值:'."\n" + .'- **true**:请求成功。'."\n" + .'- **false**:请求失败。', 'type' => 'boolean', 'example' => 'true'], + 'JobId' => ['description' => '迁移或同步任务ID。', 'type' => 'string', 'example' => 'l3m1213ye7l****'], + 'ProgressSummaryDetails' => [ + 'description' => '迁移对象数组返回信息。'."\n" + .'> 数组返回格式如下:\\[{"key":"Function","state":5,"totalCount":22},{"key":"Procedure","state":5,"totalCount":26},{"key":"Table","state":0,"totalCount":68},{"key":"View","state":5,"totalCount":100}]。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ProcessType' => [ - 'description' => '进程类型。取值:'."\n" - .'- **1**:可信'."\n" - .'- **2**:可疑'."\n" - .'- **3**:恶意', - 'type' => 'string', - 'example' => '1', - ], - 'ProcessName' => [ - 'description' => '进程名称。', - 'type' => 'string', - 'example' => 'universer', - ], - 'RunningSQL' => [ - 'description' => '运行中的SQL', - 'type' => 'string', - 'example' => 'test', - ], - 'Exception' => [ - 'description' => '任务异常状态,返回值:-**notstarted**:未启动。-**checking**:检查中。-**failed**:失败。-**finished**:完成。', - 'type' => 'string', - 'example' => 'notstarted', - ], - 'TaskID' => [ - 'description' => '任务id。', - 'type' => 'string', - 'example' => 'TaskD4E5F6', - ], - 'Detail' => [ - 'description' => '详情', - 'type' => 'string', - 'example' => '{}', - ], - 'State' => [ - 'description' => '日志信息的状态。', - 'type' => 'string', - 'example' => 'running', - ], - 'Time' => [ - 'description' => '日志采集时间,格式为yyyy-MM-ddTHH:mm:ssZ(UTC时间)。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1729650129452', - ], + 'Key' => ['description' => '迁移对象类型,返回值:**Table**(表)、**Constraint**(约束)、**Index**(索引)、**View**(视图)、**Materialize View**(物化视图)、**Type**(自定义类型)、**Synonym**(同义词)、**Trigger**(触发器)、**Function**(函数)、**Procedure**(存储过程)、**Package**(包)、**Default**(默认值)、**Rule**(规则)、**PlanGuide**(执行计划)、**Sequence**(序列)。', 'type' => 'string', 'example' => 'Table'], + 'TotalCount' => ['description' => '迁移对象总数。', 'type' => 'integer', 'format' => 'int64', 'example' => '100'], + 'State' => ['description' => '迁移状态,返回值:'."\n" + .'- **0**:finish(结束)。'."\n" + .'- **1**:catched(等待同步)。'."\n" + .'- **2**:init(初始化)。'."\n" + .'- **3**:running(同步中)。'."\n" + .'- **4**:warning(报错)。'."\n" + .'- **5**:failed(失败)。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], ], + 'description' => '', ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"Code\\": \\"200\\",\\n \\"RequestId\\": \\"9033138C-5AB3-5EB7-BA78-43131F19297C\\",\\n \\"Success\\": true,\\n \\"JobId\\": \\"l3m1213ye7l****\\",\\n \\"ProgressSummaryDetails\\": [\\n {\\n \\"Key\\": \\"Table\\",\\n \\"TotalCount\\": 100,\\n \\"State\\": 0\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<SummaryJobDetailResponse>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Code>200</Code>\\n <RequestId>9033138C-5AB3-5EB7-BA78-43131F19297C</RequestId>\\n <Success>true</Success>\\n <JobId>l3m1213ye7l****</JobId>\\n <ProgressSummaryDetails>\\n <Key>Table</Key>\\n <TotalCount>100</TotalCount>\\n <State>0</State>\\n </ProgressSummaryDetails>\\n</SummaryJobDetailResponse>","errorExample":""}]', + 'title' => '获取DTS任务迁移表的信息', + 'summary' => '调用SummaryJobDetail接口统计DTS数据迁移或同步任务中迁移表的数量。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:SummaryJobDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"C166D79D-436B-45F0-B5A5-25E1959F****\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"ConfigList\\": {\\n \\"dts.datamove.source.rps.max\\": 5000,\\n \\"dts.datamove.source.bps.max\\": 10485760\\n },\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"FullProcessList\\": [\\n {\\n \\"ProcessType\\": \\"1\\",\\n \\"ProcessName\\": \\"universer\\",\\n \\"RunningSQL\\": \\"test\\",\\n \\"Exception\\": \\"notstarted\\",\\n \\"TaskID\\": \\"TaskD4E5F6\\",\\n \\"Detail\\": \\"{}\\",\\n \\"State\\": \\"running\\",\\n \\"Time\\": 1729650129452\\n }\\n ]\\n}","type":"json"}]', - 'title' => '描述完整流程列表', ], - 'ModifyGadInstanceName' => [ - 'summary' => '修改GAD实例名称', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SuspendDtsJob' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '231795', - 'abilityTreeNodes' => [ - 'FEATUREdts05OBVW', - ], + 'abilityTreeCode' => '52318', + 'abilityTreeNodes' => ['FEATUREdtsQYRBZN'], ], 'parameters' => [ [ - 'name' => 'ResourceGroupId', + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek26mat2ldb4oy', - ], + 'schema' => ['description' => '迁移、同步或订阅任务ID。'."\n" + ."\n" + .'> 可调用[DescribeDtsJobs](~~209702~~)接口获取任务ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'l3m1213ye7l****'], + ], + [ + 'name' => 'DtsInstanceId', + 'in' => 'query', + 'schema' => ['description' => '迁移、同步或订阅实例ID。', 'type' => 'string', 'required' => false, 'example' => 'dtsl3m1213ye7l****'], + ], + [ + 'name' => 'SynchronizationDirection', + 'in' => 'query', + 'schema' => ['description' => '同步方向,取值:'."\n" + ."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 当数据同步实例的拓扑为双向时,才可以传入**Reverse**以暂停反向同步链路。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '任务所属地域ID,请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'DTS实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'InstanceId', + 'name' => 'ZeroEtlJob', 'in' => 'query', - 'schema' => [ - 'description' => '热活实例组的实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp1i99e8l7913****', - ], + 'schema' => ['description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" + ."\n" + .'- **false**:否。'."\n" + .'- **true**:是。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'InstanceName', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '热活实例组的实例名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'rm-uf6b0m001ir8mr9i9', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -34089,112 +18464,55 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4D0ADAD5-DD97-41B6-B78F-D1961AB1****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回对应的错误信息。'."\n", - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'present environment is not support,so skip.', - ], - 'RegionId' => [ - 'description' => '实例所在地域的ID,详情请参见支持的地域列表。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'InstanceId' => [ - 'description' => '热活实例组ID。', - 'type' => 'string', - 'example' => 'rm-bp162d4tp0500****', - ], - 'InstanceName' => [ - 'description' => '实例名称。', - 'type' => 'string', - 'example' => 'rm-2zehh163694qs5c3v', - ], - 'CreateTime' => [ - 'description' => '任务创建时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2021-06-28 17:34:53.0', - ], - 'ResourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-acfmzawhxxc****', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '01B6F25-21E7-4484-99D5-3EF2625C****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'DtsJobId'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], - [ - 'errorCode' => 'DTS.Msg.GADInstanceNotFound', - 'errorMessage' => 'The GAD instance is not found.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"01B6F25-21E7-4484-99D5-3EF2625C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<SuspendDtsJobResponse>\\r\\n <RequestId>01B6F25-21E7-4484-99D5-3EF2625C****</RequestId>\\r\\n <HttpStatusCode>200</HttpStatusCode>\\r\\n <Success>true</Success>\\r\\n</SuspendDtsJobResponse>","errorExample":""}]', + 'title' => '暂停DTS任务', + 'summary' => '调用SuspendDtsJob暂停一个数据迁移、同步或订阅任务。', + 'description' => '****', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:SuspendDtsJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"4D0ADAD5-DD97-41B6-B78F-D1961AB1****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Success\\": \\"true\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceId\\": \\"rm-bp162d4tp0500****\\",\\n \\"InstanceName\\": \\"rm-2zehh163694qs5c3v\\",\\n \\"CreateTime\\": 0,\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\"\\n}","type":"json"}]', - 'title' => '修改GAD实例组名称', ], - 'DescribePreCheckCreateGadOrderResult' => [ - 'summary' => '查询预检查创建GAD订单任务结果', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SuspendDtsJobs' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -34203,54 +18521,35 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '232362', - 'abilityTreeNodes' => [ - 'FEATUREdts05OBVW', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '52319', + 'abilityTreeNodes' => ['FEATUREdtsQYRBZN'], ], 'parameters' => [ [ - 'name' => 'ResourceGroupId', + 'name' => 'DtsJobIds', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '迁移、同步任务ID。'."\n" + .'> - 当有多个任务ID时,使用\',\'隔开。'."\n" + .'- 可调用[DescribeDtsJobs](~~209702~~)获取DTS任务ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'hfi12iv4z7e****'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'DTS实例所属的地域,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'InstanceId', + 'name' => 'ZeroEtlJob', 'in' => 'query', - 'schema' => [ - 'description' => '全球热活实例组实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gad-bp162d4tp0500****', - ], + 'schema' => ['description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" + ."\n" + .'- **false**:否。'."\n" + .'- **true**:是。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'TaskId', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '预检查任务ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'k71r16fj13g****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -34258,194 +18557,86 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。'."\n" - ."\n", - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => '92E1E99D-5224-4AD3-8C94-23A3516B****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。'."\n", - 'type' => 'string', - 'example' => 'present environment is not support,so skip.', - ], - 'RegionId' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'InstanceId' => [ - 'description' => '全球热活实例组实例ID。', - 'type' => 'string', - 'example' => 'gad-bp1i99e8l7913****', - ], - 'TaskId' => [ - 'description' => '预检查任务ID。', - 'type' => 'string', - 'example' => '11****', - ], - 'PreCheckResult' => [ - 'description' => '预检查整体结果。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'PreCheckItems' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'PreCheckItems' => [ - 'description' => '预检查明细。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '检查项code', - 'type' => 'string', - 'example' => 'CHECK_MASTER_DB_STATUS', - ], - 'Status' => [ - 'description' => '检查项状态status:'."\n" - .'- Creating 创建中'."\n" - .'- Running 运行中'."\n" - .'- Success 检查通过'."\n" - .'- Failed 检查失败', - 'type' => 'string', - 'example' => 'Running', - ], - 'Message' => [ - 'description' => '检查项描述', - 'type' => 'string', - 'example' => 'test', - ], - ], - ], - ], - ], - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。'."\n" + ."\n", 'type' => 'string', 'example' => 'AD823BD3-1BA6-4117-A536-165CB280****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。'."\n", 'type' => 'string', 'example' => 'DtsJobId'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。'."\n" + ."\n", 'type' => 'string', 'example' => '403'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"AD823BD3-1BA6-4117-A536-165CB280****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","type":"json"}]', + 'title' => '批量暂停DTS任务', + 'summary' => '调用SuspendDtsJobs接口批量暂停DTS任务。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:SuspendDtsJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"92E1E99D-5224-4AD3-8C94-23A3516B****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Success\\": \\"true\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceId\\": \\"gad-bp1i99e8l7913****\\",\\n \\"TaskId\\": \\"11****\\",\\n \\"PreCheckResult\\": true,\\n \\"PreCheckItems\\": {\\n \\"PreCheckItems\\": [\\n {\\n \\"Code\\": \\"CHECK_MASTER_DB_STATUS\\",\\n \\"Status\\": \\"Running\\",\\n \\"Message\\": \\"test\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '查询预检查结果', ], - 'DetachGadInstanceDbMember' => [ - 'summary' => '移除从角色', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'SuspendMigrationJob' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '235864', - 'abilityTreeNodes' => [ - 'FEATUREdts05OBVW', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'ResourceGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RegionId', + 'name' => 'MigrationJobId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见支持的地域列表。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据迁移实例ID,可以通过调用**DescribeMigrationJobs**接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsj1x11y51g3b****'], ], [ - 'name' => 'InstanceId', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => '热活实例组实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gad-bp162d4tp0500****', - ], + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****'], ], [ - 'name' => 'SlaveDbInstanceId', + 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '从角色实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rm-sdfghjk****', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aekz4us4iruleja'], ], ], 'responses' => [ @@ -34453,239 +18644,166 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => '6063641E-BAD1-4BA7-B70B-26FFFD18****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'Success' => [ - 'description' => '请求是否成功,返回值:'."\n" - .'- **true**:请求成功。'."\n" - .'- **false**:请求失败。', - 'type' => 'string', - 'example' => 'true', - ], - 'DynamicCode' => [ - 'description' => '与本次请求相关的动态错误码。', - 'type' => 'string', - 'example' => '403', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => '****', - ], - 'RegionId' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见支持的地域列表。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'InstanceId' => [ - 'description' => '全球实例热活组实例ID。', - 'type' => 'string', - 'example' => 'gad-bp1i99e8l7913****', - ], - 'InstanceName' => [ - 'description' => '全球热活实例组实例名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'CreateTime' => [ - 'description' => '任务创建时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2021-06-28 17:34:53.0', - ], - 'ResourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-acfmzawhxxc****', - ], - 'SlaveDbInstanceId' => [ - 'description' => '从角色实例ID。', - 'type' => 'string', - 'example' => 'rm-bp1i99e8l7913****', - ], + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => 'C306C198-7807-409D-930A-D6CE6C32****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], - [ - 'errorCode' => 'DTS.Msg.GADInstanceNotFound', - 'errorMessage' => 'The GAD instance is not found.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"6063641E-BAD1-4BA7-B70B-26FFFD18****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Success\\": \\"true\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DynamicMessage\\": \\"****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceId\\": \\"gad-bp1i99e8l7913****\\",\\n \\"InstanceName\\": \\"test\\",\\n \\"CreateTime\\": 0,\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"SlaveDbInstanceId\\": \\"rm-bp1i99e8l7913****\\"\\n}","type":"json"}]', - 'title' => '移除从角色', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C306C198-7807-409D-930A-D6CE6C32****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '暂停迁移任务', + 'summary' => '暂停处于迁移中的数据迁移任务。', + 'changeSet' => [], + 'ramActions' => [], ], - 'PreCheckCreateGadOrder' => [ - 'summary' => '预检查创建GAD订单', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SuspendSynchronizationJob' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '232361', - 'abilityTreeNodes' => [ - 'FEATUREdts05OBVW', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'ResourceGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfntftbiobqyky', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RegionId', + 'name' => 'SynchronizationJobId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据同步实例ID,可以通过调用**DescribeSynchronizationJobs**接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsmr1q4mc2152****'], ], [ - 'name' => 'InstanceId', + 'name' => 'SynchronizationDirection', 'in' => 'query', - 'schema' => [ - 'description' => '热活实例组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gad-bp1i99e8l7913****', - ], + 'schema' => ['description' => '同步方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 当数据同步实例的拓扑为双向时,才可以传入**Reverse**以暂停反向同步链路。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ - 'name' => 'SlaveDbInstanceId', + 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => '从角色数据库实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp17562h64****', - ], + 'schema' => ['description' => '阿里云主账号ID,无需设置,该参数即将下线。', 'type' => 'string', 'required' => false, 'example' => '12323344****'], ], [ - 'name' => 'SlaveDbInstanceRegion', + 'name' => 'ResourceGroupId', 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '从角色数据库实例Region。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => 'C306C198-7807-409D-930A-D6CE6C32****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + ], + 'description' => '', ], ], - [ - 'name' => 'MasterDatabaseName', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], + ], + 403 => [ + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ], + 500 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C306C198-7807-409D-930A-D6CE6C32****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<SuspendSynchronizationJobResponse>\\n <RequestId>C306C198-7807-409D-930A-D6CE6C32****</RequestId>\\n <Success>true</Success>\\n</SuspendSynchronizationJobResponse>","errorExample":""}]', + 'title' => '暂停同步作业', + 'summary' => '暂停处于同步中的数据同步作业。', + 'description' => '> - 调用本接口时,同步作业须处于同步中状态。'."\n" + .'- 暂停同步作业不能超过6个小时,否则将无法被再次启动。'."\n" + .'- 按量付费类型的同步作业即使处于暂停状态,DTS依然会收取费用。这是由于DTS只是暂停向目标库写入数据,仍然会继续拉取源库的日志以便重启任务后快速恢复运行,因此还是会占用源数据库的带宽等资源。 ', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:SuspendSynchronizationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], + ], + ], + 'SwitchPhysicalDtsJobToCloud' => [ + 'summary' => 'MSSQL物理迁移上云', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'MasterEngineArchType', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], + 'parameters' => [ + [ + 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => '数据迁移或同步实例id,可以通过调用**describedtsjobs**接口查询。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'l5512es7w15****'], ], [ - 'name' => 'MasterShardAccountName', + 'name' => 'DtsInstanceId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => '迁移、同步或订阅实例id。', 'type' => 'string', 'required' => false, 'example' => 'dtsl3m1213ye7l****'], ], [ - 'name' => 'MasterShardAccountPassword', + 'name' => 'SynchronizationDirection', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => '同步方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> - 默认取值为**Forward**。'."\n" + .'- 当数据同步实例的拓扑为双向时,才可以传入**Reverse**以释放反向同步链路。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ - 'name' => 'SlaveDatabaseName', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见支持的地域列表。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SlaveEngineArchType', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aekz4us4iruleja'], ], ], 'responses' => [ @@ -34693,436 +18811,359 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => 'C166D79D-436B-45F0-B5A5-25E1959F****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'Success' => [ - 'description' => '是否成功。可取值:true:成功。fasle:失败。', - 'type' => 'string', - 'example' => 'true', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数ErrMessage错误信息中的%s。'."\n" - ."\n" - .'> 如果ErrMessage返回The Value of Input Parameter %s is not valid,且DynamicMessage返回JobId,则代表所传入的请求参数JobId不合法。', - 'type' => 'string', - 'example' => 'https://check-result-file-sh.oss-cn-shanghai.aliyuncs.com/dw612cru18e****/dtsdb/diff/student.diff.zip?Expires=****', - ], - 'RegionId' => [ - 'description' => '实例所在地域的ID,详情请参见支持的地域列表。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'InstanceId' => [ - 'description' => '热活实例组ID。', - 'type' => 'string', - 'example' => 'rm-bp162d4tp0500****', - ], - 'TaskId' => [ - 'description' => '预检查任务ID。', - 'type' => 'string', - 'example' => 'z2v12jfo309****', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '659304E3-D44E-5EFA-BDE3-60015E30403B'], + 'ErrCode' => ['description' => '调用错误时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'True'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。'."\n", 'type' => 'string', 'example' => 'DtsJobId'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"659304E3-D44E-5EFA-BDE3-60015E30403B\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","type":"json"}]', + 'title' => 'MSSQL物理迁移上云', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:SwitchPhysicalDtsJobToCloud', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"C166D79D-436B-45F0-B5A5-25E1959F****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Success\\": \\"true\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DynamicMessage\\": \\"https://check-result-file-sh.oss-cn-shanghai.aliyuncs.com/dw612cru18e****/dtsdb/diff/student.diff.zip?Expires=****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceId\\": \\"rm-bp162d4tp0500****\\",\\n \\"TaskId\\": \\"z2v12jfo309****\\"\\n}","type":"json"}]', - 'title' => 'GAD全球热活实例组创建预检查', ], - 'DescribeGadInstances' => [ - 'summary' => '查询GAD实例列表', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'SwitchSynchronizationEndpoint' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '231735', - 'abilityTreeNodes' => [ - 'FEATUREdts05OBVW', - ], - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'ResourceGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RegionId', + 'name' => 'SynchronizationJobId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '数据同步实例ID,可以通过调用DescribeSynchronizationJobs接口查询。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsexjk1alb116****'], ], [ - 'name' => 'InstanceName', + 'name' => 'SynchronizationDirection', 'in' => 'query', - 'schema' => [ - 'description' => '热活实例组名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => '同步方向,取值:'."\n" + .'- **Forward**:正向。'."\n" + .'- **Reverse**:反向。'."\n" + ."\n" + .'> 默认取值为**Forward**。'."\n" + .'只有当数据同步实例的同步拓扑为双向同步时,本参数传入**Reverse**才会生效。', 'type' => 'string', 'required' => false, 'example' => 'Forward'], ], [ - 'name' => 'PageSize', + 'name' => 'Endpoint.Type', 'in' => 'query', - 'schema' => [ - 'description' => '每页记录数,取值范围为**1**~**100**,默认值为**20**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], + 'schema' => ['description' => '待调整连接信息的实例,取值:'."\n" + ."\n" + .'- **Source**:源实例。'."\n" + .'- **Destination**:目标实例。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Destination'], ], [ - 'name' => 'PageNumber', + 'name' => 'Endpoint.InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '页码。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '新数据库所属的实例类型,取值:'."\n" + ."\n" + .'- **LocalInstance**:有公网IP的自建数据库;'."\n" + .'- **ECS**:ECS上的自建数据库。'."\n" + .'- **Express**:通过专线接入的自建数据库。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ECS'], ], [ - 'name' => 'MasterDbInstanceId', + 'name' => 'Endpoint.InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'ECS或专有网络的实例ID。'."\n" + .'> - 当**Endpoint.InstanceType**取值为**ECS**时,本参数需传入ECS实例的ID。'."\n" + .'- 当**Endpoint.InstanceType**取值为**Express**时,本参数需传入专有网络ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'i-bp11haem1kpkhoup****'], + ], + [ + 'name' => 'Endpoint.IP', + 'in' => 'query', + 'schema' => ['description' => '新数据库的IP地址。'."\n" + .'> 当**Endpoint.InstanceType**取值为**Express**时,本参数才可用且必须传入。', 'type' => 'string', 'required' => false, 'example' => '172.15.185.***'], + ], + [ + 'name' => 'Endpoint.Port', + 'in' => 'query', + 'schema' => ['description' => '新的数据库服务端口。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3306'], + ], + [ + 'name' => 'SourceEndpoint.OwnerID', + 'in' => 'query', + 'schema' => ['description' => '当源实例与目标实例所属阿里云账号不同时,您需要传入该参数指定源实例的所属阿里云账号的ID。', 'type' => 'string', 'required' => false, 'example' => '14069264****'], + ], + [ + 'name' => 'SourceEndpoint.Role', 'in' => 'query', + 'schema' => ['description' => '当源实例与目标实例所属阿里云账号不同时,需传入该参数,来指定源实例的授权角色,以允许目标实例阿里云账号访问源实例的实例信息。'."\n" + .'> 角色所需的权限及授权方式,请参见[跨阿里云账号数据迁移或同步时如何配置RAM授权](~~48468~~)。', 'type' => 'string', 'required' => false, 'example' => 'ram-for-dts'], + ], + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => ['description' => '阿里云账号ID,无需设置,该参数即将下线。'."\n", 'type' => 'string', 'required' => false, 'example' => '12323344****'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'type' => 'string', - 'required' => false, + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => '3232F84C-C961-4811-B014-4EA7A27C****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'TaskId' => ['description' => '任务ID,您可以根据此返回值调用[DescribeEndpointSwitchStatus](~~135598~~)接口查询该任务的执行状态。', 'type' => 'string', 'example' => '11**** '], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], + ], + 403 => [ + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ], + 500 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3232F84C-C961-4811-B014-4EA7A27C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"TaskId\\": \\"11****\\\\t\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]', + 'title' => '切换同步连接信息', + 'summary' => '主备切换后新数据库的连接信息传给DTS,DTS将从断点处重新启动数据同步。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:SwitchSynchronizationEndpoint', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], ], ], + ], + ], + 'TagResources' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SlaveDbInstanceId', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou '], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => ['description' => '资源类型定义,固定取值为:**ALIYUN::DTS::INSTANCE**。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'ALIYUN::DTS::INSTANCE'], + ], + [ + 'name' => 'ResourceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'string', - 'required' => false, + 'description' => '数据迁移、同步和订阅的实例ID,可以通过调用[DescribeDtsJobs](~~209702~~)接口查询。'."\n" + ."\n" + .'> N表示传入第几个实例ID。例如ResourceId.0表示传入第一个实例ID;ResourceId.1表示传入第二个实例ID。', + 'type' => 'array', + 'items' => ['description' => '数据迁移、同步和订阅的实例ID,可以通过调用[DescribeDtsJobs](~~209702~~)接口查询。'."\n" + ."\n" + .'> N表示传入第几个实例ID。例如ResourceId.0表示传入第一个实例ID;ResourceId.1表示传入第二个实例ID。', 'type' => 'string', 'required' => false, 'example' => 'dtsntk10k6r12v****'], + 'required' => true, + 'example' => 'dtsntk10k6r12v****', + 'maxItems' => 51, ], ], [ - 'name' => 'DbEngineTypes', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'string', - 'required' => false, + 'description' => '要绑定的标签(键值对)列表。'."\n" + ."\n", + 'type' => 'array', + 'items' => [ + 'description' => '要绑定的标签(键值对)列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '标签的键。'."\n" + .'> - N表示传入第几个标签的键。例如Tag.0.Key表示传入第一个标签的键;Tag.1.Key表示传入第二个标签的键。'."\n" + .'- 不允许传入空字符串。', 'type' => 'string', 'required' => true, 'example' => 'testkey1'], + 'Value' => ['description' => '标签的值。'."\n" + .'> - N表示传入第几个标签的值。例如Tag.0.Value表示传入第一个标签的值;Tag.1.Value表示传入第二个标签的值。'."\n" + .'- 允许传入空字符串。', 'type' => 'string', 'required' => true, 'example' => 'testvalue1'], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 21, ], ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'C166D79D-436B-45F0-B5A5-25E1959F****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'Success' => [ - 'description' => '请求是否成功。返回值:'."\n" - ."\n" - .'- **true**:请求成功。'."\n" - .'- **false**:请求失败。', - 'type' => 'string', - 'example' => 'true', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => '403', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**Type**,则代表所传入的请求参数**Type**不合法。', - 'type' => 'string', - 'example' => 'present environment is not support,so skip.', - ], - 'PageRecordCount' => [ - 'description' => '当前页可展示的最大记录数。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'TotalRecordCount' => [ - 'description' => '所查询的实例总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '22', - ], - 'PageNumber' => [ - 'description' => '页码。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Instances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Instances' => [ - 'description' => '实例详情', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceRegion' => [ - 'description' => '实例所在地域。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'InstanceId' => [ - 'description' => '热活实例组ID。', - 'type' => 'string', - 'example' => 'rg-a76s8afa****', - ], - 'InstanceName' => [ - 'description' => '热活实例组名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'DbEngineType' => [ - 'description' => '数据库引擎', - 'type' => 'string', - 'example' => 'MySQL', - ], - 'Status' => [ - 'description' => '运行状态', - 'type' => 'string', - 'example' => 'running', - ], - 'MasterDbInstanceId' => [ - 'description' => '主角色实例ID', - 'type' => 'string', - 'example' => 'rm-sadfasfa****', - ], - 'MasterDbInstanceName' => [ - 'description' => '主角色实例名称', - 'type' => 'string', - 'example' => 'test', - ], - 'MasterDbInstanceRegion' => [ - 'description' => '主角色实例Region', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'MasterDbInstanceZoneId' => [ - 'description' => '主角色实例可用区', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'DbInstanceCount' => [ - 'description' => '实例数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'CreateTime' => [ - 'description' => '实例的创建时间。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2024-05-29 23:55:58', - ], - 'ResourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-aekzq276dmnaxqa', - ], - 'InstanceType' => [ - 'description' => 'GAD实例类型', - 'type' => 'string', - 'example' => 'DR', - ], - 'MasterEngineArchType' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '755D7B84-6813-42B0-BC9D-2699CFEA****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ], + 419 => [ + ['errorCode' => 'QuotaExceed.TagsPerResource', 'errorMessage' => 'The maximum number of tags for each resource is exceeded.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"755D7B84-6813-42B0-BC9D-2699CFEA****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\n <RequestId>755D7B84-6813-42B0-BC9D-2699CFEA****</RequestId>\\n <Success>true</Success>\\n</TagResourcesResponse>","errorExample":""}]', + 'title' => '创建标签', + 'summary' => '调用TagResources接口为一个或多个迁移、同步和订阅实例绑定标签。', + 'description' => '在实例数量较多的情况下,您可以创建多个标签,为实例绑定不同的标签对其进行分类,之后通过标签进行实例筛选。'."\n" + ."\n" + .'- 标签由一对键(key)值(value)组成,键在同账号同地域下唯一,值无此限制。'."\n" + .'- 若设置的标签不存在,则自动创建该标签并绑定到目标实例。'."\n" + .'- 若实例已经绑定了有相同键的标签,则进行覆盖绑定。'."\n" + .'- 每个实例最多可以绑定20个标签。'."\n" + .'- 每次调用最多设置50个实例进行批量标签绑定。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"C166D79D-436B-45F0-B5A5-25E1959F****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Success\\": \\"true\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"PageRecordCount\\": 30,\\n \\"TotalRecordCount\\": 22,\\n \\"PageNumber\\": 1,\\n \\"Instances\\": {\\n \\"Instances\\": [\\n {\\n \\"InstanceRegion\\": \\"cn-hangzhou\\",\\n \\"InstanceId\\": \\"rg-a76s8afa****\\",\\n \\"InstanceName\\": \\"test\\",\\n \\"DbEngineType\\": \\"MySQL\\",\\n \\"Status\\": \\"running\\",\\n \\"MasterDbInstanceId\\": \\"rm-sadfasfa****\\",\\n \\"MasterDbInstanceName\\": \\"test\\",\\n \\"MasterDbInstanceRegion\\": \\"cn-hangzhou\\",\\n \\"MasterDbInstanceZoneId\\": \\"cn-hangzhou\\",\\n \\"DbInstanceCount\\": 2,\\n \\"CreateTime\\": 0,\\n \\"ResourceGroupId\\": \\"rg-aekzq276dmnaxqa\\",\\n \\"InstanceType\\": \\"DR\\",\\n \\"MasterEngineArchType\\": 0\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '查询热活实例组列表', ], - 'DescribeDocParserJobStatus' => [ - 'summary' => '查询文档解析任务的执行状态。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'TransferInstanceClass' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '52309', - 'abilityTreeNodes' => [ - 'FEATUREdtsE4ZR2L', - ], + 'abilityTreeNodes' => ['FEATUREdtsJ32CAF'], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'DtsJobId', + 'name' => 'OrderType', 'in' => 'query', - 'schema' => [ - 'description' => '创建文档解析任务时返回的任务ID(DtsJobId)。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'dts-20250729-l3m1213ye7l****', - ], + 'schema' => ['description' => '请填入**UPGRADE**。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'UPGRADE'], + ], + [ + 'name' => 'InstanceClass', + 'in' => 'query', + 'schema' => ['description' => '升级后的实例规格,可以调用[DescribeDtsJobDetail](~~208925~~)查询升级前的实例规格。'."\n" + ."\n" + .'- 迁移实例支持的规格:**xxlarge**、**xlarge**、**large**、**medium**、**small**。'."\n" + .'- 同步实例支持的规格:**large**、**medium**、**small**、**micro**。'."\n" + ."\n" + .'> 关于各链路规格的说明及性能测试情况请参见[数据迁移链路规格说明](~~26606~~)和[数据同步链路规格说明](~~26605~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'large'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '任务所属的地域ID,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'DTS实例所在地域的ID,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'DtsJobId', + 'in' => 'query', + 'schema' => ['description' => '迁移或同步任务ID,可调用[DescribeDtsJobs](~~209702~~)查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'r4yr723m199****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], [ - 'name' => 'RagInstanceId', + 'name' => 'DatabaseCount', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32'], ], ], 'responses' => [ @@ -35130,101 +19171,70 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'FDC111B1-ACBF-457D-9656-247FDEE9****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'DtsJobId', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', - ], - 'Status' => [ - 'description' => 'DTS文档解析任务状态,取值:'."\n" - ."\n" - .'- **NotStarted**:未启动。'."\n" - .'- **Running**:文档解析中。'."\n" - .'- **Suspending**:暂停中。'."\n" - .'- **Failed**:文档解析失败。'."\n" - .'- **Finished**:文档解析完成。', - 'type' => 'string', - 'example' => 'Finished', - ], + 'EndTime' => ['description' => '实例到期时间。'."\n" + ."\n" + .'> ChargeType为**PREPAY**,才会返回此参数。', 'type' => 'string', 'example' => '2021-08-04T16:00:00.000+00:00'], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '716DB03E-2D0B-4DC3-BC4C-F7A9EE21****'], + 'DtsJobId' => ['description' => '迁移或同步任务ID。', 'type' => 'string', 'example' => 'r4yr723m199****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。返回值:'."\n" + ."\n" + .'- **true**:请求成功。'."\n" + .'- **false**:请求失败。', 'type' => 'boolean', 'example' => 'true'], + 'ChargeType' => ['description' => '付费类型,返回值:'."\n" + .'- **POSTPAY**:按量付费(后付费)。'."\n" + .'- **PREPAY**:包年包月(预付费)。', 'type' => 'string', 'example' => 'POSTPAY'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。', 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + 'Code' => ['description' => '错误码。', 'type' => 'string', 'example' => '200'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的%**s**。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则表示所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'DtsJobId'], + 'InstanceId' => ['description' => '实例ID。', 'type' => 'string', 'example' => 'dtsr4yr723m199****'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'OperationDenied.NotPurchased', - 'errorMessage' => 'The instance has not been purchased and the task cannot be started.', - ], - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '升级或降级DTS实例规格', + 'summary' => '可以升级或降级DTS实例规格。', + 'description' => '> - DTS实例规格已不支持降级。'."\n" + .'- 若DTS实例的源端为Redis 6.0版本且有增量数据更新,请勿执行升级操作,否则可能会导致DTS实例失败且无法恢复(失败后需要重新配置实例)。'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:TransferInstanceClass', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"FDC111B1-ACBF-457D-9656-247FDEE9****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"Status\\": \\"Finished\\"\\n}","type":"json"}]', - 'title' => '查询文档解析任务的状态', - 'description' => '此接口对调用次数有限制,超过限制后的调用会被拒绝。'."\n" - .'- 单个地域累计允许调用的阈值为200 次/秒。'."\n" - .'- 单个地域允许单个账号调用的阈值为20 次/秒。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2021-08-04T16:00:00.000+00:00\\",\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"716DB03E-2D0B-4DC3-BC4C-F7A9EE21****\\",\\n \\"DtsJobId\\": \\"r4yr723m199****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ChargeType\\": \\"POSTPAY\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"InstanceId\\": \\"dtsr4yr723m199****\\"\\n}","errorExample":""},{"type":"xml","example":"<TransferInstanceClassResponse>\\n <DtsJobId>r4yr723m199****</DtsJobId>\\n <RequestId>716DB03E-2D0B-4DC3-BC4C-F7A9EE21****</RequestId>\\n <InstanceId>dtsr4yr723m199****</InstanceId>\\n <ChargeType>POSTPAY</ChargeType>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success> \\n</TransferInstanceClassResponse>","errorExample":""}]', ], - 'ListJobStep' => [ - 'summary' => '查询JobStep列表', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'TransferPayType' => [ + 'summary' => '新版转换支付方式。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -35233,59 +19243,84 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '142560', - 'abilityTreeNodes' => [ - 'FEATUREdtsDW6WLD', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'chargeType' => 'paid', + 'abilityTreeCode' => '52325', + 'abilityTreeNodes' => ['FEATUREdtsJ32CAF'], ], 'parameters' => [ [ 'name' => 'DtsJobId', 'in' => 'query', - 'schema' => [ - 'description' => '迁移或同步任务ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'k2gm967v16f****', - ], + 'schema' => ['description' => '同步或订阅任务ID,可调用[DescribeDtsJobs](~~209702~~)查询。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'o4nh3g7jg56****'], + ], + [ + 'name' => 'ChargeType', + 'in' => 'query', + 'schema' => ['description' => '修改后的付费方式,取值:'."\n" + .'- **PrePaid**:预付费,即包年包月。'."\n" + .'- **PostPaid**:后付费,即按量付费。'."\n" + .'<props="china">'."\n" + .'- **sync_serverless**:后付费Serverless。</props>'."\n" + ."\n\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'PostPaid'], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => ['description' => '预付费实例的计费方式,取值:'."\n" + .'- **Year**:包年。'."\n" + .'- **Month**:包月。'."\n" + ."\n" + .'> 当**ChargeType**为**PrePaid**(预付费)时,该参数才有效且必须传入。', 'type' => 'string', 'required' => false, 'example' => 'Year'], + ], + [ + 'name' => 'BuyCount', + 'in' => 'query', + 'schema' => ['description' => '预付费实例购买时长。'."\n" + .'- 当**Period**为**Year**(包年)时,取值范围为**1**~**5**。'."\n" + .'- 当**Period**为**Month**(包月)时,取值范围为**1**~**60**。'."\n" + ."\n" + .'> 当**ChargeType**为**Prepaid**(预付费)时,该参数才有效且必须传入。', 'type' => 'string', 'required' => false, 'example' => '5'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '实例所属的地域,请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ZeroEtlJob', + 'name' => 'MinDu', 'in' => 'query', - 'schema' => [ - 'description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Serverless实例的DU下限,取值为:1、2、4、8、16。'."\n" + ."\n" + .'<props="intl">'."\n" + .'> 当前暂不支持此功能,请勿传入参数。</props>'."\n" + .'<props="china">'."\n" + .'> 当**ChargeType**为**sync_serverless**时,该参数才有效且必须传入。</props>'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'MaxDu', + 'in' => 'query', + 'schema' => ['description' => 'Serverless实例的DU上限,取值为:2、4、8、16。'."\n" + .'<props="intl">'."\n" + .'> 当前暂不支持此功能,请勿传入参数。</props>'."\n" + .'<props="china">'."\n" + .'> 当**ChargeType**为**sync_serverless**时,该参数才有效且必须传入。</props>', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '16'], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'required' => false, 'description' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek3dcgyq7p****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], + ], + [ + 'name' => 'InstanceClass', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => false, 'description' => ''], ], ], 'responses' => [ @@ -35293,311 +19328,72 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****', - ], - 'Code' => [ - 'description' => '错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'UseV2API' => [ - 'description' => '是否使用Console2.0的API。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'JobSteps' => [ - 'description' => '任务步骤信息。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'JobStepId' => [ - 'description' => '任务步骤ID。', - 'type' => 'string', - 'example' => 'l02c1f7h179****', - ], - 'JobStepName' => [ - 'description' => '任务步骤信息。取值范围如下:'."\n" - ."\n" - .'- 预检查:预检查阶段'."\n" - .'- 增量数据服务:增量数据采集阶段'."\n" - .'- dts.step.struct.load:结构迁移阶段'."\n" - .'- dts.step.data.load:全量迁移阶段'."\n" - .'- etl-check:ETL阶段'."\n" - .'- 一致性校验:数据校验阶段'."\n" - .'- 同步:增量同步阶段', - 'type' => 'string', - 'example' => '预检查', - ], - 'Code' => [ - 'description' => '任务步骤标识。', - 'type' => 'string', - 'example' => '01', - ], - 'Serial' => [ - 'description' => '任务步骤系列号。任务执行顺序,数值越小执行顺序越靠前。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Progress' => [ - 'description' => '任务步骤进度', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'SubJobCount' => [ - 'description' => '子任务数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'IncLatencySeconds' => [ - 'description' => '增量数据延迟时间,单位为秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '-1', - ], - 'State' => [ - 'description' => '任务步骤状态。', - 'type' => 'string', - 'example' => '○ Finished', - ], - 'ErrMsg' => [ - 'description' => '报错信息。', - 'type' => 'string', - 'example' => 'fullcheck find different records : 2372', - ], - 'SubJobSteps' => [ - 'description' => '子任务的步骤信息。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'JobStepId' => [ - 'description' => '任务id。', - 'type' => 'string', - 'example' => 'mj3z9w9s10am68o_0004_0000', - ], - 'JobStepName' => [ - 'description' => '子任务步骤信息。取值范围如下:'."\n" - ."\n" - .'- 预检查:预检查阶段'."\n" - .'- 增量数据服务:增量数据采集阶段'."\n" - .'- dts.step.struct.load:结构迁移阶段'."\n" - .'- dts.step.data.load:全量迁移阶段'."\n" - .'- etl-check:ETL阶段'."\n" - .'- 一致性校验:数据校验阶段'."\n" - .'- 同步:增量同步阶段', - 'type' => 'string', - 'example' => 'test', - ], - 'Code' => [ - 'description' => '子任务步骤标识。', - 'type' => 'string', - 'example' => '03', - ], - 'Serial' => [ - 'description' => '子任务步骤系列号。任务执行顺序,数值越小执行顺序越靠前。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '123', - ], - 'Progress' => [ - 'description' => '子任务步骤进度。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'IncLatencySeconds' => [ - 'description' => '增量数据延迟时间,单位为秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'State' => [ - 'description' => '子任务步骤状态,取值范围:'."\n" - .'- Failed:失败。'."\n" - .'- Pause:暂停。'."\n" - .'- Schedule:调度。'."\n" - .'- Init:初始化。'."\n" - .'- Running:同步中。'."\n" - .'- Catched:等待同步。'."\n" - .'- Finished:结束。', - 'type' => 'string', - 'example' => 'running', - ], - 'ErrMsg' => [ - 'description' => '报错信息。', - 'type' => 'string', - 'example' => 'UncaughtException:java.lang.NullPointerException', - ], - 'CreateTime' => [ - 'description' => '子任务创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2024-09-20T02:13:12Z', - ], - 'BootTime' => [ - 'description' => '子任务启动时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2025-01-02T02:00:21Z', - ], - 'FinishTime' => [ - 'description' => '子任务结束时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2024-03-15T02:15:14Z', - ], - 'ModifyTime' => [ - 'description' => '子任务修改时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2024-08-22T02:04:35Z', - ], - 'ErrorDetails' => [ - 'description' => '错误信息。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ErrorCode' => [ - 'description' => '错误码。', - 'type' => 'string', - 'example' => 'Success', - ], - 'HelpUrl' => [ - 'description' => '帮助文档的URL。', - 'type' => 'string', - 'example' => '****', - ], - ], - ], - ], - 'IncLatencyMilliseconds' => [ - 'description' => '增量数据延迟时间,单位为毫秒。', - 'type' => 'string', - 'example' => '1', - ], - 'NeedAcceleration' => [ - 'description' => '判断是否需要提供尝试加速功能。', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - 'CreateTime' => [ - 'description' => '任务创建时间,<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2023-11-28T17:13:51Z', - ], - 'BootTime' => [ - 'description' => '任务启动时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2024-04-11T09:33:23Z', - ], - 'FinishTime' => [ - 'description' => '任务结束时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2024-03-15T02:15:14Z', - ], - 'ModifyTime' => [ - 'description' => '任务修改时间,格式为<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。', - 'type' => 'string', - 'example' => '2025-01-03T02:26:14Z', - ], - 'ErrorDetails' => [ - 'description' => '错误信息。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ErrorCode' => [ - 'description' => '错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'HelpUrl' => [ - 'description' => '帮助文档的URL。', - 'type' => 'string', - 'example' => '****', - ], - ], - ], - ], - 'IncLatencyMilliseconds' => [ - 'description' => '增量数据延迟时间,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'NeedAcceleration' => [ - 'description' => '判断是否需要提供尝试加速功能。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'redisPhaseType' => [ - 'description' => '用于区分Redis全量和增量阶段。取值范围:'."\n" - .'- full:全量阶段'."\n" - .'- inc:增量阶段', - 'type' => 'string', - 'example' => 'full', - ], - ], - ], - ], + 'EndTime' => ['description' => '预付费实例到期时间,格式为Unix时间戳。'."\n" + .'> - 如修改后的实例为后付费实例,则该值为空值。'."\n" + .'- Unix时间戳转换工具可用搜索引擎获取。', 'type' => 'string', 'example' => '1614916318'], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '601B6F25-21E7-4484-99D5-3EF2625C****'], + 'DtsJobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'o4nh3g7jg56****'], + 'ErrCode' => ['description' => '调用错误时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功,返回值:'."\n" + .'- **true**:请求成功。'."\n" + .'- **false**:请求失败。', 'type' => 'boolean', 'example' => 'true'], + 'ChargeType' => ['description' => '修改后的付费方式,返回值:'."\n" + .'- **PrePaid**:预付费。'."\n" + .'- **PostPaid**:后付费。', 'type' => 'string', 'example' => 'PostPaid'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'Code' => ['description' => '错误码,本参数即将下线。', 'type' => 'string', 'example' => '200'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'DtsJobId'], + 'InstanceId' => ['description' => '实例ID。', 'type' => 'string', 'example' => 'dtso4nh3g7jg56****'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"1614916318\\",\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"601B6F25-21E7-4484-99D5-3EF2625C****\\",\\n \\"DtsJobId\\": \\"o4nh3g7jg56****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ChargeType\\": \\"PostPaid\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"InstanceId\\": \\"dtso4nh3g7jg56****\\"\\n}","errorExample":""},{"type":"xml","example":"<TransferPayTypeResponse>\\n <DtsJobId>o4nh3g7jg56****</DtsJobId>\\n <RequestId>601B6F25-21E7-4484-99D5-3EF2625C****</RequestId>\\n <InstanceId>dtso4nh3g7jg56****</InstanceId>\\n <ChargeType>PostPaid</ChargeType>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</TransferPayTypeResponse>","errorExample":""}]', + 'title' => '转换支付方式', + 'description' => '<props="china">请确保在使用该接口前,已充分了解云数据库DTS产品的收费方式和[价格](https://www.aliyun.com/price/product#/dts/detail)。'."\n" + .'</props>'."\n" + .'<props="intl">请确保在使用该接口前,已充分了解云数据库DTS产品的收费方式和[价格](https://www.alibabacloud.com/zh/product/data-transmission-service/pricing)。'."\n" + .'</props>'."\n" + ."\n" + .'- 为避免您的资源浪费,在实例转换付费方式操作前确认要进行转换操作。'."\n" + .'- 数据迁移实例只支持按量付费,无需转换。'."\n" + .'<props="china">'."\n" + .'- Serverless实例不支持转换付费方式。</props>'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:TransferPayType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Success\\": true,\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"Code\\": \\"200\\",\\n \\"UseV2API\\": true,\\n \\"JobSteps\\": [\\n {\\n \\"JobStepId\\": \\"l02c1f7h179****\\",\\n \\"JobStepName\\": \\"预检查\\",\\n \\"Code\\": \\"01\\",\\n \\"Serial\\": 1,\\n \\"Progress\\": 100,\\n \\"SubJobCount\\": 1,\\n \\"IncLatencySeconds\\": -1,\\n \\"State\\": \\"○ Finished\\",\\n \\"ErrMsg\\": \\"fullcheck find different records : 2372\\",\\n \\"SubJobSteps\\": [\\n {\\n \\"JobStepId\\": \\"mj3z9w9s10am68o_0004_0000\\",\\n \\"JobStepName\\": \\"test\\",\\n \\"Code\\": \\"03\\",\\n \\"Serial\\": 123,\\n \\"Progress\\": 0,\\n \\"IncLatencySeconds\\": 1,\\n \\"State\\": \\"running\\",\\n \\"ErrMsg\\": \\"UncaughtException:java.lang.NullPointerException\\",\\n \\"CreateTime\\": \\"2024-09-20T02:13:12Z\\",\\n \\"BootTime\\": \\"2025-01-02T02:00:21Z\\",\\n \\"FinishTime\\": \\"2024-03-15T02:15:14Z\\",\\n \\"ModifyTime\\": \\"2024-08-22T02:04:35Z\\",\\n \\"ErrorDetails\\": [\\n {\\n \\"ErrorCode\\": \\"Success\\",\\n \\"HelpUrl\\": \\"****\\"\\n }\\n ],\\n \\"IncLatencyMilliseconds\\": \\"1\\",\\n \\"NeedAcceleration\\": true\\n }\\n ],\\n \\"CreateTime\\": \\"2023-11-28T17:13:51Z\\",\\n \\"BootTime\\": \\"2024-04-11T09:33:23Z\\",\\n \\"FinishTime\\": \\"2024-03-15T02:15:14Z\\",\\n \\"ModifyTime\\": \\"2025-01-03T02:26:14Z\\",\\n \\"ErrorDetails\\": [\\n {\\n \\"ErrorCode\\": \\"200\\",\\n \\"HelpUrl\\": \\"****\\"\\n }\\n ],\\n \\"IncLatencyMilliseconds\\": 1,\\n \\"NeedAcceleration\\": true,\\n \\"redisPhaseType\\": \\"full\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListJobStepResponse>\\n <Success>true</Success>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>621BB4F8-3016-4FAA-8D5A-5D3163CC****</RequestId>\\n <Code>200</Code>\\n <UseV2API>true</UseV2API>\\n <JobSteps>\\n <JobStepId>l02c1f7h179****</JobStepId>\\n <JobStepName>预检查</JobStepName>\\n <Code>01</Code>\\n <Serial>1</Serial>\\n <Progress>100</Progress>\\n <SubJobCount>1</SubJobCount>\\n <IncLatencySeconds>-1</IncLatencySeconds>\\n <State>○ Finished</State>\\n <ErrMsg>fullcheck find different records : 2372</ErrMsg>\\n <SubJobSteps>\\n <JobStepId>mj3z9w9s10am68o_0004_0000</JobStepId>\\n <JobStepName>test</JobStepName>\\n <Code>03</Code>\\n <Serial>123</Serial>\\n <Progress>0</Progress>\\n <IncLatencySeconds>1</IncLatencySeconds>\\n <State>running</State>\\n <ErrMsg>UncaughtException:java.lang.NullPointerException</ErrMsg>\\n <CreateTime>2024-09-20T02:13:12Z</CreateTime>\\n <BootTime>2025-01-02T02:00:21Z</BootTime>\\n <FinishTime>2024-03-15T02:15:14Z</FinishTime>\\n <ModifyTime>2024-08-22T02:04:35Z</ModifyTime>\\n <ErrorDetails>\\n <ErrorCode>Success</ErrorCode>\\n <HelpUrl>****</HelpUrl>\\n </ErrorDetails>\\n <IncLatencyMilliseconds>1</IncLatencyMilliseconds>\\n <NeedAcceleration>true</NeedAcceleration>\\n </SubJobSteps>\\n <CreateTime>2023-11-28T17:13:51Z</CreateTime>\\n <BootTime>2024-04-11T09:33:23Z</BootTime>\\n <FinishTime>2024-03-15T02:15:14Z</FinishTime>\\n <ModifyTime>2025-01-03T02:26:14Z</ModifyTime>\\n <ErrorDetails>\\n <ErrorCode>200</ErrorCode>\\n <HelpUrl>****</HelpUrl>\\n </ErrorDetails>\\n <IncLatencyMilliseconds>1</IncLatencyMilliseconds>\\n <NeedAcceleration>true</NeedAcceleration>\\n </JobSteps>\\n</ListJobStepResponse>","errorExample":""}]', - 'title' => '查询JobStep列表', ], - 'ModifyJobStepCheckpoint' => [ - 'summary' => '修改增量写入的位点。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UntagResources' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -35605,67 +19401,150 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREdtsJ32CAF', - ], - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => '地域ID,传入本参数来指定实例所在地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => ['description' => '资源类型定义。唯一取值:**ALIYUN::DTS::INSTANCE**。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'ALIYUN::DTS::INSTANCE'], + ], + [ + 'name' => 'All', + 'in' => 'query', + 'schema' => ['description' => '是否解绑实例的全部标签,取值:'."\n" + ."\n" + .'- **true**:是。解绑实例的全部标签。'."\n" + .'- **false**:否。需在**TagKey.N**参数传入需解绑的实例标签。'."\n" + ."\n" + .'> - **TagKey.N**和本参数至少传入一个。'."\n" + .'- 如果同时传入了**TagKey.N**和本参数,则本参数不生效。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'DTS实例所属的地域。'."\n" - ."\n" - .'> 专属集群支持的地域,请参见[DTS专属集群](~~417481~~)。', - 'type' => 'string', + 'description' => '数据迁移、同步和订阅实例的ID,可以通过调用[DescribeDtsJobs](~~209702~~)接口查询。'."\n" + .'> N表示传入第几个实例ID。例如ResourceId.0表示传入第一个实例ID;ResourceId.1表示传入第二个实例ID。可以同时对1~50个实例解绑标签。', + 'type' => 'array', + 'items' => ['description' => '数据迁移、同步和订阅实例的ID,可以通过调用[DescribeDtsJobs](~~209702~~)接口查询。'."\n" + .'> N表示传入第几个实例ID。例如ResourceId.0表示传入第一个实例ID;ResourceId.1表示传入第二个实例ID。可以同时对1~50个实例解绑标签。', 'type' => 'string', 'required' => false, 'example' => 'dtsntk10k6r12v****'], 'required' => true, - 'example' => 'cn-hangzhou', + 'example' => 'dtsntk10k6r12v****', + 'maxItems' => 51, ], ], [ - 'name' => 'DtsJobId', + 'name' => 'TagKey', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '迁移、同步或订阅任务ID。', - 'type' => 'string', + 'description' => '标签键。'."\n" + .'> - N表示传入第几个标签的键。例如TagKey.0表示传入第一个标签的键;TagKey.1表示传入第二个标签的键。可以同时解绑1~20个标签键。'."\n" + .'- 不允许传入空字符串。'."\n" + .'- **All**和本参数至少传入一个。'."\n" + .'- 如果同时传入了**All**和本参数,则只有本参数生效。', + 'type' => 'array', + 'items' => ['description' => '标签键。'."\n" + .'> - N表示传入第几个标签的键。例如TagKey.0表示传入第一个标签的键;TagKey.1表示传入第二个标签的键。可以同时解绑1~20个标签键。'."\n" + .'- 不允许传入空字符串。'."\n" + .'- **All**和本参数至少传入一个。'."\n" + .'- 如果同时传入了**All**和本参数,则只有本参数生效。', 'type' => 'string', 'required' => false, 'example' => 'testkey1'], 'required' => false, - 'example' => 'l5512es7w15****', + 'example' => 'testkey1', + 'maxItems' => 21, ], ], [ - 'name' => 'JobStepId', + 'name' => 'ResourceGroupId', 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '任务步骤ID,即ListJobStep接口中返回的**同步**步骤ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'wn3z4ukia9wi9xu_0004_0000', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'ED3A8FE0-EEFA-4416-BC42-34D61A52****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。'."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回对应的错误信息。'."\n", 'type' => 'string', 'example' => 'The request processing has failed due to some unknown error.'], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], + ], + 403 => [ + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], + ], + 500 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"ED3A8FE0-EEFA-4416-BC42-34D61A52****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\n <RequestId>ED3A8FE0-EEFA-4416-BC42-34D61A52****</RequestId>\\n <Success>true</Success>\\n</UntagResourcesResponse>","errorExample":""}]', + 'title' => '解绑标签', + 'summary' => '为迁移、同步和订阅实例解绑标签。', + 'description' => '> 标签从一个实例解绑后,如果没有绑定到其它实例,则该标签自动被删除。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + ], + 'UpgradeTwoWay' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'NewCheckPoint', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], + 'parameters' => [ + [ + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '新位点的秒级时间戳,修改范围需在增量数据采集步骤的位点范围内。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1760406***', - ], + 'schema' => ['description' => '实例ID,可通过调用[DescribeDtsJobs](~~209702~~)获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dtsh77p49x4k28****'], + ], + [ + 'name' => 'InstanceClass', + 'in' => 'query', + 'schema' => ['description' => '双向同步的实例规格,取值为**large**、**medium**、**micro** 、**small**。'."\n" + .'> 链路规格说明,请参见[数据同步链路规格说明](~~26605~~)。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'large'], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek2ilvoxlrd***', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxc****'], ], ], 'responses' => [ @@ -35673,81 +19552,66 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => ' 状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'C306C198-7807-409D-930A-D6CE6C32****', - ], - 'ErrCode' => [ - 'description' => '调用出错时返回的错误码。'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功,返回值:'."\n" - .'- **true**:请求成功。'."\n" - .'- **false**:请求失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用出错时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'Code' => [ - 'description' => '错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数ErrMessage错误信息中的%s。'."\n" - ."\n" - .'> 如果ErrMessage返回The Value of Input Parameter %s is not valid,且DynamicMessage返回JobId,则代表所传入的请求参数JobId不合法。', - 'type' => 'string', - 'example' => 'can not find env: zbyk-pre', - ], + 'HttpStatusCode' => ['description' => '状态码。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '2D3B4615-923F-49AA-AF21-6D8E3967****'], + 'ErrCode' => ['description' => '调用错误时返回的错误码。'."\n" + ."\n", 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功,返回值:'."\n" + .'- **true**:请求成功。'."\n" + .'- **false**:请求失败。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。'."\n" + ."\n", 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**InstanceId**,则代表所传入的请求参数**InstanceId**不合法。', 'type' => 'string', 'example' => 'InstanceId'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"2D3B4615-923F-49AA-AF21-6D8E3967****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"InstanceId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<StartDtsJobResponse>\\r\\n <RequestId>2D3B4615-923F-49AA-AF21-6D8E3967****</RequestId>\\r\\n <HttpStatusCode>200</HttpStatusCode>\\r\\n <Success>true</Success>\\r\\n</StartDtsJobResponse>","errorExample":""}]', + 'title' => '升级单向同步至双向同步', + 'summary' => '调用UpgradeTwoWay接口将DTS同步实例的同步拓扑从单向同步升级为双向同步。', + 'description' => '<props="china">请确保在使用该接口前,已充分了解云数据库DTS产品的收费方式和[价格](https://www.aliyun.com/price/product#/dts/detail)。</props>'."\n" + .'<props="intl">请确保在使用该接口前,已充分了解云数据库DTS产品的收费方式和[价格](https://www.alibabacloud.com/zh/product/data-transmission-service/pricing)。</props>'."\n" + .'使用该接口需注意:'."\n" + .'- 数据同步任务的源实例和目标实例的数据库类型均为**MySQL**。'."\n" + .'- 数据同步任务的同步拓扑为**单向同步**。'."\n" + .'- 数据同步任务的状态为**同步中**。'."\n" + .'- 升级生效期间数据同步会出现5秒左右的延迟,请在业务低峰期操作。'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:UpgradeTwoWay', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"C306C198-7807-409D-930A-D6CE6C32****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"can not find env: zbyk-pre\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyJobStepCheckpointResponse>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>C306C198-7807-409D-930A-D6CE6C32****</RequestId>\\n <ErrCode>InternalError</ErrCode>\\n <Success>true</Success>\\n <ErrMessage>The request processing has failed due to some unknown error.</ErrMessage>\\n <Code>200</Code>\\n <DynamicMessage>can not find env: zbyk-pre</DynamicMessage>\\n</ModifyJobStepCheckpointResponse>","errorExample":""}]', - 'title' => '修改任务位点', ], - 'PromoteToMaster' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'WhiteIpList' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -35757,61 +19621,97 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '236002', - 'abilityTreeNodes' => [ - 'FEATUREdts4VPC0Q', - ], + 'abilityTreeCode' => '52328', + 'abilityTreeNodes' => ['FEATUREdtsJGBLR6'], ], 'parameters' => [ [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => ['description' => '自建数据库或第三方云数据库的接入方式,取值为'."\n" + .'- **internet**:通过公网接入。'."\n" + .'- **vpc**:通过专线/VPN网关/智能网关接入。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc'], + ], + [ + 'name' => 'Region', + 'in' => 'query', + 'schema' => ['description' => '源实例所属地域ID,详情请参见[支持的地域列表](~~141033~~)。'."\n" + .'> 如果源实例为有公网IP的自建数据库或第三方云数据库,则可以传入**cn-hangzhou**或者离该类数据库物理距离最近的区域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'DestinationRegion', + 'in' => 'query', + 'schema' => ['description' => '目标实例所属地域ID,详情请参见[支持的地域列表](~~141033~~)。'."\n" + ."\n" + .'> - 如果目标实例为有公网IP的自建数据库或第三方云数据库,则可以传入**cn-hangzhou**或者离该类数据库物理距离最近的区域ID。'."\n" + .'- 当DTS任务为迁移或同步时,本参数必须传入。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID,传入本参数来指定实例所在地域,详情请参见支持的地域列表。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'DTS实例所属的地域,详情请参见[支持的地域列表](~~141033~~)。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'InstanceId', + 'name' => 'ZeroEtlJob', 'in' => 'query', - 'schema' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gad-bp162d4tp0500****', - ], + 'schema' => ['description' => '是否无感集成(Zero-ETL)任务,取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'MasterDbInstanceId', + 'name' => 'SrcVpcId', 'in' => 'query', - 'schema' => [ - 'description' => '主角色实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp1756****', - ], + 'schema' => ['description' => '源端VPC的ID', 'type' => 'string', 'required' => false, 'example' => '****'], ], [ - 'name' => 'SlaveDbInstanceId', + 'name' => 'SrcPrimaryVswId', 'in' => 'query', - 'schema' => [ - 'description' => '从角色实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp1756****', - ], + 'schema' => ['description' => 'VPCNAT源端主VSW', 'type' => 'string', 'required' => false, 'example' => '****'], + ], + [ + 'name' => 'SrcSecondaryVswId', + 'in' => 'query', + 'schema' => ['description' => 'VPCNAT源端备VSW', 'type' => 'string', 'required' => false, 'example' => '****'], + ], + [ + 'name' => 'DestVpcId', + 'in' => 'query', + 'schema' => ['description' => '目标端VPC的ID', 'type' => 'string', 'required' => false, 'example' => '****'], + ], + [ + 'name' => 'DestPrimaryVswId', + 'in' => 'query', + 'schema' => ['description' => 'VPCNAT目的端主VSW', 'type' => 'string', 'required' => false, 'example' => '****'], + ], + [ + 'name' => 'DestSecondaryVswId', + 'in' => 'query', + 'schema' => ['description' => 'VPCNAT目的端备VSW', 'type' => 'string', 'required' => false, 'example' => '****'], + ], + [ + 'name' => 'SrcRoleName', + 'in' => 'query', + 'schema' => ['description' => '源端角色名称', 'type' => 'string', 'required' => false, 'example' => 'ram-for-dts'], + ], + [ + 'name' => 'SrcAliyunUid', + 'in' => 'query', + 'schema' => ['description' => '源端Aliyun的UID', 'type' => 'string', 'required' => false, 'example' => '1971721963139419'], + ], + [ + 'name' => 'DestRoleName', + 'in' => 'query', + 'schema' => ['description' => '目标端角色名称', 'type' => 'string', 'required' => false, 'example' => 'ram-for-dts-sq'], + ], + [ + 'name' => 'DestAliyunUid', + 'in' => 'query', + 'schema' => ['description' => '目标端Aliyun的UID', 'type' => 'string', 'required' => false, 'example' => '****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxc****', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek26mat2ldb4oy'], ], ], 'responses' => [ @@ -35819,301 +19719,1762 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。'."\n", - 'type' => 'string', - 'example' => '210ec2e116055198849072222d****', - ], - 'ErrCode' => [ - 'description' => '调用错误时返回的错误码。', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrMessage' => [ - 'description' => '调用错误时返回的错误信息。', - 'type' => 'string', - 'example' => 'The request processing has failed due to some unknown error.', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'present environment is not support,so skip.', - ], - 'DynamicCode' => [ - 'description' => '动态错误码,本参数即将下线。', - 'type' => 'string', - 'example' => '403', - ], - 'TaskId' => [ - 'description' => '任务ID,该参数即将下线。', - 'type' => 'string', - 'example' => 'z2v12jfo309****', - ], + 'HttpStatusCode' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'AD823BD3-1BA6-4117-A536-165CB280****'], + 'ErrCode' => ['description' => '调用出错时返回的错误码。', 'type' => 'string', 'example' => 'InternalError'], + 'Success' => ['description' => '请求是否成功,返回值:'."\n" + .'- **true**:请求成功。'."\n" + .'- **false**:请求失败。', 'type' => 'boolean', 'example' => 'true'], + 'ErrMessage' => ['description' => '调用错误时返回的错误信息。', 'type' => 'string', 'example' => 'The Value of Input Parameter %s is not valid.'], + 'IpList' => ['description' => 'IP白名单列表,多个IP地址中间使用英文逗号(,)分隔。', 'type' => 'string', 'example' => '10.151.12.0/24,47.102.181.0/24,47.101.109.0/24,120.55.129.0/24,11.115.103.0/24,47.102.234.0/24'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的**%s**。'."\n", 'type' => 'string', 'example' => 'Type'], + 'DynamicCode' => ['description' => '动态错误码,本参数即将下线。', 'type' => 'string', 'example' => '403'], + 'SrcIpList' => ['description' => '源端适配VPCNAT ip白名单', 'type' => 'string', 'example' => '127.0.0.1'], + 'DestIpList' => ['description' => '目标端适配VPCNAT ip白名单', 'type' => 'string', 'example' => '127.0.0.1'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.User', - 'errorMessage' => 'Request was denied due to user flow control.', - ], + ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to user flow control.', 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], ], 403 => [ - [ - 'errorCode' => 'InvalidSecurityToken.Expired', - 'errorMessage' => 'Specified SecurityToken is expired.', - ], + ['errorCode' => 'InvalidSecurityToken.Expired', 'errorMessage' => 'Specified SecurityToken is expired.', 'description' => '签名已经过期,请更新签名'], ], 500 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"AD823BD3-1BA6-4117-A536-165CB280****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"IpList\\": \\"10.151.12.0/24,47.102.181.0/24,47.101.109.0/24,120.55.129.0/24,11.115.103.0/24,47.102.234.0/24\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"SrcIpList\\": \\"127.0.0.1\\",\\n \\"DestIpList\\": \\"127.0.0.1\\"\\n}","errorExample":""},{"type":"xml","example":"<WhiteIpListResponse>\\n <RequestId>AD823BD3-1BA6-4117-A536-165CB280****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n <IpList>10.151.12.0/24,47.102.181.0/24,47.101.109.0/24,120.55.129.0/24,11.115.103.0/24,47.102.234.0/24</IpList>\\n</WhiteIpListResponse>","errorExample":""}]', + 'title' => '查询DTS服务的IP地址', + 'summary' => '调用WhiteIpList接口查询DTS服务器的IP地址。', + 'description' => '<props="china">如果**源或目标实例**是**自建数据库**或**第三方云数据库**,您需要调用该接口查询DTS服务的IP地址,然后将查询所得的IP地址添加至源或目标实例的安全设置(通常为该类数据库的防火墙)中。具体添加方式及更多信息,请参见[迁移、同步或订阅本地数据库时需添加的IP白名单](~~84900~~)。</props>'."\n" + .'<props="intl">如果**源或目标实例**是**自建数据库**或**第三方云数据库**,您需要调用该接口查询DTS服务的IP地址,然后将查询所得的IP地址添加至源或目标实例的安全设置(通常为该类数据库的防火墙)中。具体添加方式及更多信息,请参见[将DTS服务器的IP地址段添加到自建数据库的IP白名单](~~176627~~)。</props>'."\n" + ."\n" + .'> 如果**源或目标数据库**是**阿里云数据库实例**(例如RDS、MongoDB等)或**ECS上的自建数据库**,在配置源或目标实例信息时,如您点击**授权白名单并进入下一步**,系统会自动把DTS服务IP地址添加至实例的安全设置,您无需手动添加。'."\n" + ."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:WhiteIpList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"210ec2e116055198849072222d****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"TaskId\\": \\"z2v12jfo309****\\"\\n}","type":"json"}]', - 'title' => '异地灾备实例从角色转为主角色', - 'summary' => '异地灾备实例从角色转为主角色', ], ], 'endpoints' => [ - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'dts.cn-qingdao.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'dts.cn-beijing.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'dts.cn-zhangjiakou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'dts.cn-huhehaote.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'dts.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'dts.cn-shenzhen.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'dts.cn-hongkong.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'dts.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'dts.ap-southeast-2.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'dts.ap-southeast-3.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'dts.ap-southeast-5.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'dts.eu-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'dts.us-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'dts.us-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'dts.eu-central-1.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'dts.me-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'dts.ap-south-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-2-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'dts.cn-beijing-finance-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-gov-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-nu16-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'dts.cn-chengdu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-edge-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-fujian', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-haidian-cm12-c01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-bj-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-prod-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-2', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-3', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-test-306', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong-finance-pop', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote-nebula-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-qingdao-nebula', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et15-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et2-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-inner', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-internal-test-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-inner', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-st4-d01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-su18-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wuhan', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-yushanfang', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangbei-na61-b01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou-na62-a01', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhengzhou-nebula-1', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1-oxs', - 'endpoint' => 'dts.aliyuncs.com', - ], - [ - 'regionId' => 'rus-west-1-pop', - 'endpoint' => 'dts.aliyuncs.com', + ['regionId' => 'cn-wulanchabu', 'regionName' => '华北6(乌兰察布)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dts.aliyuncs.com', 'endpoint' => 'dts.aliyuncs.com', 'vpc' => 'dts-vpc.cn-wulanchabu.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dts.cn-beijing.aliyuncs.com', 'endpoint' => 'dts.cn-beijing.aliyuncs.com', 'vpc' => 'dts-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'cn-qingdao', 'regionName' => '华北1(青岛)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dts.cn-qingdao.aliyuncs.com', 'endpoint' => 'dts.cn-qingdao.aliyuncs.com', 'vpc' => 'dts-vpc.cn-qingdao.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dts.cn-shanghai.aliyuncs.com', 'endpoint' => 'dts.cn-shanghai.aliyuncs.com', 'vpc' => 'dts-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dts.cn-hongkong.aliyuncs.com', 'endpoint' => 'dts.cn-hongkong.aliyuncs.com', 'vpc' => 'dts-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => '华北3(张家口)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dts.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'dts.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'dts-vpc.cn-zhangjiakou.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dts.cn-shenzhen.aliyuncs.com', 'endpoint' => 'dts.cn-shenzhen.aliyuncs.com', 'vpc' => 'dts-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'ap-northeast-1', 'regionName' => '日本(东京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dts.ap-northeast-1.aliyuncs.com', 'endpoint' => 'dts.ap-northeast-1.aliyuncs.com', 'vpc' => 'dts-vpc.ap-northeast-1.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => '西南1(成都)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dts.cn-chengdu.aliyuncs.com', 'endpoint' => 'dts.cn-chengdu.aliyuncs.com', 'vpc' => 'dts-vpc.cn-chengdu.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dts.ap-southeast-1.aliyuncs.com', 'endpoint' => 'dts.ap-southeast-1.aliyuncs.com', 'vpc' => 'dts-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-2', 'regionName' => '澳大利亚(悉尼)已关停', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dts.ap-southeast-2.aliyuncs.com', 'endpoint' => 'dts.ap-southeast-2.aliyuncs.com', 'vpc' => 'dts-vpc.ap-southeast-2.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'regionName' => '马来西亚(吉隆坡)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dts.ap-southeast-3.aliyuncs.com', 'endpoint' => 'dts.ap-southeast-3.aliyuncs.com', 'vpc' => 'dts-vpc.ap-southeast-3.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'regionName' => '华北5(呼和浩特)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dts.cn-huhehaote.aliyuncs.com', 'endpoint' => 'dts.cn-huhehaote.aliyuncs.com', 'vpc' => 'dts-vpc.cn-huhehaote.aliyuncs.com'], + ['regionId' => 'ap-southeast-5', 'regionName' => '印度尼西亚(雅加达)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dts.ap-southeast-5.aliyuncs.com', 'endpoint' => 'dts.ap-southeast-5.aliyuncs.com', 'vpc' => 'dts-vpc.ap-southeast-5.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dts.cn-hangzhou.aliyuncs.com', 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', 'vpc' => 'dts-vpc.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'us-east-1', 'regionName' => '美国(弗吉尼亚)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'dts.us-east-1.aliyuncs.com', 'endpoint' => 'dts.us-east-1.aliyuncs.com', 'vpc' => 'dts-vpc.us-east-1.aliyuncs.com'], + ['regionId' => 'eu-west-1', 'regionName' => '英国(伦敦)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'dts.eu-west-1.aliyuncs.com', 'endpoint' => 'dts.eu-west-1.aliyuncs.com', 'vpc' => 'dts-vpc.eu-west-1.aliyuncs.com'], + ['regionId' => 'us-west-1', 'regionName' => '美国(硅谷)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'dts.us-west-1.aliyuncs.com', 'endpoint' => 'dts.us-west-1.aliyuncs.com', 'vpc' => 'dts-vpc.us-west-1.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => '德国(法兰克福)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'dts.eu-central-1.aliyuncs.com', 'endpoint' => 'dts.eu-central-1.aliyuncs.com', 'vpc' => 'dts-vpc.eu-central-1.aliyuncs.com'], + ['regionId' => 'me-east-1', 'regionName' => '阿联酋(迪拜)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'dts.me-east-1.aliyuncs.com', 'endpoint' => 'dts.me-east-1.aliyuncs.com', 'vpc' => 'dts-vpc.me-east-1.aliyuncs.com'], + ['regionId' => 'ap-south-1', 'regionName' => '印度(孟买)已关停', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'dts.ap-south-1.aliyuncs.com', 'endpoint' => 'dts.ap-south-1.aliyuncs.com', 'vpc' => 'dts-vpc.ap-south-1.aliyuncs.com'], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => '华南1 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'dts.cn-hangzhou.aliyuncs.com', 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', 'vpc' => 'dts-vpc.cn-shenzhen-finance-1.aliyuncs.com'], + ['regionId' => 'cn-beijing-finance-1', 'regionName' => '华北2 金融云(邀测)', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'dts.cn-beijing-finance-1.aliyuncs.com', 'endpoint' => 'dts.cn-beijing-finance-1.aliyuncs.com', 'vpc' => 'dts-vpc.cn-beijing-finance-1.aliyuncs.com'], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => '华东2 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'dts.cn-hangzhou.aliyuncs.com', 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', 'vpc' => 'dts-vpc.cn-shanghai-finance-1.aliyuncs.com'], + ['regionId' => 'cn-north-2-gov-1', 'regionName' => '北京政务云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'dts.aliyuncs.com', 'endpoint' => 'dts.aliyuncs.com', 'vpc' => 'dts-vpc.cn-north-2-gov-1.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-finance', 'regionName' => '华东1 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'dts.cn-hangzhou.aliyuncs.com', 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => 'Abnormal.RamCheckUserRole', 'message' => 'The user does not have the RAM role of %s.', 'http_code' => 403, 'description' => '目标实例所属阿里云账号(主账号)的RAM角色未被授权。请先<a href=\'https://help.aliyun.com/document_detail/48468.html\' target=\'_blank\'>在源库所属阿里云账号中,为目标实例所属阿里云账号(主账号)配置RAM授权</a>。'], + ['code' => 'Abnormal.RamCheckUserRole', 'message' => 'User do not have the ram role of %s.', 'http_code' => 403, 'description' => '您尚未授权DTS系统默认角色“AliyunDTSDefaultrole”,如果您的账号有写RAM的权限可以自助前往RAM授权,否则需要您的主账号前往RAM进行角色授权后,再刷新本页面'], + ['code' => 'AccountExists', 'message' => 'The account of instance %s already exists.', 'http_code' => 403, 'description' => '该实例账号已存在。'], + ['code' => 'AccountExists', 'message' => 'The instance %s account already exists', 'http_code' => 403, 'description' => '实例%s管理账号已经存在,无法创建'], + ['code' => 'ADB30GetInstanceList.InvokeFail', 'message' => 'InvalidDBClusterId.NotFound : The DBClusterId provided does not exist in our records. DbInstanceId null.', 'http_code' => 403, 'description' => '调用ADB接口出现失败'], + ['code' => 'ADB30ModifyWhiteName.InvokeFail', 'message' => 'ACS. Server Error : An error occurred while processing your request by ADB Cloud Service.', 'http_code' => 403, 'description' => '调用ADB修改白名单接口出现失败'], + ['code' => 'AssumeRoleFail', 'message' => 'You are not authorized to do this action. You should be authorized by RAM.', 'http_code' => 403, 'description' => '子账号或者角色没有授权对应的API权限'], + ['code' => 'CheckJobFailed.ServerUnAvailable', 'message' => 'Unable to check whether the node can connect to the database because the node service is unavailable.', 'http_code' => 403, 'description' => 'DTS下部分Node服务器无法连接,请重试,重试后仍出现请联系技术支持。'], + ['code' => 'CheckStatus.InvalidInitStatus', 'message' => 'Task has not been configured, please configure job first', 'http_code' => 403, 'description' => '任务尚未配置,修改任务之前请先配置任务'], + ['code' => 'CreateAccountFail', 'message' => 'The instance %s failed to create an account.', 'http_code' => 403, 'description' => '该实例创建账号失败。'], + ['code' => 'CreateAccountFail', 'message' => 'The instance %s create account fail', 'http_code' => 403, 'description' => '为实例%s创建账号失败'], + ['code' => 'CreateJobFail', 'message' => 'create job fail', 'http_code' => 403, 'description' => '创建分布任务的同步子任务失败,待细化错误码,请联系值班解决'], + ['code' => 'DbProductInvokeFail', 'message' => 'Failed to call other cloud product API to perform %s operation.', 'http_code' => 403, 'description' => '调用其他云产品时执行%s操作时失败'], + ['code' => 'DbTypeNotSupport.OnlyReadRDS', 'message' => 'Synchronization is not currently supported due to latency issues with read-only DRDS instances.', 'http_code' => 403, 'description' => 'DTS暂时不支持为分库只读库类型的DRDS同步。'], + ['code' => 'DbTypeNotSupport.PolarDBRDS', 'message' => 'The current rds instance is of type PolarDB, which is not supported for the time being. Only rds instances under drds are supported.', 'http_code' => 403, 'description' => 'DTS暂不支持分库类型为PolarDb MySQL的DRDS类型的同步。'], + ['code' => 'DescribeColumns.TimeOut', 'message' => 'Interface timed out, please try again or use OpenApi to configure the task.', 'http_code' => 403, 'description' => '获取表的列信息超时,请重试或使用API进行配置。'], + ['code' => 'DescribeStruct.TimeOut', 'message' => 'Interface timed out, please try again or use OpenApi to configure the task.', 'http_code' => 403, 'description' => '获取数据库结构信息超时,请重试或使用API配置。'], + ['code' => 'DmsInvokeFail', 'message' => 'dms invoke fail', 'http_code' => 403, 'description' => 'dms接口调用失败,请重试'], + ['code' => 'DRDSErrExecuteOnMySQL.ClientVersionTooLow', 'message' => 'drds invoke fail, cause: client version too low.', 'http_code' => 403, 'description' => 'DRDS客户端版本过低,请升级后重试。'], + ['code' => 'DRDSInvokeFail', 'message' => 'drds invoke fail.', 'http_code' => 403, 'description' => '调用DRDS接口失败'], + ['code' => 'DropAccountFail', 'message' => 'The instance %s drop account fail', 'http_code' => 403, 'description' => '实例%s删除账号失败'], + ['code' => 'DTS.Msg.AccountPermissionDenied', 'message' => 'The database account does not have permission to access privilege metadata', 'http_code' => 403, 'description' => '数据库账号缺少访问privilege元数据的权限'], + ['code' => 'DTS.Msg.AdminAccountExists', 'message' => 'There is a duplicate high-privilege account under the current instance %s. Please check whether there are other running DTS tasks in the current instance. After confirming that is does not exist, please concat technical support to delete the account.', 'http_code' => 403, 'description' => '当前RDS实例配置过DTS任务'], + ['code' => 'DTS.Msg.CallCloudProductApiError', 'message' => 'Call Cloud Product OpenAPI Error, CloudProduct:rds, ErrCode:SDK.ServerUnreachable.', 'http_code' => 403, 'description' => '调用其他产品接口出现失败'], + ['code' => 'DTS.Msg.CheckJobFailed.ServerUnAvailable', 'message' => 'Unable to check whether the node can connect to the database because the node service is unavailable.', 'http_code' => 403, 'description' => 'DTS下部分Node服务器无法连接,请重试,重试后仍出现请联系技术支持。'], + ['code' => 'DTS.Msg.CheckStatus.InvalidInitStatus', 'message' => 'Task has not been configured, please configure job first', 'http_code' => 403, 'description' => '任务尚未配置,修改任务之前请先配置任务'], + ['code' => 'DTS.Msg.CreateSubDistriubtedJobError', 'message' => 'create subDistributedJob error, cause The request processing has failed due to some unknown error.', 'http_code' => 403, 'description' => '当前任务是否处于修改同步对象中,需要等待修改同步对象结束'], + ['code' => 'DTS.Msg.DbInstanceNotExists', 'message' => 'The database instance is not exists.', 'http_code' => 403, 'description' => '当前数据库实例找不到'], + ['code' => 'DTS.Msg.DbListIsEmpty', 'message' => 'If you only migrate procedure, view or function, pls choose migrate job and do not check full data and incremental migration.', 'http_code' => 403, 'description' => '当前选择的同步对象为空'], + ['code' => 'DTS.Msg.DbTypeNotSupport.OnlyReadRDS', 'message' => 'Synchronization is not currently supported due to latency issues with read-only DRDS instances.', 'http_code' => 403, 'description' => 'DTS暂时不支持为分库只读库类型的DRDS同步。'], + ['code' => 'DTS.Msg.DbTypeNotSupport.PolarDBRDS', 'message' => 'The current rds instance is of type PolarDB, which is not supported for the time being. Only rds instances under drds are supported.', 'http_code' => 403, 'description' => 'DTS暂不支持分库类型为PolarDb MySQL的DRDS类型的同步。'], + ['code' => 'DTS.Msg.DescribeColumns.TimeOut', 'message' => 'Interface timed out, please try again or use OpenApi to configure the task.', 'http_code' => 403, 'description' => '获取表的列信息超时,请重试或使用API进行配置。'], + ['code' => 'DTS.Msg.DescribeStruct.TimeOut', 'message' => 'Interface timed out, please try again or use OpenApi to configure the task.', 'http_code' => 403, 'description' => '获取数据库结构信息超时,请重试或使用API配置。'], + ['code' => 'DTS.Msg.DistributedDatabaseNodesError', 'message' => 'distributed database nodes error, expect nodes number is 1, actual 2.', 'http_code' => 403, 'description' => '获取分布式数据库节点出错'], + ['code' => 'DTS.Msg.DRDSErrExecuteOnMySQL.ClientVersionTooLow', 'message' => 'drds invoke fail, cause: client version too low.', 'http_code' => 403, 'description' => 'DRDS客户端版本过低,请升级后重试。'], + ['code' => 'DTS.Msg.FileExistValidFailError', 'message' => 'The file has not been generated, please try again later.', 'http_code' => 403, 'description' => '文件还未生成,请稍后再试。'], + ['code' => 'DTS.Msg.GADInstanceNotFound', 'message' => 'The GAD instance is not found.', 'http_code' => 403, 'description' => 'GAD实例不存在。'], + ['code' => 'DTS.Msg.GetCenError', 'message' => 'The cen [null] is not exists.', 'http_code' => 403, 'description' => '当前CEN实例找不到'], + ['code' => 'DTS.Msg.GetKafkaMetaInfo.NoAvailableBroker', 'message' => 'Could not find any available broker.', 'http_code' => 403, 'description' => '无法从kafka server端获取MetaInfo,可能的原因server段未正确设置bootstrap.servers、kafka版本选择错误或者网络不通。'], + ['code' => 'DTS.Msg.GetMongoDbShardInfo.EmptyInstances', 'message' => 'Failed to get MongoDb shard information, the return is empty.', 'http_code' => 403, 'description' => '无法获取分片信息,请检查配置参数,确认数据库确实为分片MongoDb。'], + ['code' => 'DTS.Msg.GetMongoDbShardInfo.NoShardAddress', 'message' => 'MongoDb has not yet opened the shard connection address, please try again after opening.', 'http_code' => 403, 'description' => '无法获取分片连接信息,检查配置参数,确认数据库确实为分片MongoDb,并确定已经开通shard地址。'], + ['code' => 'DTS.Msg.GrantAccessAlreadyExists', 'message' => 'When calling the VPC interface to establish a reverse mapping, an error is reported that the reverse mapping already exists, please try again.', 'http_code' => 403, 'description' => '调用VPC接口获取VPC反向访问结果出错'], + ['code' => 'DTS.Msg.InvalidDrdsTable', 'message' => 'Invalid drds table [pay center].[merchat bank base].', 'http_code' => 403, 'description' => '获取分布式任务表结构拓扑失败'], + ['code' => 'DTS.Msg.InvalidIpAddress', 'message' => 'The ip address is not valid.', 'http_code' => 403, 'description' => 'IP地址不是标准的IP形式'], + ['code' => 'DTS.Msg.InvalidParameter.AliyunUidFormat', 'message' => 'The cloud account to which the source instance belongs should fill in the standard Alibaba Cloud UID', 'http_code' => 403, 'description' => '源端数据库所属的阿里云用户一栏应该填写标准的阿里云uid'], + ['code' => 'DTS.Msg.InvalidParameter.KafkaBrokerInvalid', 'message' => 'kafka broker configuration must be intranet IP', 'http_code' => 403, 'description' => 'Ecs自建Kafka节点的配置必须为ip,不支持节点配置为host'], + ['code' => 'DTS.Msg.InvalidParameter.KafkaHostInvalid', 'message' => 'kafaka host name should be intranet IP', 'http_code' => 403, 'description' => 'kafka主机名暂不支持host形式,请输入内网IP'], + ['code' => 'DTS.Msg.LXCreateOrder.NotFoundPricePlan', 'message' => 'Pricing plan price result not found, please check the parameters of the task configuration.', 'http_code' => 403, 'description' => '创建订单失败,定价计划没有找到,可能的原因有:传入的购买参数尚不支持购买、定价缺失、购买参数传入错误。'], + ['code' => 'DTS.Msg.LXCreateOrderError', 'message' => 'Failed to create order, failure message: The module is invalid', 'http_code' => 403, 'description' => 'DTS跨境同步功能未全网开放,如果需要使用,请填写<a href="https://page.aliyun.com/form/act409679078/index.htm" target="_blank">DTS跨境数据同步权限申请表单</a>进行需求审核'], + ['code' => 'DTS.Msg.LXCreateOrderErrorIntl', 'message' => 'DTS supports cross-border data synchronization only in specific scenarios. To purchase a data synchronization instance used to synchronize data across countries, application for DTS cross-border data synchronization.', 'http_code' => 403, 'description' => 'DTS跨境同步功能未全网开放,如果需要使用,请填写<a href="https://page-intl.aliyun.com/form/act1633074550/index.htm" target="_blank">DTS跨境数据同步权限申请表单</a>进行需求审核'], + ['code' => 'DTS.Msg.LXPayOrder.AccountBookNotExists', 'message' => 'The current account balance is insufficient or the account book has not been opened, please confirm and try again.', 'http_code' => 403, 'description' => '当前账户未开通资金账户或者余额不足,请充值开通后重试,注意:DTS控制台上支付订单失败后用户中心会存在失败的账单,需要取消账单,不可以使用其他方式支付。'], + ['code' => 'DTS.Msg.LXPayOrder.AmountLimitExceeded', 'message' => 'The current account has a POC label, and the order payment amount can only be 0 yuan, but the amount of this order is greater than 0 yuan, so it cannot be paid.', 'http_code' => 403, 'description' => '当前账号存在POC标签,支付金额不能大于0元,请使用代金券使支付金额变为0,或者使用其他账号,注意:DTS控制台上支付订单失败后用户中心会存在失败的账单,需要取消账单,不可以支付。'], + ['code' => 'DTS.Msg.LXPayOrder.InsufficientBalance', 'message' => 'Insufficient balance, order payment failed.', 'http_code' => 403, 'description' => '账户下余额不足,无法完成支付,请充值后重试。'], + ['code' => 'DTS.Msg.MissingDtsJobSteps', 'message' => 'The parameter [StructureInitialization,DataInitialization,DataSynchronization] is invalid, one of them must be true.', 'http_code' => 403, 'description' => '任务的步骤选择有问题'], + ['code' => 'DTS.Msg.ModifyDenied.JobStatusNotRunning', 'message' => 'The operation of modifying synchronization object is denied cause the task is not running, pls start job and retry.', 'http_code' => 403, 'description' => '当前任务处于暂停状态,不允许进行修改同步对象操作,请启动任务并等待任务无延迟后(或者延迟小于10分钟)修改同步对象。'], + ['code' => 'DTS.Msg.MongoCommandError', 'message' => 'An error occur when execute mongo command.', 'http_code' => 403, 'description' => '调用mongo命令时出现失败'], + ['code' => 'DTS.Msg.NotSupportEsInstance', 'message' => 'The elastic search instance is not support.', 'http_code' => 403, 'description' => '当前ElasticSearch实例不支持配置DTS任务'], + ['code' => 'DTS.Msg.NotSupportModify', 'message' => 'DTS migration tasks do not support modifying synchronization objects.', 'http_code' => 403, 'description' => '迁移任务不支持修改同步对象'], + ['code' => 'DTS.Msg.NotSupportRedisMinorVersion', 'message' => 'You need to upgrade redis minor version.', 'http_code' => 403, 'description' => 'redis版本不支持配置DTS任务'], + ['code' => 'DTS.Msg.NotSupportServerlessInstance', 'message' => 'The serverless RDS instance is not support.', 'http_code' => 403, 'description' => 'RDS serverless版本不支持配置DTS任务'], + ['code' => 'DTS.Msg.OperationDenied.JobStatusModifying', 'message' => 'jobs state is modifying, please wait sync subtask ends', 'http_code' => 403, 'description' => '该任务处于修改同步对象中(之前修改同步对象操作尚未完成),请等待该状态结束'], + ['code' => 'DTS.Msg.OperationDenied.NotPurchased', 'message' => 'The instance has not been purchased and the task cannot be started.', 'http_code' => 403, 'description' => '任务尚未购买,无法启动。'], + ['code' => 'DTS.Msg.OperationDeniedNotPurchased', 'message' => 'The instance has not been purchased and the task cannot be started.', 'http_code' => 403, 'description' => '当前任务尚未购买'], + ['code' => 'DTS.Msg.PrePayNotAllowDelete', 'message' => 'DTS prepaid instances are not allowed to be released through the DTS API, please go to the User Center '."\n" + .' Unsubscribe Management page to unsubscribe.', 'http_code' => 403, 'description' => '包年包月任务不支持释放'], + ['code' => 'DTS.Msg.RamPermissionDenied', 'message' => 'Your RAM account is not authorized to do this operation, please authorize in RAM first and try again.', 'http_code' => 403, 'description' => '您的RAM账户没有权限执行此操作,请先在RAM中进行授权,然后再尝试。'], + ['code' => 'DTS.Msg.SQLExecuteError.AccessDenied', 'message' => 'Access denied for input user.', 'http_code' => 403, 'description' => '测试链接或者配置任务过程中获取源库连接失败,请检查用户名密码是否满足权限需求。'], + ['code' => 'DTS.Msg.SQLExecuteError.ConnectionRefused', 'message' => 'Connection refused, the Network Adapter could not establish the connection.', 'http_code' => 403, 'description' => '数据库拒绝链接,可能的原因:监听器(listener process)配置不正确或者未运行,或者其他拒绝连接的情况,如负载过高。'], + ['code' => 'DTS.Msg.SQLExecuteError.JDBC4CommunicationsException', 'message' => 'Communications link failure,The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.', 'http_code' => 403, 'description' => '通讯链路故障,JDBC驱动程序最后一个数据包成功发送到源数据库服务器,但没有收到来自源数据库的任何数据包。'], + ['code' => 'DTS.Msg.SrcLink.InternetAddressNotFound', 'message' => 'Data instances in different regions use migration tasks, and the source data instance must have a public network address. Please open a public network address or use a synchronization task.', 'http_code' => 403, 'description' => '不同region的数据实例使用迁移任务,源端数据实例必须有公网地址。请开通公网地址或使用同步任务'], + ['code' => 'DTS.Msg.StopJobFailed.ServerUnAvailable', 'message' => 'Pause task failed because node service could not be connected.', 'http_code' => 403, 'description' => 'DTS下node服务器无法连接,请重试,重试后仍出现请联系技术支持。'], + ['code' => 'DTS.Msg.SuspendDenied.JobStatusModifying', 'message' => 'The operation of suspend synchronization job is not permitted due to Dts job status is modifying, pls waiting the end of modifying state.', 'http_code' => 403, 'description' => '当前任务处于修改同步对象中,任务无法暂停,请等待修改同步对象状态结束后暂停任务'], + ['code' => 'DTS.Msg.UpdateJob.OperationDenied.InitStatus', 'message' => 'The operation is not permitted due to Dts job status is init.', 'http_code' => 403, 'description' => '当前任务已经启动,无法修改,请使用重新配置任务功能(已配置任务会丢失)或者修改同步对象功能'], + ['code' => 'Duplicate.TagKey', 'message' => 'The Tag.N.Key contains duplicate keys.', 'http_code' => 403, 'description' => '存在重复的标签键,请删除多余的标签键。'], + ['code' => 'DuplicateAccount.RDSSqlServer', 'message' => 'add admin account error.', 'http_code' => 403, 'description' => '创建Admin账号失败'], + ['code' => 'Forbidden.AliyunUIDNotFound', 'message' => 'The Aliyun UID %s does not exist.', 'http_code' => 404, 'description' => '阿里云UID不存在。请检查阿里云UID是否正确。'], + ['code' => 'Forbidden.AliyunUIDNotFound', 'message' => 'The Aliyun UID %s is not exists.', 'http_code' => 404, 'description' => '根据传入的阿里云UID %s 无法找到对应的用户'], + ['code' => 'Forbidden.InstanceNotFound', 'message' => 'The specified instance %s does not exist.', 'http_code' => 404, 'description' => '指定的实例不存在。'], + ['code' => 'Forbidden.InstanceNotFound', 'message' => 'The specified Instance %s not Found', 'http_code' => 404, 'description' => '根据传入的InstanceId %s 未找到对应的实例'], + ['code' => 'GetKafkaMetaInfo.NoAvailableBroker', 'message' => 'Could not find any available broker.', 'http_code' => 403, 'description' => '无法从kafka server端获取MetaInfo,可能的原因server段未正确设置bootstrap.servers、kafka版本选择错误或者网络不通。'], + ['code' => 'GetMongoDbShardInfo.EmptyInstances', 'message' => 'Failed to get MongoDb shard information, the return is empty.', 'http_code' => 403, 'description' => '无法获取分片信息,请检查配置参数,确认数据库确实为分片MongoDb。'], + ['code' => 'GetMongoDbShardInfo.NoShardAddress', 'message' => 'MongoDb has not yet opened the shard connection address, please try again after opening.', 'http_code' => 403, 'description' => '无法获取分片连接信息,检查配置参数,确认数据库确实为分片MongoDb,并确定已经开通shard地址。'], + ['code' => 'InternalError', 'message' => 'The request processing has failed due to some unknown error', 'http_code' => 500, 'description' => '接口遇到未知错误,若再次重试失败后请联系值班'], + ['code' => 'InternalError', 'message' => 'Internal error, please try again later.', 'http_code' => 503, 'description' => '内部错误,请您稍后重试。'], + ['code' => 'InvalidAccessKeyId.NotFound', 'message' => 'Specified access key is not found.', 'http_code' => 403, 'description' => 'AK不存在'], + ['code' => 'InvalidInstanceId', 'message' => 'The specified instance %s does not exist.', 'http_code' => 404, 'description' => '指定的实例不存在。'], + ['code' => 'InvalidInstanceId', 'message' => 'The specified instance %s is not exists.', 'http_code' => 404, 'description' => '根据传入的实例ID %s 找不到相应实例'], + ['code' => 'InvalidInstanceId', 'message' => 'The specified instance null does not exist.', 'http_code' => 403, 'description' => '指定的实例不存在。'], + ['code' => 'InvalidJobId', 'message' => 'The specified DTS job ID %s is not found.', 'http_code' => 404, 'description' => '指定的DTS任务ID不存在。'], + ['code' => 'InvalidJobId', 'message' => 'The specified dts job id %s is not exists.', 'http_code' => 404, 'description' => '根据传入的jobId %s 无法找到对应的任务,请确认后重试'], + ['code' => 'InvalidJobName', 'message' => 'The specified job name %s does not exist.', 'http_code' => 403, 'description' => '指定的任务名称不存在,请检查任务名称是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The value of the parameter %s is invalid.', 'http_code' => 403, 'description' => '参数值校验不通过,请输入有效的参数值。'], + ['code' => 'InvalidParameter', 'message' => 'The parameter value verification fails.', 'http_code' => 403, 'description' => '参数值校验不通过,请检查是否缺失所提示的参数以及用户AK是否正确。'], + ['code' => 'InvalidParameter.AliyunUidFormat', 'message' => 'The cloud account to which the source instance belongs should fill in the standard Alibaba Cloud UID', 'http_code' => 403, 'description' => '源端数据库所属的阿里云用户一栏应该填写标准的阿里云uid'], + ['code' => 'InvalidParameter.Category', 'message' => 'The specified Category is invalid. Valid values are Custom and System.', 'http_code' => 400, 'description' => '标签类型非法,合法值为Custom,System。'], + ['code' => 'InvalidParameter.KafkaBrokerInvalid', 'message' => 'kafka broker configuration must be intranet IP', 'http_code' => 403, 'description' => 'Ecs自建Kafka节点的配置必须为ip,不支持节点配置为host'], + ['code' => 'InvalidParameter.KafkaHostInvalid', 'message' => 'kafaka host name should be intranet IP', 'http_code' => 403, 'description' => 'kafka主机名暂不支持host形式,请输入内网IP'], + ['code' => 'InvalidParameter.NextToken', 'message' => 'The parameter NextToken is invalid.', 'http_code' => 400, 'description' => '参数NextToken(查询凭证)无效,请输入正确的NextToken值。'], + ['code' => 'InvalidParameter.ResourceType', 'message' => 'The ResourceType parameter is invalid.', 'http_code' => 400, 'description' => '参数ResourceType无效,请输入固定值ALIYUN::DTS::INSTANCE。'], + ['code' => 'InvalidParameter.Scope', 'message' => 'The specified Scope is invalid. Valid value: public, private.', 'http_code' => 400, 'description' => '标签可见范围输入无效,请输入有效值public或 private。'], + ['code' => 'InvalidParameter.TagKey', 'message' => 'The Tag.N.Key parameter is invalid.', 'http_code' => 400, 'description' => '标签键无效,请输入有效的标签键。'], + ['code' => 'InvalidParameter.Tags', 'message' => 'The specified value of parameter Tags is not valid.', 'http_code' => 400, 'description' => '标签的键或值无效,请输入有效的标签键或值。'], + ['code' => 'InvalidParameter.TagValue', 'message' => 'The Tag.N.Value parameter is invalid.', 'http_code' => 400, 'description' => '标签值无效,请输入有效的标签值。'], + ['code' => 'InvalidParameterValue', 'message' => 'The Value of Input Parameter %s is not valid.', 'http_code' => 403, 'description' => '当前输入参数值非法'], + ['code' => 'InvalidRegion.NotFound', 'message' => 'The specified region %s is not found.', 'http_code' => 404, 'description' => '指定的地域不存在。'], + ['code' => 'InvalidRegion.NotFound', 'message' => 'The specified region %s is not exists.', 'http_code' => 404, 'description' => '传入的region %s 不是标准region'], + ['code' => 'InvalidResourceId.NotFound', 'message' => 'The specified ResourceId is not found in our records.', 'http_code' => 404, 'description' => '未找到ResourceId(DTS实例ID),请检查ResourceId是否正确。'], + ['code' => 'InvalidSecurityToken.Expired', 'message' => 'Specified SecurityToken is expired.', 'http_code' => 403, 'description' => '签名已经过期,请更新签名'], + ['code' => 'InvalidSslConfig', 'message' => 'Failed to generate SSL config.', 'http_code' => 403, 'description' => '生成SSL加密配置失败。'], + ['code' => 'InvalidSslConfig', 'message' => 'generate ssl config fail', 'http_code' => 403, 'description' => '生成SSL配置失败'], + ['code' => 'LackOfResource', 'message' => 'Resource is insufficient.', 'http_code' => 403, 'description' => '资源不足,请您提交工单咨询。'], + ['code' => 'LackOfResource', 'message' => 'Resource is insufficient', 'http_code' => 403, 'description' => 'DTS资源不足,请联系值班扩充资源'], + ['code' => 'LXBuyError', 'message' => 'Buy instance error.', 'http_code' => 403, 'description' => '购买实例出错'], + ['code' => 'LXBuyError', 'message' => 'Buy instance error.get price error, response is error.', 'http_code' => 403, 'description' => '购买实例错误,凌霄返回错误。'], + ['code' => 'LXBuyError', 'message' => 'Buy instance error.create order error, response is error.', 'http_code' => 403, 'description' => '购买实例出错,调用凌霄接口失败'], + ['code' => 'LXBuyError', 'message' => 'Buy instance error.return response is error.', 'http_code' => 403, 'description' => '购买DTS实例错误'], + ['code' => 'LXCreateOrder.NotFoundPricePlan', 'message' => 'Pricing plan price result not found, please check the parameters of the task configuration.', 'http_code' => 403, 'description' => '创建订单失败,定价计划没有找到,可能的原因有:传入的购买参数尚不支持购买、定价缺失、购买参数传入错误。'], + ['code' => 'LXCreateOrderError', 'message' => 'Failed to create order, failure message: The module is invalid', 'http_code' => 403, 'description' => 'DTS跨境同步功能未全网开放,如果需要使用,请填写<a href="https://page.aliyun.com/form/act409679078/index.htm" target="_blank">DTS跨境数据同步权限申请表单</a>进行需求审核'], + ['code' => 'LXPayOrder.InsufficientBalance', 'message' => 'Insufficient balance, order payment failed.', 'http_code' => 403, 'description' => '账户下余额不足,无法完成支付,请充值后重试。'], + ['code' => 'Missing.TagKey', 'message' => 'You must specify the key for value %s in Tag.N.Key.', 'http_code' => 400, 'description' => '同一个N的标签键值对,对应的Value缺失相同Key。'], + ['code' => 'MissingDestinationEndpointPort', 'message' => 'DestinationEndpointPort is mandatory for this action.', 'http_code' => 403, 'description' => '目标端Port为必填参数'], + ['code' => 'MissingDestinationRegion', 'message' => 'DestinationRegion is mandatory for this action.', 'http_code' => 403, 'description' => '目标端region为必填参数'], + ['code' => 'MissingDtsInstanceId', 'message' => 'DtsInstanceId is mandatory for this action.', 'http_code' => 403, 'description' => 'dts实例ID在此API中为必填参数'], + ['code' => 'MissingInstanceClass', 'message' => 'InstanceClass is mandatory for this action.', 'http_code' => 403, 'description' => '实例规格为必填参数'], + ['code' => 'MissingParameter', 'message' => 'The parameter %s is needed but no provided.', 'http_code' => 403, 'description' => '没有提供必填的参数 %s'], + ['code' => 'MissingParameter', 'message' => 'If the parameter is missing, please check whether the displayed parameter is missing and whether the user AK is correct. For details, please refer to the DTS OpenAPI documentation.', 'http_code' => 403, 'description' => '缺少参数,请检查是否缺失所提示的参数以及用户AK是否正确,具体请参照DTS OpenAPI文档。'], + ['code' => 'MissingParameter', 'message' => 'The parameter is needed but no provided.', 'http_code' => 403, 'description' => '必要参数未提供'], + ['code' => 'MissingParameter.TagOrResourceId', 'message' => 'Either Tags or ResourceIds must be specified.', 'http_code' => 400, 'description' => '标签和ResourceId(DTS实例ID)均不可以为空。'], + ['code' => 'MissingSourceEndpointEngineName', 'message' => 'SourceEndpointEngineName is mandatory for this action.', 'http_code' => 403, 'description' => '源端实例引擎类型为必填参数'], + ['code' => 'MissingType', 'message' => 'Type is mandatory for this action.', 'http_code' => 403, 'description' => '此API中,Type是必传参数。'], + ['code' => 'MongoDbGetInstanceAttr.InvokeFail', 'message' => 'MongoDb invoke fail.', 'http_code' => 403, 'description' => '当前MongoDB实例不支持操作'], + ['code' => 'MongoDbGetInstanceList.InvokeFail', 'message' => 'The DBInstanceId provided does not exist in our records.', 'http_code' => 403, 'description' => '当前数据库实例找不到'], + ['code' => 'MongoDbModifyWhiteNames.InvokeFail', 'message' => 'OperationDenied.DBInstanceStatus : The operation is not permitted due to status of instance.', 'http_code' => 403, 'description' => '当前MongoDB实例不支持操作'], + ['code' => 'NetWorkItemNotFound', 'message' => 'The network type %s is not found in the instance.', 'http_code' => 403, 'description' => '实例中未能找到该网络类型。'], + ['code' => 'NetWorkItemNotFound', 'message' => 'The instance not found %s available connection url', 'http_code' => 403, 'description' => '用户实例%s未找到可用的链接地址'], + ['code' => 'NetWorkItemNotFound', 'message' => 'The instance not found available connection url.', 'http_code' => 403, 'description' => '当前数据库实例找不到可用的连接地址'], + ['code' => 'NoPermission', 'message' => 'The user is not authorized to perform the operation.', 'http_code' => 403, 'description' => '用户没有权限执行该操作。'], + ['code' => 'NoPermission.Operator', 'message' => 'The user is not authorized to operate on the specified resource.', 'http_code' => 403, 'description' => '该用户未被授权在指定的资源上进行操作。'], + ['code' => 'NoPermission.SystemTag', 'message' => 'You are not authorized to operate system tag because the product code is invalid.', 'http_code' => 403, 'description' => '由于产品code非法,您未被授权操作该系统标签键。'], + ['code' => 'NotFound.UserDBInstanceList', 'message' => 'No user database instance is found.', 'http_code' => 403, 'description' => '未找到用户数据库实例。'], + ['code' => 'NotFound.UserDBInstanceList', 'message' => 'Not found user db instances', 'http_code' => 403, 'description' => '找不到用户账号下的实例'], + ['code' => 'NotFound.UserDBInstanceList', 'message' => 'Not found user db instances.', 'http_code' => 403, 'description' => '当前数据库实例找不到'], + ['code' => 'NumberExceed.ResourceIds', 'message' => 'The maximum number of ResourceIds is exceeded. The maximum value is 50.', 'http_code' => 400, 'description' => '已超过ResourceId(DTS实例ID)的数量上限(上限:20个),请先删除不需要的ResourceId。'], + ['code' => 'NumberExceed.Tags', 'message' => 'The maximum number of Tags is exceeded. The maximum value is 20.', 'http_code' => 400, 'description' => '已超过标签数量上限(上限:20个),请先删除不需要的标签。'], + ['code' => 'OperationDenied.ConsumerGroupOutOfUsage', 'message' => 'The consumer group %s exceeds the limit.', 'http_code' => 403, 'description' => '单个DTS订阅实例中创建的消费组超过限制数量(上限:20个)。请根据业务需要,删除部分消费组。'], + ['code' => 'OperationDenied.DBInstanceStatus', 'message' => 'The operation is not permitted because the database instance status is %s.', 'http_code' => 403, 'description' => '当前数据库实例状态不允许执行该操作。'], + ['code' => 'OperationDenied.DBInstanceStatus', 'message' => 'The operation is not permitted due to db instance status is %s', 'http_code' => 403, 'description' => '当前数据实例的状态 %s 不允许执行此类操作'], + ['code' => 'OperationDenied.DBInstanceType', 'message' => 'The database instance %s does not permit the operation.', 'http_code' => 403, 'description' => '当前数据库实例不允许执行该操作。'], + ['code' => 'OperationDenied.DBInstanceType', 'message' => 'The operation is not permitted to db instance %s', 'http_code' => 403, 'description' => '此类数据库 %s 不允许执行该操作'], + ['code' => 'OperationDenied.JobStatus', 'message' => 'The operation is not permitted due to DTS job status %s.', 'http_code' => 403, 'description' => 'DTS任务状态异常,不允许执行该操作。'], + ['code' => 'OperationDenied.JobStatus', 'message' => 'The operation is not permitted because the DTS job status is %s.', 'http_code' => 403, 'description' => '当前DTS任务状态不允许执行该操作。'], + ['code' => 'OperationDenied.JobStatus', 'message' => 'The operation is not permitted due to Dts job status is %s', 'http_code' => 403, 'description' => '当前任务的状态 %s 不允许执行此操作'], + ['code' => 'OperationDenied.JobStatus', 'message' => 'When the task is in the prompting state, the operation is not allowed. Please check the task status. Other operations are allowed only when the pre-check is passed.', 'http_code' => 403, 'description' => '任务处于提示中状态时,不允许操作,请检查任务状态,预检查通过状态下才允许其他操作'], + ['code' => 'OperationDenied.JobStatus', 'message' => 'The operation is not permitted because the DTS job status.', 'http_code' => 403, 'description' => '当前DTS任务状态不允许执行当前操作'], + ['code' => 'OperationDenied.JobStatusModifying', 'message' => 'jobs state is modifying, please wait sync subtask ends', 'http_code' => 403, 'description' => '该任务处于修改同步对象中(之前修改同步对象操作尚未完成),请等待该状态结束'], + ['code' => 'OperationDenied.NotPurchased', 'message' => 'The instance has not been purchased and the task cannot be started.', 'http_code' => 403, 'description' => '任务尚未购买,无法启动。'], + ['code' => 'OperationDenied.ResourceOutOfUsage', 'message' => 'The maximum number of InstanceIds is exceeded. The maximum value is 200.', 'http_code' => 403, 'description' => '实例ID的数量超过上限(上限:200个)。'], + ['code' => 'Original.Job.Running', 'message' => 'The parent dts job is running, reverse job cannot been startup.', 'http_code' => 403, 'description' => '原任务正在运行,反向任务不能启动。'], + ['code' => 'PolarDbInvokeFail', 'message' => 'PolarDb invoke fail', 'http_code' => 403, 'description' => '调用PolarDb接口失败'], + ['code' => 'QuotaExceed.TagsPerResource', 'message' => 'The maximum number of tags for each resource is exceeded.', 'http_code' => 403, 'description' => '已超过标签数量上限,请先删除不需要的标签。'], + ['code' => 'RdsGetInstanceList.InvokeFail', 'message' => 'SDK.ReadTimeout : SocketTimeoutException has occurred on a socket read or accept.The url is http://rds.aliyuncs.com/ - DbInstanceId null.', 'http_code' => 403, 'description' => '获取RDS实例失败'], + ['code' => 'RdsGetWhiteNames.InvokeFail', 'message' => 'SDK.ReadTimeout : SocketTimeoutException has occurred on a socket read or accept.The url is http://rds.aliyuncs.com/ - DbInstanceId rm-wz98850woxxd18s1l - ModuleName:Add a whitelist to the source database.', 'http_code' => 403, 'description' => '修改RDS实例白名单失败'], + ['code' => 'RdsInvokeFail', 'message' => 'Failed to call the RDS interface.', 'http_code' => 403, 'description' => '调用RDS接口失败。'], + ['code' => 'RdsInvokeFail', 'message' => 'rds invoke fail', 'http_code' => 403, 'description' => '调用rds接口失败'], + ['code' => 'RedisError', 'message' => 'A redis error occurred caused by: %s', 'http_code' => 403, 'description' => '%s 造成了配置redis相关任务时失败'], + ['code' => 'RedisError', 'message' => 'A redis error occurred caused by: %s.', 'http_code' => 403, 'description' => '配置Rdis相关任务失败'], + ['code' => 'RedisGetInstanceConnection.InvokeFail', 'message' => 'InvalidInstanceId.NotFound : The InstanceId provided does not exist in our records.', 'http_code' => 403, 'description' => '当前Redis找不到相关记录'], + ['code' => 'RedisInvokeFail', 'message' => 'redis cluster not support taskType: OTHER.', 'http_code' => 403, 'description' => '当前不支持公网接入的Redis集群'], + ['code' => 'RedisModifyWhiteNames.InvokeFail', 'message' => 'The system security ip group cannot be modified.', 'http_code' => 403, 'description' => '当前Redis不支持修改安全组'], + ['code' => 'ReverseJob.Exists', 'message' => 'The operation is not permitted due to reverse Dts job is already exists.', 'http_code' => 403, 'description' => '创建失败,反向任务已经存在。'], + ['code' => 'ServiceUnavailable', 'message' => 'The request has failed due to a temporary failure of the server.', 'http_code' => 500, 'description' => '由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。'], + ['code' => 'SignatureNonceUsed', 'message' => 'Specified signature nonce was used already.', 'http_code' => 400, 'description' => 'SignatureNonce在15分钟内不允许重复,以避免表单重复提交,同时也能避免回放攻击,因此每个请求都需要生成一个唯一的SignatureNonce。'], + ['code' => 'SQLExecuteError', 'message' => 'SQL execute failed with cause %s', 'http_code' => 403, 'description' => '执行SQL操作失败。'], + ['code' => 'SQLExecuteError', 'message' => 'Describe schema error.', 'http_code' => 403, 'description' => '获取源端库表信息出现问题'], + ['code' => 'SQLExecuteError.AccessDenied', 'message' => 'Access denied for input user.', 'http_code' => 403, 'description' => '测试链接或者配置任务过程中获取源库连接失败,请检查用户名密码是否满足权限需求。'], + ['code' => 'SQLExecuteError.ConnectionRefused', 'message' => 'Connection refused, the Network Adapter could not establish the connection.', 'http_code' => 403, 'description' => '数据库拒绝链接,可能的原因:监听器(listener process)配置不正确或者未运行,或者其他拒绝连接的情况,如负载过高。'], + ['code' => 'SQLExecuteError.JDBC4CommunicationsException', 'message' => 'Communications link failure,The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.', 'http_code' => 403, 'description' => '通讯链路故障,JDBC驱动程序最后一个数据包成功发送到源数据库服务器,但没有收到来自源数据库的任何数据包。'], + ['code' => 'SrcLink.InternetAddressNotFound', 'message' => 'Data instances in different regions use migration tasks, and the source data instance must have '."\n" + .'a public network address. Please open a public network address or use a synchronization task.', 'http_code' => 403, 'description' => '不同region的数据实例使用迁移任务,源端数据实例必须有公网地址。请开通公网地址或使用同步任务'], + ['code' => 'StopJobFailed.ServerUnAvailable', 'message' => 'Pause task failed because node service could not be connected.', 'http_code' => 403, 'description' => 'DTS下node服务器无法连接,请重试,重试后仍出现请联系技术支持。'], + ['code' => 'SubJobNotCompleted', 'message' => 'sub job has not been completed, please wait', 'http_code' => 403, 'description' => '同步子任务尚未完成,请完成之后再试'], + ['code' => 'SystemError', 'message' => 'Something went wrong with the service, please try again', 'http_code' => 503, 'description' => '服务出现了一些异常,请重试'], + ['code' => 'Throttling.User', 'message' => 'Request was denied due to user flow control.', 'http_code' => 400, 'description' => '由于请求频次达到阈值,请求被拒绝,请稍后重试。'], + ['code' => 'UnSupported', 'message' => 'The action %s is not supported.', 'http_code' => 403, 'description' => '不支持执行该操作。'], + ['code' => 'UnSupportedTaskType', 'message' => 'The task type with source %s and destination %s is not supported.', 'http_code' => 403, 'description' => '该数据库不支持作为源数据库或目标数据库。DTS支持的数据库,请参见<a href=\'https://help.aliyun.com/document_detail/131497.html\' target=\'_blank\'>支持的数据库</a>。'], + ['code' => 'UnSupportedTaskType', 'message' => 'Not support the task which is from this source to this destination.', 'http_code' => 403, 'description' => '任务不支持该源端到目标端'], + ['code' => 'UpdateJob.OperationDenied.InitStatus', 'message' => 'The operation is not permitted due to Dts job status is init.', 'http_code' => 403, 'description' => '当前任务已经启动,无法修改,请使用重新配置任务功能(已配置任务会丢失)或者修改同步对象功能'], + ['code' => 'VpcInvokeFail', 'message' => 'Failed to call the VPC interface.', 'http_code' => 403, 'description' => '调用VPC接口失败。'], + ['code' => 'VpcInvokeFail', 'message' => 'vpc invoke fail', 'http_code' => 403, 'description' => '调用VPC接口失败'], + ], + 'changeSet' => [], + 'ram' => [ + 'productCode' => 'DTS', + 'productName' => '数据传输服务', + 'ramCodes' => ['dts'], + 'ramLevel' => '资源级', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'DescribeConnectionStatus', + 'description' => '测试迁移任务的连通性', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dts:DescribeConnectionStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListTagResources', + 'description' => '查询标签', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeCheckJobs', + 'description' => '当前账号创建的所有校验任务的任务列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeCheckJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SuspendDtsJobs', + 'description' => '批量暂停DTS任务', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:SuspendDtsJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'UpgradeTwoWay', + 'description' => '升级单向同步至双向同步', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:UpgradeTwoWay', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateConsumerGroup', + 'description' => '创建消费组', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'dts:CreateConsumerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeDataCheckTableDetails', + 'description' => '校验任务校验结果', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDataCheckTableDetails', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'PreCheckCreateGadOrder', + 'description' => 'GAD全球热活实例组创建预检查', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:PreCheckCreateGadOrder', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeTagValues', + 'description' => '查找标签键对应的所有值', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeTagValues', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ConfigureSubscriptionInstance', + 'description' => '配置订阅通道', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:ConfigureSubscriptionInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeDocParserJobStatus', + 'description' => '查询文档解析任务的状态', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDocParserJobStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SwitchPhysicalDtsJobToCloud', + 'description' => 'MSSQL物理迁移上云', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:SwitchPhysicalDtsJobToCloud', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'TransferPayType', + 'description' => '修改付费方式', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:TransferPayType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteSynchronizationJob', + 'description' => '释放同步实例', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dts:DeleteSynchronizationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeSubscriptionInstances', + 'description' => '查询订阅实例列表及各实例详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeSubscriptionInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ConfigureMigrationJob', + 'description' => '配置数据迁移任务', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ConfigureMigrationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ConfigureMigrationJobAlert', + 'description' => '配置迁移任务的监控报警', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:ConfigureMigrationJobAlert', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeMigrationJobs', + 'description' => '查询迁移实例列表及各实例详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeMigrationJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ModifyDynamicConfig', + 'description' => '调整迁移速率', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'dts:ModifyDynamicConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeMigrationJobDetail', + 'description' => '数据迁移任务执行详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeMigrationJobDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeEtlJobLogs', + 'description' => '查询ETL任务日志', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'dts:DescribeEtlJobLogs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ResetSynchronizationJob', + 'description' => '清空同步作业配置', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ResetSynchronizationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:*:{#accountId}:instance/{#DtsInstanceId}'], + ], + ], + ], + [ + 'apiName' => 'TransferInstanceClass', + 'description' => '升级DTS实例规格', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:TransferInstanceClass', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ConvertInstanceResourceGroup', + 'description' => '修改DTS实例的资源组', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ConvertInstanceResourceGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeDtsJobDetail', + 'description' => '查询一个DTS任务详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDtsJobDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeSubscriptionMeta', + 'description' => '查询PolarDB-X 1.0分布式订阅任务的子任务信息', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeSubscriptionMeta', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeJobMonitorRule', + 'description' => '查询DTS任务告警规则', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeJobMonitorRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'CreateDtsInstance', + 'description' => '购买DTS实例', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:CreateDtsInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:*:{#accountId}:instance/*'], + ], + ], + ], + [ + 'apiName' => 'DeleteConsumerGroup', + 'description' => '删除消费组', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'dts:DeleteConsumerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeSubscriptionInstanceStatus', + 'description' => '查看订阅通道实例状态详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeSubscriptionInstanceStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ConfigureSynchronizationJob', + 'description' => '配置数据同步作业', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:ConfigureSynchronizationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeGadInstances', + 'description' => '查询热活实例组列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'dts:DescribeGadInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'TagResources', + 'description' => '创建标签', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ModifyConsumerChannel', + 'description' => '修改订阅通道中消费组', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'dts:ModifyConsumerChannel', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ModifyDtsJobName', + 'description' => '修改DTS任务名称', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyDtsJobName', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteDtsJobs', + 'description' => '批量释放DTS任务', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dts:DeleteDtsJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteMigrationJob', + 'description' => '释放迁移实例', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dts:DeleteMigrationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeSynchronizationJobs', + 'description' => '查询数据同步实例列表及各实例详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeSynchronizationJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeDtsJobs', + 'description' => '查询DTS任务列表及各任务执行详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDtsJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:*:{#accountId}:instance/*'], + ], + ], + ], + [ + 'apiName' => 'ConfigureSynchronizationJobAlert', + 'description' => '配置同步作业的监控报警', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:ConfigureSynchronizationJobAlert', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeDataCheckReportUrl', + 'description' => '查询校验报告的下载地址', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDataCheckReportUrl', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeMetricList', + 'description' => '查看集群监控信息', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'dts:DescribeMetricList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteDtsJob', + 'description' => '释放DTS实例', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dts:DeleteDtsJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'PromoteToMaster', + 'description' => '异地灾备实例从角色转为主角色', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:PromoteToMaster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'WhiteIpList', + 'description' => '查询DTS服务的IP地址', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:WhiteIpList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateSubscriptionInstance', + 'description' => '创建数据订阅通道', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:CreateSubscriptionInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateConsumerChannel', + 'description' => '创建订阅任务消费组', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:CreateConsumerChannel', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ModifyDtsJobEndpoint', + 'description' => '修改DTS任务的源或目标库实例', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyDtsJobEndpoint', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribePreCheckCreateGadOrderResult', + 'description' => '查询预检查结果', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribePreCheckCreateGadOrderResult', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeDtsEtlJobVersionInfo', + 'description' => '查询ETL任务详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDtsEtlJobVersionInfo', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateMigrationJob', + 'description' => '购买迁移实例', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:CreateMigrationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListDedicatedCluster', + 'description' => '查询集群列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'dts:ListDedicatedCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SkipPreCheck', + 'description' => '是否屏蔽预检查告警项目', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:SkipPreCheck', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'StartReverseWriter', + 'description' => '启动反向任务', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:StartReverseWriter', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ModifyDtsJobDedicatedCluster', + 'description' => '修改DTS任务的集群环境', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyDtsJobDedicatedCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:*:{#accountId}:instance/{#DtsInstanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeConsumerChannel', + 'description' => '查询订阅任务的消费组详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeConsumerChannel', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'RenewInstance', + 'description' => '为DTS实例续费', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:RenewInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'SummaryJobDetail', + 'description' => '获取DTS任务迁移表的信息', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:SummaryJobDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribePreCheckStatus', + 'description' => '查询DTS子任务执行状态', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribePreCheckStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeDedicatedClusterMonitorRule', + 'description' => '查询报警规则', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDedicatedClusterMonitorRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#AccountId}:instance/{#DtsInstanceId}'], + ], + ], + ], + [ + 'apiName' => 'ModifyGadInstanceName', + 'description' => '修改GAD实例组名称', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyGadInstanceName', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SuspendDtsJob', + 'description' => '暂停DTS任务', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:SuspendDtsJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ConfigureDtsJob', + 'description' => '配置DTS迁移或同步任务', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ConfigureDtsJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteConsumerChannel', + 'description' => '删除订阅任务消费组', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'dts:DeleteConsumerChannel', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'StopDedicatedCluster', + 'description' => '释放集群', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:StopDedicatedCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UntagResources', + 'description' => '解绑标签', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CountJobByCondition', + 'description' => '按条件统计任务', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dts:CountJobByCondition', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StartDtsJob', + 'description' => '启动DTS实例', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:StartDtsJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DetachGadInstanceDbMember', + 'description' => '移除从角色', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:DetachGadInstanceDbMember', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SkipFullJobTable', + 'description' => '跳过全量阶段不需要同步的表', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:SkipFullJobTable', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'SwitchSynchronizationEndpoint', + 'description' => '切换同步连接信息', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:SwitchSynchronizationEndpoint', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'CreateDedicatedClusterMonitorRule', + 'description' => '创建报警规则', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:CreateDedicatedClusterMonitorRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'StopDtsJob', + 'description' => '结束DTS任务', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:StopDtsJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ModifyDtsJobPassword', + 'description' => '修改作业密码', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyDtsJobPassword', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeDataCheckTableDiffDetails', + 'description' => '校验任务校验结果', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDataCheckTableDiffDetails', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateDocParserJob', + 'description' => '创建文档解析任务', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:CreateDocParserJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'InitDtsRdsInstance', + 'description' => '初始化单元节点中DTS使用的内置账号', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:InitDtsRdsInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateSynchronizationJob', + 'description' => '创建一个数据同步作业实例', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:CreateSynchronizationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeConsumerGroup', + 'description' => '查询订阅实例中消费组详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeConsumerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ConfigureSubscription', + 'description' => '配置DTS订阅任务', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:ConfigureSubscription', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ModifyDtsJob', + 'description' => '修改DTS同步任务', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyDtsJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeSynchronizationJobReplicatorCompare', + 'description' => '获取当前镜像匹配开关配置', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeSynchronizationJobReplicatorCompare', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'CreateJobMonitorRule', + 'description' => '创建或修改任务告警规则', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:CreateJobMonitorRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeFullProcessList', + 'description' => '描述完整流程列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeFullProcessList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ModifySubscriptionObject', + 'description' => '修改订阅对象', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifySubscriptionObject', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ModifyDtsJobDuLimit', + 'description' => '修改作业DU上限', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyDtsJobDuLimit', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ModifySubscription', + 'description' => '修改DTS订阅任务', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifySubscription', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeTagKeys', + 'description' => '查找DTS服务所有的标签', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeTagKeys', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StartSubscriptionInstance', + 'description' => '启动订阅数据订阅实例通道', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:StartSubscriptionInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeDedicatedCluster', + 'description' => '查询指定集群详细信息', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'dts:DescribeDedicatedCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeSubscriptionInstanceAlert', + 'description' => '查询订阅实例的监控报警', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeSubscriptionInstanceAlert', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ModifyJobStepCheckpoint', + 'description' => '修改DTS任务增量写入的当前位点', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:ModifyJobStepCheckpoint', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteSubscriptionInstance', + 'description' => '释放订阅实例', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dts:DeleteSubscriptionInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeDocParserJobResult', + 'description' => '获取文档解析任务的结果', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDocParserJobResult', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StartDtsJobs', + 'description' => '批量启动DTS任务', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:StartDtsJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ShieldPrecheck', + 'description' => '屏蔽预检查', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:ShieldPrecheck', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListJobStep', + 'description' => '查询DTS任务步骤列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'dts:ListJobStep', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeEndpointSwitchStatus', + 'description' => '修改数据库连接信息', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeEndpointSwitchStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SuspendSynchronizationJob', + 'description' => '暂停同步作业', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:SuspendSynchronizationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ModifySynchronizationObject', + 'description' => '修改数据同步作业实例同步对象', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifySynchronizationObject', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeDtsServiceLog', + 'description' => '查询任务日志', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDtsServiceLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeClusterUsedUtilization', + 'description' => '查看集群当前使用量', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeClusterUsedUtilization', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeSynchronizationJobStatus', + 'description' => '查询同步作业的运行状态', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeSynchronizationJobStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'CreateReverseDtsJob', + 'description' => '创建反向任务', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:CreateReverseDtsJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeDTSIP', + 'description' => '获取白名单需要添加的DTS IP地址', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeDTSIP', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ModifyDtsJobConfig', + 'description' => '修改作业配置', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyDtsJobConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'StopDtsJobs', + 'description' => '批量结束DTS任务', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:StopDtsJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ResetDtsJob', + 'description' => '重置DTS任务', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ResetDtsJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ConfigureSynchronizationJobReplicatorCompare', + 'description' => '配置同步时全镜像匹配开关', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dts:ConfigureSynchronizationJobReplicatorCompare', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeMigrationJobStatus', + 'description' => '查询数据迁移任务的状态', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeMigrationJobStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ModifyDedicatedCluster', + 'description' => '修改集群配置', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dts:ModifyDedicatedCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeClusterOperateLogs', + 'description' => '查询集群日志信息', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dts:DescribeClusterOperateLogs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DTS', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ], + ], + ], ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'dts.ap-northeast-1.aliyuncs.com', + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:dts:*:{#accountId}:instance/*'], + ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/{#instanceId}'], + ['validationType' => 'always', 'resourceType' => 'GAD', 'arn' => 'acs:dts:{#regionId}:{#accountId}:gad/*'], + ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#Region}:{#accountId}:instance/{#DtsInstanceId}'], + ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:dts:*:{#accountId}:instance/{#DtsInstanceId}'], + ['validationType' => 'always', 'resourceType' => 'MigrationJob', 'arn' => 'acs:dts:*:{#accountId}:migrationjob/{#DtsJobId}'], + ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#accountId}:instance/*'], + ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:dts:*:*:instance/*'], + ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:dts:*:{#token-account-uid}:instance/*'], + ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:*:instance/{#instanceId}'], + ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:dts:{#regionId}:{#AccountId}:instance/{#DtsInstanceId}'], ], ], ]; |
