全部产品
Search
文档中心

Resource Orchestration Service:ALIYUN::DTS::MigrationJob

更新时间:Jul 02, 2025

ALIYUN::DTS::MigrationJob digunakan untuk membeli instance migrasi data dan mengonfigurasi tugas migrasi data.

Catatan

Disarankan menggunakan ALIYUN::DTS::Instance untuk membeli instance Data Transmission Service (DTS) dan ALIYUN::DTS::MigrationJob2 untuk mengonfigurasi tugas migrasi data.

Sintaksis

{
  "Type": "ALIYUN::DTS::MigrationJob",
  "Properties": {
    "MigrationJobClass": String,
    "SourceEndpoint": Map,
    "MigrationJobName": String,
    "MigrationMode": Map,
    "DestinationEndpoint": Map,
    "MigrationObject": List
  }
}

Properti

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Batasan

MigrationJobClass

String

Ya

Tidak

Spesifikasi instance migrasi data.

Nilai yang valid:

  • small

  • medium

  • large

Untuk informasi lebih lanjut tentang pengujian kinerja setiap spesifikasi, lihat Spesifikasi instance migrasi data.

SourceEndpoint

Map

Tidak

Ya

Konfigurasi instance sumber.

Tidak ada.

MigrationJobName

String

Tidak

Ya

Nama tugas migrasi data.

Tidak ada.

MigrationMode

Map

Tidak

Ya

Mode tugas migrasi data.

Tidak ada.

DestinationEndpoint

Map

Tidak

Ya

Konfigurasi instance tujuan.

Tidak ada.

MigrationObject

List

Tidak

Ya

Objek yang ingin Anda migrasikan.

Tidak ada.

Sintaksis SourceEndpoint

"SourceEndpoint": {
  "UserName": String,
  "OracleSID": String,
  "InstanceID": String,
  "IP": String,
  "Region": String,
  "InstanceType": String,
  "Role": String,
  "DatabaseName": String,
  "OwnerID": String,
  "EngineName": String,
  "Password": String,
  "Port": String
}

Properti SourceEndpoint

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Batasan

UserName

String

Ya

Ya

Nama pengguna yang digunakan untuk mengakses instance sumber.

Tidak ada.

OracleSID

String

Tidak

Ya

ID sistem (SID) dari database Oracle sumber jika tipe mesin instance sumber adalah Oracle.

Tidak ada.

InstanceID

String

Tidak

Ya

ID instance sumber.

Anda harus menentukan properti ini berdasarkan nilai InstanceType.

IP

String

Tidak

Ya

Alamat IP instance sumber.

Anda harus menentukan properti ini ketika instance sumber adalah database mandiri di lokasi lokal.

Region

String

Ya

Ya

ID wilayah instance sumber.

Tidak ada.

InstanceType

String

Ya

Ya

Tipe instance sumber.

Nilai yang valid:

  • RDS: Instance ApsaraDB RDS

  • ECS: database mandiri yang di-hosting pada instance Elastic Compute Service (ECS)

  • LocalInstance: database mandiri dengan alamat IP publik

  • Express: database mandiri yang terhubung melalui sirkuit Express Connect

  • MongoDB: Instance ApsaraDB for MongoDB

  • POLARDB: Kluster PolarDB untuk MySQL

Role

String

Tidak

Ya

Nama Peran RAM yang diberi otorisasi oleh akun Alibaba Cloud tempat instance sumber berada. Properti ini berlaku ketika instance sumber adalah instance ApsaraDB RDS dan instance sumber dan tujuan milik akun Alibaba Cloud yang berbeda.

Anda harus menentukan properti ini ketika Anda memigrasikan data antar akun Alibaba Cloud yang berbeda. Untuk informasi lebih lanjut tentang izin yang diperlukan untuk Peran RAM dan cara memberikan izin kepada Peran RAM, lihat Konfigurasikan Otorisasi RAM untuk tugas DTS lintas akun.

DatabaseName

String

Tidak

Ya

Nama database.

Properti ini menentukan nama database yang digunakan untuk membuat koneksi jika tipe mesin instance sumber adalah PostgreSQL atau MongoDB.

OwnerID

String

Tidak

Ya

ID akun Alibaba Cloud tempat instance sumber berada. Properti ini berlaku ketika instance sumber adalah instance ApsaraDB RDS dan instance sumber dan tujuan milik akun Alibaba Cloud yang berbeda.

Tidak ada.

EngineName

String

Tidak

Ya

Tipe mesin instance sumber.

Nilai yang valid:

  • MySQL

  • SQLServer

  • PostgreSQL

  • Oracle

  • MongoDB

  • Redis

Anda harus menentukan properti ini ketika InstanceType tidak diatur ke RDS.

Password

String

Ya

Ya

Kata sandi yang digunakan untuk mengakses instance sumber.

Tidak ada.

Port

String

Tidak

Ya

Port mendengarkan instance sumber.

Anda harus menentukan properti ini ketika instance sumber adalah database mandiri.

Sintaksis MigrationMode

"MigrationMode": {
  "DataIntialization": Boolean,
  "StructureIntialization": Boolean,
  "DataSynchronization": Boolean
}

Properti MigrationMode

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Batasan

DataIntialization

Boolean

Tidak

Ya

Menentukan apakah akan melakukan migrasi data penuh dalam tugas migrasi.

Nilai yang valid:

  • true

  • false

StructureIntialization

Boolean

Tidak

Ya

Menentukan apakah akan melakukan migrasi skema dalam tugas migrasi.

Nilai yang valid:

  • true

  • false

DataSynchronization

Boolean

Tidak

Ya

Menentukan apakah akan melakukan sinkronisasi data inkremental dalam tugas migrasi.

Nilai yang valid:

  • true

  • false

Sintaksis DestinationEndpoint

"DestinationEndpoint": {
  "UserName": String,
  "InstanceID": String,
  "IP": String,
  "Region": String,
  "Port": String,
  "Role": String,
  "DatabaseName": String,
  "EngineName": String,
  "Password": String,
  "InstanceType": String
}

Properti DestinationEndpoint

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Batasan

UserName

String

Ya

Ya

Nama pengguna yang digunakan untuk mengakses instance tujuan.

Tidak ada.

InstanceID

String

Tidak

Ya

ID instance tujuan.

Tidak ada.

IP

String

Tidak

Ya

Alamat IP instance tujuan.

Anda harus menentukan properti ini ketika instance tujuan adalah database mandiri di lokasi lokal.

Region

String

Ya

Ya

ID wilayah instance tujuan.

Jika instance tujuan adalah database mandiri, Anda dapat menentukan ID wilayah yang secara geografis paling dekat dengan pusat data mandiri Anda.

Port

String

Tidak

Ya

Port mendengarkan instance tujuan.

Anda harus menentukan properti ini ketika instance tujuan adalah database mandiri.

DatabaseName

String

Tidak

Ya

Nama database instance tujuan.

Anda harus menentukan properti ini ketika tipe mesin instance tujuan adalah PostgreSQL, PPAS, atau MongoDB.

EngineName

String

Tidak

Ya

Tipe mesin database tujuan.

Anda harus menentukan properti ini hanya ketika InstanceType diatur ke RDS, ECS, LocalInstance, atau Express.

Password

String

Ya

Ya

Kata sandi yang digunakan untuk mengakses instance tujuan.

Tidak ada.

InstanceType

String

Ya

Ya

Tipe instance tujuan.

Nilai properti ini harus sama dengan nilai SourceEndpoint.InstanceType.

Role

String

Tidak

Ya

Nama Peran RAM yang diberi otorisasi oleh akun Alibaba Cloud tempat instance tujuan berada. Properti ini berlaku ketika instance sumber adalah instance ApsaraDB RDS dan instance sumber dan tujuan milik akun Alibaba Cloud yang berbeda.

Tidak ada.

Sintaksis MigrationObject

"MigrationObject": [
  {
    "TableExcludes": List,
    "NewSchemaName": String,
    "NewDBName": String,
    "TableIncludes": List,
    "SchemaName": String,
    "DBName": String
  }
]

Properti MigrationObject

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Batasan

TableExcludes

List

Tidak

Tidak

Nama tabel yang tidak ingin Anda migrasikan dari database sumber.

Contoh: [{"TableName": "a"}, {"TableName": "b"}, ...].

NewSchemaName

String

Tidak

Tidak

Nama terpetakan skema yang ingin Anda migrasikan ke instance tujuan.

Properti ini tersedia ketika EngineName diatur ke SQLServer.

NewDBName

String

Tidak

Tidak

Nama terpetakan database yang ingin Anda migrasikan ke instance tujuan.

Properti ini tidak tersedia ketika EngineName diatur ke SQLServer.

TableIncludes

List

Tidak

Tidak

Nama tabel yang ingin Anda migrasikan dari database sumber.

Tidak ada.

SchemaName

String

Tidak

Tidak

Nama skema yang ingin Anda migrasikan.

Properti ini tersedia ketika EngineName diatur ke SQLServer.

DBName

String

Tidak

Tidak

Nama database yang ingin Anda migrasikan.

Properti ini tidak tersedia ketika EngineName diatur ke SQLServer.

  • Jika Anda hanya menentukan properti DBName dan meninggalkan properti tambahan lainnya dalam tabel ini kosong, sistem akan memigrasikan semua objek yang terkandung dalam database.

  • Jika Anda menentukan properti DBName dan properti tambahan lainnya dalam tabel ini, secara default sistem hanya akan memigrasikan objek yang sesuai dengan properti yang ditentukan.

Sintaksis TableIncludes

"TableIncludes": [
  {
    "ColumnExcludes": List,
    "FilterCondition": String,
    "NewTableName": String,
    "TableName": String,
    "ColumnIncludes": List
  }
]

Properti TableIncludes

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Batasan

ColumnExcludes

List

Tidak

Tidak

Nama kolom yang tidak ingin Anda migrasikan dari database sumber.

Contoh: [{"ColumnName": "a"}, {"ColumnName": "b"}, ...]shou'xia.

FilterCondition

String

Tidak

Tidak

Kondisi filter.

Tidak ada.

NewTableName

String

Tidak

Tidak

Nama terpetakan tabel yang ingin Anda migrasikan ke instance tujuan.

Tidak ada.

TableName

String

Tidak

Tidak

Nama tabel yang ingin Anda migrasikan.

Tidak ada.

ColumnIncludes

List

Tidak

Tidak

Nama kolom yang ingin Anda migrasikan dari tabel sumber.

Tidak ada.

Sintaksis ColumnIncludes

"ColumnIncludes": [
  {
    "ColumnName": String,
    "NewColumnName": String
  }
]

Properti ColumnIncludes

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Batasan

ColumnName

String

Tidak

Tidak

Nama kolom yang ingin Anda migrasikan dari tabel sumber.

Tidak ada.

NewColumnName

String

Tidak

Tidak

Nama terpetakan kolom yang ingin Anda migrasikan ke instance tujuan.

Tidak ada.

Sintaksis ColumnExcludes

"ColumnExcludes": [
  {
    "ColumnName": String
  }
]   

Properti ColumnExcludes

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Batasan

ColumnName

String

Tidak

Tidak

Nama kolom yang tidak ingin Anda migrasikan dari tabel sumber.

Tidak ada.

Sintaksis TableExcludes

"TableExcludes": [
  {
    "TableName": String
  }
]   

Properti TableExcludes

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Batasan

TableName

String

Tidak

Tidak

Nama tabel yang tidak ingin Anda migrasikan dari database sumber.

Tidak ada.

Nilai Pengembalian

Fn::GetAtt

MigrationJobId: ID tugas migrasi data.

Contoh

  • Format YAML

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      RdsInstanceId:
        Type: String
        AssociationProperty: ALIYUN::RDS::Instance::InstanceId
    Resources:
      MigrationJob:
        Type: ALIYUN::DTS::MigrationJob
        Properties:
          MigrationJobClass: small
          MigrationJobName:
            Ref: ALIYUN::StackName
          MigrationMode:
            StructureIntialization: true
            DataSynchronization: true
            DataIntialization: true
          SourceEndpoint:
            UserName: admin
            InstanceID:
              Ref: RdsInstanceId
            Region:
              Ref: ALIYUN::Region
            InstanceType: RDS
            Password: Admin@123
            Port: '3306'
          DestinationEndpoint:
            EngineName: MySQL
            Port: '3306'
            Region:
              Ref: ALIYUN::Region
            InstanceID:
              Ref: RdsInstanceId
            Password: Admin@123
            UserName: admin
            InstanceType: RDS
          MigrationObject:
            - DBName: MySQLDataBase
    Outputs:
      MigrationJobId:
        Description: ID tugas migrasi
        Value:
          Fn::GetAtt:
            - MigrationJob
            - MigrationJobId
  • Format JSON

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "RdsInstanceId": {
          "Type": "String",
          "AssociationProperty": "ALIYUN::RDS::Instance::InstanceId"
        }
      },
      "Resources": {
        "MigrationJob": {
          "Type": "ALIYUN::DTS::MigrationJob",
          "Properties": {
            "MigrationJobClass": "small",
            "MigrationJobName": {
              "Ref": "ALIYUN::StackName"
            },
            "MigrationMode": {
              "StructureIntialization": true,
              "DataSynchronization": true,
              "DataIntialization": true
            },
            "SourceEndpoint": {
              "UserName": "admin",
              "InstanceID": {
                "Ref": "RdsInstanceId"
              },
              "Region": {
                "Ref": "ALIYUN::Region"
              },
              "InstanceType": "RDS",
              "Password": "Admin@123",
              "Port": "3306"
            },
            "DestinationEndpoint": {
              "EngineName": "MySQL",
              "Port": "3306",
              "Region": {
                "Ref": "ALIYUN::Region"
              },
              "InstanceID": {
                "Ref": "RdsInstanceId"
              },
              "Password": "Admin@123",
              "UserName": "admin",
              "InstanceType": "RDS"
            },
            "MigrationObject": [
              {
                "DBName": "MySQLDataBase"
              }
            ]
          }
        }
      },
      "Outputs": {
        "MigrationJobId": {
          "Description": "ID tugas migrasi",
          "Value": {
            "Fn::GetAtt": [
              "MigrationJob",
              "MigrationJobId"
            ]
          }
        }
      }
    }