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

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

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

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

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

  • table-name - テーブルの名前。

  • (オプション) table-typetable | view | all は、table-name がテーブルまたはビュー、テーブルとビューの両方を参照するかどうかを示します。デフォルトは table です。

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

    フルロード (Amazon OpenSearch Service など) であっても、すべてのターゲットエンドポイントがビューをレプリケーションのソースとして受け入れるわけではありません。ターゲット エンドポイントの制限を確認します。

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

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

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

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

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

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

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

  • 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 オブジェクトの配列。 ソースをフィルタリングする 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 (優先度 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": "2" }, { "rule-type": "selection", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "Test", "table-name": "loadfirst" }, "rule-action": "include", "load-order": "1" } ] }
注記

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" } ] }