附註:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱 Oracle Cloud Infrastructure Free Tier 入門。
- 它使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值取代為您雲端環境特定的值。
將 API 從 Oracle API Gateway 移轉至 Oracle Cloud Infrastructure API Gateway
簡介
Oracle API Gateway 是一個廣泛的內部部署平台,過去公司希望透過 API 公開舊有系統,以與 Web、行動裝置甚至從屬端伺服器應用系統整合。
在本教學課程中,我們將說明如何將 Oracle API Gateway 中導入的 API 移轉至更現代化、可擴展的技術、雲端原生標準內以及可在混合環境 (雲端或內部部署) 中使用的 API。提案是加速此移轉至 Oracle Cloud Infrastructure API Gateway (OCI API Gateway)。
OCI API Gateway 服務可讓您發布網路上具有可存取專用端點的 API,如果您想要讓 API 接受網際網路流量,可以使用公用 IP 位址公開這些 API。端點支援 API 驗證、要求和回應轉換、CORS、驗證和授權以及要求限制。
使用 OCI API 閘道服務時,您可以在區域子網路上建立一或多個 API 閘道,以處理 API 從屬端流量並將其遞送至後端服務。您可以使用單一 API 閘道將多個後端服務 (例如 OCI Load Balancer、OCI Compute 執行處理和 OCI 函數) 連結至單一合併的 API 端點。您可以使用 OCI 主控台和 REST API 存取 OCI API 閘道服務,以定義 API 閘道和 API 部署。
OCI API Gateway 服務與 Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 整合,提供使用原生 OCI 識別功能的簡易認證。
本教學課程可讓您準備要移轉至 OCI API Gateway 的使用者自建物件,並搭配此其他教學課程使用:導入自動化以將 OpenAPI 規格部署到 OCI API Gateway 。
注意:
這些使用者自建物件將會:
從 Oracle API Gateway XML 匯出的檔案自動建立 Swagger 規格。
允許 OCI API 閘道自動從產生的 Swagger 規格匯入。
瞭解哪些流程和協調流程需要在 Oracle Integration 上導入,並與 OCI API Gateway 整合。
這些使用者自建物件不會依現狀完成從 Oracle API Gateway 移轉至 OCI API Gateway。您將需要導入一些整合來協調步驟。有時候,分析 API 的相關資訊環境會讓您的應用程式成為現代化方法和更雲端原生的環境。
從 Oracle API Gateway 移轉至 OCI API Gateway 的策略
此策略不允許直接移轉至 OCI API Gateway,因為其技術略有不同。雖然 Oracle API Gateway 有機制可以建立路徑與其原則之間的對應,但會產生複雜的授權 / 認證處理規則、HEADER、使用業務規則的呼叫協調流程,以及 API 的其他複雜性;OCI API Gateway 只能作為 API 閘道使用,允許某些 HEADER 處理、建立一些逾時和節流原則,但不會有重大複雜性。該工具旨在更簡單且精確地分隔其功能,因為它屬於一系列服務的一部分,可補充其他已離開的功能。
目標
-
將 API 從 Oracle API Gateway 移轉至 OCI API Gateway。
-
分割 OCI API 閘道的 API 路由,以及 Oracle Integration 的複雜性和協調規則。
作業 1:匯出 Oracle API Gateway API
Oracle API Gateway 可以將所有定義匯出為 XML 檔案。我們將使用此使用者自建物件來加速移轉處理作業。如需有關如何在 Oracle API Gateway 中匯出 API 定義的詳細資訊,請參閱匯出 API 閘道組態。
您將取得包含所有 API 定義的 XML 檔案。
作業 2:將 Oracle API Gateway XML 轉換成 Swagger 規格
我們將使用 Oracle API Gateway XML 檔案將它轉換成 YAML Swagger 檔案。
-
將變數檔案名稱變更為匯出的 Oracle API Gateway XML 檔案,然後執行下列 Python 檔案:generate_swagger.py 。
您將會收到副檔名為 YAML 的檔案。每個檔案都是 Oracle API Gateway 中定義之 API 的 Swagger 定義。
部分明細行已在 Swagger 定義中加上註解。這些線代表每個 API 上的 Oracle API Gateway 協調流程。這將有助於規劃及建構 Oracle Integration 中的協調流程。
-
變更 map_details.py Python 檔案,以包含您的 Oracle API Gateway XML 定義檔案,以及輸出對應定義的檔案名稱。
執行此 Python 程式碼之後,您會得到 Swagger 中提及之每個協調流程步驟的更詳細定義。
作業 3:將 Swagger 部署至 OCI API 閘道
透過 Swagger 檔案,我們可以透過自動化流程匯入 OCI API Gateway。Python 程式碼產生的所有 YAML 檔案都可以與此專案一起部署在 OCI API Gateway 中。如需詳細資訊,請參閱導入自動化以在 OCI API 閘道中部署 OpenAPI 規格。
此專案將匯入此處產生的 Swagger 規格,並部署要使用的 API。您必須在本文件中手動調整後端。
作業 4:在 Oracle Integration 中導入協調流程
在此任務中,我們需要依案例分析案例,並導入協調、業務規則及驗證。
首先,我們必須分析 Oracle API Gateway 中 API 的每個步驟。部分步驟是商業規則和協調流程,這些步驟應該是 Oracle Integration 導入的一部分。此實作可以在 OCI API Gateway 中公開,因此遵循在 Oracle API Gateway 中執行的相同流程。
然而,有幾個步驟不需要在 Oracle Integration 內導入,有些步驟是:
- 認證與授權。
- HEADER、QUERY 參數和身體的處理。
- 路由路徑。
認證和授權流程可以在 OCI API Gateway 層中導入。您可以透過 JWT OAuth2 (其中包括) 來實行此動作。除了允許自訂之外,請參閱將記號傳送至授權程式函數以新增認證和授權至 API 部署。
您可以在 OCI API Gateway 本身完成 HEADER (以及 QUERY 參數與 BODY) 處理。處理可以在 REQUEST 與 RESPONSE 中完成。
您也可以在 OCI API Gateway 中處理日誌,但記錄整個迴路是不錯的,也就是說,如果 Oracle Integration 中有實行,也可以嘗試在該處實行日誌。
相關連結
認可
- 作者 - Cristiano Hoshikawa (Oracle LAD A-Team 解決方案工程師)
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Migrate APIs from Oracle API Gateway to Oracle Cloud Infrastructure API Gateway
G27162-01
February 2025
Copyright ©2025, Oracle and/or its affiliates.