選択ルールと選択アクション - AWS Database Migration Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

選択ルールと選択アクション

テーブルマッピングを使用すると、選択ルールと選択アクションを使用することで、使用するテーブル、ビューやスキーマを指定できます。選択ルールタイプを使用するテーブルマッピングルールの場合、次の値を適用できます。

Parameter 使用できる値: 説明
rule-type selection 選択ルール。テーブルマッピングを指定するときは、少なくとも 1 つの選択ルールを定義します。
rule-id 数値。 ルールを識別する一意の数値。
rule-name 英数字値。 ルールを特定する一意な名前。
rule-action include, exclude, explicit ルールによって選択されたオブジェクトを含めたり、除外する値。explicit を指定した場合、明示的に指定したテーブルおよびスキーマに該当する 1 つだけのオブジェクトを選択して含めることができます。
object-locator

以下のパラメータを使用するオブジェクト。

  • schema-name— スキーマの名前。MongoDB および Amazon DocumentDB エンドポイントの場合、これはコレクションのセットを保持するデータベースの名前です。

  • table-name— テーブル、ビュー、またはコレクションの名前です。

  • (オプション)table-typetable | view | all場合、table-nameテーブル、ビュー、またはテーブルとビューの両方を参照します。デフォルト: table

    AWS DMS は、全ロードタスクでのみビューをロードします。全ロードおよび変更データキャプチャ (CDC) タスクのみがある場合は、ビューをロードするように少なくとも 1 つの全ロード専用タスクを設定します。

ルールが適用されるスキーマ、テーブルまたはビューごとの名前。ルールにテーブルのみを含めるか、ビューのみを含めるか、テーブルとビューの両方を含めるかを指定することもできます。rule-actioninclude あるいは exclude の場合、schema-name および table-name パラメータの一部あるいはすべての値に「%」パーセント記号をワイルドカードとして使用できます。したがって、これらの項目には以下を対応させることができます。

  • 単一のスキーマ内の単一のテーブル、ビュー、またはコレクション

  • すべてあるいは一部のスキーマの 1 つのテーブル、ビュー、またはコレクション

  • 単一のスキーマの一部またはすべてのテーブルとビュー、または単一のデータベース内のコレクション

  • 一部またはすべてのスキーマの一部またはすべてのテーブルとビュー、または一部のデータベース内のコレクション

rule-actionexplicit の場合、1 つのテーブル、ビューとそのスキーマ(ワイルドカードなし)の正確な名前のみを指定できます。

ビューでサポートされているソースは次のとおりです。

  • Oracle

  • Microsoft SQL Server

  • PostgreSQL

  • IBM Db2 LUW

  • SAP Adaptive Server Enterprise (ASE)

  • MySQL

  • AURORA

  • AURORORA サーバーレス

  • MariaDB

注記

AWS DMS はソースビューをターゲットビューにロードしません。ソースビューは、ソースのビューと同じ名前のターゲット上の同等のテーブルにロードされます。

コレクションを含むデータベースでサポートされているソースは次のとおりです。

  • MongoDB

  • Amazon DocumentDB

load-order 正の整数。最大の値は 2,147,483,647 です。 テーブルとビューを読み込むための優先度。値が大きいテーブルとビューが最初に読み込まれます。
filters オブジェクトの配列。 ソースをフィルタリングする 1 つ以上のオブジェクト。ソースの単一の列でフィルタリングするオブジェクトパラメータを指定します。複数の列をフィルタリングする複数のオブジェクトを指定します。詳細については、「ソースフィルタの使用」を参照してください。

例 スキーマ内のすべてのテーブルの移行

以下の例では、ソース内の 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" } ] }
注記

複数の選択ルールを指定することで、複数のテーブルとスキーマを明示的に選択できます。

例 設定順でテーブルを移行

以下の例は、2 つのテーブルを移行します。テーブル loadfirst (優先度 2) はテーブル loadsecond より前に移行されます。

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Test", "table-name": "loadfirst" }, "rule-action": "include", "load-order": "2" }, { "rule-type": "selection", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "Test", "table-name": "loadsecond" }, "rule-action": "include", "load-order": "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" } ] }