將SSIS封包轉換為 AWS Glue StudioAWS Schema Conversion Tool - AWS Schema Conversion Tool

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

將SSIS封包轉換為 AWS Glue StudioAWS Schema Conversion Tool

您可以使用 AWS SCT 將 Microsoft SQL 伺服器整合服務 (SSIS) 套件轉換為 AWS Glue Studio.

SSIS套件包含執行特定擷取、轉換和 load (ETL) 工作的必要元件,例如連接管理員、工作、控制流程、資料流程、參數、事件處理常式和變數。 AWS SCT 將SSIS套件轉換為相容的格式 AWS Glue Studio。將來源資料庫移轉到之後 AWS 雲端,您可以執行這些轉換的 AWS Glue Studio 工作來執行工ETL作。

若要將 Microsoft SSIS 套件轉換為 AWS Glue Studio,請確定您使用的是 1.0.661 或更高 AWS SCT 版本。

必要條件

在本節中,瞭解將SSIS封裝轉換為的先決條件工作 AWS Glue。這些工作包括在您的帳戶中建立必要的 AWS 資源。

您可以使用 AWS Identity and Access Management (IAM) 定義存取 AWS Glue Studio 使用的資源所需的策略和角色。如需詳細資訊,請參閱AWS Glue Studio 使用者的IAM權限

將來源指令碼轉換 AWS SCT 為後 AWS Glue Studio,將轉換後的指令碼上傳到 Amazon S3 儲存貯體。請確定您已建立此 Amazon S3 儲存貯體,並在 AWS 服務設定檔設定中選取該儲存貯體。如需建立 S3 儲存貯體的詳細資訊,請參閱 Amazon 簡單儲存服務使用者指南中的建立第一個 S3 儲存體。

若要確保 AWS Glue Studio 可以連接至資料倉庫,請建立自訂連接器和連接。此外,請將資料庫認證儲存在 AWS Secrets Manager。

建立自訂連接器的步驟
  1. 下載資料存放區的JDBC驅動程式。如需有關 AWS SCT 使用之JDBC驅動程式的更多資訊,請參閱安裝JDBC驅動程式 AWS Schema Conversion Tool

  2. 將此驅動程式檔案上傳到您的 Amazon S3 儲存貯體。如需詳細資訊,請參閱 Amazon 簡單儲存服務使用者指南中的將物件上傳到儲存貯體

  3. 登入 AWS Management Console 並開啟 AWS Glue Studio 主控台,位於https://console.aws.amazon.com/gluestudio/

  4. 選擇連接器,然後選擇建立自訂連接器。

  5. 對於連接器 S3 URL,請選擇瀏覽 S3,然後選擇您上傳到 Amazon S3 儲存貯體的JDBC驅動程式檔案。

  6. 輸入連接器的描述性名稱。例如,​輸入 SQLServer

  7. 針對「連接器類型」,選擇JDBC

  8. 在 [類別名稱] 中,輸入JDBC驅動程式的主類別名稱。對於「SQL伺服器」,輸入com.microsoft.sqlserver.jdbc.SQLServerDriver

  9. 對於「JDBCURL基準」,請輸入JDBC基準URL。JDBC基底的語法URL取決於您的來源資料庫引擎。對於SQL伺服器,請使用下列格式:jdbc:sqlserver://$<host>:$<port>;databaseName=$<dbname>;user=$<username>;password=$<password>

    確保您更換 <host>, <port>, <dbname>, <username><password> 與你的價值觀。

  10. 對於URL參數分隔符號,請輸入分號 (;)。

  11. 選擇 Create connector (建立連接器)

若要將資料庫認證儲存在 AWS Secrets Manager
  1. 登入 AWS Management Console 並開啟 AWS Secrets Manager 主控台,位於https://console.aws.amazon.com/secretsmanager/

  2. 選擇儲存新機密

  3. Choose secret type (選擇秘密類型) 頁面上,執行下列動作:

    1. 對於密碼類型,選擇其他類型的密碼

    2. 對於機碼/值配對,請輸入下列機碼:hostportdbnameusername、和。password

      接下來,輸入這些鍵的值。

  4. 設定機密頁面上,輸入描述性的機密名稱。例如,​輸入 SQL_Server_secret

  5. 選擇 Next (下一步)。然後,在 [設定輪換] 頁面上,再次選擇 [下一步]。

  6. Review (檢閱) 頁面上,檢閱機密詳細資訊,然後選擇 Store (儲存)。

建立連接器的連線
  1. 登入 AWS Management Console 並開啟 AWS Glue Studio 主控台,位於https://console.aws.amazon.com/gluestudio/

  2. 選擇您要建立連線的連接器,然後選擇 [建立連線]。

  3. 在 [建立連線] 頁面上,輸入連線的描述性名稱。例如,​輸入 SQL-Server-connection

  4. 在「機AWS 密」中,選擇您在其中建立的密碼 AWS Secrets Manager。

  5. 設定網路選項,然後選擇建立連線

現在,您可以使用自訂連接器建立 AWS Glue Studio 工作。如需詳細資訊,請參閱建立 AWS Glue Studio 工作

將SSIS套件新增至您的 AWS SCT 專案

您可以將多個SSIS套件新增至單一 AWS SCT 專案。

若要將SSIS套件新增至您的 AWS SCT 專案
  1. 使用 AWS SCT 或開啟現有專案建立新專案。如需詳細資訊,請參閱在中啟動和管理專案 AWS SCT

  2. 從功能表中選擇 [新增來源],然後選擇 [SQL伺服器整合服務]。

  3. 在「連線名稱」中,輸入SSIS套件的名稱。 AWS SCT 在左側面板的樹狀結構中顯示此名稱。

  4. 對於SSIS套件資料夾,請輸入包含來源SSIS套件之資料夾的路徑。

  5. 從功能表中選擇 [新增目標],然後選擇AWS Glue Studio

    若要連線到 AWS Glue Studio,請 AWS SCT 使用您的 AWS 設定檔。如需詳細資訊,請參閱管理中的設定檔 AWS Schema Conversion Tool

  6. 建立對應規則,其中包括您的原始碼SSIS套件和 AWS Glue Studio 目標。如需詳細資訊,請參閱對映中的資料類型 AWS Schema Conversion Tool

  7. 在 AWS Glue Studio 主控台中建立 AWS Glue Studio 連線。如需詳細資訊,請參閱建立連接器的連接

  8. 選擇左側樹狀結構中的 [連線管理員],開啟內容 (按一下滑鼠右鍵) 功能表,然後選擇 [設定連線]

    AWS SCT 顯示「設定連線」視窗。

  9. 對於每個來源SSIS連線,請選擇一個 AWS Glue Studio 連線。

將SSIS套件轉換 AWS Glue Studio 為 AWS SCT

接下來,找到如何將SSIS包轉換為 AWS Glue Studio 使用 AWS SCT.

若要將SSIS套件轉換為 AWS Glue Studio
  1. 將您的SSIS軟件包添加到 AWS SCT 項目中。如需詳細資訊,請參閱將SSIS套件新增至您的 AWS SCT 專案

  2. 在左側面板中,展開ETLSSIS節點。

  3. 選擇 [套件],開啟內容 (按一下滑鼠右鍵) 功能表,然後選擇 [轉換套件]。

    AWS SCT 將您選取的SSIS套件轉換為JSON檔案。這些JSON對象代表有向無環圖()DAG中的節點。在右樹的「P ack age」DAGs 節點中找到轉換後的文件。

  4. 選擇「P ack age」DAGs,開啟內容 (按一下滑鼠右鍵) 功能表,然後選擇「儲存到 Amazon S3」。

    現在,您可以使用這些指令碼在中建立工作 AWS Glue Studio。

使用轉換後的程式碼建立 AWS Glue Studio 工作

轉換原始碼SSIS套件之後,您可以使用轉換後的JSON檔案來建立 AWS Glue Studio 工作。

建立 AWS Glue Studio 工作的步驟
  1. 選擇右側樹狀結構DAGs中的 P ack age,開啟環境定義 (按一下滑鼠右鍵) 功能表,然後選擇 [設定 AWS Glue Studio 工作]。

  2. (選擇性) 套用模擬中SSIS AWS Glue Studio函數的延伸套件。

  3. [設定 AWS Glue Studio 工作] 視窗隨即開啟。

    完成「基本工作屬性」區段:

    • 名稱 — 輸入您的 AWS Glue Studio 工作名稱。

    • 命令檔檔案名稱 — 輸入工作命令檔的名稱。

    • Job 參數 — 新增參數並輸入參數值。

    選擇 Next (下一步)

  4. 完成「進階工作屬性」區段:

    • IAM角色 — 選擇用於授權 AWS Glue Studio 和存取資料倉庫的IAM角色。

    • 指令碼檔案 S3 路徑 — 輸入已轉換指令碼的 Amazon S3 路徑。

    • 暫存目錄 — 輸入 Amazon S3 到暫存目錄的路徑,以取得中繼結果。 AWS Glue Studio 使用此目錄讀取或寫入 Amazon Redshift。

    • AWS SCT 會自動產生 Python 程式庫的路徑。您可以在生成的 python 庫路徑中查看此路徑。您無法編輯此自動產生的路徑。要使用其他 Python 庫,請在用戶 python 庫路徑中輸入路徑

    • 使用者 python 程式庫路徑 — 輸入其他使用者 Python 程式庫的路徑。請使用逗號分隔 Amazon S3 路徑。

    • 相依 jar 路徑 — 輸入相依*.jar檔案的路徑。請使用逗號分隔 Amazon S3 路徑。

    • 參考檔案路徑 — 輸入指令碼所需的其他檔案 (例如組態檔) 的路徑。請使用逗號分隔 Amazon S3 路徑。

    • 工作者類型 — 選擇G.1XG.2X

      當您選擇G.1X每個背景工作時,都會對應至 1 DPU (4 v CPU、16 GB 記憶體和 64 GB 磁碟)。

      當您選擇G.2X每個背景工作對應至 2 DPU (8 v CPU、32 GB 記憶體和 128 GB 磁碟)。

    • 要求的工作程式數目 — 輸入工作執行時配置的 Worker 數目。

    • 最大並行 — 輸入此工作允許的並行執行數目上限。預設值為 1。 AWS Glue 達到此閾值時返回錯誤。

    • 作業逾時 (分鐘) — 輸入 ETL Job 的逾時值,以防止失控工作。批次工作的預設值為 2,880 分鐘 (48 小時)。如果工作超過此限制,則工作執行狀態會變更為TIMEOUT

    • 延遲通知閾值 (分鐘) — 輸入臨界值 (以分鐘為單位),然後再 AWS SCT 傳送延遲通知。

    • 重試次數 — 輸入工作失敗時自動重新啟動 AWS Glue 的次數 (0—10)。達到逾時限制的工作不會重新啟動。預設值為 0。

    選擇 Finish (完成)。

    AWS SCT 設定您選取 AWS Glue Studio 的工作。

  5. 在右樹狀結構中的工ETL作下找到已設定的工作。選擇您設定的工作,開啟環境定義 (按一下滑鼠右鍵) 功能表,然後選擇 [建立 AWS Glue Studio 工作]。

  6. 選擇 [套用狀態],並確定工作的 [狀態] 值為 [成功]。

  7. 開啟 AWS Glue Studio 主控台,選擇 [重新整理],然後選擇您的工作。接著選擇執行

建立SSIS套件的評估報告 AWS SCT

ETL移轉評估報告提供有關將SSIS套件轉換為相容格式的資訊 AWS Glue Studio。評估報告包含SSIS套件元件的行動項目。這些行動項目會顯示哪些元件 AWS SCT 無法自動轉換。

若要建立ETL移轉評估報告
  1. 展開左側面板ETL中的SSIS節點。

  2. 選擇 [封裝],開啟內容 (按一下滑鼠右鍵) 功能表,然後選擇 [建立報表]。

  3. 檢視 [要] 索引標籤。此處 AWS SCT 顯示ETL移轉評估報告的執行摘要資訊。它包含套件所有元SSIS件的轉換結果。

  4. (選擇性) 將ETL移轉評估報告的本機副本儲存為PDF檔案或逗號分隔值 (CSV) 檔案:

    • 若要將ETL移轉評估報告儲存為PDF檔案,請選擇右上角的 [儲存PDF至]。

      此PDF檔案包含執行摘要、行動項目和指令碼轉換的建議。

    • 若要將ETL移轉評估報告儲存為CSV檔案,請選擇右上角的 [儲存CSV至]。

      AWS SCT 會建立三個CSV檔案。這些檔案包含行動項目、建議的動作,以及轉換指令碼所需手動工作的估計複雜性。

  5. 選擇「事務處理」 標簽。此頁籤包含需要手動轉換為的項目清單 AWS Glue Studio。當您從清單中選擇行動項目時,請 AWS SCT 反白來源SSIS封裝中的項目,該行動項目應用於該項目。

SSIS AWS SCT 可以轉換為的元件 AWS Glue Studio

您可以使用 AWS SCT 將SSIS資料流程元件和參數轉換為 AWS Glue Studio。

支援的資料流程元件包括下列項目:

  • ADONET目的地

  • ADONET來源

  • Aggregate

  • 字符映射

  • 條件式分割

  • 複製欄

  • 資料轉換

  • 導出列

  • 查找

  • Merge

  • 合併聯結

  • 多點傳送

  • ODBCDestination

  • ODBCSource

  • OLEDBDestination

  • OLEDBSource

  • 列計數

  • Sort

  • SQL伺服器目標

  • 全部聯集

AWS SCT 可以將更多SSIS元件轉換為 AWS Glue。如需詳細資訊,請參閱SSIS AWS SCT 可以轉換為的元件 AWS Glue