GitHub Copilot 為 Java 開發者現代化設計的預先定義任務

本文說明 Java 開發者在 GitHub Copilot 現代化過程中可行的預設任務。

預先定義的工作會擷取使用 Azure 服務的業界最佳做法。 目前,GitHub Copilot 現代化提供預設任務,涵蓋常見的遷移情境。 這些工作涉及下列主題,以及更多內容:

  • 秘密管理
  • 消息佇列整合
  • Monitoring
  • 身分識別管理

Note

這個名單會根據客戶回饋和不斷演變的雲端需求而不斷擴大。

工作清單

GitHub Copilot 現代化目前支援以下預設任務:

  • RabbitMQ 至 Azure 服務匯流排

    這些任務會將使用 RabbitMQ 的 Java 應用程式(透過 Spring Advanced Message Queuing Protocol (AMQP)、Spring Java Message Service (JMS),或透過 AMQP 的 Java EE/Jakarta EE)轉換為改用受控服務 Azure 服務匯流排,同時保留訊息傳遞模式與語意,並預設啟用安全驗證。

  • 將資料庫移轉至 Azure 的受控識別

    Azure 資料庫供應專案 - Azure SQL Server、適用於 MySQL 的 Azure 資料庫、適用於 PostgreSQL 的 Azure 資料庫、適用於 Cassandra API 的 Azure Cosmos DB 和適用於 MongoDB 的 Azure Cosmos DB - 支援使用受控識別的安全登入。 當您將應用程式從本機資料庫移轉至受控 Azure 雲端資料庫時,此工作可協助您準備程式代碼基底,以向資料庫進行受控識別驗證。

  • Azure 上認證移轉的受控識別

    使用連接字串的驗證會導致安全性弱點和維護額外負荷。 此工作會轉換 Java 應用程式,以針對 Azure 事件中樞和 Azure 服務總線等傳訊服務使用 Azure 的受控識別驗證。 當您與 Microsoft 身分識別用戶端程式庫整合時,您的程式碼不再需要在組態檔中儲存敏感性連接字串或共用存取簽章。

  • Amazon Web Services (AWS) S3 至 Azure 記憶體 Blob

    當您將服務從 AWS 移轉至 Azure 時,您可以從 AWS S3 轉換至 Azure 記憶體 Blob。 此工作可協助您將與 AWS S3 互動的程式代碼邏輯轉換成使用 Azure 記憶體 Blob 運作的程式碼邏輯,同時維護相同的語意。

    這些遷移知識是與 Azure 儲存體 團隊合作開發的,結合他們在 Blob 儲存體 API、認證模式及平台特定行為方面的深厚專業知識,確保指引反映出生產級最佳實務。

  • 記錄至本機檔案

    根據預設,Azure 主控服務會與 Azure 監視器整合,收集控制台的記錄輸出,並讓您查詢和監視它們。 同時,不建議記錄到雲端環境中的檔案,因為它需要額外的記錄輪替和傳輸。 這項工作可協助您將應用程式中的檔案型記錄轉換成控制台型記錄,使其準備好與 Azure 監視器整合。

  • 本機檔案 I/O 至 Azure 儲存體檔案共用掛載

    Azure 托管服務在部署、調整、故障轉移等方面提供彈性,並提供更多功能。 同時,指定應用程式運行時間的檔案系統是暫時性的。 如果您的應用程式從本機檔案讀取或寫入,此工作可協助您識別這類案例,並將其轉換成統一掛接路徑存取。 如此一來,您可以將 Azure 記憶體檔案共用掛接至指定的路徑,讓應用程式能夠跨不同的複本共用和保存數據,而不必擔心重新配置、故障轉移或類似問題。

  • Java Mail 至 Azure 通訊服務

    使用簡單郵件傳輸通訊協定 (SMTP) 相依性移轉應用程式可能會很困難,因為並非所有 Azure 環境都支援埠 25 上的傳出要求。 此工作可協助轉換透過 SMTP 傳送郵件的應用程式,以使用與 Azure 裝載環境完全相容的 Azure 通訊服務。

  • Azure Key Vault 的憑證和秘密管理

    此工作可協助將敏感性安全性資產移轉至 Azure Key Vault。 它支援代碼庫中的硬編碼密鑰,以及在 Java KeyStores 中管理的本地 TLS/mTLS 憑證。 針對秘密,它會識別可疑的秘密文字,並將其轉換成從 Azure Key Vault 擷取數據的邏輯。 針對憑證,它會將您的應用程式從本機管理憑證轉換為使用 Azure Key Vault 的 Java 密碼編譯架構 (JCA) 提供者,同時維持相同的功能和安全性狀態。

  • 對 Azure Key Vault 執行密碼編譯作業

    在本機執行加密作業的 Java 應用程式會在集中且可稽核的服務之外管理金鑰。 此任務將本地密碼邏輯遷移至 Azure Key Vault,使簽署、驗證、加密與解密操作能針對從未離開金庫的金鑰執行,同時保留應用程式現有的行為。

  • 用戶驗證以Microsoft Entra ID 驗證

    Java 應用程式通常會使用不容易移轉至 Azure 的 LDAP 型驗證解決方案。 這項工作可協助您將本機使用者驗證機制轉換為使用 Microsoft Entra ID 進行驗證的驗證機制。

  • 資料庫產品到 Azure 資料庫供應項目

    運行於本地資料庫的 Java 應用程式——包括 Oracle、IBM Db2、Informix 及 Sybase Adaptive Server Enterprise (ASE)——可遷移至 適用於 PostgreSQL 的 Azure 資料庫 或 Azure SQL Database,享受完全託管的雲端體驗。 這些任務會更新應用程式,使其連接到目標 Azure 資料庫,採用無密碼的 Microsoft Entra ID 認證,並將來源特定的 SQL 語法、資料型態和函式與目標方言調和,讓應用程式在 Azure 上保持相同行為。

  • AWS Secrets Manager 到 Azure Key Vault

    從 AWS 秘密管理員移至 Azure Key Vault 需要重新設定應用程式處理敏感性資訊的方式。 此工作會轉換程式碼中秘密管理的所有層面 (從建立和擷取到更新和刪除),並使用 Azure 金鑰保存庫的完整安全性功能和驗證模型。

  • ActiveMQ to Azure 服務總線

    以 Apache ActiveMQ 為基礎的應用程式可以現代化,以使用 Azure 的受控傳訊服務。 此任務旨在將您的 ActiveMQ 訊息產生者、消費者、連接工廠和佇列/主題相互作用轉換為 Azure 服務匯流排的對應項目,同時在雲端環境中實施可靠性和驗證的最佳實踐。

  • Amazon Web Services (AWS) 簡單佇列服務 (SQS) 至 Azure 服務總線

    從 AWS SQS 轉換至 Azure 服務總線牽涉到重新實作佇列作業和訊息處理模式。 此工作會將 SQS 特有的程式碼結構轉換為其在 Azure 服務匯流排中的對應項,並保留關鍵的傳訊語意,例如至少傳遞一次、訊息批次處理和可見性逾時行為,同時引入 Azure 增強的安全性功能。

  • 將 Ant / Eclipse 專案轉換為 Maven 專案

    使用 Apache Ant 建置的 Java 專案或 Eclipse IDE 專案依賴命令式腳本或 IDE 專屬的元資料,這增加了依賴管理的複雜性,也使自動化的無頭建置變得困難。 這些任務會將您的 Ant 或 Eclipse 專案轉換成 Maven 專案,能夠從任何環境一致建置,依賴性透過 Maven 解決,專案配置也符合 Maven 慣例,同時保持原始碼不變。

  • 將快取解決方案移轉至 Azure 受控 Redis

    應用程式常依賴各種快取解決方案——從記憶體庫到分散式系統(如 Infinispan、SwarmCache 和 Memcached)——這些方案缺乏無縫的 Azure 整合,以及集中式的可擴展性或安全性。 此任務透過將快取層現代化,將這些實作遷移至 Azure Managed Redis(或即將退役的 Azure Cache for Redis),實現雲端原生擴展性、統一管理,並透過無密碼 Microsoft Entra ID 驗證提升安全性,同時保留現有快取行為。

另請參閱

快速入門:創造並應用你自己的技能