AWS Schema Conversion Tool 用の CLI リファレンス
このセクションでは、AWS SCT コマンドラインインターフェイス (CLI) を使い始める方法について説明します。また、このセクションでは、主要なコマンドと使用モードについても説明します。AWS SCT CLI コマンドの完全なリファレンスについては、「リファレンス資料」を参照してください。
トピック
AWS SCT コマンドラインインターフェイスを使用するための前提条件
Amazon Corretto 11 の最新バージョンをダウンロードしてインストールします。ダウンロードリンクなどの詳細については、『Amazon Corretto 11 ユーザーガイド』の「Amazon Corretto 11 のダウンロード」を参照してください。
AWS SCT サービスの最新バージョンをダウンロードしてインストールします。詳細については、「AWS Schema Conversion Tool のインストール」を参照してください。
AWS SCT CLI インタラクティブモード
AWS SCT コマンドラインインターフェイスはインタラクティブモードで使用できます。このモードでは、コンソールにコマンドを 1 つずつ入力します。このインタラクティブモードを使用して、CLI コマンドの詳細を確認したり、最も一般的に使用される CLI シナリオをダウンロードしたりできます。
AWS SCT でソースデータベーススキーマを変換するには、新しいプロジェクトを作成し、ソースとターゲットデータベースに接続し、マッピングルールを作成し、データベースオブジェクトを変換するというシーケンス操作を実行します。このワークフローは複雑になる可能性があるため、AWS SCT CLI モードではスクリプトを使用することをお勧めします。詳細については、「スクリプトモード」を参照してください。
AWS SCT CLI コマンドは、AWS SCT インストールパスの app フォルダから実行できます。Windows では、デフォルトのインストールパスは C:\Program Files\AWS Schema Conversion Tool\ です。このフォルダに AWSSchemaConversionToolBatch.jar ファイルが含まれていることを確認してください。
AWS SCT CLI インタラクティブモードに入るには、前提条件を満たした後で次のコマンドを使用します。
java -jar AWSSchemaConversionToolBatch.jar -type interactive
AWS SCT CLI コマンドを実行できるようになりました。/ コマンドは必ず新しい行で終了してください。また、コマンドパラメータの値の前後には必ず一重引用符 (') を使用してください。
注記
前述のコマンドが Unexpected error を返す場合は、次のステップを実行します。
java -Djdk.jar.maxSignatureFileSize=20000000 -jar AWSSchemaConversionToolBatch.jar
AWS SCT CLI インタラクティブモードで使用可能なコマンドの一覧を表示するには、次のコマンドを実行します。
help /
AWS SCT CLI コマンドに関する情報を表示するには、次のコマンドを使用します。
help -command: 'command_name' /
前述の例では、command_name をコマンドの名前に置き換えます。
AWS SCT CLI コマンドのパラメータに関する情報を表示するには、次のコマンドを使用します。
help -command: 'command_name' -parameters: 'parameters_list' /
前述の例では、command_name をコマンドの名前に置き換えます。次に、parameters_list をコンマで区切ったパラメーター名のリストに置き換えます。
AWS SCT CLI インタラクティブモードでファイルからスクリプトを実行するには、次のコマンドを使用します。
ExecuteFile -file: 'file_path' /
前述の例では、file_path をスクリプトを含むファイルへのパスに置き換えます。ファイルに .scts 拡張子が付いていることを確認してください。
AWS SCT CLI インタラクティブモードを終了するには、quit コマンドを実行します。
例
Convert コマンドの出力には、次の情報が表示されます。
help -command: 'Convert' /
次の例は、Convert コマンドの 2 つのパラメータに関する情報を表示します。
help -command: 'Convert' -parameters: 'filter, treePath' /
AWS SCT CLI シナリオの取得
最もよく使用される AWS SCT シナリオを取得するには、GetCliScenario コマンドを使用できます。このコマンドをインタラクティブモードで実行し、ダウンロードしたテンプレートを編集できます。編集したファイルはスクリプトモードで使用します。
GetCliScenario コマンドは、選択したテンプレートまたは使用可能なすべてのテンプレートを指定したディレクトリに保存します。テンプレートには、スクリプトを実行するためのコマンドがすべて含まれています。これらのテンプレート内のファイルパス、データベース認証情報、オブジェクト名、およびその他のデータを必ず編集してください。また、使用しないコマンドは必ず削除し、必要に応じて新しいコマンドをスクリプトに追加してください。
GetCliScenarioコマンドを実行するには、前提条件を満たし、AWS SCT CLI インタラクティブモードに入ります。詳細については、「インタラクティブ動画」を参照してください。
次に、次の構文を使用して GetCliScenario コマンドを実行し、AWS SCT シナリオを取得します。
GetCliScenario -type: 'template_type' -directory: 'file_path' /
前述の例では、template_type を次の表のテンプレートタイプのいずれかに置き換えます。次に、file_path をスクリプトをダウンロードするフォルダーのパスに置き換えます。管理者権限を要求しなくてもこのフォルダにアクセスできることを確認してください。AWS SCTまた、コマンドパラメータの値の前後には必ず一重引用符 (') を使用してください。
すべての AWS SCT CLI テンプレートをダウンロードするには、-type上記のコマンドをオプションなしで実行します。
次の表には、ダウンロードできる AWS SCT CLI テンプレートのタイプが含まれています。この表には、各テンプレートのファイル名と、スクリプトを使用して実行できる操作の説明が記載されています。
| テンプレートのタイプ | ファイル名 | 説明 |
|---|---|---|
|
BTEQScriptConversion |
|
Teradata Basic Teradata Query (BTEQ)、FastExport、FastLoad、MultiLoad スクリプトを Amazon Redshift RSQL に変換します。詳細については、「ETL を使用したデータの変換」を参照してください。 |
変換/適用 |
|
ソースデータベースのスキーマを変換し、変換されたコードをターゲットデータベースに適用します。オプションで、変換したコードを SQL スクリプトとして保存し、評価レポートを保存します。詳細については、「スキーマの変換」を参照してください。 |
GenericAppConversion |
|
汎用アプリケーションコンバーターを使用して、AWS SCT アプリケーションに埋め込まれた SQL コードを変換します。詳細については、「SQL コード」を参照してください。 |
HadoopMigration |
|
オンプレミスの Hadoop クラスターを Amazon EMR に移行します。詳細については、「AWS Schema Conversion Tool を使用して Apache Hadoop データベースに接続する」を参照してください。 |
HadoopResumeMigration |
|
中断されたオンプレミス Hadoop クラスターの Amazon EMR への移行を再開します。詳細については、「AWS Schema Conversion Tool を使用して Apache Hadoop データベースに接続する」を参照してください。 |
Informatica |
|
Informatica の抽出、変換、ロード (ETL) スクリプトに埋め込まれている SQL コードを変換します。ETL スクリプトでソースデータベースとターゲットデータベースへの接続を設定し、変換後のスクリプトを保存します。詳細については、「Informatica ETL スクリプト」を参照してください。 |
言語特有のアプリ変換 |
|
C#、C++、Java、および Pro*C アプリケーションに埋め込まれた SQL コードをアプリケーションコンバータで変換します。AWS SCT詳細については、「アプリケーション SQL の変換」を参照してください。 |
OOZIE 変換 |
|
Apache Oozie ワークフローをに変換します。AWS Step Functions詳細については、「AWS Schema Conversion Tool を使用した Apache Oozie ワークフローへの接続」を参照してください。 |
赤方偏移エージェント |
|
ソースデータウェアハウスのスキーマを変換し、変換されたコードをターゲットの Amazon Redshift データベースに適用します。次に、データ抽出エージェントを登録し、データ移行タスクを作成して開始します。詳細については、「データウェアハウスからの移行」を参照してください。 |
ReportCreation |
|
複数のソースデータベーススキーマのデータベース移行レポートを作成します。次に、このレポートを CSV または PDF ファイルとして保存します。詳細については、「評価レポート」を参照してください。 |
SQL スクリプト変換 |
|
SQL*Plus または TSQL スクリプトを PL/SQL に変換し、変換されたスクリプトを保存します。また、評価レポートも保存します。 |
AWS SCT CLI テンプレートをダウンロードしたら、テキストエディタを使用して、ソースデータベースとターゲットデータベースで実行するようにスクリプトを設定します。次に、AWS SCT CLI スクリプトモードを使用してスクリプトを実行します。詳細については、「AWS SCT CLI スクリプトモード」を参照してください。
例
次の例では、すべてのテンプレートを C:\SCT\Templates フォルダにダウンロードします。
GetCliScenario -directory: 'C:\SCT\Templates' /
次の例では、ConversionApply 操作用のテンプレートを C:\SCT\Templates フォルダにダウンロードします。
GetCliScenario -type: 'ConversionApply' -directory: 'C:\SCT\Templates' /
AWS SCT CLI シナリオの編集
シナリオテンプレートをダウンロードしたら、データベースで実行できる作業スクリプトになるように設定します。
どのテンプレートでも、ソースデータベースとターゲットデータベースのドライバーへのパスを必ず指定してください。詳細については、「AWS Schema Conversion Tool 用の JDBC ドライバーのインストール」を参照してください。
ソースデータベースとターゲットデータベースのデータベース認証情報を必ず含めてください。また、変換プロジェクトのソースとターゲットのペアを記述するマッピングルールを必ず設定してください。詳細については、「データ型のマッピング」を参照してください。
次に、実行する操作の範囲を設定します。使用しないコマンドを削除したり、新しいコマンドをスクリプトに追加したりできます。
たとえば、ソース Oracle データベースのすべてのスキーマを PostgreSQL に変換することを計画しているとします。次に、データベース移行評価レポートを PDF として保存し、変換したコードをターゲットデータベースに適用する予定です。この場合は、ConversionApply 操作用のテンプレートを使用できます。AWS SCT CLI テンプレートを編集するには、以下の手順に従います。
ConversionApply 操作用の AWS SCT CLI テンプレートを編集するには
ダウンロードした
ConversionTemplate.sctsを開きます。詳細については、「例」を参照してください。スクリプトから [CreateFilter]、[Convert -filter]、[ApplyToTarget -filter]、[SaveTargetSQL]、[SaveTargetSQLbyStatement]、[SaveReportCSV] の各操作を削除します。
[SetGlobalSettings] 操作の [oracle_driver_file] には、Oracle ドライバーへのパスを入力します。次に、[postgresql_driver_file] には、PostgreSQL ドライバーへのパスを入力します。
他のデータベースエンジンを使用する場合は、設定に適切な名前を使用してください。[SetGlobalSettings] 操作で設定できるグローバル設定の一覧については、『リファレンス資料』の「グローバル設定マトリックス」を参照してください。
(オプション) [CreateProject] には、プロジェクトの名前とローカルプロジェクトファイルの場所を入力します。デフォルト値のまま続行する場合は、管理者権限を要求しなくても、AWS SCT が
C:\tempフォルダ内にファイルを作成できることを確認してください。[AddSource] には、ソースデータベースサーバーの IP アドレスを入力します。また、ソースデータベースサーバーに接続するためのユーザー名、パスワード、およびポートを入力します。
[AddTarget] には、ターゲットデータベースサーバーの IP アドレスを入力します。また、ソースデータベースサーバーに接続するためのユーザー名、パスワード、およびポートを入力します。
(オプション) [AddServerMapping] には、マッピングルールに追加するソースデータベースオブジェクトとターゲットデータベースオブジェクトを入力します。
sourceTreePathとtargetTreePathパラメータを使用してデータベースオブジェクトへのパスを指定できます。オプションで、sourceNamePathおよびtargetNamePathを使用してデータベースオブジェクトの名前を指定できます。詳細については、『リファレンス資料』の [サーバーマッピングコマンド] を参照してください。[AddServerMapping] 操作のデフォルト値は、すべてのソーススキーマをターゲットデータベースにマップします。
ファイルを保存し、スクリプトモードを使用して実行します。詳細については、「スクリプトモード」を参照してください。
AWS SCT CLI スクリプトモード
AWS SCT CLI スクリプトを作成するか、テンプレートを編集したら、RunSCTBatch コマンドで実行できます。必ず CLI .scts スクリプトに拡張子を付けてファイルを保存してください。
AWS SCT CLI スクリプトは、AWS SCT インストールパスの app フォルダから実行できます。Windows では、デフォルトのインストールパスは C:\Program Files\AWS Schema Conversion Tool\ です。このフォルダに RunSCTBatch.cmd または RunSCTBatch.sh ファイルが含まれていることを確認してください。また、このフォルダには AWSSchemaConversionToolBatch.jar ファイルが含まれている必要があります。
または、オペレーティングシステムの PATH 環境変数に RunSCTBatch ファイルへのパスを追加することもできます。PATH 環境変数を更新すると、任意のフォルダから AWS SCT CLI スクリプトを実行できます。
AWS SCT CLI スクリプトを実行するには、Windows で次のコマンドを使用します。
RunSCTBatch.cmd --pathtoscts "file_path"
前述の例では、file_path をスクリプトを含むファイルへのパスに置き換えます。
AWS SCT CLI スクリプトを実行するには、Linux で次のコマンドを使用します。
RunSCTBatch.sh --pathtoscts "file_path"
前述の例では、file_path をスクリプトを含むファイルへのパスに置き換えます。
このコマンドには、データベースの認証情報、コンソール出力の詳細レベルなどのオプションパラメータを指定できます。詳細については、『リファレンス資料』の「AWS SCT コマンドラインインターフェイスリファレンス」を参照してください。
例
次の例では、C:\SCT\Templates フォルダで ConversionTemplate.scts を実行します。この例は Windows で使用できます。
RunSCTBatch.cmd --pathtoscts "C:\SCT\Templates\ConversionTemplate.scts"
次の例では /home/user/SCT/Templates ディレクトリの ConversionTemplate.scts スクリプトを実行します。この例は Linux で使用できます。
RunSCTBatch.sh --pathtoscts "/home/user/SCT/Templates/ConversionTemplate.scts"
AWS SCT CLI リファレンス資料
AWS Schema Conversion Tool コマンドラインインターフェイス (CLI) に関するリファレンス資料は、次のガイド『AWS Schema Conversion Tool CLI リファレンス