선택 규칙 및 작업 - AWS 데이터베이스 마이그레이션 서비스

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

선택 규칙 및 작업

테이블 매핑을 사용하여 사용할 테이블, 뷰 및 스키마를 지정하기 위해 선택 규칙과 작업을 이용할 수 있습니다. 선택 규칙 유형을 사용하는 테이블 매핑 규칙의 경우, 다음 값을 적용할 수 있습니다.

파라미터 가능한 값 설명
rule-type selection 선택 규칙입니다. 테이블 매핑을 지정할 때에는 1개 이상의 선택 규칙을 정의합니다.
rule-id 숫자 값. 규칙을 식별하기 위한 고유한 숫자 값입니다. 콘솔을 사용하여 규칙을 생성하면 콘솔이 이 값을 자동으로 생성합니다.
rule-name 영숫자 값입니다. 규칙을 식별하기 위한 고유한 이름입니다. 콘솔을 사용하여 규칙을 만들면 콘솔이 이 값을 자동으로 생성합니다.
rule-action include, exclude, explicit 규칙에서 선택한 특정 객체(단일 또는 다수)를 포함하거나 제외하는 값입니다. explicit이 지정되면 명시적으로 지정된 테이블 및 스키마에 해당하는 객체 하나만을 선택 및 포함할 수 있습니다.
object-locator 객체는 다음 파라미터를 사용합니다.
  • schema-name – 스키마의 이름입니다.

  • table-name – 테이블의 이름입니다.

  • (선택 사항) table-typetable | view | alltable-name이 테이블, 뷰 또는 테이블과 뷰 모두를 지칭하는지를 나타냅니다. 기본값은 table입니다.

    AWS DMS 전체 로드 작업에서만 뷰를 로드합니다. 전체 로드 및 변경 데이터 캡처 (CDC) 작업만 있는 경우 뷰를 로드하도록 하나 full-load-only 이상의 작업을 구성하십시오.

    모든 대상 엔드포인트가 전체 부하 상태에서도 뷰를 복제 소스로 받아들이는 것은 아닙니다 (예: Amazon OpenSearch Service). 대상 엔드포인트의 한계를 확인하십시오.

규칙이 적용되는 각 스키마와 테이블 또는 뷰의 이름입니다. 또한 규칙에 테이블만 포함되는지, 뷰만 포함되는지, 또는 테이블과 뷰가 모두 포함되는지 여부를 지정할 수도 있습니다. rule-actioninclude이거나 exclude인 경우 각 schema-nametable-name 파라미터의 값의 전부 또는 일부에 대한 와일드카드로 ‘%’ 퍼센트 기호를 사용할 수 있습니다. 사용할 수 있는 다른 와일드카드에 관한 자세한 내용은 테이블 매핑의 와일드카드을 참조하십시오. 따라서 다음 항목들을 일치시킬 수 있습니다.

  • 단일 스키마의 단일한 테이블, 뷰 또는 컬렉션

  • 일부 또는 전체 스키마의 단일한 테이블, 뷰 또는 컬렉션

  • 단일 스키마의 일부 또는 모든 테이블과 뷰 또는 단일 데이터베이스의 컬렉션

  • 일부 또는 모든 스키마의 일부 또는 전체 테이블과 뷰 또는 일부 또는 전체 데이터베이스의 컬렉션

rule-actionexplicit인 경우, 단일 테이블 또는 뷰 및 스키마의 정확한 이름만을 지정할 수 있습니다(와일드카드 없음).

뷰에 지원되는 소스에는 다음이 포함됩니다.

  • Oracle

  • Microsoft SQL Server

  • PostgreSQL

  • IBM Db2 LUW

  • IBM Db2 z/OS

  • SAP Adaptive Server Enterprise(ASE)

  • MySQL

  • AURORA

  • AURORA Serverless

  • MariaDB

참고

AWS DMS 소스 뷰를 타겟 뷰에 로드하지 마십시오. 소스 뷰는 소스의 뷰와 이름이 동일한 대상의 동등한 테이블에 로드됩니다.

컬렉션이 포함된 데이터베이스에 대해 지원되는 소스는 다음과 같습니다.

  • MongoDB

  • Amazon DocumentDB

load-order 양의 정수입니다. 최대값은 2,147,483,647입니다. 테이블 및 뷰를 로드하기 위한 우선순위입니다. 우선순위 값이 높은 테이블 및 뷰가 먼저 로드됩니다.
filters 객체의 배열입니다. 소스를 필터링하기 위한 하나 이상의 객체입니다. 소스의 단일 열에서 필터링할 객체 파라미터를 지정합니다. 여러 열에서 필터링할 여러 객체를 지정합니다. 자세한 정보는 소스 필터 사용을 참조하세요.
예 스키마에서 모든 테이블 마이그레이션

다음은 소스에서 이름이 Test인 스키마의 모든 테이블을 대상 엔드포인트로 마이그레이션하는 예입니다.

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Test", "table-name": "%" }, "rule-action": "include" } ] }
예 스키마에서 일부 테이블 마이그레이션

다음은 소스에서 이름이 Test인 스키마에서 DMS로 시작하는 테이블을 제외한 모든 테이블을 대상 엔드포인트로 마이그레이션하는 예입니다.

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Test", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "selection", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "Test", "table-name": "DMS%" }, "rule-action": "exclude" } ] }
예 단일 스키마에서 지정된 단일 테이블 마이그레이션

다음은 소스의 NewCust 스키마에서 Customer 테이블을 대상 엔드포인트로 마이그레이션하는 예입니다.

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "NewCust", "table-name": "Customer" }, "rule-action": "explicit" } ] }
참고

여러 선택 규칙을 지정하여 여러 테이블 및 스키마에서 명시적으로 선택할 수 있습니다.

예 설정된 순서대로 테이블 마이그레이션

다음은 두 테이블을 마이그레이션하는 예제입니다. 테이블 loadfirst (우선순위 1) 이 loadsecond 테이블보다 먼저 초기화됩니다.

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Test", "table-name": "loadsecond" }, "rule-action": "include", "load-order": "1" }, { "rule-type": "selection", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "Test", "table-name": "loadfirst" }, "rule-action": "include", "load-order": "2" } ] }
참고

load-order는 테이블 초기화에 적용됩니다. MaxFullLoadSubTasks가 1보다 큰 경우 연속 테이블 로드는 이전 테이블 로드가 완료될 때까지 기다리지 않습니다.

예 스키마에서 일부 뷰 마이그레이션

다음은 소스에서 이름이 Test인 스키마의 일부 뷰를 대상의 동등한 테이블로 마이그레이션하는 예입니다.

{ "rules": [ { "rule-type": "selection", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "Test", "table-name": "view_DMS%", "table-type": "view" }, "rule-action": "include" } ] }
예 스키마에서 모든 테이블 및 뷰 마이그레이션

다음은 소스에서 이름이 report인 스키마의 모든 테이블 및 뷰를 대상의 동등한 테이블로 마이그레이션하는 예입니다.

{ "rules": [ { "rule-type": "selection", "rule-id": "3", "rule-name": "3", "object-locator": { "schema-name": "report", "table-name": "%", "table-type": "all" }, "rule-action": "include" } ] }