Adquire uma instância de migração de dados e configura uma tarefa de migração.
Sintaxe
{
"Type": "ALIYUN::DTS::MigrationJob2",
"Properties": {
"Status": String,
"Reserve": Map,
"DataSynchronization": Boolean,
"DedicatedClusterId": String,
"DelayPhone": String,
"ErrorNotice": Boolean,
"DtsJobName": String,
"DelayRuleTime": Integer,
"DtsInstanceId": String,
"DbList": Map,
"FileOssUrl": String,
"DataCheckConfigure": Map,
"DtsBisLabel": String,
"Checkpoint": String,
"DisasterRecoveryJob": Boolean,
"DtsJobId": String,
"DelayNotice": Boolean,
"DataInitialization": Boolean,
"DestinationEndpoint": Map,
"SourceEndpoint": Map,
"ErrorPhone": String,
"StructureInitialization": Boolean,
"SrcPrimaryVswId": String,
"MaxDu": Integer,
"DestPrimaryVswId": String,
"DestSecondaryVswId": String,
"SrcSecondaryVswId": String,
"MinDu": Integer,
"ResourceGroupId": String
}
}
Propriedades
|
Parâmetro |
Tipo |
Obrigatório |
Atualizável |
Descrição |
Restrições |
|
DataSynchronization |
Boolean |
Sim |
Não |
Define se a migração ou sincronização incremental de dados deve ser ativada. |
Valores válidos:
|
|
DbList |
Map |
Sim |
Não |
Objetos a serem migrados, sincronizados ou assinados. |
O valor deve ser uma string JSON. Para mais detalhes, consulte Objetos de migração, sincronização ou assinatura. |
|
DtsJobName |
String |
Sim |
Sim |
Nome da tarefa de assinatura. |
Utilize um nome descritivo para facilitar a identificação. Não é necessário que o nome seja único. |
|
DataInitialization |
Boolean |
Sim |
Não |
Indica se a migração completa de dados ou a inicialização completa de dados está habilitada. |
Valores válidos:
|
|
DestinationEndpoint |
Map |
Sim |
Sim |
Configuração da instância de destino. |
Para mais informações, consulte Propriedades de DestinationEndpoint. |
|
StructureInitialization |
Boolean |
Sim |
Não |
Especifica se a migração ou inicialização de esquema deve ocorrer. |
Valores válidos:
|
|
SourceEndpoint |
Map |
Sim |
Sim |
Configuração da instância de origem. |
Para mais informações, consulte Propriedades de SourceEndpoint. |
|
Status |
String |
Não |
Sim |
Estado atual do recurso. |
Valores válidos:
|
|
Reserve |
Map |
Não |
Não |
Parâmetros reservados do Data Transmission Service (DTS). |
Adiciona configurações para a instância de origem ou de destino. Por exemplo, permite especificar o formato de armazenamento de dados de uma instância Message Queue for Apache Kafka de destino e o ID de uma instância Cloud Enterprise Network (CEN). |
|
DedicatedClusterId |
String |
Não |
Não |
ID do cluster dedicado do DTS. |
Agenda uma tarefa de assinatura em um cluster dedicado específico do DTS. |
|
DelayPhone |
String |
Não |
Não |
Números de telefone móvel dos contatos para alertas de latência. |
Separe vários números de telefone móvel com vírgula (,). Nota
|
|
ErrorNotice |
Boolean |
Não |
Não |
Habilita ou não o monitoramento de erros na tarefa. |
Valores válidos:
|
|
DelayRuleTime |
Integer |
Não |
Não |
Limiar para acionar alertas de latência. |
Unidade: segundos. O valor deve ser um número inteiro. Recomenda-se definir um valor igual ou superior a 10 segundos para evitar falsos alarmes causados por latência normal de rede ou flutuações de carga do banco de dados. Nota
Este parâmetro é obrigatório quando o parâmetro |
|
DtsInstanceId |
String |
Não |
Não |
ID da tarefa de assinatura. |
N/A |
|
FileOssUrl |
String |
Não |
Não |
URL do OSS referente ao arquivo da tarefa. |
N/A |
|
DataCheckConfigure |
Map |
Não |
Não |
Configuração da tarefa de verificação de dados. |
String JSON que define limites de parâmetros e configurações de alerta. Para mais informações, consulte Propriedades de DataCheckConfigure. |
|
DtsBisLabel |
String |
Não |
Não |
Tag de ambiente da instância do DTS. |
Valores válidos:
|
|
Checkpoint |
String |
Não |
Não |
Ponto de verificação para migração ou sincronização incremental de dados. |
O valor corresponde a um carimbo de data/hora UNIX em segundos. |
|
DisasterRecoveryJob |
Boolean |
Não |
Não |
Indica se esta é uma instância de recuperação de desastres. |
Valores válidos:
|
|
DtsJobId |
String |
Não |
Não |
Identificador da tarefa de migração ou sincronização de dados. |
N/A |
|
DelayNotice |
Boolean |
Não |
Não |
Ativa ou desativa o monitoramento de latência da tarefa. |
Valores válidos:
|
|
ErrorPhone |
String |
Não |
Não |
Telefones móveis dos contatos para receber alertas de erro. |
Separe múltiplos números de celular com vírgula (,). Nota
|
|
SrcPrimaryVswId |
String |
Não |
Não |
ID do vSwitch primário para a origem NAT baseada em VPC. |
N/A |
|
MaxDu |
Integer |
Não |
Não |
Quantidade máxima de Unidades DTS (DUs) para a tarefa. |
Aplicável somente a instâncias serverless. |
|
DestPrimaryVswId |
String |
Não |
Não |
ID do vSwitch primário para o destino NAT baseado em VPC. |
N/A |
|
DestSecondaryVswId |
String |
Não |
Não |
ID do vSwitch secundário para o destino NAT baseado em VPC. |
N/A |
|
SrcSecondaryVswId |
String |
Não |
Não |
ID do vSwitch secundário para a origem NAT baseada em VPC. |
N/A |
|
MinDu |
Integer |
Não |
Não |
Número mínimo de Unidades DTS (DUs) exigido pela tarefa. |
Aplicável somente a instâncias serverless. |
|
ResourceGroupId |
String |
Não |
Não |
ID do grupo de recursos. |
N/A |
Sintaxe de DataCheckConfigure
"DataCheckConfigure": {
"fullCheckMaxReadRps": Integer,
"dataCheckNoticePhone": String,
"incrementalCheckDelayNotice": Boolean,
"incrementalCheckDelayNoticeValue": Integer,
"incrementalCheckDelayNoticePeriod": Integer,
"dataCheckDbList": String,
"checkMaximumHourEnable": Integer,
"fullCheckRatio": Integer,
"checkMaximumHour": Integer,
"fullCheckFixData": Boolean,
"fullCheckModel": Integer,
"incrementalCheckValidFailNoticeValue": Integer,
"incrementalDataCheck": Boolean,
"incrementalCheckValidFailNoticeTimes": Integer,
"fullCheckMaxReadBps": Integer,
"fullCheckValidFailNotice": Boolean,
"fullCheckErrorNotice": Boolean,
"incrementalCheckValidFailNoticePeriod": Integer,
"incrementalCheckDelayNoticeTimes": Integer,
"fullCheckReferEndpoint": String,
"fullDataCheck": Boolean,
"incrementalCheckValidFailNotice": Boolean,
"fullCheckNoticeValue": Integer,
"incrementalCheckErrorNotice": Boolean
}
Propriedades de DataCheckConfigure
|
Parâmetro |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrições |
|
fullCheckMaxReadRps |
Integer |
Não |
Não |
Limite máximo de linhas de dados lidas por segundo. |
O valor deve ser um inteiro entre 0 e 9007199254740991. Nota
O valor |
|
dataCheckNoticePhone |
String |
Não |
Não |
Número de telefone móvel do contato para alertas das tarefas de verificação completa ou incremental de dados. |
O contato recebe uma mensagem de texto quando uma tarefa de verificação de dados dispara um alerta. |
|
incrementalCheckDelayNotice |
Boolean |
Não |
Não |
Controla a ativação de alertas para latência de dados em tarefas de verificação incremental. |
Valores válidos:
|
|
incrementalCheckDelayNoticeValue |
Integer |
Não |
Não |
Limiar de alerta para latência de dados em uma tarefa de verificação incremental. |
Unidade: segundos. Nota
Parâmetro obrigatório caso |
|
incrementalCheckDelayNoticePeriod |
Integer |
Não |
Não |
Período estatístico para alertas de latência de dados em uma tarefa de verificação incremental. |
Valores válidos:
Nota
Campo obrigatório quando |
|
dataCheckDbList |
String |
Não |
Não |
Objetos alvo da verificação de dados. |
Nenhuma. |
|
checkMaximumHourEnable |
Integer |
Não |
Não |
Define se haverá um tempo limite para a tarefa de verificação completa de dados. |
Valores válidos:
Nota
Necessário informar este campo se |
|
fullCheckRatio |
Integer |
Não |
Não |
Taxa de amostragem aplicada à tarefa de verificação completa de dados. |
Aceita valores inteiros de 10 a 100. Unidade: %. Nota
Exigido quando |
|
checkMaximumHour |
Integer |
Não |
Não |
Tempo limite estipulado para a execução da verificação completa de dados. |
Deve ser um inteiro entre 1 e 72. A contagem regressiva inicia assim que a verificação começa; caso exceda esse período, o sistema encerra a tarefa forçadamente. |
|
fullCheckFixData |
Boolean |
Não |
Não |
Determina se a correção automática de dados será executada. |
Valores válidos:
|
|
fullCheckModel |
Integer |
Não |
Não |
Modo de operação da tarefa de verificação completa de dados. |
Valores válidos:
|
|
incrementalCheckValidFailNoticeValue |
Integer |
Não |
Não |
Limiar de alerta para dados inconsistentes em uma tarefa de verificação incremental. |
Obrigatório quando |
|
incrementalDataCheck |
Boolean |
Não |
Não |
Habilita a execução da verificação incremental de dados. |
Valores válidos:
|
|
incrementalCheckValidFailNoticeTimes |
Integer |
Não |
Não |
Quantidade de períodos estatísticos consecutivos com dados inconsistentes necessária para disparar um alerta. |
Campo requerido se |
|
fullCheckMaxReadBps |
Integer |
Não |
Não |
Volume máximo de dados a serem lidos por segundo. |
Deve ser um inteiro entre 0 e 9007199254740991. Unidade: bytes. Nota
Definir como |
|
fullCheckValidFailNotice |
Boolean |
Não |
Não |
Ativa alertas para inconsistências detectadas na verificação completa de dados. |
Valores válidos:
|
|
fullCheckErrorNotice |
Boolean |
Não |
Não |
Notifica falhas ocorridas durante a tarefa de verificação completa de dados. |
Valores válidos:
|
|
incrementalCheckValidFailNoticePeriod |
Integer |
Não |
Não |
Intervalo estatístico utilizado para avaliar inconsistências na verificação incremental. |
Opções disponíveis:
Nota
Torna-se mandatório se |
|
incrementalCheckDelayNoticeTimes |
Integer |
Não |
Não |
Número de ciclos estatísticos consecutivos com latência acima do limiar para gerar um alerta. |
Requisito aplicável quando |
|
fullCheckReferEndpoint |
String |
Não |
Não |
Base de referência para a verificação completa de dados. |
Valores válidos:
|
|
fullDataCheck |
Boolean |
Não |
Não |
Inicia ou não o processo de verificação completa de dados. |
Valores válidos:
|
|
incrementalCheckValidFailNotice |
Boolean |
Não |
Não |
Dispara notificações sobre inconsistências encontradas na verificação incremental. |
Valores válidos:
|
|
fullCheckNoticeValue |
Integer |
Não |
Não |
Quantidade limite de dados inconsistentes para gerar alerta na verificação completa. |
Deve ser informado caso |
|
incrementalCheckErrorNotice |
Boolean |
Não |
Não |
Envia notificação caso a tarefa de verificação incremental apresente falha. |
Valores válidos:
|
Sintaxe de DestinationEndpoint
"DestinationEndpoint": {
"Role": String,
"OracleSID": String,
"UserName": String,
"OwnerID": String,
"InstanceID": String,
"IP": String,
"Port": String,
"DatabaseName": String,
"Region": String,
"InstanceType": String,
"EngineName": String,
"Password": String
}
Propriedades de DestinationEndpoint
|
Parâmetro |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrições |
|
InstanceType |
String |
Sim |
Não |
Tipo da instância de destino. |
Valores válidos:
|
|
Role |
String |
Não |
Não |
Nome da função do Resource Access Management (RAM) da conta Alibaba Cloud proprietária da instância de destino. |
Parâmetro necessário para migração ou sincronização de dados entre contas diferentes da Alibaba Cloud. |
|
OracleSID |
String |
Não |
Não |
System ID (SID) do banco de dados Oracle. |
Obrigatório quando |
|
UserName |
String |
Não |
Não |
Conta de usuário do banco de dados de destino. |
As permissões necessárias variam conforme o cenário de migração. Consulte os exemplos de configuração em Visão geral dos cenários de migração. |
|
OwnerID |
String |
Não |
Não |
ID da conta Alibaba Cloud proprietária da instância de destino. |
Necessário apenas para migração de dados entre contas distintas da Alibaba Cloud. |
|
InstanceID |
String |
Não |
Não |
Identificador da instância de destino. |
Exigido se |
|
IP |
String |
Não |
Não |
Endereço IP do banco de dados de destino. |
Obrigatório quando |
|
Port |
String |
Não |
Não |
Porta de serviço do banco de dados de destino. |
Necessário se |
|
DatabaseName |
String |
Não |
Não |
Nome do banco de dados a ser migrado ou do banco de autenticação. |
|
|
Region |
String |
Não |
Não |
ID da região onde reside o banco de dados de destino. |
Se |
|
EngineName |
String |
Não |
Não |
Motor do banco de dados de destino. |
Valores válidos:
Nota
Informação obrigatória se |
|
Password |
String |
Não |
Sim |
Senha da conta do banco de dados de destino. |
Nenhuma |
Sintaxe de SourceEndpoint
"SourceEndpoint": {
"OracleSID": String,
"UserName": String,
"InstanceID": String,
"IP": String,
"Port": String,
"VSwitchID": String,
"DatabaseName": String,
"EngineName": String,
"Role": String,
"OwnerID": String,
"Region": String,
"InstanceType": String,
"Password": String
}
Propriedades de SourceEndpoint
|
Parâmetro |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
InstanceType |
String |
Sim |
Não |
Categoria da instância de origem. |
Valores válidos:
|
|
OracleSID |
String |
Não |
Não |
System ID (SID) do banco de dados Oracle. |
Necessário apenas quando EngineName for Oracle e a instância não utilizar arquitetura Real Application Clusters (RAC). |
|
UserName |
String |
Não |
Não |
Usuário de acesso ao banco de origem. |
As permissões exigidas dependem do cenário de migração. Veja exemplos em Cenários de migração. |
|
InstanceID |
String |
Não |
Não |
Identificador da instância de origem. |
|
|
IP |
String |
Não |
Não |
Endereço IP de conexão do banco de origem. |
Requerido se InstanceType for LocalInstance ou Express Connect. |
|
Port |
String |
Não |
Não |
Porta de serviço do banco de origem. |
Exigido quando InstanceType for ECS, LocalInstance ou Express Connect. |
|
VSwitchID |
String |
Não |
Não |
ID do vSwitch utilizado no link de transmissão de dados. |
Nenhuma |
|
DatabaseName |
String |
Não |
Não |
Nome do banco a migrar ou do banco de autenticação. |
|
|
EngineName |
String |
Não |
Não |
Tipo de motor do banco de origem. |
Valores válidos:
Nota
Campo necessário se InstanceType for RDS, PolarDB, ECS, LocalInstance ou Express Connect. |
|
Role |
String |
Não |
Não |
Função RAM associada à instância de origem. |
Obrigatória quando origem e destino pertencem a contas Alibaba Cloud distintas, autorizando o acesso da conta de destino à instância de origem. Nota
Para detalhes sobre permissões e concessão de acesso via RAM, veja Configurar autorização RAM para tarefas de migração entre contas. |
|
OwnerID |
String |
Não |
Não |
ID da conta Alibaba Cloud dona da instância de origem. |
Utilizado exclusivamente em migrações entre contas diferentes da Alibaba Cloud. |
|
Region |
String |
Não |
Não |
Região onde o banco de origem está localizado. |
Para LocalInstance, use cn-hangzhou ou a região mais próxima geograficamente. Mais detalhes em Regiões suportadas. |
|
Password |
String |
Não |
Sim |
Senha da conta do banco de origem. |
Nenhuma |
Valores de retorno
Fn::GetAtt
DtsJobId: ID da tarefa do DTS.
DtsJobName: Nome da tarefa do DTS.
DtsInstanceId: ID da instância do DTS.
Exemplos
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
SourceEndpoint:
AssociationPropertyMetadata:
Parameters:
UserName:
Default: null
Type: String
Description:
en: >-
The username for the source database account.
Note: This parameter is required in most scenarios. The required database account permissions vary by migration or synchronization scenario.
Password:
Default: null
Type: String
Description:
en: The password for the source database account.
InstanceID:
Default: null
Type: String
Description:
en: >-
The ID of the source instance. If the source is an Alibaba Cloud database instance, you must specify its instance ID.
- If the source instance is an ApsaraDB RDS for MySQL instance, specify the ID of the ApsaraDB RDS for MySQL instance.
- If the source instance is a self-managed database, this parameter's value depends on the SourceEndpoint.InstanceType value. - If InstanceType is set to ECS, specify the ID of the ECS instance. - If InstanceType is set to DG, specify the ID of the database gateway. - If InstanceType is set to EXPRESS or CEN, specify the ID of the VPC connected to the source instance. Note: If DestinationEndpoint.InstanceType is set to CEN, you must also specify the ID of the CEN instance in the Reserve parameter. IP: Default: null Type: String Description: en: >- The IP address of the source instance. Note: This parameter is required only when InstanceType is set to OTHER, EXPRESS, DG, or CEN. Region: Default: null Type: String Description: en: >- The region ID of the source instance. Note: This parameter is required if the source instance is an Alibaba Cloud database instance. InstanceType: Type: String Description: en: >- The type of the source instance. Valid values: Alibaba Cloud database instances: - RDS: An ApsaraDB RDS for MySQL, ApsaraDB RDS for SQL Server, ApsaraDB RDS for PostgreSQL, or ApsaraDB RDS for MariaDB TX instance. - PolarDB: A PolarDB for MySQL cluster. - REDIS: An ApsaraDB for Redis instance. - DISTRIBUTED_POLARDBX10: A PolarDB-X 1.0 (formerly DRDS) instance. - POLARDBX20: A PolarDB-X 2.0 instance. - MONGODB: An ApsaraDB for MongoDB instance. - DISTRIBUTED_DMSLOGICDB: A Data Management (DMS) logical database. Self-managed databases: - OTHER: A self-managed database with a public IP address. - ECS: A self-managed database hosted on an Elastic Compute Service (ECS) instance. - EXPRESS: A self-managed database connected over Express Connect. - CEN: A self-managed database connected over Cloud Enterprise Network (CEN). - DG: A self-managed database connected over Database Gateway. Note: If the source instance is a PolarDB for PostgreSQL cluster (Oracle-compatible), you must set this parameter to OTHER or EXPRESS. You can then connect to DTS by using a public IP address or Express Connect. If the source is a self-managed database, you must prepare its network environment. VSwitchID: Default: null Type: String Description: en: The ID of the vSwitch used for the data transmission link. DatabaseName: Default: null Type: String Description: en: >- The name of the source database that contains the objects to migrate. Note: This parameter is required only when the source instance is a PolarDB for PostgreSQL cluster (Oracle-compatible), a PostgreSQL database, or a MongoDB database. EngineName: Default: null Type: String Description: en: >- The database engine of the source instance. Valid values: - MYSQL: An ApsaraDB RDS for MySQL instance or a self-managed MySQL database. - MARIADB: An ApsaraDB RDS for MariaDB TX instance. - PolarDB: A PolarDB for MySQL cluster. - POLARDB_O: A PolarDB for PostgreSQL cluster (Oracle-compatible). - POLARDBX10: A PolarDB-X 1.0 instance. - POLARDBX20: A PolarDB-X 2.0 instance. - ORACLE: A self-managed Oracle database. - POSTGRESQL: An ApsaraDB RDS for PostgreSQL instance or a self-managed PostgreSQL database. - MSSQL: An ApsaraDB RDS for SQL Server instance or a self-managed SQL Server database. - MONGODB: An ApsaraDB for MongoDB instance or a self-managed MongoDB database. - DB2: A self-managed Db2 for LUW database. - AS400: A self-managed Db2 for i database. - DMSPOLARDB: A DMS logical database. - HBASE: A self-managed HBase database. - TERADATA: A Teradata database. - TiDB: A TiDB database. - REDIS: An ApsaraDB for Redis instance or a self-managed Redis database. Note: The default value is MYSQL. If EngineName is set to MONGODB, you must also specify the architecture type of the MongoDB database in the Reserve parameter. Role: Default: null Type: String Description: en: >- The name of the RAM role configured for the Alibaba Cloud account that owns the source instance. Note: This parameter is required for data migration or synchronization across different Alibaba Cloud accounts. OwnerID: Default: null Type: String Description: en: >- The ID of the Alibaba Cloud account to which the source database belongs. Note: Specify this parameter for cross-account data migration or synchronization. If you specify this parameter, you must also specify the Role parameter. OracleSID: Default: null Type: String Description: en: >- The system ID (SID) of the Oracle database. Note: This parameter is required only if EngineName is set to ORACLE and the Oracle database is not in a Real Application Clusters (RAC) configuration. Port: Default: null Type: String Description: en: >- The port number of the source instance. Note: This parameter is required only when the source instance is a self-managed database. Type: Json Description: en: Source endpoint configuration. Checkpoint: Default: null Type: String Description: en: >- The start offset of incremental data migration or synchronization. This value is a UNIX timestamp in seconds. Status: Default: null Type: String Description: en: |- The status of the DTS job. Valid values: - Migrating: Starts the job. - Suspending: Suspends the job. - Stopping: Stops the job. AllowedValues: - Migrating - Suspending - Stopping DisasterRecoveryJob: Default: null Type: Boolean Description: en: >- Specifies whether the job is for disaster recovery. Valid values: true and false. DtsJobId: Default: null Type: String Description: en: The DTS job ID. DtsJobName: Type: String Description: en: DTS job name. DataSynchronization: Type: Boolean Description: en: >- Specifies whether to perform incremental data migration or synchronization. Default value: false. Valid values: true and false. DataCheckConfigure: Default: null AssociationPropertyMetadata: Parameters: fullCheckErrorNotice: Default: null Type: Boolean Description: en: >- Specifies whether to trigger an alert if the full data verification task fails. Valid values: true and false. fullCheckValidFailNotice: Default: null Type: Boolean Description: en: >- Specifies whether to trigger an alert if inconsistent data is detected during a full data verification. If you set this parameter to true, an alert is triggered if the number of inconsistent data entries meets or exceeds the specified threshold. Valid values: true and false. incrementalCheckValidFailNotice: Default: null Type: Boolean Description: en: >- Specifies whether to trigger an alert if inconsistent data is detected during an incremental data verification. If you set this parameter to true, an alert is triggered if the cumulative number of inconsistent data entries across consecutive statistical periods meets or exceeds the specified threshold. Valid values: true and false. dataCheckNoticePhone: Default: null Type: String Description: en: >- The mobile number of the contact for data verification alerts. If an alert is triggered, a text message is sent to notify the contact. fullCheckReferEndpoint: Default: null Type: String Description: en: >- The benchmark for full data verification. Valid values: - all: Verifies data consistency based on the union of the source and destination databases. - src: Verifies data consistency based on the source database. Objects that exist only in the destination database are not verified. - dest: Verifies data consistency based on the destination database. Objects that exist only in the source database are not verified. fullCheckModel: Default: null Type: Number Description: en: |- The mode of the full data verification task. Valid values: - 1: Verifies data by sampling ratio. - 2: Verifies data by row. AllowedValues: - 1 - 2 incrementalCheckDelayNotice: Default: null Type: Boolean Description: en: >- Specifies whether to trigger an alert for data latency in an incremental data verification. If you set this parameter to true, an alert is triggered if the cumulative latency across consecutive statistical periods meets or exceeds the specified threshold. Valid values: true and false. incrementalCheckValidFailNoticePeriod: Default: null Type: Number Description: en: >- The statistical period for alerts on inconsistent data in an incremental data verification. Valid values: - 1: 1 minute - 2: 5 minutes - 3: 10 minutes - 4: 30 minutes Note: This parameter is required if incrementalCheckValidFailNotice is set to true. AllowedValues: - 1 - 2 - 3 - 4 incrementalCheckDelayNoticeTimes: Default: null Type: Number Description: en: >- The number of consecutive statistical periods during which the data latency must exceed the threshold before an alert is triggered. Note: This parameter is required if incrementalCheckDelayNotice is set to true. fullCheckMaxReadBps: Default: null MinValue: 0 Type: Number Description: en: >- The maximum data read rate in bytes per second. Integer from 0 to 9007199254740991. A value of 0 means no limit. MaxValue: 9007199254740991 incrementalCheckValidFailNoticeTimes: Default: null Type: Number Description: en: >- The number of consecutive statistical periods during which the count of inconsistent data must exceed the threshold before an alert is triggered. Note: This parameter is required if incrementalCheckValidFailNotice is set to true. fullCheckMaxReadRps: Default: null MinValue: 0 Type: Number Description: en: >- The maximum row read rate in rows per second. Integer from 0 to 9007199254740991. A value of 0 means no limit. MaxValue: 9007199254740991 incrementalCheckValidFailNoticeValue: Default: null Type: Number Description: en: >- The alert threshold for the number of inconsistent data entries detected during an incremental data verification. Note: This parameter is required if incrementalCheckValidFailNotice is set to true. fullDataCheck: Default: null Type: Boolean Description: en: >- Specifies whether to perform a full data verification. Valid values: true and false. fullCheckRatio: Default: null MinValue: 10 Type: Number Description: en: >- The sampling ratio for the full data verification. Unit: percentage. Valid values are integers from 10 to 100. Note: This parameter is required if the fullCheckModel parameter is set to 1. MaxValue: 100 incrementalCheckDelayNoticeValue: Default: null Type: Number Description: en: >- The alert threshold for data latency in an incremental data verification. Unit: seconds. Note: This parameter is required if the incrementalCheckDelayNotice parameter is set to true. checkMaximumHourEnable: Default: null Type: Number Description: en: >- Specifies whether to configure a timeout period for the full data verification task. Valid values: - 0: Does not configure a timeout period. - 1: Configures a timeout period. Note: This parameter is required if the fullCheckModel parameter is set to 1. AllowedValues: - 0 - 1 dataCheckDbList: Default: null Type: String Description: en: >- The database objects to be verified. The value must be a JSON string. incrementalCheckErrorNotice: Default: null Type: Boolean Description: en: >- Specifies whether to trigger an alert if an incremental data verification task fails. Valid values: true and false. checkMaximumHour: Default: null MinValue: 1 Type: Number Description: en: >- The timeout for the full data verification task, in hours. Valid values are integers from 1 to 72. The countdown starts when the verification begins. If the task exceeds this time limit, it is stopped. MaxValue: 72 incrementalCheckDelayNoticePeriod: Default: null Type: Number Description: en: >- The statistical period for data latency alerts in an incremental data verification. Valid values: - 1: 1 minute - 2: 5 minutes - 3: 10 minutes - 4: 30 minutes Note: This parameter is required if incrementalCheckDelayNotice is set to true. AllowedValues: - 1 - 2 - 3 - 4 fullCheckFixData: Default: null Type: Boolean Description: en: >- Specifies whether to replace inconsistent data. If you set this parameter to true, inconsistent data in the destination database is replaced with data from the source database. Default value: false. fullCheckNoticeValue: Default: null Type: Number Description: en: >- The alert threshold for the number of inconsistent data entries detected during a full data verification. Note: This parameter is required if fullCheckValidFailNotice is set to true. incrementalDataCheck: Default: null Type: Boolean Description: en: >- Specifies whether to perform an incremental data verification. Valid values: true and false. Type: Json Description: en: Data verification configuration. StructureInitialization: Type: Boolean Description: en: >- Specifies whether to perform schema initialization. Default value: true. Valid values: true and false. DelayRuleTime: Default: null Type: Number Description: en: >- The latency alert threshold, in seconds. You can set the threshold based on your business requirements. To prevent false alarms caused by network and database jitters, we recommend setting the threshold to more than 10 seconds. ErrorPhone: Default: null Type: String Description: en: >- The mobile numbers for job error alerts. Separate multiple mobile numbers with commas (,). Note: This parameter is available only on the Alibaba Cloud China site (aliyun.com) and supports a maximum of 10 mobile numbers in the Chinese mainland. Users on the international site (alibabacloud.com) cannot receive mobile alerts. Instead, you can configure alert rules for DTS jobs in the CloudMonitor console. DtsInstanceId: Default: null Type: String Description: en: The DTS instance ID. DestinationEndpoint: AssociationPropertyMetadata: Parameters: UserName: Default: null Type: String Description: en: >- The username for the destination database account. Note: This parameter is required in most scenarios. The permissions required for the database account vary based on the migration or synchronization scenario. Password: Default: null Type: String Description: en: The password for the destination database account. InstanceID: Default: null Type: String Description: en: >- The ID of the destination instance. If the destination is an Alibaba Cloud database instance, you must specify its instance ID. - If the destination instance is an ApsaraDB RDS for MySQL instance, specify the ID of the ApsaraDB RDS for MySQL instance. - If the destination instance is a self-managed database, the value of this parameter varies based on the value of DestinationEndpoint.InstanceType. - If InstanceType is set to ECS, specify the ID of the ECS instance. - If InstanceType is set to DG, specify the ID of the database gateway. - If InstanceType is set to EXPRESS or CEN, specify the ID of the VPC connected to the destination instance. Note: If DestinationEndpoint.InstanceType is set to CEN, you must also specify the ID of the CEN instance in the Reserve parameter. IP: Default: null Type: String Description: en: >- The IP address of the destination instance. Note: This parameter is required only when InstanceType is set to OTHER, EXPRESS, DG, or CEN. Region: Default: null Type: String Description: en: >- The region ID of the destination instance. Note: This parameter is required if the destination instance is an Alibaba Cloud database instance. InstanceType: Type: String Description: en: >- The type of the destination instance. Valid values: Alibaba Cloud database instances: - RDS: An ApsaraDB RDS for MySQL, ApsaraDB RDS for SQL Server, ApsaraDB RDS for PostgreSQL, or ApsaraDB RDS for MariaDB TX instance. - PolarDB: A PolarDB for MySQL cluster. - DISTRIBUTED_POLARDBX10: A PolarDB-X 1.0 (formerly DRDS) instance. - POLARDBX20: A PolarDB-X 2.0 instance. - REDIS: An ApsaraDB for Redis instance. - ADS: An AnalyticDB for MySQL V2.0 cluster. - MONGODB: An ApsaraDB for MongoDB instance. - GREENPLUM: An AnalyticDB for PostgreSQL instance. - DATAHUB: A DataHub project. - ELK: An Elasticsearch cluster. - Tablestore: A Tablestore instance. - ODPS: A MaxCompute project. Self-managed databases: - OTHER: A self-managed database with a public IP address. - ECS: A self-managed database hosted on an ECS instance. - EXPRESS: A self-managed database connected over Express Connect. - CEN: A self-managed database connected over CEN. - DG: A self-managed database connected over Database Gateway. Note: If the destination instance is a PolarDB for PostgreSQL cluster (Oracle-compatible), you must set this parameter to OTHER or EXPRESS. You can then connect to DTS by using a public IP address or Express Connect. For a Message Queue for Apache Kafka instance, set this parameter to ECS or EXPRESS. This allows you to connect the instance to DTS as a self-managed database over ECS or Express Connect. If the destination instance is a self-managed database, you must prepare the network environment for the database. Role: Default: null Type: String Description: en: >- The name of the RAM role configured for the Alibaba Cloud account that owns the destination instance. Note: This parameter is required for data migration or synchronization across different Alibaba Cloud accounts. DatabaseName: Default: null Type: String Description: en: >- The name of the database in the destination instance that contains the objects to be migrated. Note: This parameter is required only when the destination instance is a PolarDB for PostgreSQL cluster (Oracle-compatible), a PostgreSQL database, or a MongoDB database. EngineName: Default: null Type: String Description: en: >- The database engine of the destination instance. Valid values: - MYSQL: An ApsaraDB RDS for MySQL instance or a self-managed MySQL database. - MARIADB: An ApsaraDB RDS for MariaDB TX instance. - PolarDB: A PolarDB for MySQL cluster. - POLARDB_O: A PolarDB for PostgreSQL cluster (Oracle-compatible). - POLARDBX10: A PolarDB-X 1.0 instance. - POLARDBX20: A PolarDB-X 2.0 instance. - ORACLE: A self-managed Oracle database. - POSTGRESQL: An ApsaraDB RDS for PostgreSQL instance or a self-managed PostgreSQL database. - MSSQL: An ApsaraDB RDS for SQL Server instance or a self-managed SQL Server database. - ADS: An AnalyticDB for MySQL V2.0 cluster. - ADB30: An AnalyticDB for MySQL V3.0 cluster. - MONGODB: An ApsaraDB for MongoDB instance or a self-managed MongoDB database. - GREENPLUM: An AnalyticDB for PostgreSQL instance. - KAFKA: A Message Queue for Apache Kafka instance or a self-managed Kafka cluster. - DATAHUB: A DataHub project. - DB2: A self-managed Db2 for LUW database. - AS400: A self-managed Db2 for i database. - ODPS: A MaxCompute project. - Tablestore: A Tablestore instance. - ELK: An Elasticsearch cluster. - REDIS: An ApsaraDB for Redis instance or a self-managed Redis database. Note: The default value is MYSQL. If this parameter is set to KAFKA, MONGODB, or PolarDB, you must also specify the database information in the Reserve parameter. OwnerID: Default: null Type: String Description: en: >- The ID of the Alibaba Cloud account to which the destination database belongs. Note: Specify this parameter for cross-account data migration or synchronization. You must also specify the Role parameter. OracleSID: Default: null Type: String Description: en: >- The system ID (SID) of the Oracle database. Note: This parameter is required only when EngineName is set to ORACLE and the Oracle database is not in a Real Application Clusters (RAC) configuration. Port: Default: null Type: String Description: en: >- The port number of the destination instance. Note: This parameter is required only when the destination instance is a self-managed database. Type: Json Description: en: Destination endpoint configuration. ErrorNotice: Default: null Type: Boolean Description: en: >- Specifies whether to monitor the job for errors. Valid values: true and false. FileOssUrl: Default: null Type: String Description: en: OSS bucket URL for DTS job files. Reserve: Default: null Type: Json Description: en: >- A reserved DTS parameter for specifying additional configurations, such as the data storage format for a destination Kafka topic or the ID of a CEN instance. DelayPhone: Default: null Type: String Description: en: >- The mobile numbers for latency alerts. Separate multiple mobile numbers with commas (,). Note: This parameter is available only on the Alibaba Cloud China site (aliyun.com) and supports a maximum of 10 mobile numbers in the Chinese mainland. Users on the international site (alibabacloud.com) cannot receive mobile alerts. Instead, you can configure alert rules for DTS jobs in the CloudMonitor console. DelayNotice: Default: null Type: Boolean Description: en: >- Specifies whether to monitor the job for latency. Valid values: true and false. DataInitialization: Type: Boolean Description: en: >- Specifies whether to perform full data initialization. Default value: true. Valid values: true and false. DtsBisLabel: Default: null Type: String Description: en: >- The environment tag of the DTS instance. Valid values: normal and online. DbList: Type: Json Description: en: The objects to migrate or synchronize. The value must be a JSON string. DedicatedClusterId: Default: null Type: String Description: en: DTS dedicated cluster ID. Resources: MigrationJob: Type: 'ALIYUN::DTS::MigrationJob2' Properties: SourceEndpoint: Ref: SourceEndpoint Checkpoint: Ref: Checkpoint Status: Ref: Status DisasterRecoveryJob: Ref: DisasterRecoveryJob DtsJobId: Ref: DtsJobId DtsJobName: Ref: DtsJobName DataSynchronization: Ref: DataSynchronization DataCheckConfigure: Ref: DataCheckConfigure StructureInitialization: Ref: StructureInitialization DelayRuleTime: Ref: DelayRuleTime ErrorPhone: Ref: ErrorPhone DtsInstanceId: Ref: DtsInstanceId DestinationEndpoint: Ref: DestinationEndpoint ErrorNotice: Ref: ErrorNotice FileOssUrl: Ref: FileOssUrl Reserve: Ref: Reserve DelayPhone: Ref: DelayPhone DelayNotice: Ref: DelayNotice DataInitialization: Ref: DataInitialization DtsBisLabel: Ref: DtsBisLabel DbList: Ref: DbList DedicatedClusterId: Ref: DedicatedClusterId Outputs: DtsJobName: Description: DTS job name. Value: 'Fn::GetAtt': - MigrationJob - DtsJobName DtsInstanceId: Description: The DTS instance ID. Value: 'Fn::GetAtt': - MigrationJob - DtsInstanceId DtsJobId: Description: The DTS job ID. Value: 'Fn::GetAtt': - MigrationJob - DtsJobId
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"SourceEndpoint": {
"AssociationPropertyMetadata": {
"Parameters": {
"UserName": {
"Default": null,
"Type": "String",
"Description": {
"en": "The database account of the source database.\nNote: In most cases, this parameter is required. The permissions that are required for the database account vary with the migration or synchronization scenario."
}
},
"Password": {
"Default": null,
"Type": "String",
"Description": {
"en": "The password of the source database account."
}
},
"InstanceID": {
"Default": null,
"Type": "String",
"Description": {
"en": "The ID of the source instance.\n- If the source instance is an Alibaba Cloud database instance, you must specify the ID of the database instance. For example, if the source instance is an ApsaraDB RDS for MySQL instance, you must specify the ID of the ApsaraDB RDS for MySQL instance.\n- If the source instance is a self-managed database, the value of this parameter depends on the value of the InstanceType parameter:\n - If InstanceType is set to ECS, you must specify the ID of the ECS instance.\n - If InstanceType is set to DG, you must specify the ID of the database gateway.\n - If InstanceType is set to EXPRESS or CEN, you must specify the ID of the VPC that is connected to the source instance.\nNote: If InstanceType is set to CEN, you must also specify the ID of the CEN instance in the Reserve parameter."
}
},
"IP": {
"Default": null,
"Type": "String",
"Description": {
"en": "The IP address of the source instance.\nNote: This parameter is required only when InstanceType is set to OTHER, EXPRESS, DG, or CEN."
}
},
"Region": {
"Default": null,
"Type": "String",
"Description": {
"en": "The ID of the region in which the source instance resides.\nNote: If the source instance is an Alibaba Cloud database instance, this parameter is required."
}
},
"InstanceType": {
"Type": "String",
"Description": {
"en": "The type of the source instance. Valid values:\nAlibaba Cloud database instances:\n- RDS: ApsaraDB RDS for MySQL instance, ApsaraDB RDS for SQL Server instance, ApsaraDB RDS for PostgreSQL instance, or ApsaraDB RDS for MariaDB TX instance\n- PolarDB: PolarDB for MySQL cluster\n- REDIS: ApsaraDB for Redis instance\n- DISTRIBUTED_POLARDBX10: PolarDB-X 1.0 (formerly DRDS) instance\n- POLARDBX20: PolarDB-X 2.0 instance\n- MONGODB: ApsaraDB for MongoDB instance\n- DISTRIBUTED_DMSLOGICDB: Data Management (DMS) logical database\nSelf-managed databases:\n- OTHER: A self-managed database with a public IP address\n- ECS: A self-managed database hosted on an Elastic Compute Service (ECS) instance\n- EXPRESS: A self-managed database connected over Express Connect\n- CEN: A self-managed database connected over Cloud Enterprise Network (CEN)\n- DG: A self-managed database connected over Database Gateway\nNote: If the source instance is a PolarDB for PostgreSQL cluster (compatible with Oracle), you must set this parameter to OTHER or EXPRESS. This allows you to connect the cluster to DTS as a self-managed database by using a public IP address or Express Connect. For all self-managed database types, you must prepare the required network environment."
}
},
"VSwitchID": {
"Default": null,
"Type": "String",
"Description": {
"en": "The ID of the vSwitch used for the data transmission link."
}
},
"DatabaseName": {
"Default": null,
"Type": "String",
"Description": {
"en": "The name of the database that contains the objects to be migrated in the source instance.\nNote: This parameter is required only when the source instance is a PolarDB for PostgreSQL cluster (compatible with Oracle), a PostgreSQL database, or a MongoDB database."
}
},
"EngineName": {
"Default": null,
"Type": "String",
"Description": {
"en": "The database engine of the source instance. Valid values:\n- MYSQL: ApsaraDB RDS for MySQL instance or self-managed MySQL database\n- MARIADB: ApsaraDB RDS for MariaDB TX instance\n- PolarDB: PolarDB for MySQL cluster\n- POLARDB_O: PolarDB for PostgreSQL cluster (compatible with Oracle)\n- POLARDBX10: PolarDB-X 1.0 instance\n- POLARDBX20: PolarDB-X 2.0 instance\n- ORACLE: Self-managed Oracle database\n- POSTGRESQL: ApsaraDB RDS for PostgreSQL instance or self-managed PostgreSQL database\n- MSSQL: ApsaraDB RDS for SQL Server instance or self-managed SQL Server database\n- MONGODB: ApsaraDB for MongoDB instance or self-managed MongoDB database\n- DB2: Self-managed Db2 for LUW database\n- AS400: Self-managed Db2 for i database\n- DMSPOLARDB: DMS logical database\n- HBASE: Self-managed HBase database\n- TERADATA: Teradata database\n- TiDB: TiDB database\n- REDIS: ApsaraDB for Redis instance or self-managed Redis database\nNote: The default value is MYSQL.\nIf this parameter is set to MONGODB, you must also specify the architecture type of the MongoDB database in the Reserve parameter."
}
},
"Role": {
"Default": null,
"Type": "String",
"Description": {
"en": "The name of the Resource Access Management (RAM) role configured for the Alibaba Cloud account that owns the source instance.\nNote: This parameter is required when you migrate or synchronize data across different Alibaba Cloud accounts."
}
},
"OwnerID": {
"Default": null,
"Type": "String",
"Description": {
"en": "The ID of the Alibaba Cloud account to which the source database belongs.\nNote: You can specify this parameter to migrate or synchronize data across different Alibaba Cloud accounts. In this case, you must also specify the Role parameter."
}
},
"OracleSID": {
"Default": null,
"Type": "String",
"Description": {
"en": "The system ID (SID) of the Oracle database.\nNote: This parameter is required only when EngineName is set to ORACLE and the Oracle database is deployed in an architecture that is not a Real Application Cluster (RAC)."
}
},
"Port": {
"Default": null,
"Type": "String",
"Description": {
"en": "The port number of the source instance.\nNote: This parameter is required only when the source instance is a self-managed database."
}
}
}
},
"Type": "Json",
"Description": {
"en": "Configuration for the source instance."
}
},
"Checkpoint": {
"Default": null,
"Type": "String",
"Description": {
"en": "The start offset of incremental data migration or synchronization. This value is a UNIX timestamp that represents the number of seconds that have elapsed since 00:00:00 UTC on January 1, 1970."
}
},
"Status": {
"Default": null,
"Type": "String",
"Description": {
"en": "The state to which you want to change the task. Valid values:\n- Migrating: Starts the task.\n- Suspending: Suspends the task.\n- Stopping: Stops the task."
},
"AllowedValues": [
"Migrating",
"Suspending",
"Stopping"
]
},
"DisasterRecoveryJob": {
"Default": null,
"Type": "Boolean",
"Description": {
"en": "Specifies whether the task is for disaster recovery. Valid values: true and false."
}
},
"DtsJobId": {
"Default": null,
"Type": "String",
"Description": {
"en": "The ID of the DTS task."
}
},
"DtsJobName": {
"Type": "String",
"Description": {
"en": "The name of the DTS job."
}
},
"DataSynchronization": {
"Type": "Boolean",
"Description": {
"en": "Specifies whether to perform incremental data migration or synchronization. The default value is false. Valid values: true and false."
}
},
"DataCheckConfigure": {
"Default": null,
"AssociationPropertyMetadata": {
"Parameters": {
"fullCheckErrorNotice": {
"Default": null,
"Type": "Boolean",
"Description": {
"en": "Specifies whether to trigger an alert if the full data verification task fails. Valid values: true and false."
}
},
"fullCheckValidFailNotice": {
"Default": null,
"Type": "Boolean",
"Description": {
"en": "Specifies whether to trigger an alert if inconsistent data is detected by the full data verification task. Valid values: true and false.\nNote: If this parameter is set to true, an alert is triggered when the number of inconsistent data entries detected by the full data verification task is greater than or equal to the specified threshold."
}
},
"incrementalCheckValidFailNotice": {
"Default": null,
"Type": "Boolean",
"Description": {
"en": "Specifies whether to trigger an alert if inconsistent data is detected by the incremental data verification task. Valid values: true and false.\nNote: If this parameter is set to true, an alert is triggered when the cumulative number of inconsistent data entries detected across multiple statistical periods is greater than or equal to the specified threshold."
}
},
"dataCheckNoticePhone": {
"Default": null,
"Type": "String",
"Description": {
"en": "The mobile phone numbers of the contacts to receive alerts for data verification tasks. If an alert is triggered, a text message is sent to the specified numbers. Separate multiple mobile phone numbers with commas (,).\nNote: This parameter is available only for users of the Alibaba Cloud China site (aliyun.com). Only mobile phone numbers in the Chinese mainland are supported. You can specify up to 10 mobile phone numbers. Users of the Alibaba Cloud international site (alibabacloud.com) can configure alert rules for DTS tasks in the CloudMonitor console instead of receiving text message alerts."
}
},
"fullCheckReferEndpoint": {
"Default": null,
"Type": "String",
"Description": {
"en": "The benchmark for full data verification. Valid values:\n- all: Verifies data consistency by using both the source and destination databases as the benchmark. It checks for discrepancies in objects that exist in either database.\n- src: Verifies data consistency by using the source database as the benchmark. Objects that exist only in the destination database are not verified.\n- dest: Verifies data consistency by using the destination database as the benchmark. Objects that exist only in the source database are not verified."
}
},
"fullCheckModel": {
"Default": null,
"Type": "Number",
"Description": {
"en": "The mode for the full data verification task. Valid values:\n- 1: Performs verification based on a sampling ratio.\n- 2: Performs row-by-row verification."
},
"AllowedValues": [
1,
2
]
},
"incrementalCheckDelayNotice": {
"Default": null,
"Type": "Boolean",
"Description": {
"en": "Specifies whether to trigger an alert for the data latency of the incremental data verification task. Valid values: true and false.\nNote: If this parameter is set to true, an alert is triggered when the cumulative latency across multiple statistical periods is greater than or equal to the specified threshold."
}
},
"incrementalCheckValidFailNoticePeriod": {
"Default": null,
"Type": "Number",
"Description": {
"en": "The statistical period for detecting inconsistent data during incremental verification. An alert is triggered based on data from this period. Valid values:\n- 1: 1 minute\n- 2: 5 minutes\n- 3: 10 minutes\n- 4: 30 minutes\nNote: This parameter is required if the incrementalCheckValidFailNotice parameter is set to true."
},
"AllowedValues": [
1,
2,
3,
4
]
},
"incrementalCheckDelayNoticeTimes": {
"Default": null,
"Type": "Number",
"Description": {
"en": "The number of consecutive statistical periods for which latency is measured. An alert is triggered if the cumulative latency over this number of periods exceeds the threshold.\nNote: This parameter is required if the incrementalCheckDelayNotice parameter is set to true."
}
},
"fullCheckMaxReadBps": {
"Default": null,
"MinValue": 0,
"Type": "Number",
"Description": {
"en": "The maximum number of bytes that are read per second. Valid values: integers from 0 to 9007199254740991."
},
"MaxValue": 9007199254740991
},
"incrementalCheckValidFailNoticeTimes": {
"Default": null,
"Type": "Number",
"Description": {
"en": "The number of consecutive statistical periods for which inconsistent data is measured. An alert is triggered if the cumulative number of inconsistent entries over this number of periods exceeds the threshold.\nNote: This parameter is required if the incrementalCheckValidFailNotice parameter is set to true."
}
},
"fullCheckMaxReadRps": {
"Default": null,
"MinValue": 0,
"Type": "Number",
"Description": {
"en": "The maximum number of data rows that are read per second. Valid values: integers from 0 to 9007199254740991."
},
"MaxValue": 9007199254740991
},
"incrementalCheckValidFailNoticeValue": {
"Default": null,
"Type": "Number",
"Description": {
"en": "The alert threshold for inconsistent data entries detected by the incremental data verification task.\nNote: This parameter is required if the incrementalCheckValidFailNotice parameter is set to true."
}
},
"fullDataCheck": {
"Default": null,
"Type": "Boolean",
"Description": {
"en": "Specifies whether to perform a full data verification task. Valid values: true and false."
}
},
"fullCheckRatio": {
"Default": null,
"MinValue": 10,
"Type": "Number",
"Description": {
"en": "The sampling ratio of the full data verification task. Valid values: integers from 10 to 100. Unit: percent.\nNote: This parameter is required if the fullCheckModel parameter is set to 1."
},
"MaxValue": 100
},
"incrementalCheckDelayNoticeValue": {
"Default": null,
"Type": "Number",
"Description": {
"en": "The alert threshold for the data latency of the incremental data verification task. Unit: seconds.\nNote: This parameter is required if the incrementalCheckDelayNotice parameter is set to true."
}
},
"checkMaximumHourEnable": {
"Default": null,
"Type": "Number",
"Description": {
"en": "Specifies whether to enable a timeout period for the full data verification task. Valid values:\n- 0: Disables the timeout period.\n- 1: Enables the timeout period.\nNote: This parameter is required if the fullCheckModel parameter is set to 1 (sampling verification)."
},
"AllowedValues": [
0,
1
]
},
"dataCheckDbList": {
"Default": null,
"Type": "String",
"Description": {
"en": "The database objects to be verified. The value must be a JSON string."
}
},
"incrementalCheckErrorNotice": {
"Default": null,
"Type": "Boolean",
"Description": {
"en": "Specifies whether to trigger an alert if the incremental data verification task fails. Valid values: true and false."
}
},
"checkMaximumHour": {
"Default": null,
"MinValue": 1,
"Type": "Number",
"Description": {
"en": "The timeout period for the full data verification task, in hours. The countdown starts when the task begins. If the task does not complete within this period, it is forcibly stopped. Valid values: an integer from 1 to 72."
},
"MaxValue": 72
},
"incrementalCheckDelayNoticePeriod": {
"Default": null,
"Type": "Number",
"Description": {
"en": "The statistical period for measuring data latency during incremental verification. An alert is triggered based on data from this period. Valid values:\n- 1: 1 minute\n- 2: 5 minutes\n- 3: 10 minutes\n- 4: 30 minutes\nNote: This parameter is required if the incrementalCheckDelayNotice parameter is set to true."
},
"AllowedValues": [
1,
2,
3,
4
]
},
"fullCheckFixData": {
"Default": null,
"Type": "Boolean",
"Description": {
"en": "Specifies whether to automatically fix inconsistent data. Valid values: true and false. The default value is false.\nNote: If this parameter is set to true, data in the destination database that is inconsistent with the source database is overwritten with data from the source database."
}
},
"fullCheckNoticeValue": {
"Default": null,
"Type": "Number",
"Description": {
"en": "The alert threshold for inconsistent data entries detected by the full data verification task.\nNote: This parameter is required if the fullCheckValidFailNotice parameter is set to true."
}
},
"incrementalDataCheck": {
"Default": null,
"Type": "Boolean",
"Description": {
"en": "Specifies whether to perform an incremental data verification task. Valid values: true and false."
}
}
}
},
"Type": "Json",
"Description": {
"en": "The configuration of the data verification task for a data migration or synchronization instance."
}
},
"StructureInitialization": {
"Type": "Boolean",
"Description": {
"en": "Specifies whether to perform schema migration or synchronization. The default value is true. Valid values: true and false."
}
},
"DelayRuleTime": {
"Default": null,
"Type": "Number",
"Description": {
"en": "The threshold for latency alerts, in seconds. You can set the threshold based on your business requirements. To prevent alerts caused by normal fluctuations in network and database load, we recommend that you set the threshold to more than 10 seconds."
}
},
"ErrorPhone": {
"Default": null,
"Type": "String",
"Description": {
"en": "The mobile phone numbers that receive task status alerts. Separate multiple mobile phone numbers with commas (,).\nNote: This parameter is available only for users of the Alibaba Cloud China site (aliyun.com). Only mobile phone numbers in the Chinese mainland are supported. You can specify up to 10 mobile phone numbers. Users of the Alibaba Cloud international site (alibabacloud.com) cannot receive alerts by using mobile phone numbers, but can configure alert rules for DTS tasks in the CloudMonitor console."
}
},
"DtsInstanceId": {
"Default": null,
"Type": "String",
"Description": {
"en": "The ID of the DTS instance."
}
},
"DestinationEndpoint": {
"AssociationPropertyMetadata": {
"Parameters": {
"UserName": {
"Default": null,
"Type": "String",
"Description": {
"en": "The database account of the destination database.\nNote: In most cases, this parameter is required. The permissions that are required for the database account vary with the migration or synchronization scenario."
}
},
"Password": {
"Default": null,
"Type": "String",
"Description": {
"en": "The password of the destination database account."
}
},
"InstanceID": {
"Default": null,
"Type": "String",
"Description": {
"en": "The ID of the destination instance.\n- If the destination instance is an Alibaba Cloud database instance, you must specify the ID of the database instance. For example, if the destination instance is an ApsaraDB RDS for MySQL instance, you must specify the ID of the ApsaraDB RDS for MySQL instance.\n- If the destination instance is a self-managed database, the value of this parameter depends on the value of the InstanceType parameter:\n - If InstanceType is set to ECS, you must specify the ID of the ECS instance.\n - If InstanceType is set to DG, you must specify the ID of the database gateway.\n - If InstanceType is set to EXPRESS or CEN, you must specify the ID of the VPC that is connected to the destination instance.\nNote: If InstanceType is set to CEN, you must also specify the ID of the CEN instance in the Reserve parameter."
}
},
"IP": {
"Default": null,
"Type": "String",
"Description": {
"en": "The IP address of the destination instance.\nNote: This parameter is required only when InstanceType is set to OTHER, EXPRESS, DG, or CEN."
}
},
"Region": {
"Default": null,
"Type": "String",
"Description": {
"en": "The ID of the region in which the destination instance resides.\nNote: If the destination instance is an Alibaba Cloud database instance, this parameter is required."
}
},
"InstanceType": {
"Type": "String",
"Description": {
"en": "The type of the destination instance. Valid values:\nAlibaba Cloud database instances:\n- RDS: ApsaraDB RDS for MySQL instance, ApsaraDB RDS for SQL Server instance, ApsaraDB RDS for PostgreSQL instance, or ApsaraDB RDS for MariaDB TX instance\n- PolarDB: PolarDB for MySQL cluster\n- DISTRIBUTED_POLARDBX10: PolarDB-X 1.0 (formerly DRDS) instance\n- POLARDBX20: PolarDB-X 2.0 instance\n- REDIS: ApsaraDB for Redis instance\n- ADS: AnalyticDB for MySQL V2.0 cluster or AnalyticDB for MySQL V3.0 cluster\n- MONGODB: ApsaraDB for MongoDB instance\n- GREENPLUM: AnalyticDB for PostgreSQL instance\n- DATAHUB: DataHub project\n- ELK: Elasticsearch cluster\n- Tablestore: Tablestore instance\n- ODPS: MaxCompute project\nSelf-managed databases:\n- OTHER: A self-managed database with a public IP address\n- ECS: A self-managed database hosted on an ECS instance\n- EXPRESS: A self-managed database connected over Express Connect\n- CEN: A self-managed database connected over CEN\n- DG: A self-managed database connected over Database Gateway\nNote:\n- If the destination instance is a PolarDB for PostgreSQL cluster (compatible with Oracle), you must set this parameter to OTHER or EXPRESS. This allows you to connect the cluster to DTS as a self-managed database by using a public IP address or Express Connect.\n- If the destination instance is a Message Queue for Apache Kafka instance, you must set this parameter to ECS or EXPRESS. This allows you to connect the Kafka instance to DTS as a self-managed database.\n- For all self-managed database types, you must prepare the required network environment."
}
},
"Role": {
"Default": null,
"Type": "String",
"Description": {
"en": "The name of the Resource Access Management (RAM) role configured for the Alibaba Cloud account that owns the destination instance.\nNote: This parameter is required when you migrate or synchronize data across different Alibaba Cloud accounts."
}
},
"DatabaseName": {
"Default": null,
"Type": "String",
"Description": {
"en": "The name of the database that will contain the migrated objects in the destination instance.\nNote: This parameter is required only when the destination instance is a PolarDB for PostgreSQL cluster (compatible with Oracle), a PostgreSQL database, or a MongoDB database."
}
},
"EngineName": {
"Default": null,
"Type": "String",
"Description": {
"en": "The database engine of the destination instance. Valid values:\n- MYSQL: ApsaraDB RDS for MySQL instance or self-managed MySQL database\n- MARIADB: ApsaraDB RDS for MariaDB TX instance\n- PolarDB: PolarDB for MySQL cluster\n- POLARDB_O: PolarDB for PostgreSQL cluster (compatible with Oracle)\n- POLARDBX10: PolarDB-X 1.0 instance\n- POLARDBX20: PolarDB-X 2.0 instance\n- ORACLE: Self-managed Oracle database\n- POSTGRESQL: ApsaraDB RDS for PostgreSQL instance or self-managed PostgreSQL database\n- MSSQL: ApsaraDB RDS for SQL Server instance or self-managed SQL Server database\n- ADS: AnalyticDB for MySQL V2.0 cluster\n- ADB30: AnalyticDB for MySQL V3.0 cluster\n- MONGODB: ApsaraDB for MongoDB instance or self-managed MongoDB database\n- GREENPLUM: AnalyticDB for PostgreSQL instance\n- KAFKA: Message Queue for Apache Kafka instance or self-managed Kafka cluster\n- DATAHUB: DataHub project\n- DB2: Self-managed Db2 for LUW database\n- AS400: Self-managed Db2 for i database\n- ODPS: MaxCompute project\n- Tablestore: Tablestore instance\n- ELK: Elasticsearch cluster\n- REDIS: ApsaraDB for Redis instance or self-managed Redis database\nNote: The default value is MYSQL.\nIf this parameter is set to KAFKA, MONGODB, or PolarDB, you must also specify the database information in the Reserve parameter."
}
},
"OwnerID": {
"Default": null,
"Type": "String",
"Description": {
"en": "The ID of the Alibaba Cloud account to which the destination database belongs.\nNote: You can specify this parameter to migrate or synchronize data across different Alibaba Cloud accounts. In this case, you must also specify the Role parameter."
}
},
"OracleSID": {
"Default": null,
"Type": "String",
"Description": {
"en": "The system ID (SID) of the Oracle database.\nNote: This parameter is required only when EngineName is set to ORACLE and the Oracle database is deployed in an architecture that is not a Real Application Cluster (RAC)."
}
},
"Port": {
"Default": null,
"Type": "String",
"Description": {
"en": "The port number of the destination instance.\nNote: This parameter is required only when the destination instance is a self-managed database."
}
}
}
},
"Type": "Json",
"Description": {
"en": "Configuration for the destination instance."
}
},
"ErrorNotice": {
"Default": null,
"Type": "Boolean",
"Description": {
"en": "Specifies whether to enable alerts for task errors. If you set this parameter to true, an alert is sent when the task fails. Valid values: true and false."
}
},
"FileOssUrl": {
"Default": null,
"Type": "String",
"Description": {
"en": "The URL of the Object Storage Service (OSS) bucket that stores the files related to the DTS task."
}
},
"Reserve": {
"Default": null,
"Type": "Json",
"Description": {
"en": "A reserved parameter that allows you to specify additional configurations for the DTS task. For example, you can use this parameter to specify the data storage format for a destination Kafka instance or the ID of a CEN instance."
}
},
"DelayPhone": {
"Default": null,
"Type": "String",
"Description": {
"en": "The mobile phone numbers that receive latency-related alerts. Separate multiple mobile phone numbers with commas (,).\nNote: This parameter is available only for users of the Alibaba Cloud China site (aliyun.com). Only mobile phone numbers in the Chinese mainland are supported. You can specify up to 10 mobile phone numbers. Users of the Alibaba Cloud international site (alibabacloud.com) cannot receive alerts by using mobile phone numbers, but can configure alert rules for DTS tasks in the CloudMonitor console."
}
},
"DelayNotice": {
"Default": null,
"Type": "Boolean",
"Description": {
"en": "Specifies whether to enable alerts for task latency. If you set this parameter to true, an alert is sent when the task latency exceeds the threshold specified by DelayRuleTime. Valid values: true and false."
}
},
"DataInitialization": {
"Type": "Boolean",
"Description": {
"en": "Specifies whether to perform full data migration or synchronization. The default value is true. Valid values: true and false."
}
},
"DtsBisLabel": {
"Default": null,
"Type": "String",
"Description": {
"en": "The environment tag of the DTS instance. Valid values: normal and online."
}
},
"DbList": {
"Type": "Json",
"Description": {
"en": "The database objects that you want to migrate or synchronize. The value must be a JSON string that specifies the databases and tables."
}
},
"DedicatedClusterId": {
"Default": null,
"Type": "String",
"Description": {
"en": "The ID of the DTS dedicated cluster on which the task runs."
}
}
},
"Resources": {
"MigrationJob": {
"Type": "ALIYUN::DTS::MigrationJob2",
"Properties": {
"SourceEndpoint": {
"Ref": "SourceEndpoint"
},
"Checkpoint": {
"Ref": "Checkpoint"
},
"Status": {
"Ref": "Status"
},
"DisasterRecoveryJob": {
"Ref": "DisasterRecoveryJob"
},
"DtsJobId": {
"Ref": "DtsJobId"
},
"DtsJobName": {
"Ref": "DtsJobName"
},
"DataSynchronization": {
"Ref": "DataSynchronization"
},
"DataCheckConfigure": {
"Ref": "DataCheckConfigure"
},
"StructureInitialization": {
"Ref": "StructureInitialization"
},
"DelayRuleTime": {
"Ref": "DelayRuleTime"
},
"ErrorPhone": {
"Ref": "ErrorPhone"
},
"DtsInstanceId": {
"Ref": "DtsInstanceId"
},
"DestinationEndpoint": {
"Ref": "DestinationEndpoint"
},
"ErrorNotice": {
"Ref": "ErrorNotice"
},
"FileOssUrl": {
"Ref": "FileOssUrl"
},
"Reserve": {
"Ref": "Reserve"
},
"DelayPhone": {
"Ref": "DelayPhone"
},
"DelayNotice": {
"Ref": "DelayNotice"
},
"DataInitialization": {
"Ref": "DataInitialization"
},
"DtsBisLabel": {
"Ref": "DtsBisLabel"
},
"DbList": {
"Ref": "DbList"
},
"DedicatedClusterId": {
"Ref": "DedicatedClusterId"
}
}
}
},
"Outputs": {
"DtsJobName": {
"Description": "The name of the DTS job.",
"Value": {
"Fn::GetAtt": [
"MigrationJob",
"DtsJobName"
]
}
},
"DtsInstanceId": {
"Description": "The ID of the DTS instance.",
"Value": {
"Fn::GetAtt": [
"MigrationJob",
"DtsInstanceId"
]
}
},
"DtsJobId": {
"Description": "The ID of the DTS task.",
"Value": {
"Fn::GetAtt": [
"MigrationJob",
"DtsJobId"
]
}
}
}
}