This topic describes the SubmitPreCheck API provided by OceanBase Migration Service (OMS): precheck a task.
Purpose
This interface is used to perform a precheck on a created data migration, synchronization, or verification task.
Call description
Limitations
This interface applies to OMS V4.2.2 and later.
Request path
POST /api/v2?Action=SubmitPreCheck
Request parameters
| Parameter | Type | Description |
|---|---|---|
| name | string | The name of the data migration, data synchronization, or data verification task. The name cannot contain spaces. |
| projectId | string | The ID of the data migration, data synchronization, or data verification task. |
| subProject | boolean | Specifies whether to perform precheck for an increase or decrease objects task. |
| type | string | The type of the task. MIGRATION indicates a data migration task, SYNC indicates a data synchronization task, and VERIFY indicates a data verification task. |
| labelIds | array | The IDs of the labels. At most five IDs are supported. |
| sourceEndpointId | string | The ID of the source data source. You must call the ListDataSource interface to obtain the ID, in the format of e_****. |
| sinkEndpointId | string | The ID of the target data source. You must call the ListDataSource interface to obtain the ID, in the format of e_****. |
| transferMapping | object | The mapping information of the migration objects. |
| ├─ mode | string | The object mapping mode. Valid values: SPECIFIC (specified objects), WILDCARD (matching rules), and COMPLEX (contains both matching rules and specific objects). |
| ├─ databases | object [] | The list of database objects. For more information, see "Parameters in databases/databasesBlack". |
| ├─ databasesBlack | object [] | The list of blacklisted database objects in the matching rules mode. For more information, see "Parameters in databases/databasesBlack". |
| ├─ tableAndViewWhiteList | array | The wildcard whitelist of tables and views in the matching rules mode. |
| ├─ tableAndViewBlackList | array | The wildcard blacklist of tables and views in the matching rules mode. |
| commonTransferConfig | object | The common migration configuration. |
| ├─ tableCategory | string | The type of the supported table. Valid values: ALL (all tables), WITH_UNIQUE_ROW_ID (tables with unique row identifiers), and WITHOUT_UNIQUE_ROW_ID (tables without unique row identifiers). Default value: ALL. |
| ├─ activeActive | boolean | Specifies whether the scenario is a disaster recovery active-active scenario (deprecated in OMS V4.3.1). |
| ├─ mqSerializerType | string | The JSON serialization type when data is delivered to a message queue. Valid values: DEFAULT, CANAL, DATAWORKS_V2, SHAREPLEX, DEFAULT_WITH_SCHEMA, DEBEZIUM, DEBEZIUMFLATTEN, and DEBEZIUMSMT. |
| ├─ mqPartitionMode | string | The partition routing mode when data is delivered to a message queue. Valid values: ONE (specify the partition for delivery), HASH (hash partitioning based on primary keys or shard column values), and TABLE (hash partitioning based on database and table names). |
| ├─ mqPartition | integer | The position of the partition for delivery under the current topic when partitionMode is ONE. |
| ├─ datahubTopicType | string | The type of the topic when data is delivered to a DataHub instance. Valid values: TUPLE and BLOB. |
| ├─ rocketMqProducerGroup | string | The name of the producer group. This parameter takes effect only when the target is a RocketMQ database. Default value: OMS. |
| ├─ rocketMqMsgTags | string | The message tags. This parameter takes effect only when the target is a RocketMQ database. Default value: default_tag. When the value of this parameter is default, _tag is appended to the value. |
| ├─ rocketMqEnableMsgTrace | boolean | Specifies whether to enable message tracing. This parameter takes effect only when the target is a RocketMQ database. |
| ├─ rocketMqSendMsgTimeout | long | The timeout period for message delivery. This parameter takes effect only when the target is a RocketMQ database. |
| ├─ dataWorksBusinessName | string | The identifier of the business system. This parameter identifies the business system that is the source of data, so that you can process the data as needed in the future. This parameter is supported only when the serialization method is DataWorks. The length of the value of this parameter must be 1 to 20 characters. |
| ├─ sinkStoreFormat | string | The storage type of the target table object. Valid values: Default, Row Storage, Column Storage, and Hybrid Row-Column Storage. This parameter takes effect only when the target OceanBase Database is V4.3.0 or later and the migration type is DDL synchronization or Incremental Synchronization > DDL synchronization. |
| ├─ sourceStoreFormat | string | The storage type of the source table object. Valid values: Default, Row Storage, Column Storage, and Hybrid Row-Column Storage. This parameter takes effect only when the source OceanBase Database is V4.3.0 or later and the migration type is Reverse Increment > DDL synchronization. |
| ├─ enableHiddenColumnsAndIndex | boolean | Specifies whether to add hidden columns and indexes for tables without a non-null unique key in the following five types of data migration tasks: Oracle to OB_MySQL, Oracle to OB_Oracle, OB_MySQL to OB_MySQL, OB_Oracle to OB_Oracle, and OB_Oracle to Oracle. |
| enableStructTransfer | boolean | Specifies whether to allow schema migration. |
| structTransferConfig | object | The schema migration configuration. |
| ├─ byteCharConvertStrategy | string | The byte/character conversion strategy. Valid values: IGNORE_BYTE_IF_BYTE_USED, FORCE_CHAR_IF_BYTE_USED, EXPAND_LEN_IF_BYTE_USED, and DO_NOTHING_IF_BYTE_USED (default value). |
| ├─ deferIndexCreation | boolean | Specifies whether to allow index creation to be postponed. Default value: false. |
| enableFullTransfer | boolean | Specifies whether to enable full migration. |
| enableFullVerify | boolean | Specifies whether to enable full verification. |
| enableCountVerify | boolean | Specifies whether to enable row count verification. |
| enableIncrVerify | boolean | Specifies whether to enable incremental verification. |
| fullTransferConfig | object | The full migration configuration. |
| ├─ nonePkUkTruncateDstTable | boolean | Specifies whether to truncate the target table when full migration is performed for a source table without a unique index. |
| ├─ allowDestTableNotEmpty | boolean | The processing strategy when the target table contains records. Valid values: Ignore and Stop Migration.
|
| ├─ fullTransferSpeedMode | string | The full migration speed. Valid values: STEADY, NORMAL, FAST, and CUSTOM. |
| ├─ fullTransferSpeedConfig | string | The full migration speed configuration. This parameter takes effect only when fullTransferSpeedMode is CUSTOM. |
| │ ├─ memory | integer | The memory limit. Unit: GB. |
| │ ├─ readerWorkerNum | integer | The number of concurrent readers. |
| │ ├─ writerWorkerNum | integer | The number of concurrent writers. |
| ├─ fullVerifySpeedMode | string | The full verification speed. Valid values: STEADY, NORMAL, FAST, and CUSTOM. |
| ├─ fullVerifySpeedConfig | string | The full verification speed configuration. This parameter takes effect only when fullVerifySpeedMode is CUSTOM. |
| │ ├─ memory | integer | The memory limit. Unit: GB. |
| │ ├─ readerWorkerNum | integer | The number of concurrent readers. |
| │ ├─ writerWorkerNum | integer | The number of concurrent writers. |
| ├─ throttleRps | integer | The maximum allowed transfer rate in records per second during full migration. Enter null to indicate no limit on RPS. |
| ├─ throttleIOPS | integer | The maximum allowed transfer volume in bytes per second during full migration. Enter null to indicate no limit on IOPS. |
| enableIncrTransfer | boolean | Specifies whether to enable incremental synchronization. |
| enableReverseIncrTransfer | boolean | Specifies whether to enable reverse incremental synchronization. |
| incrTransferConfig | object | The incremental synchronization configuration. |
| ├─ startTimestamp | string | The start timestamp of incremental synchronization. This parameter is supported only when incremental synchronization is enabled but full migration is not enabled. |
| ├─ recordTypeWhiteList | array | The incremental data types to be synchronized in the incremental synchronization phase. Valid values: HEARTBEAT, INSERT, UPDATE, DELETE, BEGIN, COMMIT, ROLLBACK, DDL, and ROW. |
| ├─ storeLogKeptHour | integer | The log retention period in hours when the incremental log pull component is a store. The default value is 7, indicating seven days, and the maximum value is 365. |
| ├─ enableSequencingWithinTxn | boolean | Specifies whether to enable sequence number arrangement within a transaction when the incremental log pull component is a store. |
| ├─ enableIncrSyncStatistics | boolean | Specifies whether to enable statistics collection for incremental records (DML and DDL). |
| ├─ incrOnlineDdlConfig | array | The value of this parameter must be specified in the following format: [toolName, toolValue]. toolName: The name of the online DDL tool. Valid values: GH_OST, PT_OSC, and ALIYUN_DMS, which respectively indicate the gh-ost, pt-osc, and Alibaba Cloud DMS tools.
|
| ├─ incrSyncConcurrency | integer | The number of threads for incremental synchronization. Default value: 64. |
| ├─ incrLogPullSpeedMode | string | The incremental log pull speed. Valid values: STEADY (low), NORMAL (medium), FAST (high), and CUSTOM (custom). |
| ├─ incrLogPullSpeedConfig | object | The incremental log pull resource configuration. This parameter takes effect only when incrLogPullSpeedMode is CUSTOM. |
| │ ├─ memory | integer | The memory limit for incremental log pull. |
| ├─ incrLogSyncSpeedMode | string | The incremental data write speed. Valid values: STEADY (low), NORMAL (medium), FAST (high), and CUSTOM (custom). |
| ├─ incrLogSyncSpeedConfig | object | The incremental data write resource configuration. This parameter takes effect only when incrLogSyncSpeedMode is CUSTOM. |
| │ ├─ memory | integer | The memory limit for incremental log write. |
| │ ├─ writerWorkerNum | integer | The number of concurrent writers for incremental logs. |
| ├─ throttleRps | integer | The maximum allowed transfer rate in records per second during incremental synchronization. Enter null to indicate no limit on RPS. |
| ├─ throttleIOPS | integer | The maximum allowed transfer volume in bytes per second during incremental synchronization. Enter null to indicate no limit on IOPS. |
| ├─ supportDDLTypes | array | The supported DDL types.
|
| reverseIncrTransferConfig | object | The reverse incremental synchronization configuration. |
| ├─ startTimestamp | string | The start timestamp of reverse incremental synchronization. This parameter is supported only when incremental synchronization is enabled but full migration is not enabled. |
| ├─ recordTypeWhiteList | array | The incremental data types to be synchronized in the reverse incremental synchronization phase. Valid values: HEARTBEAT, INSERT, UPDATE, DELETE, BEGIN, COMMIT, ROLLBACK, DDL, and ROW. |
| ├─ storeLogKeptHour | integer | The log retention period in hours when the incremental log pull component is a store. The default value is 7, indicating seven days, and the maximum value is 365. |
| ├─ enableSequencingWithinTxn | boolean | Specifies whether to enable sequence number arrangement within a transaction when the incremental log pull component is a store. |
| ├─ enableIncrSyncStatistics | boolean | Specifies whether to enable statistics collection for reverse incremental records (DML and DDL). |
| ├─ incrOnlineDdlConfig | array | The value of this parameter must be specified in the following format: [toolName, toolValue]. toolName: The name of the online DDL tool. Valid values: GH_OST, PT_OSC, and ALIYUN_DMS, which respectively indicate the gh-ost, pt-osc, and Alibaba Cloud DMS tools.
|
| ├─ incrSyncConcurrency | integer | The number of threads for reverse incremental synchronization. Default value: 64. |
| ├─ incrLogPullSpeedMode | string | The reverse incremental log pull speed. Valid values: STEADY (low), NORMAL (medium), FAST (high), and CUSTOM (custom). |
| ├─ incrLogPullSpeedConfig | object | The reverse incremental log pull resource configuration. This parameter takes effect only when incrLogPullSpeedMode is CUSTOM. |
| │ ├─ memory | integer | The memory limit for reverse incremental log pull. |
| ├─ incrLogSyncSpeedMode | string | The reverse incremental data write speed. Valid values: STEADY (low), NORMAL (medium), FAST (high), and CUSTOM (custom). |
| ├─ incrLogSyncSpeedConfig | object | The reverse incremental data write resource configuration. This parameter takes effect only when incrLogSyncSpeedMode is CUSTOM. |
| │ ├─ memory | integer | The memory limit for reverse incremental log write. |
| │ ├─ writerWorkerNum | integer | The number of concurrent writers for reverse incremental logs. |
| ├─ throttleRps | integer | The maximum allowed transfer rate in records per second during reverse incremental synchronization. Enter null to indicate no limit on RPS. |
| ├─ throttleIOPS | integer | The maximum allowed transfer volume in bytes per second during reverse incremental synchronization. Enter null to indicate no limit on IOPS. |
| ├─ supportDDLTypes | array | The supported DDL types.
|
| fullVerifyConfig | object | The full verification configuration. When enableFullVerify is false, fullVerifyConfig is null. When enableFullVerify is true, you must configure the following subparameters. |
| ├─ sourceThreads | integer | The number of concurrent threads on the source end, which ranges from 1 to 512. |
| ├─ sinkThreads | integer | The number of concurrent threads on the destination end, which ranges from 1 to 512. |
| ├─ mode | string | The verification mode. Valid values: AUTO (adaptive verification) and IN (IN mode verification). |
| ├─ sourceThrottleBps | integer | The BPS limit on the source end, which ranges from 1 to 1024. The unit is MiB/s. If this parameter is not specified, no limit is set. |
| ├─ sinkThrottleBps | integer | The BPS limit on the destination end, which ranges from 1 to 1024. The unit is MiB/s. If this parameter is not specified, no limit is set. |
| ├─ enableHiddenColumnsAndIndex | boolean | Whether to add hidden columns and indexes to tables without non-null unique keys. This parameter is applicable to the following five types of data verification tasks: Oracle -> OB_MySQL, Oracle -> OB_Oracle, OB_MySQL -> OB_MySQL, OB_Oracle -> OB_Oracle, and OB_Oracle -> Oracle. |
| countVerifyConfig | object | The row count verification configuration. When enableCountVerify is false, countVerifyConfig is null. When enableCountVerify is true, you must configure the following subparameters. |
| ├─ sourceThreads | integer | The number of concurrent threads on the source end, which ranges from 1 to 512. |
| ├─ sinkThreads | integer | The number of concurrent threads on the destination end, which ranges from 1 to 512. |
| ├─ concurrencyTablesNumber | integer | The number of tables to be verified concurrently. The value applies to both the source and destination ends. The value ranges from 1 to 100. |
| ├─ queryTimeout | integer | The query timeout period, which applies to both the source and destination ends. The value ranges from 1 to 1440. The unit is seconds. |
| incrVerifyConfig | object | The incremental verification configuration. When enableIncrVerify is false, incrVerifyConfig is null. When enableIncrVerify is true, you must configure the following subparameters. |
| ├─ startCheckpoint | string | The start point of incremental verification, which ranges from Now-7d to Now+7d. The value is a timestamp. |
| ├─ endCheckpoint | string | The end point of incremental verification, which ranges from startCheckpoint to +00. The value is a timestamp. If this parameter is not specified, incremental verification continues until the end of the data. |
| ├─ initialInspectionCooldownTimeout | integer | The cooldown period for hot data during initial inspection. |
| ├─ initialInspectionDelayTimeout | integer | The period for detecting inconsistent data during initial inspection. |
| ├─ reInspectionThreads | integer | The number of concurrent threads for reinspection, which ranges from 1 to 512. |
| ├─ reInspectionthrottleBps | integer | The BPS limit for reinspection, which ranges from 1 to 1024. The unit is MiB/s. If this parameter is not specified, no limit is set. |
| ├─ reInspectiontolerateTimeout | integer | The maximum reinspection time, in minutes. |
| ├─ reInspectionRounds | integer | The maximum number of reinspection rounds. |
| ├─ reInspectionDiffWaitMaxIntervalMs | long | The maximum waiting time for reinspection. |
Parameters in databases/databasesBlack
Parameter Type Description mappedName string The name of the database in the target. name string The name of the database in the source. id string The ID of the database. tables array The configurations of table objects to be migrated in the current database. When modeisWILDCARD, this parameter specifies the configurations of blacklisted or whitelisted tables and views.├─ mappedName string The mapped name of the table. ├─ name string The name of the table. ├─ id string The ID of the table. ├─ whereClause string The WHEREclause in the standard SQL statement for configuring row filtering.├─ filterColumns array The filtered column set. ├─ shardColumns array The shard column set. views array The configurations of view objects to be migrated in the current database. ├─ mappedName string The mapped name of the view. ├─ name string The name of the view. ├─ id string The ID of the view. ├─ whereClause string The WHEREclause in the standard SQL statement for configuring row filtering.├─ filterColumns array The filtered column set. ├─ shardColumns array The shard column set. specificTables array The configurations of specific table objects. When modeisWILDCARD, this parameter specifies the renaming and row filtering configurations for specific table objects.├─ mappedName string The mapped name of the table. ├─ name string The name of the table. ├─ id string The ID of the table. ├─ whereClause string The WHEREclause in the standard SQL statement for configuring row filtering.├─ filterColumns array The filtered column set. ├─ shardColumns array The shard column set. specificViews array The configurations of specific view objects. When modeisWILDCARD, this parameter specifies the renaming configurations for specific view objects.├─ mappedName string The mapped name of the view. ├─ name string The name of the view. ├─ id string The ID of the view. ├─ whereClause string The WHEREclause in the standard SQL statement for configuring row filtering.├─ filterColumns array The filtered column set. ├─ shardColumns array The shard column set.
Response parameters
| Parameter | Type | Description |
|---|---|---|
| success | boolean | Specifies whether the call is successful. |
| errorDetail | object | The error details. |
| code | string | The error code. |
| message | string | The error description. |
| advice | string | Suggestion. |
| requestId | string | The request ID. |
| pageNumber | integer | The page number. This parameter is effective only when you query data in pages. |
| pageSize | integer | The page size. This parameter is effective only when you query data in pages. |
| totalCount | integer | The total number of records. This parameter is effective only when you query data in pages. |
| cost | string | The time spent in processing the request, in seconds. |
| data | string | The returned precheckId. |
Examples
Request example
typeis MIGRATION/SYNC{ "name":"test", "projectId":"np_4w3a****", "subProject": false, "type":"MIGRATION", "labelIds":[ "l_4w****wygjk" ], "sourceEndpointId":"e_4wg07f****", "sinkEndpointId":"e_4wfy2****", "transferMapping":{ "mode":"SPECIFIC", "databases":[ { "mappedName":"gez3***", "name":"ion1****bmysql", "id":null, "tables":[ { "mappedName":"tion12***20obmysql2", "name":"GRATION129****", "id":null, "whereClause":null, "filterColumns":null, "shardColumns":null, } ], "views":null, "specificTables":null, "specificViews":null } ], "databasesBlack":null, "tableAndViewWhiteList":null, "tableAndViewBlackList":null }, "commonTransferConfig":{ "tableCategory":null, "activeActive":false, "mqSerializerType":null, "mqPartitionMode":null, "mqPartition":0, "datahubTopicType":null, "rocketMqProducerGroup":null, "rocketMqMsgTags":null, "rocketMqEnableMsgTrace":null, "rocketMqSendMsgTimeout":null, "dataWorksBusinessName":null }, "enableStructTransfer":true, "structTransferConfig":{ "byteCharConvertStrategy":"DO_NOTHING_IF_BYTE_USED", "deferIndexCreation":true }, "enableFullTransfer":true, "fullTransferConfig":{ "nonePkUkTruncateDstTable":null, "allowDestTableNotEmpty":true, "fullTransferSpeedMode":"CUSTOM", "fullTransferSpeedConfig":{ "memory":4, "readerWorkerNum":1, "writerWorkerNum":2 }, "fullVerifySpeedMode":"CUSTOM", "fullVerifySpeedConfig":{ "memory":4, "readerWorkerNum":1, "writerWorkerNum":2 }, "throttleRps": 1000, "throttleIOPS": 1000 }, "enableIncrTransfer":true, "enableReverseIncrTransfer":true, "incrTransferConfig":{ "startTimestamp":1689201369, "storeLogKeptHour":120, "recordTypeWhiteList":[ "DELETE", "INSERT", "UPDATE" ], "enableSequencingWithinTxn":true, "incrSyncConcurrency":64, "incrLogPullSpeedMode":"NORMAL", "incrLogPullSpeedConfig":{ "memory":4 }, "incrLogSyncSpeedMode":"CUSTOM", "incrLogSyncSpeedConfig":{ "memory":4, "writerWorkerNum":2 }, "throttleRps": 1000, "throttleIOPS": 1000, "enableIncrSyncStatistics":true, "supportDDLTypes":[ "CREATE_TABLE", "ALTER_TABLE" ], "incrOnlineDdlConfig":[ "GH_OST", "PT_OSC", "ALIYUN_DMS" ] }, "ReverseIncrTransferConfig":{ "startTimestamp":1689201369, "recordTypeWhiteList":[ "DELETE", "INSERT", "UPDATE" ], "storeLogKeptHour":120, "incrSyncConcurrency":64, "incrLogPullSpeedMode":"NORMAL", "incrLogPullSpeedConfig":{ "memory":4 }, "incrLogSyncSpeedMode":"CUSTOM", "incrLogSyncSpeedConfig":{ "memory":4, "writerWorkerNum":2 }, "throttleRps": 1000, "throttleIOPS": 1000, "enableIncrSyncStatistics":true, "supportDDLTypes":[ "CREATE_TABLE", "ALTER_TABLE" ] } }typeis VERIFY{ "id": "np_6****", "name": "test****", "labelIds": [], "sourceEndpointType": "ORACLE", "sinkEndpointType": "OB_ORACLE", "sourceEndpointId": "e_6****", "sinkEndpointId": "e_6****", "transferMapping": { "mode": "SPECIFIC", "databases": [ { "name": "CHENJIAN", "mappedName": "ORAAUDITOR", "tables": [ { "name": "TABLE2", "mappedName": "TABLE2", "whereClause": "Y > 10", "filterColumns": [ "X", "Y" ], "shardColumns": null, "columns": [ { "columnName": "Y", "mappedName": "Y1", "position": null, "columnType": null, "recordFieldType": null, "rawColumnType": null, "columnKey": null, "nullable": null, "defaultValue": null, "dataLength": null, "dataPrecision": null, "dataScale": null, "encoding": null, "columnComment": null, "notNullMappedName": "Y1", "generateField": false } ], "partitionNames": [] }, { "name": "TABLE3", "mappedName": "TABLE3", "whereClause": null, "filterColumns": null, "shardColumns": null, "columns": null, "partitionNames": [] }, { "name": "TABLE4", "mappedName": "TABLE4", "whereClause": "", "filterColumns": [ "ID" ], "shardColumns": null, "columns": [], "partitionNames": [] }, { "name": "TABLE5", "mappedName": "TABLE5", "whereClause": "", "filterColumns": [ "ID" ], "shardColumns": null, "columns": [], "partitionNames": [] }, { "name": "TABLE6", "mappedName": "TABLE6", "whereClause": "", "filterColumns": [ "VAL_MAPPING" ], "shardColumns": null, "columns": [], "partitionNames": [] }, { "name": "TABLE7", "mappedName": "TABLE7", "whereClause": "", "filterColumns": [ "ID", "NAME" ], "shardColumns": null, "columns": [ { "columnName": "ID", "mappedName": "ID2", "position": null, "columnType": null, "recordFieldType": null, "rawColumnType": null, "columnKey": null, "nullable": null, "defaultValue": null, "dataLength": null, "dataPrecision": null, "dataScale": null, "encoding": null, "columnComment": null, "notNullMappedName": "ID2", "generateField": false } ], "partitionNames": [] }, { "name": "TABLE8", "mappedName": "TABLE8", "whereClause": "", "filterColumns": [ "X" ], "shardColumns": null, "columns": [ { "columnName": "X", "mappedName": "Y", "position": null, "columnType": null, "recordFieldType": null, "rawColumnType": null, "columnKey": null, "nullable": null, "defaultValue": null, "dataLength": null, "dataPrecision": null, "dataScale": null, "encoding": null, "columnComment": null, "notNullMappedName": "Y", "generateField": false } ], "partitionNames": [] } ], "procedures": [ { "name": "PL1", "mappedName": "PL1" } ], "functions": [ { "name": "FUNCTION1", "mappedName": "FUNCTION1" } ] } ] }, "commonTransferConfig": { "enableHiddenColumnsAndIndex": true }, "enableFullVerify": true, "enableCountVerify": false, "enableIncrVerify": false, "fullVerifyConfig": { "sourceThreads": 4, "sinkThreads": 4, "mode": "AUTO", "sourceThrottleBps": null, "sinkThrottleBps": null, "enableHiddenColumnsAndIndex": true }, "countVerifyConfig": null, "incrVerifyConfig": null, "type": "VERIFY", "incrTransferConfig": { "storeTemplate": [] }, "reverseIncrTransferConfig": { "storeTemplate": [] }, "precheckId": "t_6****" }
Response example
{
"success": true,
"errorDetail": null,
"code": null,
"message": null,
"advice": null,
"requestId": "bf2-9bc9-****",
"pageNumber": null,
"pageSize": null,
"totalCount": null,
"cost": "269 ms",
"data": "t_57p****"
}