16.08.17 - Apigee Edge 公有雲版本資訊

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

我們在 2016 年 8 月 30 日星期二,發布了適用於公有雲的 Apigee Edge 新版本。

新功能與更新

這個版本的新功能和更新項目如下。

在「Assign Message」和「遞送錯誤」部分中的 JSON 酬載

使用「Assign Message」或「Exult」政策設定 JSON 酬載時,使用者有時會需要利用解決方法,確保 JSON 訊息在執行階段中採用正確格式,例如以反斜線「\」開始酬載,或在酬載元素上指定變數 Prefix 和 variablesSuffix,即使訊息中沒有任何變數也一樣。

經過這項強化後,無須任何解決方法即可確保 JSON 訊息格式正確,也能使用大括號指定變數,而不必建立無效的 JSON。例如,下列指令會在 JSON 訊息中插入 message.content 的值:

<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>

如已使用解決方法,您的程式碼仍會照常運作。您也可以使用 varPrefix 和 variablesSuffix 取代大括號來指出變數。

請參閱指派訊息政策中的 <Set><Payload> 元素,以及提高錯誤政策參考文件。(APIRT-1160)

改善從 XML 到 JSON 政策的功能

我們已將 XML 到 JSON 政策強化到下列功能。您可以設定這項政策:

  • 在轉換期間將部分 XML 元素視為陣列,以便在 JSON 文件中以方括號 ([ ]) 加入值。
  • 去除或排除最終 JSON 文件中 XML 文件階層的層級。

詳情請參閱從 XML 轉 JSON 的政策。(APIRT-1144)

API 產品資源路徑中的多個萬用字元

在 API 產品中定義資源路徑時,您可以在資源路徑中的多個位置加入萬用字元。舉例來說,/team/*/invoices/** 允許 API 呼叫在 /team 之後的任何值,以及 invoices/ 之後的任何資源路徑。API 呼叫允許的 URI 為 proxyBasePath/team/finance/invoices/company/a

如果在這個版本之後,現有的 API 產品資源路徑停止運作,請在貴機構中設定下列屬性,以還原先前的行為:features.enableStandardWildCardMatchForAPIProductResources = true

(MGMT-3273)

JavaScript 中的加密編譯函式

您可以使用一組新的高效能 JavaScript crypto 函式來建立、取得及更新以下物件:MD5、SHA-1、SHA256、SHA512。crypto 物件也可讓您以各種格式取得日期。詳情請參閱「JavaScript 物件模型」。(APIRT-2886)

Java 呼叫 JAR 版本檢查

將 Java JAR 資源上傳至 API Proxy 時,如果 Java 資源的版本與 Edge 支援的 Java 版本不相容,系統會傳回 HTTP 400 狀態碼,而非 500,詳情請參閱「支援的軟體和支援的版本」。(MGMT-3420)

API Proxy 資源驗證

如果您已將 API Proxy 資源檔案 (例如 JavaScript 或 Java JAR) 儲存在環境或機構範圍內,驗證架構就不必再於匯入 Proxy 組合中納入這些資源,以便通過驗證。資源驗證現在會於部署時進行,而不是在匯入時進行。(MGMT-1430)

設定個別 API Proxy 的逾時時間

您可以將 API Proxy 設為在指定時間後逾時 (閘道逾時狀態為 504)。主要用途是供 API Proxy 執行時間較長的 Private Cloud 客戶使用。舉例來說,假設您想要在 3 分鐘時指定特定的 Proxy,您可以在 API Proxy 設定中使用新的 api.timeout 屬性。以下是 3 分鐘的範例:

  1. 首先,請務必將負載平衡器、路由器和訊息處理器設為在 3 分鐘後逾時。
  2. 接著將相關 Proxy 設為在 3 分鐘時逾時。請以毫秒為單位指定值。例如:
    <ProxyEndpoint name="default">
      <HTTPProxyConnection>
        <BasePath>/v1/weather</BasePath> 
        <Properties> 
          <!-- api.timeout is in milliseconeds -->
          <Property name="api.timeout">180000</Property>
        </Properties>
        ...
    
  3. 不過請注意,提高系統逾時可能會導致效能問題,因為所有沒有 api.timeout 設定的 Proxy 都會使用新的負載平衡器、路由器和訊息處理器逾時設定。因此,您可以設定其他不需要較長的逾時時間的 API Proxy,藉此使用較短的逾時時間。例如,下列指令會設定 API Proxy 在 1 分鐘後逾時:
    <Property name="api.timeout">60000</Property>

無法修改 Edge 逾時的 Cloud 客戶也可以設定 API Proxy 逾時,前提是逾時時間短於標準 Edge 訊息處理器的逾時時間 (57 秒)。

無法將值填入變數。如要進一步瞭解這項屬性,請參閱端點屬性參考資料。(APIRT-1778)

郵件記錄的 TLS/安全資料傳輸層 (SSL) 政策

您可以在訊息記錄政策SSLInfo 設定中調整 <KeyStore><TrustStore>,以便使用記錄服務進行單向和雙向傳輸層安全標準 (TLS)/安全資料傳輸層 (SSL)。訊息記錄政策上的 SSLInfo 設定方式與對 Proxy 目標端點 相同。不過,訊息記錄的傳輸層安全標準 (TLS)/安全資料傳輸層 (SSL) 僅支援 TCP 通訊協定。(APIRT-1858)

修正錯誤

本次更新修正了下列錯誤。這份清單主要是用於確認支援單是否已經解決。無法向所有使用者提供詳細資訊。

問題 ID 說明
SECENG-609 刪除相關聯的信任儲存庫或信任儲存庫中的有效憑證時,執行階段呼叫不會失敗
MGMT-3404 查看/擷取 Node.js 記錄檔及部署 Proxy 的速度非常緩慢
MGMT-3400 如果執行呼叫的使用者擁有「+」登入名稱,就無法呼叫 /userroles management API
MGMT-3368 java.lang.ArrayIndexOutOfBoundsException:1,匯入含有資源/節點/資源目錄的 API Proxy 組合時
MGMT-3364 OAuthV2:redirect_uri 檢查
MGMT-3319 列出保管箱中具有空值的項目,因為其中一個項目為空值 (CPS 與非 CPS) 無效。
MGMT-3226 在機構/環境層級進行查詢時,不應提取導致 API 失敗的所有資料
Release_160302 發生錯誤,如果資源的累計大小超過 16 MB,就無法在機構層級/環境層級列出資源,這項修正就能解決這個問題。
AXAPP-2429 使用 response_status_code 的 Analytics API 傳回資料存取錯誤
AXAPP-2386 修正 Analytics (分析) 每日電子郵件報表中的空白報表內容
AXAPP-2347 未收到每日數據分析摘要電子郵件
APIRT-3141 由於建構函式已設為不公開,因此在呼叫新的 ExecutionResult() 時,Java 呼叫會失敗
APIRT-3140 Service Call 政策不適用於 HEAD API 呼叫
APIRT-3131 搭配外部驗證供應商使用營利時,API Proxy 顯示的 createBy 不正確
APIRT-3121 變更機構資源檔案後,變更無法完全生效
APIRT-3117 MP 公司的 CPU 使用率達到 100%,已停止提供流量
APIRT-3016 部署項目出現路由器的「呼叫逾時」錯誤
APIRT-2975 上傳憑證組合失敗
APIRT-2955 無法針對 FHIR-ati Content-Type 標頭「application/json+fhir」的 JSON 回應資料遮蓋特定屬性
APIRT-2946 即使顯示設定為 false,OAuthV2-RefreshToken 政策也不會隱藏屬性
APIRT-2908 在虛擬主機的 TLS1.2 更新之後,必須強制執行 TLS1.2 才能進行內部 API 呼叫
APIRT-2901 從快取傳回的 Gzip 回應會經過雙重壓縮
APIRT-2873 刪除產品/developers/proxies 後,MP 會擲回與 VerifyAPIKey 相關的 NullPointerException
APIRT-2871 Trace 中有兩次 I/O 密集型政策
APIRT-2825 存取權杖錯誤回應中的文法錯誤
APIRT-2750 特定機構單位的流量失敗次數偏高
APIRT-2685 系統擲回不明錯誤,導致流量無法流動
APIRT-2647 非 prod/dev 的「基礎輸入串流傳回零位元組」錯誤
APIRT-2630 嘗試從快取讀取值時出現間歇性問題
APIRT-2620 針對部分封鎖步驟區隔執行緒集區
APIRT-2610 包含回應快取政策的 java.lang.ClassCastException
APIRT-2608 回應快取政策中的上次修改標頭剖析錯誤
APIRT-2605 「organization」和「environment」變數不應透過政策覆寫
APIRT-2566 OAuthV2 政策傳回格式錯誤的 WWW-Authenticate 標頭
APIRT-2491 由於管理程序與 CPU 之間的遠端程序呼叫 (RPC) 逾時,TargetServer 更新失敗
APIRT-2386 在允許的 OAuth 範圍空白的 API 產品中建立空白字串範圍
APIRT-2383 XSL 轉換政策似乎未記錄任何錯誤資料
APIRT-2364 發生錯誤時未更新 OAuth 錯誤流程變數
APIRT-2216 伺服器傳送事件:實際工作環境中有問題的事件串流
APIRT-2079 DEBUG cURL 呼叫在已建立的工作階段逾時後不會停止
APIRT-1495 XML 威脅防護功能無法擷取常見的內容類型
APIRT-347 匯入時未正確驗證 XSL 政策 (不會將結果指派給上文所述變數)