16.08.17 - Apigee Edge 公有雲版本資訊

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

我們已於 2016 年 8 月 30 日 (星期二) 發布新版 Apigee Edge Public Cloud。

新功能與最新消息

以下列出這個版本的新功能和更新內容。

指派訊息和引發錯誤中的 JSON 酬載

使用「指派訊息」或「引發錯誤」政策設定 JSON 酬載時,有時需要使用變通方法,確保 JSON 訊息在執行階段的格式正確,例如以反斜線「\」開頭的酬載,或在「酬載」元素上指定 variablePrefix 和 variableSuffix,即使訊息中未使用任何變數也一樣。

這項強化功能可確保 JSON 訊息格式正確,且您可以使用大括號指定變數,不必再使用變通方法,也不會建立無效的 JSON。舉例來說,下列程式碼會在 JSON 訊息中插入 message.content 的值:

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

如果您使用變通方法,程式碼會繼續照常運作。您也可以使用 variablePrefix 和 variableSuffix,而非大括號來表示變數。

請參閱「指派訊息政策」和「引發錯誤政策」參考文件中的「<Set><Payload>」元素。(APIRT-1160)

XML 轉 JSON 政策的強化功能

XML 到 JSON 政策已強化,具備下列功能。您可以設定政策,以便:

  • 在轉換期間,將部分 XML 元素視為陣列,這會將值放在 JSON 文件中的方括號「[ ]」內。
  • 在最終的 JSON 文件中,剝除或消除 XML 文件階層的層級。

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

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

在 API 產品中定義資源路徑時,您可以在資源路徑的多個位置加入萬用字元。舉例來說,/team/*/invoices/** 允許在 /team 後方使用任何值發出 API 呼叫,並在 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 代理資源檔案 (例如 JavaScript 或 Java JAR) 儲存在環境或機構範圍,驗證架構就不會要求您在代理組合中納入這些資源,以便匯入並通過驗證。資源驗證現在會在部署時進行,而非匯入時。(MGMT-1430)

為個別 API Proxy 設定逾時

您可以設定 API Proxy 在指定時間後逾時 (狀態為 504 閘道逾時)。主要適用於執行時間較長的 API Proxy,這類 API Proxy 通常是 Private Cloud 客戶所使用。舉例來說,假設您需要特定 Proxy 在 3 分鐘後逾時,您可以在 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>

如果 Cloud 客戶無法修改 Edge 超時,只要超時時間短於標準 Edge 訊息處理器超時時間 (57 秒),也可以設定 API Proxy 超時。

您無法使用變數填入值。這個屬性在「端點屬性參考資料」中說明。(APIRT-1778)

訊息記錄的 TLS/SSL 政策

<KeyStore><TrustStore> 可在SSLInfo設定中設定,訊息記錄政策允許與記錄服務進行單向和雙向 TLS/SSL。您可以在訊息記錄政策中設定 SSLInfo,方式與在 Proxy TargetEndpoint 中設定相同。不過,訊息記錄 TLS/SSL 僅支援 TCP 通訊協定。 (APIRT-1858)

修正錯誤

這個版本修正了下列錯誤。這份清單主要供使用者查看支援單是否已解決。這項功能並非為所有使用者提供詳細資訊。

問題 ID 說明
SECENG-609 刪除相關聯的信任儲存區或刪除信任儲存區中的有效憑證時,執行階段呼叫不會失敗
MGMT-3404 查看/擷取 Node.js 記錄檔和部署 Proxy 的速度非常緩慢
MGMT-3400 如果進行呼叫的使用者名稱含有「+」符號,對 /userroles 管理 API 的呼叫就會失敗
MGMT-3368 java.lang.ArrayIndexOutOfBoundsException: 1,匯入含有 resources/node/resources 目錄的 API Proxy 套件時
MGMT-3364 OAuthV2:redirect_uri 檢查
MGMT-3319 如果保險箱中的某個項目含有空值,則無法列出該保險箱的項目 (適用於 CPS 和非 CPS 機構)
MGMT-3226 在機構/環境層級查詢時,不應提取所有資料,以免導致 API 失敗
Release_160302 有一項錯誤,如果資源的累計大小超過 16MB,在機構/環境層級列出資源就會失敗,這項修正會處理這個問題。
AXAPP-2429 Analytics API 使用 response_status_code 傳回資料存取錯誤
AXAPP-2386 修正每日電子郵件分析報表內容空白的問題
AXAPP-2347 未收到每日數據分析摘要電子郵件
APIRT-3141 呼叫新的 ExecutionResult() 時,Java Callout 會失敗,因為建構函式已設為私有
APIRT-3140 ServiceCallout 政策無法在 HEAD API 呼叫中運作
APIRT-3131 使用外部驗證供應商搭配營利功能時,API Proxy 顯示的 createdBy 不正確
APIRT-3121 對機構資源檔案所做的變更並非完全有效
APIRT-3117 MP 達到 100% 的 CPU 使用率,並停止放送流量
APIRT-3016 部署作業發生「Call timed out」(呼叫逾時) 路由器錯誤
APIRT-2975 上傳憑證套件失敗
APIRT-2955 無法為 FHIR 規範的 Content-Type 標頭「application/json+fhir」遮蓋 JSON 回應資料的特定屬性
APIRT-2946 即使顯示設定為 false,OAuthV2-RefreshToken 政策仍未隱藏屬性
APIRT-2908 在虛擬主機上更新 TLS1.2 後,必須強制執行內部 API 呼叫的 TLS1.2
APIRT-2901 從快取傳回的 Gzip 壓縮回應會經過雙重壓縮
APIRT-2873 刪除產品/開發人員/Proxy 後,MP 會擲回與 VerifyAPIKey 相關的 NullPointerException
APIRT-2871 IOIntensive 政策在 Trace 中出現兩次
APIRT-2825 accesstoken 錯誤回應中的文法錯誤
APIRT-2750 特定機構的流量失敗率偏高
APIRT-2685 發生不明錯誤,因此無法傳輸流量
APIRT-2647 「Underlying input stream returned zero bytes」(基礎輸入串流傳回零位元組) 錯誤,適用於非正式版/開發版
APIRT-2630 嘗試從快取讀取值時發生間歇性問題
APIRT-2620 部分封鎖步驟的獨立執行緒集區
APIRT-2610 java.lang.ClassCastException with Response Cache policy
APIRT-2608 回應快取政策中的 Last-Modified 標頭剖析錯誤
APIRT-2605 不應允許透過政策覆寫「機構」和「環境」變數
APIRT-2566 OAuthV2 政策傳回格式錯誤的 WWW-Authenticate 標頭
APIRT-2491 管理與 MPS 之間的 RPC 逾時,導致 TargetServer 更新失敗
APIRT-2386 在 API 產品中建立空白字串範圍,且「允許的 OAuth 範圍」為空白
APIRT-2383 XSL 轉換政策似乎不會在發生錯誤時記錄任何資料
APIRT-2364 OAuth 錯誤時,OAuth 錯誤流程變數不會更新
APIRT-2216 伺服器傳送的事件 - 生產環境中的事件串流發生問題
APIRT-2079 DEBUG cURL call not stopping after the timeout expires for the created session
APIRT-1495 XML 威脅防護未偵測到 fhir Content-Type
APIRT-347 匯入時未正確驗證 XSL 政策 (未按照文件將結果指派給輸出變數)