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 Apigee 的雲端 Apigee
適用於私有雲的 Apigee Edge 客戶的私人資料中心。 客戶
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 和 Apigee Hybrid 支援
API Proxy 修訂版本

部署後不可變更

主動健康狀態檢查 適用於使用 VM 的外部 MIG。使用 Private Service Connect 時不支援。如要瞭解路由類型,請參閱「設定路由」。
Istio 適用的 Apigee 轉接器 已淘汰:建議您改用 Envoy 適用的 Apigee Adapter
公司 開發人員

雖然有類似的解決方案,但不完全相同。請參閱「使用 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 中,運算式 [@.length-x] 已由索引編排方案 ([-x]) 取代。

在本例中:

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

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

Keystore/Truststore

以 Kubernetes 密鑰管理的北向資料

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

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

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

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

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

Apigee Hybrid:

  • 透過 Anthos 服務網格實作入口。
  • 金鑰和憑證會直接部署至 Kubernetes。

Apigee X:

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

與 Trace 的差異

下表比較 Trace 在 Apigee X、混合雲與 Apigee Edge Cloud 中的運作方式差異:

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

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

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

僅定義偵錯工作階段的長度。起點是指訊息處理器收到要求在偵錯模式下執行的作業。

如果工作階段是透過 API 啟動,預設值為 5 分鐘;如果是在 UI 中啟動,則預設值為 10 分鐘。

資料會保留 24 小時,之後混合式活動就會自動刪除。

工作階段效力

工作階段建立要求的有效時間長度。如果偵錯工作階段未在這個時間內開始,Synchronizers 可能會忽略工作階段建立要求。請務必讓 Synchronizers 的時鐘保持同步,如必要條件所述。
追蹤要求數 每個訊息處理器最多 20 個 每個 Message Processor 的預設值為 10,上限為 15。
API Apigee Edge 雲端 Apigee X
Apigee X 會公開 Debug Session API Debug Session Data API,但不支援透過 Apigee X API 執行下列操作:
停止偵錯工作階段

刪除特定交易

營利差異

下表列出了 Apigee Edge Monetization 和 Apigee X Monetization 的主要功能差異。

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

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

Google 打算支援下列功能:

  • Apigee Edge 擴充功能
  • OpenAPI 規範儲存庫
  • 用於搜尋或撤銷 OAuth 存取權杖的 API (因為權杖經過雜湊處理)
  • OAuth 1.0 或 OAuth 1.0a 政策
  • Trireme (已於 2019 年 10 月 10 日停產)
  • Apigee X 不支援開頭為「X-Apigee-」的標頭,且會在傳送至目標和用戶端之前,從要求和回應中移除這些標頭。

API 比較

一般來說,大多數 Apigee Edge API 都有 Apigee API 對應項目。本節提供以下功能:

使用 API 的變更摘要

以下列出所有 Apigee X API 與 Apigee Edge API 的行為變更。

行為 Apigee Edge API Apigee X API
基礎網域 api.enterprise.apigee.com apigee.googleapis.com
媒體類型 application/json
application/xml
application/json
驗證 OAuth2、SAML、Basic 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
Cache API 作業 List Create Get Update Delete 清除所有 清除選項。 僅限「清單」和「刪除」。部署 API 代理程式時,系統會自動建立短效 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
Async Query List API 取得非同步 Analytics 查詢清單 回應中省略 userId 屬性。請參閱 方法:organization.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
公司 不支援任何 API
公司應用程式 不支援任何 API
公司應用程式系列 不支援任何 API
公司應用程式金鑰 不支援任何 API
偵錯工作階段
  • 無法停止追蹤工作階段
  • 無法刪除個別交易

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

開發人員應用程式 取得 API 資源的計數
開發人員應用程式系列 不支援任何 API
額外資訊 不支援 API
Keystore:信任儲存庫 測試 KeyStore 或 TrustStore
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 的比較

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

服務 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 控制器會將要求交給執行階段平面中的 Message Processor (MP) 容器化應用程式。
API 管理伺服器 您可以透過管理伺服器MART 存取 Apigee X API。MART 會與本機 Cassandra 資料儲存庫互動,並做為 Apigee X API 的 API 供應器,用於存取及管理執行階段資料實體。
指標 每個已設定 JMX 的元件 由每個叢集的單一 Prometheus 伺服器管理所有服務。