Apigee Edge 與 Apigee X 之間的差異

您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

本主題說明 Apigee X (有時也簡稱為「Apigee」) 與 Apigee Edge 的差異。這項資訊適用於考慮遷移至 Apigee X 的現有 Apigee Edge 客戶。

如要進一步瞭解 Apigee X 功能,請參閱 Apigee X 功能摘要

下表列出本主題中比較 Apigee API 管理產品:

產品 託管位置 管理者:
Apigee Edge Public Cloud Apigee 的雲端 Apigee
Apigee Edge Private Cloud 客戶的私人資料中心。 客戶
Apigee X Google Cloud Apigee
Apigee Hybrid Google Cloud 和客戶的私人資料中心 Apigee 會管理管理層,客戶則管理執行階段層。

Apigee Edge 與 Apigee X 功能比較

以下各節比較 Apigee Edge 公有/私有雲的功能,以及 Apigee X 和混合式環境的功能可用性。

請注意,Apigee X 限制也與 Apigee Edge 限制不同。

目前功能差異摘要

下表說明 Apigee X (和 Hybrid) 與 Apigee Edge for Public and Private Cloud 平台在功能層級的差異。

Apigee Edge 功能 Apigee X 和 Hybrid 支援
API Proxy 修訂版本

部署後即無法變更

主動健康檢查 支援外部 MIG (使用 VM)。使用 Private Service Connect 時不支援。如需路由類型相關資訊,請參閱「設定路由」。
Istio 適用的 Apigee 轉接器 已淘汰:建議改用 Apigee Adapter for Envoy
公司 開發人員

我們提供類似但不完全相同的解決方案。請參閱「使用 AppGroups 整理應用程式擁有權」。

CwC (程式碼搭配設定)

預定

Deployment
  • 非同步部署
  • 系統會根據執行階段層上次向管理層「簽到」的時間,擷取部署狀態
環境
  • 支援環境群組
  • 透過 Apigee UI 和 API 自助服務
  • 提供更彈性的服務拓撲
  • MP Pod 只能服務一個環境

詳情請參閱「關於環境和環境群組」。

代管目標

請使用 Cloud RunCloud Functions

HTTP/1.1 標頭欄位名稱處理 轉送至後端時,會將 HTTP/1.1 標頭欄位名稱轉換為小寫。在 Apigee Edge 中,標頭欄位名稱會保留大小寫。
IAM 角色,可進行精細的角色型存取控管

預定

使用 [@.length-x] 的 JSONPath

Apigee X 不支援在 JSONPath 運算式中使用 [@.length-x]。 JSONPath 規格指出,運算式取決於基礎指令碼語言。length-x 是 JavaScript 建構函式,而非 Java,且 [@.length-x] 並未實作規格的一部分。在 Apigee X 中,索引配置 ([-x]) 會取代 [@.length-x] 運算式。

在本例中:

{
    "books": [
      {
        "name": "A",
      },
      {
        "name": "B",
      }
    ]
}

輸入:$.books[@.length-1] 在 Apigee Edge 中會傳回 {“name”: “B”},在 Apigee X 中則會傳回 [{“name”: “B”}]

金鑰儲存區/信任儲存區

以 Kubernetes 密鑰形式管理的北向

KVM
  • 您可以在 Apigee UI 中建立加密的環境範圍 KVM。KVM 一律會加密。您無法在 UI 中新增、更新或查看 KVM 項目。
  • 使用 GET 指令存取 KVM 時,請搭配所有變數使用 private. 屬性,在偵錯 (追蹤) 工作階段中隱藏 KVM 資訊。如果未使用 private. 屬性,KVM 仍會加密,但 KVM 資訊會在偵錯追蹤工作階段中解密,且不會擲回例外狀況。
  • 您可以使用 keyvaluemaps.entries API KeyValueMapOperations 政策管理 KVM 項目。
  • 您可以使用屬性集,處理與 KVM 相同的部分用途。請參閱「使用屬性組合」。
  • <MapName> 元素可讓 KeyValueMapOperations 政策在執行階段動態識別要使用的 KVM。

如要進一步瞭解如何在 UI 中建立 KVM,請參閱「使用鍵值對應」。另請參閱存取設定資料,瞭解如何選擇合適的資料保存機制。

微型閘道 建議改用 Apigee Adapter for Envoy
營利 請參閱 營利功能差異
Node.js
  • 不支援 Node.js API Proxy。
  • Apigee 建議您在 Kubernetes 中將 Node.js 應用程式做為個別容器代管 (相同或不同叢集)
北向 mTLS 透過 Google Cloud 負載平衡器支援。請參閱「使用外部應用程式負載平衡器的 Apigee X 北向 mTLS」。
OAuth 新的 RevokeOAuthv2 政策會依使用者 ID、應用程式 ID 或兩者撤銷憑證。這項政策會取代 Apigee Edge API,用於撤銷 OAuth2 權杖。
政策
  • 新政策:
    • AssertCondition 政策:在要求或回應流程中,於執行階段評估條件陳述式。
    • CORS 政策:允許在網頁中執行的 JavaScript XMLHttpRequest (XHR) 呼叫與非來源網域的資源互動。
    • DataCapture 政策:取代 StatisticsCollector 政策。
    • ExternalCallout 政策:將 gRPC 要求傳送至 gRPC 伺服器,以實作 Apigee 政策不支援的自訂行為。
    • GraphQL 政策:將 GraphQL 酬載剖析為訊息流程變數,根據結構定義驗證 GraphQL 要求,或同時執行這兩項操作。
    • PublishMessages 政策:將 API Proxy 流程資訊發布至 Google Cloud Pub/Sub 主題。
    • RevokeOAuthv2 政策:依使用者 ID、應用程式 ID 或兩者撤銷。
    • TraceCapture 政策:在 Apigee 執行階段的追蹤資料中新增其他變數。
  • 不支援的政策:
    • StatisticsCollector 政策 (已由新的 DataCapture 政策取代)
  • 異動政策:
reasonPhrase 不支援。
資源 無法使用機構層級資源
角色和權限
  • 透過 Google Cloud 控制台的 IAM 服務管理
  • 系統提供部分精選的預設角色
  • 您可以建立自訂角色,其中可包含其他 Google Cloud 權限

詳情請參閱「 使用者和角色」。

Sense 使用 Advanced API Security
「建立 Proxy」精靈中的 SOAP 服務 不支援。請參閱 wsdl2apigee,這個開放原始碼專案提供 SOAP 公用程式,可搭配 Apigee 使用。
追蹤/偵錯工作階段 請參閱「與 Trace 的差異」。
虛擬主機

Apigee Hybrid:

  • 輸入是透過 Apigee 輸入閘道實作。
  • 金鑰和憑證會直接部署到 Kubernetes。

Apigee X:

  • 每個執行個體都會透過自行簽署的憑證公開 HTTPS 端點。您可以查詢機構,下載憑證的 CA。

與 Trace 的差異

下表比較 Apigee X 和混合式與 Apigee Edge Cloud 中,追蹤的運作方式差異:

功能 Apigee Edge Cloud Apigee X 和 Hybrid
及時性 即時;同步 稍有延遲;非同步
工作階段名稱/ID 接受使用者提供的工作階段名稱 不接受使用者提供的會期名稱
篩選器 支援基本篩選器,例如標頭和查詢參數篩選器 支援複雜的篩選邏輯,包括 AND 和 OR 邏輯運算。存取 流程變數參照中提及的任何流程變數。語法與條件式使用的語法相同,如條件參照所示。
工作階段逾時

定義偵錯工作階段的長度,以及資料的保留時間。

透過 API 呼叫啟動時,預設值為 20 分鐘;透過使用者介面啟動時,預設值為 10 分鐘。

僅定義偵錯工作階段的長度。起點是 Message Processor 收到以偵錯模式執行的要求時。

如果工作階段是透過 API 啟動,預設值為 5 分鐘;如果是透過使用者介面啟動,預設值為 10 分鐘。

混合式裝置會保留資料 24 小時,然後自動刪除。

工作階段有效性

工作階段建立要求有效的時間長度。如果偵錯工作階段未在上述時間內啟動,同步器可以忽略工作階段建立要求。請務必按照「必要條件」一文所述,讓 Synchronizer 的時鐘保持同步。
追蹤要求數 每個訊息處理工具最多 20 個 預設值為每個訊息處理器 10 個,上限為 15 個。
API Apigee Edge Cloud Apigee X
Apigee X 會公開 Debug Session API Debug Session Data API,但透過 Apigee X API 不支援下列項目:
停止偵錯工作階段

刪除特定交易

與營利的差異

下表比較 Apigee Edge 營利和 Apigee X 營利的主要功能。

Apigee Edge Monetization Apigee X/Hybrid Monetization
費率方案與 API 產品組合相關聯,可附加至多個 API 產品 費率方案與 API 產品相關聯 (一對一關係)
應用程式開發人員購買費率方案 應用程式開發人員購買 API 產品
配額是在 API Proxy 層級管理 配額是在 API 產品層級 (業務層級) 管理
已發布的費率方案只能設為過期,無法編輯或刪除 發布的費率方案可以過期、編輯、移至草稿或刪除
設定複雜 (沒有精靈或預覽工具) 使用精靈和預覽工具簡化費率方案設定
如果應用程式開發人員未購買訂閱方案,系統會在處理第一次 API 呼叫後,MonetizationLimitsCheck政策會封鎖存取權 如果應用程式開發人員未購買訂閱方案或超出配額,MonetizationLimitsCheck政策會立即封鎖存取權
您可以在交易記錄政策中使用自訂變數,擷取交易的營利資料。 Apigee 會自動擷取營利資料,您也可以使用 DataCapture 政策覆寫交易的營利資料。詳情請參閱「擷取營利資料」。
開發人員和費率方案都可以設定預付和後付帳戶。 預付和後付帳戶只能為開發人員設定。

Apigee X 不支援哪些 Apigee Edge 功能?

Google 打算支援下列功能:

  • Apigee Edge 擴充功能
  • OpenAPI 規格儲存庫
  • 用於搜尋或撤銷 OAuth 存取權杖的 API (因為權杖已雜湊處理)
  • OAuth v1 或 OAuthv1.0a 政策
  • Trireme (已於 2019 年 10 月 10 日終止支援)
  • Apigee X 不支援以「X-Apigee-」為前置字元的標頭,且系統會在將要求和回應傳送至目標和用戶端之前,將這類標頭從要求和回應中移除。
  • Apigee X 不支援 Apigee Edge proxy_read_timeout 屬性。 如要瞭解相關的 Apigee X 逾時設定,請參閱「設定 io.timeout.millis 和 api.timeout」。

API 比較

一般來說,大多數 Apigee Edge API 都有對應的 Apigee API。本節提供:

使用 API 取得異動摘要

下表列出與 Apigee Edge API 相比,所有 Apigee X API 的行為變更。

行為 Apigee Edge API Apigee X API
基礎網域 api.enterprise.apigee.com apigee.googleapis.com
媒體類型 application/json
application/xml
application/json
驗證 OAuth2、SAML、基本 OAuth2
鍵中的時間戳記 int64 格式
{
  "createdAt": 1234,
  "lastModifiedAt": 5678
}
String 格式
{
  "createdAt": "1234",
  "lastModifiedAt": "5678"
}
expand=false 查詢參數的結構
[
        "helloworld",
        "weather"
      ]
{
  "proxies": [
    {
      "name": "helloworld"
    },
    {
      "name": "weather"
    }
  ]
}
以底線為前置字元的查詢參數 支援 (_optimal=true) 不支援 (optimal=true)
酬載中的屬性:
  • created_by
  • modified_by
  • self
是否支援 不支援
酬載中的預設值 已包含 不包含
錯誤處理結構
{
        "code": "...",
        "message": "..",
        "contexts": []
      }
{
  "error": {
    "code": 409,
    "message": "...",
    "status": "ABORTED",
    "details": [...]
  }
}
快取刪除回應 傳回:200 OK 和快取詳細資料 傳回:204 No Content
快取 API 作業 List create get update delete clear all、 以及 clear 選項。 列出 刪除。部署 API Proxy 時,系統會自動建立短期 L1 快取。詳情請參閱「快取內部」。

Apigee Edge 和 Apigee X 指標 API 的差異

使用 API 進行變更的摘要列出 Apigee Edge API 和 Apigee X API 的一般差異。下表列出指標 API 的具體差異:

功能 Apigee Edge API Apigee X API
API 端點 api.enterprise.apigee.com apigee.googleapis.com
每日分析電子郵件 不支援任何 API
非同步查詢清單 API 取得非同步分析查詢清單 回應中會省略 userId 屬性。 請參閱「 方法:organizations.environments.queries.list」。
自訂報表 API Reports API 回應中已移除 createdBylastModifiedBy 屬性。請參閱 Reports API

不支援的 Apigee Edge API

下表列出不支援的 Apigee Edge API (沒有對應的 Apigee X API)。

API 類別 不支援的 Apigee Edge API
API Monitoring 不支援任何 API
API Proxy
  • 強制取消部署 API Proxy
  • 取得 npm 依附元件
  • 管理 npm 模組
稽核 使用 Stackdriver Logging API
快取記錄 不支援任何 API
Companies 不支援任何 API
公司應用程式 不支援任何 API
公司應用程式系列 不支援任何 API
公司應用程式金鑰 不支援任何 API
偵錯工作階段
  • 無法停止追蹤工作階段
  • 無法刪除個別交易

詳情請參閱「與 Trace 的差異」。

開發人員應用程式 取得 API 資源數量
開發人員應用程式家族 不支援任何 API
額外資訊 不支援任何 API
金鑰儲存庫:信任儲存庫 測試金鑰儲存區或信任儲存庫
LDAP 不支援任何 API
營利 不支援任何 API
OAuth V2 不支援任何 API
政策 不支援任何 API
資源檔案
  • API Proxy 修訂版本範圍
  • 機構範圍
Sense 不支援任何 API
使用者和使用者角色 如「使用 API 管理使用者、角色和權限」一文所述,使用 Google Identity and Access Management (IAM) 相關 API。
虛擬主機 不支援任何 API

Apigee Edge for Private Cloud 與 Apigee Hybrid 的比較

下表比較 Apigee Edge Private Cloud 和 Apigee Hybrid:

服務 Apigee 產品或功能領域
Apigee Edge 私有雲 Apigee Hybrid
數據分析 Qpid 和 Postgres 伺服器 執行階段層的資料收集 Pod 會使用 fluentdUDCA (通用資料收集代理程式) 收集分析資料,並將資料提供給管理層的 UAP (統一分析平台)。
API Proxy Gateway 訊息處理器 訊息處理器 (MP) 會處理傳入的要求。MP 會在執行階段平面中,以一或多個容器化應用程式的形式實作。
持續性 Cassandra 節點或環 Cassandra 可為 KMS、KVM、配額和快取功能提供持續性。
部署作業 ZooKeeper 同步器可確保管理層和執行階段層之間的 API Proxy 設定、環境資訊和其他資料保持最新狀態。
管理使用者介面 Apigee Edge UI 託管於管理伺服器 Apigee UI 託管於管理層。
負載平衡 路由器 Istio Ingress 控制器會將要求傳遞至執行階段層中的訊息處理器 (MP) 容器化應用程式。
API 管理伺服器 Apigee X API 可透過管理伺服器MART 存取。MART 會與本機 Cassandra 資料儲存庫互動,並做為 Apigee X API 的 API 提供者,以存取及管理執行階段資料實體。
指標 透過 JMX 設定的每個元件 每個叢集的所有服務都由單一 Prometheus 伺服器管理。