

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

# を使用した Informatica ETL スクリプトの変換 AWS Schema Conversion Tool
<a name="CHAP-converting-informatica"></a>

 AWS SCT コマンドラインインターフェイス (CLI) を使用して Informatica ETL スクリプトを変換し、新しいターゲットデータベースでスクリプトを使用できるようにします。この変換には 3 つの重要なステップが含まれます。まず、 は Informatica オブジェクトに埋め込まれている SQL コードを AWS SCT 変換します。次に、 は、プロジェクトで指定した移行ルールに従ってデータベースオブジェクトの名前 AWS SCT を変更します。最後に、 は Informatica ETL スクリプトの接続を新しいターゲットデータベースに AWS SCT リダイレクトします。

Informatica ETL スクリプトは、 AWS SCT データベース変換プロジェクトの一部として変換できます。Informatica ETL スクリプトを変換するときは、必ずソースデータベースとターゲットデータベースをプロジェクトに追加してください。

Informatica ETL スクリプトを変換するには、 AWS SCT バージョン 1.0.667 以降を使用していることを確認してください。また、 AWS SCTのコマンドラインインターフェイスにも慣れておいてください。詳細については、「[の CLI リファレンス AWS Schema Conversion Tool](CHAP_Reference.md)」を参照してください。

**を使用して Informatica ETL スクリプトを変換するには AWS SCT**

1. 新しい CLI AWS SCT スクリプトを作成するか、既存のシナリオテンプレートを編集します。例えば、`InformaticConversionTemplate.scts` テンプレートをダウンロードして編集できます。詳細については、「[CLI シナリオの取得](CHAP_Reference.md#CHAP_Reference.Scenario)」を参照してください。

1. ソースデータベースとターゲットデータベースに必要な JDBC ドライバーをダウンロードします。コマンドを使用して、これらのドライバーの場所を指定します。`SetGlobalSettings`また、 がログファイルを保存 AWS SCT できるフォルダを指定します。

   次のコード例は、Oracle および PostgreSQL ドライバーへのパスを設定に追加する方法を示しています AWS SCT 。このコード例を実行すると、 はログファイルを `C:\sct_log`フォルダに AWS SCT 保存します。また、 はコンソールログファイルを `C:\Temp\oracle_postgresql`フォルダに AWS SCT 保存します。

   ```
   SetGlobalSettings
   	-save: 'true'
   	-settings: '{"oracle_driver_file": "C:\\drivers\\ojdbc8.jar",    
   	"postgresql_driver_file": "C:\\drivers\\postgresql-42.2.19.jar" }'
   /
   
   SetGlobalSettings
   	-save: 'false'
   	-settings: '{
   "log_folder": "C:\\sct_log",
   "console_log_folder": "C:\\Temp\\oracle_postgresql"}'
   /
   ```

1. 新しい AWS SCT プロジェクトを作成します。プロジェクトの名前と場所を入力します。

   次のコード例では、`C:\Temp` フォルダに `oracle_postgresql` プロジェクトを作成します。

   ```
   CreateProject
   	-name: 'oracle_postgresql'
   	-directory: 'C:\Temp'
   /
   ```

1. ソースデータベースとターゲットデータベースに関する接続情報を追加します。

   次のコード例では、Oracle データベースと PostgreSQL データベースを AWS SCT プロジェクトのソースとターゲットとして追加します。

   ```
   AddSource
   	-password: 'source_password'
   	-port: '1521'
   	-vendor: 'ORACLE'
   	-name: 'ORACLE'
   	-host: 'source_address'
   	-database: 'ORCL'
   	-user: 'source_user'
   /
   AddTarget
   	-database: 'postgresql'
   	-password: 'target_password'
   	-port: '5432'
   	-vendor: 'POSTGRESQL'
   	-name: 'POSTGRESQL'
   	-host: 'target_address'
   	-user: 'target_user'
   /
   ```

   前の例では、*source\$1user* と *target\$1user* をデータベースユーザーの名前に置き換えてください。次に、*source\$1password* と *target\$1password* を自分のパスワードに置き換えます。*source\$1address* と *target\$1address* には、ソースデータベースサーバーとターゲットデータベースサーバーの IP アドレスを入力します。

   バージョン 19 以降の Oracle データベースに接続するには、`AddSource` コマンドに Oracle サービス名を使用します。そのためには、`-connectionType` パラメータを追加し、値を `'basic_service_name'` に設定します。次に、`-servicename` パラメータを追加し、その値を Oracle サービス名に設定します。`AddSource` コマンドの使用の詳細については、『[AWS Schema Conversion Tool CLI リファレンス](https://s3.amazonaws.com/publicsctdownload/AWS+SCT+CLI+Reference.pdf)』を参照してください。

1. 各ソースデータベーススキーマのターゲットデータベースエンジンを定義する新しい AWS SCT マッピングルールを作成します。詳細については、「[AWS Schema Conversion Tool でのデータ型のマッピング](CHAP_Mapping.md)」を参照してください。

   次のコード例では、すべてのソース Oracle データベーススキーマを含むマッピングルールを作成し、PostgreSQL を移行ターゲットとして定義します。

   ```
   AddServerMapping
   	-sourceTreePath: 'Servers.ORACLE'
   	-targetTreePath: 'Servers.POSTGRESQL'
   /
   ```

1. Informatica のソースとターゲット XML ファイルに関する接続情報を追加します。

   次のコード例では、`C:\Informatica_source` および `C:\Informatica_target` フォルダから Informatica XML ファイルを追加します。

   ```
   AddSource
   	-name: 'INFA_SOURCE'
   	-vendor: 'INFORMATICA'
   	-mappingsFolder: 'C:\Informatica_source'
   /
   AddTarget
   	-name: 'INFA_TARGET'
   	-vendor: 'INFORMATICA'
   	-mappingsFolder: 'C:\Informatica_target'
   /
   ```

1. 別のマッピングルールを作成して、ソースの Informatica XML ファイル用のターゲット Informatica XML ファイルを定義します。

   次のコード例では、前の例で使用したソースとターゲットの Informatica XML ファイルを含むマッピングルールを作成します。

   ```
   AddServerMapping
   -sourceTreePath: 'ETL.INFA_SOURCE'
   -targetTreePath: 'ETL.INFA_TARGET'
   /
   ```

1. Informatica 接続名参照に対応するデータベースサーバー接続を指定します。

   次のコード例では、Informatica ETL スクリプトをソースから新しいターゲットデータベースにリダイレクトするように設定しています。この例では接続変数も設定しています。

   ```
   ConfigureInformaticaConnectionsRedirect
   	-treePath: 'ETL.INFA_SOURCE.Files'
   	-connections: '{
   	"ConnectionNames": [
   	{
   		"name": "Oracle_src",
   		"newName": "postgres",
   		"treePath": "Servers.ORACLE"
   	}
   	]
   	"ConnectionVariables": [
   	{
            "name": "$Source",
            "treePath": "Servers.ORACLE"
       }
       ]
   	}'
   /
   ```

1. ソースデータベーススキーマと Informatica ETL スクリプトを変換します。

   次のコード例は、すべてのソース Oracle データベーススキーマと Informatica XML ファイルを変換します。

   ```
   Convert
   	-treePath: 'Servers.ORACLE.Schemas.%'
   /
   Convert
   	-treePath: 'ETL.INFA_SOURCE.Files'
   /
   ```

1. (オプション) 変換プロジェクトと評価レポートを保存します。このレポートには、変換アクション項目と、それぞれに対処する方法に関する推奨事項が含まれます。

   次のコード例では、プロジェクトを保存し、評価レポートのコピーを PDF ファイルとして `C:\Temp` フォルダに保存します。

   ```
   SaveProject
   /
   SaveReportPDF
   	-treePath: 'ETL.INFA_SOURCE.Files'
   	-file:'C:\Temp\Informatica.pdf'
   /
   ```

1. 変換した Informatica XML ファイルを保存します。

   次のコード例では、変換された XML `C:\Temp` ファイルをフォルダに保存します。このフォルダは、`AddTarget`前のステップでコマンドを使用して指定しました。

   ```
   SaveTargetInformaticaXML
   -treePath: 'ETL.INFA_TARGET.Files'
   /
   ```

1. スクリプトを `.scts` ファイルとして保存し、 CLI AWS SCT の `RunSCTBatch` コマンドを使用して実行します。詳細については、「[AWS SCT CLI スクリプトモード](CHAP_Reference.md#CHAP_Reference.ScriptMode)」を参照してください。

   次の例では、`C:\Temp` フォルダ で `Informatica.scts` スクリプトを実行します。この例は Windows で使用できます。

   ```
   RunSCTBatch.cmd --pathtoscts "C:\Temp\Informatica.scts"
   ```

   ソースの Informatica ETL スクリプトを編集する場合は、CLI AWS SCT スクリプトを再度実行します。