View a markdown version of this page

搭配 DMS 結構描述轉換使用 AI 代理器 - AWS 資料庫遷移服務

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

搭配 DMS 結構描述轉換使用 AI 代理器

您可以使用 AI 代理器,透過 AWS API 驅動 DMS 結構描述轉換工作流程。AI 代理器是一種軟體工具,使用大型語言模型來了解自然語言指示並自動化任務。連線至 AWS MCP 伺服器時,AI 代理器可以建立遷移專案、瀏覽來源資料庫中繼資料樹狀目錄、轉換結構描述、產生評估報告、匯出結果,以及解釋服務的各個層面。您可以透過自然語言提示來控制這些操作。

若要使用 DMS 結構描述轉換提高代理程式的準確性和效率,您可以安裝 AWS DMS 結構描述轉換技能。此技能提供 DMS 結構描述轉換特定內容,包括 API 模式、系統結構描述排除、操作排序和服務最佳實務。

重要

此技能包含的指示可防止 AI 代理器在使用 DMS 結構描述轉換時常見的錯誤並減少trial-and-error迴圈,這有助於減少字符用量並加快實現所需目標的速度。我們強烈建議您在開始之前先安裝它。

本主題說明如何安裝技能,並提供您可以透過 AI 代理器執行的常見 DMS 結構描述轉換工作流程範例。

先決條件

在開始前,請確定您具有以下先決條件。本指南假設熟悉 AWS DMS 和 命令列界面。

注意

如果您已在 DMS 結構描述轉換中設定遷移專案,代理程式可以立即使用它。否則,代理程式可以為您建立一個。如需詳細資訊,請參閱在 中使用資料提供者、執行個體描述檔和遷移專案 AWS DMS

安裝 AWS DMS 結構描述轉換技能

技能是精選的說明和參考資料套件,可協助 AI 代理器有效地完成 DMS 結構描述轉換任務。 AWS DMS 結構描述轉換技能包含 API 模式、系統結構描述排除、操作排序規則和服務最佳實務。使用此技能,代理程式產生的錯誤較少,且需要back-and-forth操作較少,才能完成 DMS 結構描述轉換操作。

選擇下列其中一種方法來安裝技能。

AWS MCP server

如果您的代理程式連接到 AWS MCP 伺服器,代理程式可以透過 MCP 伺服器自動尋找和載入技能。在繼續之前,請確認您的 MCP 伺服器已載入並連線。在大多數 AI 代理器中,您可以輸入 來檢查 MCP 伺服器狀態/mcp。然後詢問您的代理程式:

Load "dms-schema-conversion" skill using the `retrieve_skill` tool.

代理程式會從 AWS MCP 伺服器擷取技能,並將其套用至目前的工作階段。

npx skills CLI

如果您的代理程式不使用 AWS MCP 伺服器,您可以從 GitHub 上的 AWS Agent Toolkit for AWS 儲存庫在本機安裝技能。從專案目錄執行下列命令:

npx skills add aws/agent-toolkit-for-aws/skills/specialized-skills/migration-and-modernization-skills/dms-schema-conversion
注意

如果您在 AI 編碼工具中使用自訂代理程式定義,請確定代理程式組態包含技能目錄。否則,代理程式無法探索和載入技能。

Manual installation

複製適用於儲存庫AWS 的客服人員工具組 AWS,並將技能目錄複製到客服人員的技能位置。下表顯示支援客服人員的技能路徑。

客服人員 專案技能路徑 全域技能路徑
Kiro CLI .kiro/skills/ ~/.kiro/skills/
Claude 程式碼 .claude/skills/ ~/.claude/skills/
游標 .cursor/skills/ ~/.cursor/skills/
Codex .agents/skills/ ~/.codex/skills/
注意

如果您在 AI 編碼工具中使用自訂代理程式定義,請確定代理程式組態包含技能目錄。否則,代理程式無法探索和載入技能。

Direct URL

您可以直接從 GitHub URL 載入技能,而無需在本機安裝任何項目。詢問您的代理程式:

Load skill from https://github.com/aws/agent-toolkit-for-aws/blob/main/skills/specialized-skills/migration-and-modernization-skills/dms-schema-conversion/SKILL.md

代理程式會從 GitHub 擷取技能內容,並將其套用至目前的工作階段。

成功載入技能後,您會看到具有可用結構描述轉換動作的動作功能表。

最佳實務

使用 AI 代理器搭配 DMS 結構描述轉換時,請遵循這些建議以取得最佳結果。

  • 轉換前瀏覽 - 在您開始轉換結構描述之前,請使用 代理程式來探索中繼資料樹狀目錄。這可協助您了解遷移的範圍,並識別要轉換的結構描述。

  • 一次轉換一個結構描述 — 對於大型資料庫,請個別轉換結構描述,而不是一次全部轉換。這可讓您更輕鬆地逐步檢閱轉換後的程式碼和處理動作項目。

  • 略過系統結構描述 — 請勿轉換系統資料庫或系統結構描述。它們包含引擎內部物件,可產生大量不可轉換的動作項目。

  • 在套用之前檢閱轉換後的 SQL — 將轉換後的程式碼匯出為 SQL 指令碼,並在套用到目標資料庫之前檢閱它,特別是針對程式碼物件。

  • 啟用生成式 AI 輔助轉換 — 啟用生成式 AI 輔助轉換,以提高程式碼物件的轉換率。生成式 AI 輔助轉換使用機器學習來轉換規則型轉換器無法自動處理的物件。如需詳細資訊,請參閱使用生成式 AI 轉換資料庫物件

  • 使用評估報告 — 轉換或評估後,產生評估報告以取得轉換結果和剩餘手動工作的摘要。如需詳細資訊,請參閱使用 DMS 結構描述轉換建立資料庫遷移評估報告

範例

下列範例顯示常見的 DMS 結構描述轉換工作流程,您可以在載入技能後透過 AI 代理器執行。

在此範例中,您使用 AI 代理器建立遷移專案,將 Microsoft SQL Server 資料庫轉換為 Amazon Aurora PostgreSQL。代理程式會建立所需的 AWS DMS 資源並將其連結在一起。

下列提示會指示代理程式建立遷移專案:

I want to migrate my SQL Server database to Aurora PostgreSQL using DMS Schema Conversion. The source database is on an EC2 instance at 10.0.1.50, port 1433, database name "AdventureWorks". The credentials are stored in Secrets Manager under "mydb-source-credentials". Create a migration project for me.

代理程式會建立來源資料提供者、目標資料提供者、執行個體描述檔,以及將它們連結在一起的遷移專案。如果您還沒有目標資料庫,代理程式會建立虛擬目標資料提供者,以便您可以將結構描述轉換為 SQL 指令碼並將其匯出。代理程式也會建立必要的 IAM 角色和 S3 儲存貯體,並檢查網路組態。

代理程式建立遷移專案後,您可以瀏覽來源資料庫中繼資料、評估或轉換結構描述,以及匯出結果。

您可以使用 代理程式來探索來源資料庫結構。代理程式會階層導覽中繼資料樹狀目錄,列出資料庫、結構描述、資料表、預存程序和其他物件。

Show me the databases and schemas in my source database.

如果來源中繼資料尚未匯入,則代理程式會匯入來源中繼資料,然後使用 AWS DMS API 導覽中繼資料樹狀目錄。您可以深入了解特定結構描述:

Show me the stored procedures in the AdventureWorks.dbo schema.

瀏覽中繼資料樹狀目錄後,您可以使用代理程式來評估或轉換結構描述並匯出結果。

Convert the AdventureWorks.dbo schema to Aurora PostgreSQL and export the converted SQL scripts.

代理程式轉換結構描述物件,並將轉換後的 SQL 指令碼匯出至 S3 儲存貯體。每個轉換和匯出操作會以非同步方式執行,代理程式會在開始下一個操作之前輪詢 以完成。轉換後,代理程式會產生評估報告。

評估報告包含轉換物件的摘要、需要手動變更之物件的動作項目,以及工作量預估。您也可以要求客服人員解釋特定動作項目的含義,並提供如何解決這些項目的指引。

有些 DMS 結構描述轉換操作,例如結構描述轉換、中繼資料匯入和評估,會以非同步方式執行,可能需要一些時間。當客服人員輪詢完成時,您可能想要提出問題、釐清或提供其他指示,而不會中斷工作流程。

下列方法可讓您在長時間執行的操作期間與代理程式互動。根據代理程式的功能選擇方法。

Ctrl+C

此方法適用於大多數 AI 代理器,包括 Kiro CLI、Claude Code 和 Cursor。

按 Ctrl+C 在輪詢進度時中斷代理程式。然後,您可以提出問題或提供新的指示。代理程式會暫停目前的操作,但不會取消伺服器端的操作 - 它會繼續執行 AWS DMS。

在客服人員回答您的問題後,您可以要求客服人員繼續檢查操作狀態。

Check if the conversion is done now.
Separate session

此方法適用於任何 AI 代理器。

開啟新的終端機索引標籤,並啟動個別的客服人員工作階段。使用一個工作階段執行操作並輪詢完成,另一個工作階段則提出問題或執行其他工作。兩個工作階段都可以存取相同的 MCP 伺服器和資源 AWS 。

Instructing the agent not to poll

此方法適用於任何 AI 代理器。

指示代理程式啟動操作並立即傳回,而不是等待操作完成。然後,您可以提出問題、執行其他工作,並在就緒時檢查狀態。

範例提示:

Start converting the AdventureWorks.dbo schema but don't wait for it to finish. I'll ask you to check the status later.

然後稍後:

Check if the dbo schema conversion is complete.
/btw command

此方法適用於 Claude Code 和其他支援背景訊息的客服人員。

輸入 /btw後接您的問題,在不中斷客服人員目前任務的情況下傳送附帶訊息。客服人員在背景處理您的問題,同時繼續輪詢 以完成。

範例:

/btw What action items typically appear for stored procedures?
Subagents

此方法適用於支援背景子代理程式的代理程式,例如 Claude Code。

指示代理程式在背景子代理程式中執行 操作。子代理程式會輪詢完成,而您的主要工作階段仍會免費處理問題和其他工作。

範例提示:

Run the AdventureWorks.dbo schema conversion in a background subagent and let me know when it's done.