轉換信息ETL腳本 AWS Schema Conversion Tool - AWS Schema Conversion Tool

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

轉換信息ETL腳本 AWS Schema Conversion Tool

您可以使用 AWS SCT 命令列介面 (CLI) 來轉換 Informatica 指令ETL碼,以便您可以將這些指令碼與新的目標資料庫搭配使用。此轉換包括三個關鍵步驟。首先, AWS SCT 轉換嵌入在您的信息對象的SQL代碼。接下來, AWS SCT 根據您在專案中指定的移轉規則變更資料庫物件的名稱。最後, AWS SCT 將 Informatica ETL 腳本的連接重定向到新的目標數據庫。

您可以將信息ETL腳本轉換為 AWS SCT 數據庫轉換項目的一部分。轉換 Informatica ETL 指令碼時,請務必將來源和目標資料庫新增至專案。

若要轉換資訊ETL指令碼,請確定您使用的是 1.0.667 或更高 AWS SCT 版本。此外,請熟悉的指令行介面。 AWS SCT如需詳細資訊,請參閱CLI參考資料 AWS Schema Conversion Tool

若要使用轉換資訊指ETL令碼 AWS SCT
  1. 建立新 AWS SCT CLI指令碼或編輯現有案例範本。例如,您可以下載和編輯InformaticConversionTemplate.scts範本。如需詳細資訊,請參閱取得CLI案例

  2. 下載來源和目標資料庫所需的JDBC驅動程式。使用指SetGlobalSettings令指定這些驅動程式的位置。此外,請指定 AWS SCT 可以儲存記錄檔的資料夾。

    下列程式碼範例說明如何將 Oracle 和 Postgre SQL 驅動程式的路徑新增至 AWS SCT 設定。執行此程式碼範例之後,將記錄檔 AWS SCT 儲存在資C:\sct_log料夾中。此外,還將控制台日誌文件 AWS SCT 存儲在文件C:\Temp\oracle_postgresql夾中。

    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"}' /
  3. 創建一個新 AWS SCT 項目。輸入專案的名稱和位置。

    下列程式碼範例會在C:\Temp資料夾中建立oracle_postgresql專案。

    CreateProject -name: 'oracle_postgresql' -directory: 'C:\Temp' /
  4. 新增有關來源和目標資料庫的連線資訊。

    下列程式碼範例會將 Oracle 和 Postgre SQL 資料庫新增為 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_user 以及 target_user 使用您的數據庫用戶的名稱。接下來,更換 source_password 以及 target_password 用你的密碼。用於 source_address 以及 target_address,輸入來源和目標資料庫伺服器的 IP 位址。

    若要連線到 Oracle 資料庫版本 19 及更新版本,請在AddSource命令中使用 Oracle 服務名稱。若要執行此操作,請加入-connectionType參數並將其值設定為'basic_service_name'。然後,添加-servicename參數並將其值設置為您的 Oracle 服務名稱。若要取得有關AddSource指令的更多資訊,請參閱〈AWS Schema Conversion Tool CLI參考〉。

  5. 建立新的 AWS SCT 對應規則,以定義每個來源資料庫結構描述的目標資料庫引擎。如需詳細資訊,請參閱對映中的資料類型 AWS Schema Conversion Tool

    下列程式碼範例會建立包含所有來源 Oracle 資料庫結構描述的對應規則,並將 Postgre 定義SQL為移轉目標。

    AddServerMapping -sourceTreePath: 'Servers.ORACLE' -targetTreePath: 'Servers.POSTGRESQL' /
  6. 添加有關您的信息源和目標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' /
  7. 建立另一個對應規則,以定義來源資訊XML檔案的目標資訊檔案。XML

    下列程式碼範例會建立對應規則,其中包含前述範例中使用的來源和目標 Informatica XML 檔案。

    AddServerMapping -sourceTreePath: 'ETL.INFA_SOURCE' -targetTreePath: 'ETL.INFA_TARGET' /
  8. 指定對應至「資訊」連線名稱參照的資料庫伺服器連線。

    下列程式碼範例會設定 Informatica ETL 指令碼從來源重新導向至新的目標資料庫。此範例也會設定連接變數。

    ConfigureInformaticaConnectionsRedirect -treePath: 'ETL.INFA_SOURCE.Files' -connections: '{ "ConnectionNames": [ { "name": "Oracle_src", "newName": "postgres", "treePath": "Servers.ORACLE" } ] "ConnectionVariables": [ { "name": "$Source", "treePath": "Servers.ORACLE" } ] }' /
  9. 轉換您的源數據庫模式和信息ETL腳本。

    下列程式碼範例會轉換所有來源 Oracle 資料庫結構描述和資訊XML檔案。

    Convert -treePath: 'Servers.ORACLE.Schemas.%' / Convert -treePath: 'ETL.INFA_SOURCE.Files' /
  10. (選擇性) 儲存轉換專案和評估報告。此報告包含轉換動作項目,以及如何處理每個動作項目的建議。

    下列程式碼範例會儲存您的專案,並將評估報告的副本儲存為C:\Temp資料夾中的PDF檔案。

    SaveProject / SaveReportPDF -treePath: 'ETL.INFA_SOURCE.Files' -file:'C:\Temp\Informatica.pdf' /
  11. 保存轉換後的信息文XML件。

    下列程式碼範例會將轉換的XML檔案儲存在資C:\Temp料夾中。您在上一個步驟中使用指AddTarget令指定了此資料夾。

    SaveTargetInformaticaXML -treePath: 'ETL.INFA_TARGET.Files' /
  12. 將您的指令碼儲存為.scts檔案,並使用中的RunSCTBatch指令執行它 AWS SCT CLI。如需詳細資訊,請參閱AWS SCT CLI腳本模式

    下列範例會在C:\Temp資料夾中執行Informatica.scts指令碼。您可以在視窗中使用這個範例。

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

    如果您編輯來源資訊ETL指令碼,請再次執行指 AWS SCT CLI令碼。