tencentcloud-sdk-nodejs
Version:
2,408 lines • 145 kB
TypeScript
/**
* ModifyCompareTask返回参数结构体
*/
export interface ModifyCompareTaskResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* DescribeSyncJobs返回参数结构体
*/
export interface DescribeSyncJobsResponse {
/**
* 任务数目
*/
TotalCount?: number;
/**
* 任务详情数组
*/
JobList?: Array<SyncJobInfo>;
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* ModifyMigrationJob返回参数结构体
*/
export interface ModifyMigrationJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* ResetConsumerGroupOffset返回参数结构体
*/
export interface ResetConsumerGroupOffsetResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* ModifyMigrateRateLimit返回参数结构体
*/
export interface ModifyMigrateRateLimitResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* IsolateMigrateJob返回参数结构体
*/
export interface IsolateMigrateJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* ModifyMigrateJobSpec请求参数结构体
*/
export interface ModifyMigrateJobSpecRequest {
/**
* 任务id
*/
JobId: string;
/**
* 新实例规格大小,包括:micro、small、medium、large、xlarge、2xlarge
*/
NewInstanceClass: string;
}
/**
* IsolateSubscribe返回参数结构体
*/
export interface IsolateSubscribeResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* ModifyConsumerGroupPassword请求参数结构体
*/
export interface ModifyConsumerGroupPasswordRequest {
/**
* 数据订阅实例的 ID
*/
SubscribeId: string;
/**
* 账号名称。实际的账户全称形如:account-#{SubscribeId}-#{AccountName}
*/
AccountName: string;
/**
* 消费组名称。实际的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}
*/
ConsumerGroupName: string;
/**
* 新密码。字符长度不小于3,不大于32
*/
NewPassword: string;
/**
* 旧密码,非必选
*/
OldPassword?: string;
}
/**
* 当前步骤错误信息或者警告信息
*/
export interface StepTip {
/**
* 错误码
*/
Code?: string;
/**
* 错误信息
*/
Message?: string;
/**
* 解决方式
*/
Solution?: string;
/**
* 帮助文档
*/
HelpDoc?: string;
/**
* 当前步骤跳过信息
*/
SkipInfo?: string;
}
/**
* ModifySyncRateLimit返回参数结构体
*/
export interface ModifySyncRateLimitResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* DestroyMigrateJob请求参数结构体
*/
export interface DestroyMigrateJobRequest {
/**
* 任务id
*/
JobId?: string;
}
/**
* ModifySubscribeName请求参数结构体
*/
export interface ModifySubscribeNameRequest {
/**
* 数据订阅实例的ID
*/
SubscribeId: string;
/**
* 修改后的数据订阅实例的名称,长度限制为[1,60]
*/
SubscribeName: string;
}
/**
* 数据订阅kafka分区中checkpoint信息
*/
export interface OffsetTimeMap {
/**
* kafka分区编号
*/
PartitionNo?: number;
/**
* kafka offset
*/
Offset?: number;
}
/**
* SkipCheckItem返回参数结构体
*/
export interface SkipCheckItemResponse {
/**
* 跳过的提示信息
*/
Message?: string;
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* ResumeSyncJob请求参数结构体
*/
export interface ResumeSyncJobRequest {
/**
* 同步任务id
*/
JobId: string;
}
/**
* 数据订阅中kafka消费者组的分区分配情况。该数据是实时查询的,如果需要最新数据,需重新掉接口查询。
*/
export interface PartitionAssignment {
/**
* 消费者的clientId
*/
ClientId: string;
/**
* 该消费者正在消费的分区
注意:此字段可能返回 null,表示取不到有效值。
*/
PartitionNo: Array<number | bigint>;
}
/**
* mongodb行校验不一致详细信息
*/
export interface RowsCountDifference {
/**
* 数据库名
*/
Db?: string;
/**
* 集合
*/
Table?: string;
/**
* 源端行数
*/
SrcCount?: number;
/**
* 目标端行数
*/
DstCount?: number;
}
/**
* ResizeSyncJob返回参数结构体
*/
export interface ResizeSyncJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* CreateSubscribeCheckJob请求参数结构体
*/
export interface CreateSubscribeCheckJobRequest {
/**
* 数据订阅实例的 ID
*/
SubscribeId: string;
}
/**
* ResumeMigrateJob返回参数结构体
*/
export interface ResumeMigrateJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* 校验不一致的表详情
*/
export interface DifferenceItem {
/**
* 数据库名
*/
Db?: string;
/**
* 表名
*/
Table?: string;
/**
* 分块号
*/
Chunk?: number;
/**
* 源库数值
*/
SrcItem?: string;
/**
* 目标库数值
*/
DstItem?: string;
/**
* 索引名称
*/
IndexName?: string;
/**
* 索引下边界
*/
LowerBoundary?: string;
/**
* 索引上边界
*/
UpperBoundary?: string;
/**
* 对比消耗时间,单位为 ms
*/
CostTime?: number;
/**
* 完成时间
*/
FinishedAt?: string;
}
/**
* CreateModifyCheckSyncJob请求参数结构体
*/
export interface CreateModifyCheckSyncJobRequest {
/**
* 同步任务id
*/
JobId: string;
}
/**
* IsolateSyncJob请求参数结构体
*/
export interface IsolateSyncJobRequest {
/**
* 同步任务id
*/
JobId: string;
}
/**
* PauseMigrateJob请求参数结构体
*/
export interface PauseMigrateJobRequest {
/**
* 数据迁移任务ID
*/
JobId: string;
}
/**
* ContinueMigrateJob请求参数结构体
*/
export interface ContinueMigrateJobRequest {
/**
* 数据迁移任务ID
*/
JobId: string;
}
/**
* ResetConsumerGroupOffset请求参数结构体
*/
export interface ResetConsumerGroupOffsetRequest {
/**
* 订阅实例id
*/
SubscribeId: string;
/**
* 订阅的kafka topic
*/
TopicName: string;
/**
* 消费组名称。实际的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}
*/
ConsumerGroupName: string;
/**
* 需要修改offset的分区编号
*/
PartitionNos: Array<number | bigint>;
/**
* 重置方式。枚举值为 earliest-从最开始位置开始消费;latest-从最新位置开始消费;datetime-从指定时间前最近的checkpoint开始消费
*/
ResetMode: string;
/**
* 当 ResetMode 为 datetime 时,该项需要填,格式为:Y-m-d h:m:s。如果不填,默认用0时间,效果与earliest相同。
*/
ResetDatetime?: string;
}
/**
* ModifySyncRateLimit请求参数结构体
*/
export interface ModifySyncRateLimitRequest {
/**
* 迁移任务ID
*/
JobId: string;
/**
* 同步任务全量导出线程数、有效值为 1-16
*/
DumpThread?: number;
/**
* 同步任务全量导出的 Rps 限制、需要大于 0
*/
DumpRps?: number;
/**
* 同步任务全量导入线程数、有效值为 1-16
*/
LoadThread?: number;
/**
* 同步任务增量导入线程数、有效值为 1-128
*/
SinkerThread?: number;
/**
* 同步任务全量导入的Rps
*/
LoadRps?: number;
}
/**
* DescribeCheckSyncJobResult请求参数结构体
*/
export interface DescribeCheckSyncJobResultRequest {
/**
* 同步实例id(即标识一个同步作业),形如sync-werwfs23,此值必填
*/
JobId?: string;
}
/**
* ModifySubscribeAutoRenewFlag返回参数结构体
*/
export interface ModifySubscribeAutoRenewFlagResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* DestroySyncJob返回参数结构体
*/
export interface DestroySyncJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* 任务错误信息
*/
export interface ErrorInfoItem {
/**
* 错误码
*/
Code?: string;
/**
* 解决方案
*/
Solution?: string;
/**
* 错误日志信息
*/
ErrorLog?: string;
/**
* 文档提示
*/
HelpDoc?: string;
}
/**
* IsolateMigrateJob请求参数结构体
*/
export interface IsolateMigrateJobRequest {
/**
* 任务id
*/
JobId: string;
}
/**
* StopMigrateJob返回参数结构体
*/
export interface StopMigrateJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* 表对象集合,当 TableMode 为 partial 时,此项需要填写
*/
export interface TableItem {
/**
* 迁移的表名,大小写敏感
*/
TableName?: string;
/**
* 迁移后的表名,当TableEditMode为rename时此项必填,注意此配置与TmpTables互斥,只能使用其中一种
*/
NewTableName?: string;
/**
* 迁移临时表,注意此配置与NewTableName互斥,只能使用其中一种。当配置的同步对象为表级别且TableEditMode为pt时此项有意义,针对pt-osc等工具在迁移过程中产生的临时表进行同步,需要提前将可能的临时表配置在这里,否则不会同步任何临时表。示例,如要对t1进行pt-osc操作,此项配置应该为["\_t1\_new","\_t1\_old"];如要对t1进行gh-ost操作,此项配置应该为["\_t1\_ghc","\_t1\_gho","\_t1\_del"],pt-osc与gh-ost产生的临时表可同时配置。
*/
TmpTables?: Array<string>;
/**
* 编辑表类型,rename(表映射),pt(同步附加表)
*/
TableEditMode?: string;
}
/**
* 订阅实例信息
*/
export interface SubscribeInfo {
/**
* 数据订阅的实例ID
*/
SubscribeId?: string;
/**
* 数据订阅实例的名称
*/
SubscribeName?: string;
/**
* 订阅实例发送数据的kafka topic
*/
Topic?: string;
/**
* 订阅实例的类型,目前支持 cynosdbmysql,mariadb,mongodb,mysql,percona,tdpg,tdsqlpercona(tdsqlmysql)
*/
Product?: string;
/**
* 订阅的数据库实例ID(如果订阅的是云数据库)如果实例不是腾讯云上的,此值为空。
*/
InstanceId?: string;
/**
* 云数据库状态:running 运行中,isolated 已隔离,offline 已下线。如果不是云上,此值为空
*/
InstanceStatus?: string;
/**
* 数据订阅生命周期状态,可能的值为:正常 normal, 隔离中 isolating, 已隔离 isolated, 下线中 offlining, 按量转包年包月中 post2PrePayIng
*/
Status?: string;
/**
* 数据订阅状态,可能的值为:未启动 notStarted, 校验中 checking, 校验不通过 checkNotPass, 校验通过 checkPass, 启动中 starting, 运行中 running, 异常出错 error
*/
SubsStatus?: string;
/**
* 上次修改时间,时间格式如:Y-m-d h:m:s
*/
ModifyTime?: string;
/**
* 创建时间,时间格式如:Y-m-d h:m:s
*/
CreateTime?: string;
/**
* 隔离时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
*/
IsolateTime?: string;
/**
* 包年包月任务的到期时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
*/
ExpireTime?: string;
/**
* 下线时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
*/
OfflineTime?: string;
/**
* 计费方式,0 - 包年包月,1 - 按量计费
*/
PayType?: number;
/**
* 自动续费标识。只有当 PayType=0,该值才有意义。枚举值:0-不自动续费,1-自动续费
*/
AutoRenewFlag?: number;
/**
* 数据订阅实例所属地域
*/
Region?: string;
/**
* 接入方式。枚举值:extranet(公网) vpncloud(vpn接入) dcg(专线接入) ccn(云联网) cdb(云数据库) cvm(云主机自建) intranet(自研上云) vpc(私有网络vpc)
*/
AccessType?: string;
/**
* 数据库节点信息
*/
Endpoints?: Array<EndpointItem>;
/**
* 数据订阅版本, 当前只支持 kafka 版本。
*/
SubscribeVersion?: string;
/**
* 标签
注意:此字段可能返回 null,表示取不到有效值。
*/
Tags?: Array<TagItem>;
/**
* 任务报错信息,如果有的话。
注意:此字段可能返回 null,表示取不到有效值。
*/
Errors?: Array<SubsErr>;
}
/**
* ModifyCompareTaskName请求参数结构体
*/
export interface ModifyCompareTaskNameRequest {
/**
* 迁移任务 Id
*/
JobId: string;
/**
* 对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9
*/
CompareTaskId: string;
/**
* 一致性校验任务名称
*/
TaskName: string;
}
/**
* CompleteMigrateJob返回参数结构体
*/
export interface CompleteMigrateJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* DescribeMigrateDBInstances返回参数结构体
*/
export interface DescribeMigrateDBInstancesResponse {
/**
* 符合筛选条件的数量
*/
TotalCount?: number;
/**
* 实例列表
*/
Instances?: Array<MigrateDBItem>;
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* 存放配置时的额外信息
*/
export interface KeyValuePairOption {
/**
* 选项key
*/
Key?: string;
/**
* 选项value
*/
Value?: string;
}
/**
* 数据不一致详情
*/
export interface DifferenceData {
/**
* 数据库名
*/
Db?: string;
/**
* 集合
*/
Table?: string;
/**
* 源端ID
*/
SrcChunk?: string;
/**
* 目标端ID
*/
DstChunk?: string;
/**
* 源端值
*/
SrcItem?: string;
/**
* 目标端值
*/
DstItem?: string;
/**
* 更新时间
*/
UpdatedAt?: string;
}
/**
* CreateCheckSyncJob请求参数结构体
*/
export interface CreateCheckSyncJobRequest {
/**
* 同步任务id
*/
JobId: string;
}
/**
* DescribeModifyCheckSyncJobResult返回参数结构体
*/
export interface DescribeModifyCheckSyncJobResultResponse {
/**
* 校验任务执行状态,如:notStarted(未开始)、running(校验中)、failed(校验任务失败)、success(任务成功)
*/
Status?: string;
/**
* 校验的步骤总数
*/
StepCount?: number;
/**
* 当前所在步骤
*/
StepCur?: number;
/**
* 总体进度,范围为[0,100]
*/
Progress?: number;
/**
* 步骤详细信息
注意:此字段可能返回 null,表示取不到有效值。
*/
StepInfos?: Array<StepInfo>;
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* StartSubscribe返回参数结构体
*/
export interface StartSubscribeResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* DescribeSubscribeReturnable请求参数结构体
*/
export interface DescribeSubscribeReturnableRequest {
/**
* 数据订阅实例的ID
*/
SubscribeId: string;
}
/**
* DescribeMigrationDetail请求参数结构体
*/
export interface DescribeMigrationDetailRequest {
/**
* 数据迁移任务ID
*/
JobId: string;
}
/**
* CreateConsumerGroup请求参数结构体
*/
export interface CreateConsumerGroupRequest {
/**
* 订阅实例id
*/
SubscribeId: string;
/**
* 消费组名称,以数字、字母(大小写)或者_ - .开头,以数字、字母(大小写)结尾。实际生成的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}
*/
ConsumerGroupName: string;
/**
* 账号名称。以数字、字母(大小写)或者_ - .开头,以数字、字母(大小写)结尾。实际生成的账户全称形如:account-#{SubscribeId}-#{AccountName}
*/
AccountName: string;
/**
* 消费组密码,长度必须大于3
*/
Password: string;
/**
* 消费组备注
*/
Description?: string;
}
/**
* ResizeSyncJob请求参数结构体
*/
export interface ResizeSyncJobRequest {
/**
* 同步任务id
*/
JobId: string;
/**
* 任务规格
*/
NewInstanceClass: string;
}
/**
* mongodb行数校验不一致性详情结果
*/
export interface DifferenceRowDetail {
/**
* 不一致总数
*/
TotalCount?: number;
/**
* 不一致列表
注意:此字段可能返回 null,表示取不到有效值。
*/
Items?: Array<RowsCountDifference>;
}
/**
* ModifySubscribeName返回参数结构体
*/
export interface ModifySubscribeNameResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* 数据同步中的ddl同步处理
*/
export interface DdlOption {
/**
* ddl类型,如Database,Table,View,Index等
*/
DdlObject?: string;
/**
* ddl具体值,对于Database可取值[Create,Drop,Alter]<br>对于Table可取值[Create,Drop,Alter,Truncate,Rename]<br/>对于View可取值[Create,Drop]<br/>对于Index可取值[Create,Drop]
注意:此字段可能返回 null,表示取不到有效值。
*/
DdlValue?: Array<string>;
}
/**
* 冲突处理里的详细描述
*/
export interface ConflictHandleOption {
/**
* 条件覆盖的列
*/
ConditionColumn?: string;
/**
* 条件覆盖操作
*/
ConditionOperator?: string;
/**
* 条件覆盖优先级处理
*/
ConditionOrderInSrcAndDst?: string;
}
/**
* mongo输出聚合设置。输出默认 Change Event
*/
export interface PipelineInfo {
/**
* 聚合运算符:$addFields、$match、$project、$replaceRoot、$redact、$replaceWith、$set、$unset。其中 $replaceWith、$set、$unset 只有当订阅实例是4.2及以上版本可选。
*/
AggOp?: string;
/**
* 聚合表达式。必须是json格式
*/
AggCmd?: string;
}
/**
* ResumeSyncJob返回参数结构体
*/
export interface ResumeSyncJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* RecoverMigrateJob返回参数结构体
*/
export interface RecoverMigrateJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* ModifyCompareTaskName返回参数结构体
*/
export interface ModifyCompareTaskNameResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* StartSyncJob请求参数结构体
*/
export interface StartSyncJobRequest {
/**
* 同步任务id
*/
JobId?: string;
}
/**
* StartSubscribe请求参数结构体
*/
export interface StartSubscribeRequest {
/**
* 数据订阅实例的 ID
*/
SubscribeId: string;
}
/**
* ModifyMigrateRuntimeAttribute返回参数结构体
*/
export interface ModifyMigrateRuntimeAttributeResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* DescribeOffsetByTime返回参数结构体
*/
export interface DescribeOffsetByTimeResponse {
/**
* 时间与Offset的对应
*/
Items?: Array<OffsetTimeMap>;
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* PauseSyncJob请求参数结构体
*/
export interface PauseSyncJobRequest {
/**
* 同步任务id
*/
JobId: string;
}
/**
* CreateMigrateCheckJob返回参数结构体
*/
export interface CreateMigrateCheckJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* ModifySyncJobConfig请求参数结构体
*/
export interface ModifySyncJobConfigRequest {
/**
* 同步任务id
*/
JobId: string;
/**
* 修改后的同步对象
*/
DynamicObjects?: Objects;
/**
* 修改后的同步任务选项
*/
DynamicOptions?: DynamicOptions;
}
/**
* ContinueMigrateJob返回参数结构体
*/
export interface ContinueMigrateJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* CreateMigrationService请求参数结构体
*/
export interface CreateMigrationServiceRequest {
/**
* 源实例数据库类型,如mysql,redis,percona,mongodb,postgresql,sqlserver,mariadb,cynosdbmysql
*/
SrcDatabaseType: string;
/**
* 目标实例数据库类型,如mysql,redis,percona,mongodb,postgresql,sqlserver,mariadb,cynosdbmysql
*/
DstDatabaseType: string;
/**
* 源实例地域,如:ap-guangzhou
*/
SrcRegion: string;
/**
* 目标实例地域,如:ap-guangzhou。注意,目标地域必须和API请求地域保持一致。
*/
DstRegion: string;
/**
* 实例规格,包括:small、medium、large、xlarge、2xlarge
*/
InstanceClass: string;
/**
* 购买数量,范围为[1,15],默认为1
*/
Count?: number;
/**
* 迁移服务名称,最大长度128
*/
JobName?: string;
/**
* 标签信息
*/
Tags?: Array<TagItem>;
}
/**
* 每个检查步骤里的具体检查项
*/
export interface DetailCheckItem {
/**
* 检查项的名称,如:源实例权限检查
*/
CheckItemName?: string;
/**
* 检查项详细内容
*/
Description?: string;
/**
* pass(通过),failed(失败), warning(校验有警告,但仍通过)
*/
CheckResult?: string;
/**
* 检查项失败原因
*/
FailureReason?: string;
/**
* 解决方案
*/
Solution?: string;
/**
* 运行报错日志
*/
ErrorLog?: Array<string>;
/**
* 详细帮助的文档链接
*/
HelpDoc?: Array<string>;
/**
* 跳过风险文案
*/
SkipInfo?: string;
}
/**
* DescribeCompareTasks请求参数结构体
*/
export interface DescribeCompareTasksRequest {
/**
* 迁移任务 Id
*/
JobId: string;
/**
* 分页设置,表示每页显示多少条任务,默认为 20
*/
Limit?: number;
/**
* 分页偏移量
*/
Offset?: number;
/**
* 校验任务 ID
*/
CompareTaskId?: string;
/**
* 任务状态过滤,可能的值:created - 创建完成;readyRun - 等待运行;running - 运行中;success - 成功;stopping - 结束中;failed - 失败;canceled - 已终止
*/
Status?: Array<string>;
}
/**
* DestroyIsolatedSubscribe请求参数结构体
*/
export interface DestroyIsolatedSubscribeRequest {
/**
* 数据订阅实例的ID
*/
SubscribeId: string;
}
/**
* ResetSubscribe返回参数结构体
*/
export interface ResetSubscribeResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* 一致性对比对象配置
*/
export interface CompareObject {
/**
* 对象模式 整实例-all,部分对象-partial
*/
ObjectMode: string;
/**
* 对象列表
*/
ObjectItems?: Array<CompareObjectItem>;
/**
* 高级对象类型,目前只支持mongodb链路。如index(索引),shardkey(片键),schema(库表)
注意:此字段可能返回 null,表示取不到有效值。
*/
AdvancedObjects?: Array<string>;
}
/**
* DescribeCompareReport返回参数结构体
*/
export interface DescribeCompareReportResponse {
/**
* 一致性校验摘要信息
*/
Abstract?: CompareAbstractInfo;
/**
* 一致性校验详细信息
*/
Detail?: CompareDetailInfo;
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* RecoverSyncJob返回参数结构体
*/
export interface RecoverSyncJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* 任务操作信息,包含迁移任务的所有操作列表,及迁移任务在当前状态下允许的操作列表
*/
export interface MigrateAction {
/**
* 任务的所有操作列表
*/
AllAction?: Array<string>;
/**
* 任务在当前状态下允许的操作列表
*/
AllowedAction?: Array<string>;
}
/**
* ConfigureSubscribeJob返回参数结构体
*/
export interface ConfigureSubscribeJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* DescribeConsumerGroups请求参数结构体
*/
export interface DescribeConsumerGroupsRequest {
/**
* 订阅实例id
*/
SubscribeId: string;
/**
* 返回记录的起始偏移量。默认0
*/
Offset?: number;
/**
* 单次返回的记录数量。默认10
*/
Limit?: number;
}
/**
* kafka消费者组详情
*/
export interface GroupInfo {
/**
* 消费者组账号
*/
Account?: string;
/**
* 消费者组名称
*/
ConsumerGroupName?: string;
/**
* 消费者组备注
*/
Description?: string;
/**
* 消费组偏移量。该字段是为了兼容以前单Partition的情况,取值为最后一个分区的偏移量。各分区的偏移量详见StateOfPartition字段
*/
ConsumerGroupOffset?: number;
/**
* 消费组未消费的数据量。该字段是为了兼容以前单Partition的情况,取值为最后一个分区未消费的数据量。各分区未消费数据量详见StateOfPartition字段
*/
ConsumerGroupLag?: number;
/**
* 消费延迟(单位为秒)
*/
Latency?: number;
/**
* 各分区的消费状态
*/
StateOfPartition?: Array<MonitorInfo>;
/**
* 消费者组创建时间,格式为YYYY-MM-DD hh:mm:ss
*/
CreatedAt?: string;
/**
* 消费者组修改时间,格式为YYYY-MM-DD hh:mm:ss
*/
UpdatedAt?: string;
/**
* 消费者组状态,包括Dead、Empty、Stable等,只有Dead和Empty两种状态可以执行reset操作
*/
ConsumerGroupState?: string;
/**
* 每个消费者正在消费的分区
*/
PartitionAssignment?: Array<PartitionAssignment>;
}
/**
* DeleteCompareTask返回参数结构体
*/
export interface DeleteCompareTaskResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* 实例信息
*/
export interface DBEndpointInfo {
/**
* 实例所在地域
*/
Region: string;
/**
* 实例网络接入类型,如:extranet(外网)、ipv6(公网ipv6)、cvm(云主机自建)、dcg(专线接入)、vpncloud(vpn接入的实例)、cdb(云数据库)、ccn(云联网)、intranet(自研上云)、vpc(私有网络)等,注意具体可选值依赖当前链路
*/
AccessType: string;
/**
* 实例数据库类型,如:mysql,redis,mongodb,postgresql,mariadb,percona 等
*/
DatabaseType: string;
/**
* 节点类型,为空或者simple表示普通节点、cluster表示集群节点;对于mongo业务,取值为replicaset(mongodb副本集)、standalone(mongodb单节点)、cluster(mongodb集群);对于redis实例,为空或simple(单节点)、cluster(集群)、cluster-cache(cache集群)、cluster-proxy(代理集群)
*/
NodeType: string;
/**
* 数据库信息
*/
Info: Array<DBInfo>;
/**
* 实例服务提供商,如:"aliyun","others"
*/
Supplier?: string;
/**
* MongoDB可定义如下的参数: ['AuthDatabase':'admin',
'AuthFlag': "1", 'AuthMechanism':"SCRAM-SHA-1"]
*/
ExtraAttr?: Array<KeyValuePairOption>;
/**
* 数据库所属网络环境,AccessType为云联网(ccn)时必填, UserIDC表示用户IDC、TencentVPC表示腾讯云VPC;
*/
DatabaseNetEnv?: string;
/**
* tdsql连接方式:proxy-通过tdsql proxy主机访问各个set节点,注意只有在自研上云的网络环境下才能通过这种方式连接,Info中只需要提供proxy主机信息。set-直连set节点,如选择直连set方式,Info中需要正确填写proxy主机信息及所有set节点信息。源端是tdsqlmysql类型必填。
*/
ConnectType?: string;
}
/**
* ResumeSubscribe请求参数结构体
*/
export interface ResumeSubscribeRequest {
/**
* 数据订阅实例的 ID
*/
SubscribeId: string;
}
/**
* ModifySyncJobConfig返回参数结构体
*/
export interface ModifySyncJobConfigResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* 列选项
*/
export interface CompareColumnItem {
/**
* 列名
*/
ColumnName?: string;
}
/**
* DescribeSubscribeDetail返回参数结构体
*/
export interface DescribeSubscribeDetailResponse {
/**
* 数据订阅的ID,形如subs-b6x64o31tm
*/
SubscribeId?: string;
/**
* 数据订阅实例的名称
*/
SubscribeName?: string;
/**
* 订阅的数据库类型,目前支持 cynosdbmysql(tdsql-c mysql版),mariadb,mongodb,mysql,percona,tdpg(tdsql postgresql版),tdsqlpercona(tdsql mysql版)
*/
Product?: string;
/**
* 订阅的云数据库实例ID,只有订阅云数据库该值才有意义
*/
InstanceId?: string;
/**
* 订阅的云数据库实例状态,只有订阅云数据库该值才有意义。可能值为:running, isolated, offline
*/
InstanceStatus?: string;
/**
* 订阅任务计费状态,可能值为:正常normal, 隔离中isolating, 已隔离isolated, 下线中offlining, 按量转包年包月中 post2PrePayIng
*/
Status?: string;
/**
* 订阅任务状态,可能值为:未启动notStarted, 校验中checking, 校验不通过checkNotPass, 校验通过checkPass, 启动中starting, 运行中running, 异常出错error
*/
SubsStatus?: string;
/**
* 修改时间,时间格式如:Y-m-d h:m:s
*/
ModifyTime?: string;
/**
* 创建时间,时间格式如:Y-m-d h:m:s
*/
CreateTime?: string;
/**
* 隔离时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
*/
IsolateTime?: string;
/**
* 包年包月任务的到期时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
*/
ExpireTime?: string;
/**
* 下线时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
*/
OfflineTime?: string;
/**
* 付费方式,可能值为:0-包年包月,1-按量计费
*/
PayType?: number;
/**
* 自动续费标识。只有当 PayType=0,该值才有意义。枚举值:0-不自动续费,1-自动续费
*/
AutoRenewFlag?: number;
/**
* 任务所在地域
*/
Region?: string;
/**
* Kafka topic
*/
Topic?: string;
/**
* Kafka服务Broker地址
*/
Broker?: string;
/**
* 数据订阅的类型,当 Product 不为 mongodb 时,可能值为:all-全实例更新;dml-数据更新;ddl-结构更新;dmlAndDdl-数据更新+结构更新。当 Product 为 mongodb 时,可能值为 all-全实例更新;database-订阅单库;collection-订阅单集合
*/
SubscribeMode?: string;
/**
* 订阅数据格式。如果为空则用的默认格式: mysql\cynosdbmysql\mariadb\percona\tdsqlpercona\tdpg是protobuf,mongo是json。当 DatabaseType 为 mysql和cynosdbmysql 时有三种可选协议:protobuf\avro\json。数据格式详情参考官网的消费demo文档
*/
Protocol?: string;
/**
* 订阅的数据库表信息
*/
SubscribeObjects?: Array<SubscribeObject>;
/**
* kafka配置信息
*/
KafkaConfig?: SubscribeKafkaConfig;
/**
* 订阅内置kafka的版本信息
*/
KafkaVersion?: string;
/**
* 源数据库接入类型,如:extranet(公网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、cdb(云数据库)、cvm(云服务器自建)、intranet(自研上云)、vpc(私有网络vpc)。注意具体可选值依赖当前链路支持能力
*/
AccessType?: string;
/**
* 接入类型信息
*/
Endpoints?: Array<EndpointItem>;
/**
* mongo输出聚合设置
*/
PipelineInfo?: Array<PipelineInfo>;
/**
* 标签
*/
Tags?: Array<TagItem>;
/**
* 订阅任务报错信息
注意:此字段可能返回 null,表示取不到有效值。
*/
Errors?: Array<SubsErr>;
/**
* 为业务添加的额外信息。参数名作key,参数值作value。
mysql选填参数:ProcessXA-是否处理XA事务,为true处理,其他不处理。
mongo选填参数:SubscribeType-订阅类型,目前只支持changeStream。
*/
ExtraAttr?: Array<KeyValuePairOption>;
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* ContinueSyncJob返回参数结构体
*/
export interface ContinueSyncJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* 计费状态信息
*/
export interface TradeInfo {
/**
* 交易订单号
*/
DealName?: string;
/**
* 上一次交易订单号
*/
LastDealName?: string;
/**
* 实例规格,包括:micro、small、medium、large、xlarge、2xlarge等
*/
InstanceClass?: string;
/**
* 计费任务状态, normal(计费或待计费)、resizing(变配中)、reversing(冲正中,比较短暂的状态)、isolating(隔离中,比较短暂的状态)、isolated(已隔离)、offlining(下线中)、offlined(已下线)、notBilled(未计费)
*/
TradeStatus?: string;
/**
* 到期时间,格式为"yyyy-mm-dd hh:mm:ss"
*/
ExpireTime?: string;
/**
* 下线时间,格式为"yyyy-mm-dd hh:mm:ss"
*/
OfflineTime?: string;
/**
* 隔离时间,格式为"yyyy-mm-dd hh:mm:ss"
*/
IsolateTime?: string;
/**
* 下线原因
*/
OfflineReason?: string;
/**
* 隔离原因
*/
IsolateReason?: string;
/**
* 付费类型,包括:postpay(后付费)、prepay(预付费)
*/
PayType?: string;
/**
* 任务计费类型,包括:billing(计费)、notBilling(不计费)、 promotions(促销活动中)
*/
BillingType?: string;
}
/**
* mongodb数据不一致性详情
*/
export interface DifferenceDataDetail {
/**
* 总数
*/
TotalCount?: number;
/**
* mongo数据不一致详细列表
注意:此字段可能返回 null,表示取不到有效值。
*/
Items?: Array<DifferenceData>;
}
/**
* DeleteConsumerGroup请求参数结构体
*/
export interface DeleteConsumerGroupRequest {
/**
* 数据订阅实例的 ID
*/
SubscribeId: string;
/**
* 消费组名称。实际的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}。
请务必保证消费组名称正确。
*/
ConsumerGroupName: string;
/**
* 账号名称。实际的账户全称形如:account-#{SubscribeId}-#{AccountName}。
请务必保证账户名称正确。
*/
AccountName: string;
}
/**
* ModifySubscribeAutoRenewFlag请求参数结构体
*/
export interface ModifySubscribeAutoRenewFlagRequest {
/**
* 订阅实例ID
*/
SubscribeId: string;
/**
* 自动续费标识。1-自动续费,0-不自动续费
*/
AutoRenewFlag: number;
}
/**
* CompleteMigrateJob请求参数结构体
*/
export interface CompleteMigrateJobRequest {
/**
* 数据迁移任务ID
*/
JobId: string;
/**
* 完成任务的方式,仅支持旧版MySQL迁移任务。waitForSync-等待主从差距为0才停止,immediately-立即完成,不会等待主从差距一致。默认为waitForSync
*/
CompleteMode?: string;
}
/**
* CreateConsumerGroup返回参数结构体
*/
export interface CreateConsumerGroupResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* StopCompare请求参数结构体
*/
export interface StopCompareRequest {
/**
* 迁移任务 Id
*/
JobId: string;
/**
* 对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9
*/
CompareTaskId: string;
/**
* 是否强制停止。如果填true,同步任务增量阶段会跳过一致性校验产生的binlog,达到快速恢复任务的效果
*/
ForceStop?: boolean;
}
/**
* 数据同步配置多节点数据库的节点信息。多节点数据库,如tdsqlmysql使用该结构;单节点数据库,如mysql使用Endpoint。
*/
export interface SyncDBEndpointInfos {
/**
* 数据库所在地域
*/
Region: string;
/**
* 实例网络接入类型,如:extranet(外网)、ipv6(公网ipv6)、cvm(云主机自建)、dcg(专线接入)、vpncloud(vpn接入的实例)、cdb(云数据库)、ccn(云联网)、intranet(自研上云)、vpc(私有网络)等,注意具体可选值依赖当前链路
*/
AccessType: string;
/**
* 实例数据库类型,如:mysql,redis,mongodb,postgresql,mariadb,percona 等
*/
DatabaseType: string;
/**
* 数据库信息。注意:如果数据库类型为tdsqlmysql,此处Endpoint数组的顺序应满足规则:proxy节点放在set节点之前。如果SrcConnectType选择proxy接入则只需要填写proxy节点即可。如果选择set接入,数组中第一个set节点必须是shardkey范围起始为0的分片
注意:此字段可能返回 null,表示取不到有效值。
*/
Info: Array<Endpoint>;
}
/**
* StartModifySyncJob请求参数结构体
*/
export interface StartModifySyncJobRequest {
/**
* 同步任务id
*/
JobId: string;
}
/**
* DescribeCheckSyncJobResult返回参数结构体
*/
export interface DescribeCheckSyncJobResultResponse {
/**
* 校验任务执行状态,如:notStarted(未开始)、running(校验中)、failed(校验任务失败)、success(任务成功)
*/
Status?: string;
/**
* 步骤总数
*/
StepCount?: number;
/**
* 当前所在步骤
*/
StepCur?: number;
/**
* 总体进度,范围为[0,100]
*/
Progress?: number;
/**
* 步骤信息
注意:此字段可能返回 null,表示取不到有效值。
*/
StepInfos?: Array<StepInfo>;
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* StopSyncJob返回参数结构体
*/
export interface StopSyncJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* 迁移选项,描述任务如何执行迁移等一系列配置信息
*/
export interface MigrateOption {
/**
* 迁移对象选项,需要告知迁移服务迁移哪些库表对象
*/
DatabaseTable: DatabaseTableObject;
/**
* 迁移类型,full(全量迁移),structure(结构迁移),fullAndIncrement(全量加增量迁移), 默认为fullAndIncrement;注意redis,keewidb产品只支持fullAndIncrement类型。
*/
MigrateType?: string;
/**
* 数据一致性校验选项, 默认为不开启一致性校验
*/
Consistency?: ConsistencyOption;
/**
* 是否迁移账号,true(迁移账号),false(不迁移账号)
*/
IsMigrateAccount?: boolean;
/**
* 是否用源库Root账户覆盖目标库,值包括:false-不覆盖,true-覆盖,选择库表或者结构迁移时应该为false,注意只对旧版迁移有效
*/
IsOverrideRoot?: boolean;
/**
* 是否在迁移时设置目标库只读(仅对mysql有效),true(设置只读)、false(不设置只读,默认此值)
*/
IsDstReadOnly?: boolean;
/**
* 其他附加信息,对于特定库可设置额外参数,Redis可定义如下的参数:
["DstWriteMode":normal, 目标库写入模式,可取值clearData(清空目标实例数据)、overwrite(以覆盖写的方式执行任务)、normal(跟正常流程一样,不做额外动作) "IsDstReadOnly":true, 是否在迁移时设置目标库只读,true(设置只读)、false(不设置只读) "ClientOutputBufferHardLimit":512, 从机缓冲区的硬性容量限制(MB) "ClientOutputBufferSoftLimit":512, 从机缓冲区的软性容量限制(MB) "ClientOutputBufferPersistTime":60, 从机缓冲区的软性限制持续时间(秒) "ReplBacklogSize":512, 环形缓冲区容量限制(MB) "ReplTimeout":120, 复制超时时间(秒) "IsExpireKey":"true",过期key自动淘汰]
*/
ExtraAttr?: Array<KeyValuePairOption>;
/**
* pgsql迁移分类:logical(逻辑迁移)、physical(物理迁移)
*/
MigrateWay?: string;
}
/**
* DescribeSubscribeDetail请求参数结构体
*/
export interface DescribeSubscribeDetailRequest {
/**
* 订阅实例ID
*/
SubscribeId: string;
}
/**
* 跳过校验的表详情
*/
export interface SkippedDetail {
/**
* 跳过的表数量
*/
TotalCount?: number;
/**
* 跳过校验的表详情
*/
Items?: Array<SkippedItem>;
}
/**
* 订阅报错信息
*/
export interface SubsErr {
/**
* 报错信息
*/
Message?: string;
/**
* 报错原因
*/
Reason?: string;
/**
* 建议的修复方案
*/
Solution?: string;
}
/**
* CreateSubscribe返回参数结构体
*/
export interface CreateSubscribeResponse {
/**
* 数据订阅实例的ID数组
*/
SubscribeIds?: Array<string>;
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* 一致性校验选项
*/
export interface CompareOptions {
/**
* 对比方式:dataCheck(完整数据对比)、sampleDataCheck(抽样数据对比)、rowsCount(行数对比), 默认为dataCheck
*/
Method?: string;
/**
* 抽样比例;范围0,100。默认为100
*/
SampleRate?: number;
/**
* 线程数,取值1-5,默认为1
*/
ThreadCount?: number;
}
/**
* ModifyMigrateName返回参数结构体
*/
export interface ModifyMigrateNameResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* DescribeMigrationJobs返回参数结构体
*/
export interface DescribeMigrationJobsResponse {
/**
* 迁移任务数量
*/
TotalCount?: number;
/**
* 迁移任务列表
*/
JobList?: Array<JobItem>;
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* ModifyMigrationJob请求参数结构体
*/
export interface ModifyMigrationJobRequest {
/**
* 任务id
*/
JobId: string;
/**
* 运行模式,取值如:immediate(表示立即运行)、timed(表示定时运行)
*/
RunMode: string;
/**
* 迁移任务配置选项,描述任务如何执行迁移等一系列配置信息;字段下的RateLimitOption不可配置、如果需要修改任务的限速信息、请在任务运行后通过ModifyMigrateRateLimit接口修改
*/
MigrateOption: MigrateOption;
/**
* 源实例信息
*/
SrcInfo: DBEndpointInfo;
/**
* 目标实例信息
*/
DstInfo: DBEndpointInfo;
/**
* 迁移任务名称,最大长度128
*/
JobName?: string;
/**
* 期待启动时间,当RunMode取值为timed时,此值必填,形如:"2006-01-02 15:04:05"
*/
ExpectRunTime?: string;
/**
* 标签信息
*/
Tags?: Array<TagItem>;
/**
* 自动重试的时间段、可设置5至720分钟、0表示不重试
*/
AutoRetryTimeRangeMinutes?: number;
}
/**
* StopCompare返回参数结构体
*/
export interface StopCompareResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* DestroyMigrateJob返回参数结构体
*/
export interface DestroyMigrateJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* 任务步骤信息
*/
export interface ProcessProgress {
/**
* 步骤的状态, 包括:notStarted(未开始)、running(运行中)、success(成功)、failed(失败)等
*/
Status?: string;
/**
* 进度信息
*/
Percent?: number;
/**
* 总的步骤数
*/
StepAll?: number;
/**
* 当前进行的步骤
*/
StepNow?: number;
/**
* 当前步骤输出提示信息
*/
Message?: string;
/**
* 步骤信息
*/
Steps?: Array<StepDetailInfo>;
}
/**
* SkipSyncCheckItem请求参数结构体
*/
export interface SkipSyncCheckItemRequest {
/**
* 任务id,如:sync-4ddgid2
*/
JobId: string;
/**
* 需要跳过校验项的步骤id,需要通过`DescribeCheckSyncJobResult`接口返回StepInfos[i].StepId字段获取,例如:["OptimizeCheck"]
*/
StepIds: Array<string>;
}
/**
* DescribeModifyCheckSyncJobResult请求参数结构体
*/
export interface DescribeModifyCheckSyncJobResultRequest {
/**
* 同步任务id
*/
JobId: string;
}
/**
* SkipSyncCheckItem返回参数结构体
*/
export interface SkipSyncCheckItemResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* IsolateSyncJob返回参数结构体
*/
export interface IsolateSyncJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* CreateMigrateCheckJob请求参数结构体
*/
export interface CreateMigrateCheckJobRequest {
/**
* 数据迁移任务ID
*/
JobId: string;
}
/**
* ModifyConsumerGroupPassword返回参数结构体
*/
export interface ModifyConsumerGroupPasswordResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* DescribeMigrationJobs请求参数结构体
*/
export interface DescribeMigrationJobsRequest {
/**
* 数据迁移任务ID,如:dts-amm1jw5q
*/
JobId?: string;
/**
* 数据迁移任务名称
*/
JobName?: string;
/**
* 数据迁移任务状态,可取值包括:created(创建完成)、checking(校验中)、checkPass(校验通过)、checkNotPass(校验不通过)、readyRun(准备运行)、running(任务运行中)、readyComplete(准备完成)、success(任务成功)、failed(任务失败)、stopping(中止中)、completing(完成中)
*/
Status?: Array<string>;
/**
* 源实例ID,格式如:cdb-c1nl9rpv
*/
SrcInstanceId?: string;
/**
* 源实例地域,如:ap-guangzhou
*/
SrcRegion?: string;
/**
* 源实例数据库类型,如:sqlserver,mysql,mongodb,redis,tendis,keewidb,clickhouse,cynosdbmysql,percona,tdsqlpercona,mariadb,tdsqlmysql,postgresql
*/
SrcDatabaseType?: Array<string>;
/**
* 源实例接入类型,值包括:extranet(外网)、vpncloud(云vpn接入的实例)、dcg(专线接入的实例)、ccn(云联网接入的实例)、cdb(云上cdb实例)、cvm(cvm自建实例)
*/
SrcAccessType?: Array<string>;
/**
* 目标实例ID,格式如:cdb-c1nl9rpv
*/
DstInstanceId?: string;
/**
* 目标实例地域,如:ap-guangzhou
*/
DstRegion?: string;
/**
* 目标源实例数据库类型,如:sqlserver,mysql,mongodb,redis,tendis,keewidb,clickhouse,cynosdbmysql,percona,tdsqlpercona,mariadb,tdsqlmysql,postgresql
*/
DstDatabaseType?: Array<string>;
/**
* 目标实例接入类型,值包括:extranet(外网)、vpncloud(云vpn接入的实例)、dcg(专线接入的实例)、ccn(云联网接入的实例)、cdb(云上cdb实例)、cvm(cvm自建实例)
*/
DstAccessType?: Array<string>;
/**
* 任务运行模式,值包括:immediate(立即运行),timed(定时运行)
*/
RunMode?: string;
/**
* 排序方式,可能取值为asc、desc,默认按照创建时间倒序
*/
OrderSeq?: string;
/**
* 返回实例数量,默认20,有效区间[1,100]
*/
Limit?: number;
/**
* 偏移量,默认为0
*/
Offset?: number;
/**
* 标签过滤
*/
TagFilters?: Array<TagFilter>;
}
/**
* 数据一致性校验结果
*/
export interface CompareTaskInfo {
/**
* 一致性校验任务Id
*/
CompareTaskId?: string;
/**
* 一致性校验结果,包括:unstart(未启动)、running(校验中)、canceled(已终止)、failed(校验任务失败)、inconsistent(不一致)、consistent(一致)、notexist(不存在校验任务)
*/
Status?: string;
}
/**
* ModifyConsumerGroupDescription请求参数结构体
*/
export interface ModifyConsumerGroupDescriptionRequest {
/**
* 数据订阅实例的 ID
*/
SubscribeId: string;
/**
* 消费组名称。实际的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}。
请务必保证消费组名称正确。
*/
ConsumerGroupName: string;
/**
* 账户名称。实际的账户全称形如:account-#{SubscribeId}-#{AccountName}。
请务必保证账户名称正确。
*/
AccountName: string;
/**
* 修改之后的消费组描述
*/
Description: string;
}
/**
* ContinueSyncJob请求参数结构体
*/
export interface ContinueSyncJobRequest {
/**
* 同步任务id
*/
JobId: string;
}
/**
* ModifySubscribeObjects返回参数结构体
*/
export interface ModifySubscribeObjectsResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* CreateMigrationService返回参数结构体
*/
export interface CreateMigrationServiceResponse {
/**
* 下单成功随机生成的迁移任务id列表,形如:dts-c1f6rs21
注意:此字段可能返回 null,表示取不到有效值。
*/
JobIds?: Array<string>;
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* 目标端为kakfa时添加的同步选项字段
*/
export interface KafkaOption {
/**
* 投递到kafka的数据类型,如Avro,Json,canal-pb,canal-json
*/
DataType?: string;
/**
* 同步topic策略,如Single(集中投递到单topic),Multi (自定义topic名称)
*/
TopicType?: string;
/**
* 用于存储ddl的topic
*/
DDLTopicName?: string;
/**
* 单topic和自定义topic的描述
*/
TopicRules?: Array<TopicRule>;
}
/**
* DescribeMigrationCheckJob返回参数结构体
*/
export interface DescribeMigrationCheckJobResponse {
/**
* 校验任务执行状态,如:notStarted(未开始)、running(校验中)、failed(校验任务失败)、success(任务成功)
*/
Status?: string;
/**
* 校验任务结果输出简要信息
*/
BriefMsg?: string;
/**
* 检查步骤
*/
StepInfo?: Array<CheckStep>;
/**
* 校验结果,如:checkPass(校验通过)、checkNotPass(校验未通过)
*/
CheckFlag?: string;
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* StopSyncJob请求参数结构体
*/
export interface StopSyncJobRequest {
/**
* 同步任务id
*/
JobId: string;
}
/**
* 数据不一致的表详情
*/
export interface DifferenceDetail {
/**
* 数据不一致的表数量
*/
TotalCount?: number;
/**
* 校验不一致的表详情
注意:此字段可能返回 null,表示取不到有效值。
*/
Items?: Array<DifferenceItem>;
}
/**
* 数据库信息
*/
export interface DBInfo {
/**
* 表示节点角色,针对分布式数据库,如mongodb中的mongos节点。tdsqlmysql的可选项:proxy表示节点类型为主机,set表示节点类型为节点。proxy类型必须填在数组第一项。tdsqlmysql类型的源/目标配置必填。
*/
Role?: string;
/**
* 内核版本,针对mariadb的不同内核版本等
*/
DbKernel?: string;
/**
* 实例的IP地址,对于公网、专线、VPN、云联网、自研上云、VPC等接入方式此项必填
*/
Host?: string;
/**
* 实例的端口,对于公网、云主机自建、专线、VPN、云联网、自研上云、VPC等接入方式此项必填
*/
Port?: number;
/**
* 实例的用户名
*/
User?: string;
/**
* 实例的密码
*/
Password?: string;
/**
* CVM实例短ID,格式如:ins-olgl39y8;与云服务器控制台页面显示的实例ID相同;如果接入类型为云主机自建的方式,此项必填
*/
CvmInstanceId?: string;
/**
* VPN网关ID,格式如:vpngw-9ghexg7q;如果接入类型为vpncloud的方式,此项必填
*/
UniqVpnGwId?: string;
/**
* 专线网关ID,格式如:dcg-0rxtqqxb;如果接入类型为专线接入的方式,此项必填
*/
UniqDcgId?: string;
/**
* 数据库实例ID,格式如:cdb-powiqx8q;如果接入类型为云数据库的方式,此项必填
*/
InstanceId?: string;
/**
* 云联网ID,如:ccn-afp6kltc 注意:此字段可能返回 null,表示取不到有效值。
*/
CcnGwId?: string;
/**
* 私有网络ID,格式如:vpc-92jblxto;如果接入类型为vpc、vpncloud、ccn、dcg的方式,此项必填
*/
VpcId?: string;
/**
* 私有网络下的子网ID,格式如:subnet-3paxmkdz;如果接入类型为vpc、vpncloud、ccn、dcg的方式,此项必填
*/
SubnetId?: string;
/**
* 数据库版本,当实例为RDS实例时才有效,格式如:5.6或者5.7,默认为5.6
*/
EngineVersion?: string;
/**
* 实例所属账号
*/
Account?: string;
/**
* 跨账号迁移时的角色,只允许[a-zA-Z0-9\-\_]+
*/
AccountRole?: string;
/**
* 资源所属账号 为空或self(表示本账号内资源)、other(表示其他账户资源)
*/
AccountMode?: string;
/**
* 临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号迁移文档(https://cloud.tencent.com/document/product/571/54117)第4节中关于角色的定义。
*/
TmpSecretId?: string;
/**
* 临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号迁移文档(https://cloud.tencent.com/document/product/571/54117)第4节中关于角色的定义。
*/
TmpSecretKey?: string;
/**
* 临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号迁移文档(https://cloud.tencent.com/document/product/571/54117)第4节中关于角色的定义。
*/
TmpToken?: string;
/**
* 是否走加密传输、UnEncrypted表示不走加密传输,Encrypted表示走加密传输,默认UnEncrypted
*/
EncryptConn?: string;
/**
* tdsql的分片id。如节点类型为set必填。
*/
SetId?: string;
}
/**
* 单topic和自定义topic的描述。投递到单topic时,该数组的最后一项会被视为默认分区策略,所有未匹配到的数据都会按该策略投递,默认策略只支持 投递至partition0、按表名、表名+主键三种。
*/
export interface TopicRule {
/**
* topic名。单topic时,所有的TopicName必须相同
*/
TopicName?: string;
/**
* topic分区策略,自定义topic时支持:Random(随机投递),集中投递到单Topic时支持:AllInPartitionZero(全部投递至partition0)、PartitionByTable(按表名分区)、PartitionByTableAndKey(按表名加主键分区)、PartitionByCols(按列分区)
*/
PartitionType?: string;
/**
* 库名匹配规则,如Regular(正则匹配), Default(不符合匹配规则的剩余库),数组中最后一项必须为‘Default’
*/
DbMatchMode?: string;
/**
* 库名,DbMatchMode=Regular时生效
*/
DbName?: string;
/**
* 表名匹配规则,如Regular(正则匹配), Default(不符合匹配规则的剩余表),数组中最后一项必须为‘Default’
*/
TableMatchMode?: string;
/**
* 表名,仅TableMatchMode=Regular时生效
*/
TableName?: string;
/**
* 按列分区时需要选择配置列名,可以选择多列
注意:此字段可能返回 null,表示取不到有效值。
*/
Columns?: Array<string>;
}
/**
* DestroySyncJob请求参数结构体
*/
export interface DestroySyncJobRequest {
/**
* 同步任务id
*/
JobId: string;
}
/**
* 视图对象
*/
export interface ViewItem {
/**
* 视图名称
*/
ViewName?: string;
/**
* 迁移后的视图名称
*/
NewViewName?: string;
}
/**
* CreateCheckSyncJob返回参数结构体
*/
export interface CreateCheckSyncJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* CreateSubscribeCheckJob返回参数结构体
*/
export interface CreateSubscribeCheckJobResponse {
/**
* 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
*/
RequestId?: string;
}
/**
* 数据库不一致的详情,mongodb业务用到
*/
export interface AdvancedObjectsItem {
/**
* 对象类型,可能得值有:account,index,shardkey,schema
*/
ObjectType?: string;
/**
* 源端分块
*/
SrcChunk?: string;
/**
* 目标端分块
*/
DstChunk?: string;
/**
* 源端值
*/
SrcItem?: string;
/**
* 目标端值
*/
DstItem?: string;
}
/**
* 数据同步中的选项
*/
export interface Options {
/**
* 同步初始化选项,Data(全量数据初始化)、Structure(结构初始化)、Full(全量数据且结构初始化,默认)、None(仅增量)
*/
InitType?: string;
/**
* 同名表的处理,ReportErrorAfterCheck(前置校验并报错,默认)、ExecuteAfterIgnore(忽略并继续执行)
*/
DealOfExistSameTable?: string;
/**
* 冲突处理选项,ReportError(报错,默认为该值)、Ignore(忽略)、Cover(覆盖)、ConditionCover(条件覆盖)
*/
ConflictHandleType?: string;
/**
* 是否添加附加列
*/
AddAdditionalColumn?: boolean;
/**
* 所要同步的DML和DDL的选项,Insert(插入操作)、Update(更新操作)、Delete(删除操作)、DDL(结构同步), PartialDDL(自定义,和DdlOptions一起配合使用)。注意,这里至少需要包含DML中的一种。
注意:此字段可能返回 null,表示取不到有效值。
*/
OpTypes?: Array<string>;
/**
* 冲突处理的详细选项,如条件覆盖中的条件行和条件操作
*/
ConflictHandleOption?: ConflictHandleOption;
/**
* DDL同步选项,具体描述要同步那些DDL
注意:此字段可能返回 null,表示取不到有效值。
*/
DdlOptions?: Array<DdlOption>;
/**
* kafka同步选项
*/
KafkaOption?: KafkaOption;
/**
* 任务限速信息
*/
RateLimitOption?: RateLimitOption;
/**
* 自动重试的时间窗口设置
*/
AutoRetryTimeRangeMinutes?: number;
/**
* 同步到kafka链路指定位点。目前只支持时间格式:2023-12-20T19:24:23+08:00。如果没有指定位点,为空。
*/
StartPosition?: string;
/**
* 同步到kafka链路是否过滤掉begin和commit消息。目前仅mysql2kafka链路支持
*/
FilterBeginCommit?: boolean;
/**
* 同步到kafka链路是否过滤掉checkpoint消息。目前仅mysql2kafka链路支持
*/
FilterCheckpoint?: boolean;
}
/**
* 一致性校验库表对象
*/
export interface CompareObjectItem {
/**
* 数据库名
*/
DbName: string;
/**
* 数据库选择模式: all 为当前对象下的所有对象,partial 为部分对象
*/
DbMode: string;
/**
* schema名称
*/
SchemaName?: string;
/**
* 表选择模式: all 为当前对象下的所有表对象,partial 为部分表对象
*/
TableMode?: string;
/**
* 用于一致性校验的表配置,当 TableMode 为 partial 时,需要填写
*/
Tables?: Array<CompareTableItem>;
/**
* 视图选择模式: all 为当前对象下的所有视图对象,partial 为部分视图对象(一致性校验不校验视图,当前参数未启作用)
*/
ViewMode?: string;
/**
* 用于一致性校验的视图配置,当 ViewMode 为 partial 时, 需要填写(一致性校验不校验视图,当前参数未启作用)
注意:此字段可能返回 null,表示取不到有效值。
*/
Views?: Array<CompareViewItem>;
}
/**
* ConfigureSyncJob请求参数结构体
*/
export interface ConfigureSyncJobRequest {
/**
* 同步实例id(即标识一个同步作业),形如sync-werwfs23
*/
JobId: string;
/**
* 源端接入类型,cdb(云数据库)、cvm(云主机自建)、vpc(私有网络)、extranet(外网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、intranet(自研上云),注意具体可选值依赖当前链路
*/
SrcAccessType: string;
/**
* 目标端接入类型,cdb(云数据库)、cvm(云主机自建)、vpc(私有网络)、extranet(外网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、intranet(自研上云)、ckafka(CKafka实例),注意具体可选值依赖当前链路
*/
DstAccessType: string;
/**
* 同步库表对象信息
*/
Objects: Objects;
/**
* 同步任务名称
*/
Jo