您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
我們已於 2016 年 8 月 30 日 (星期二) 發布新版 Apigee Edge Public Cloud。
新功能與最新消息
以下列出這個版本的新功能和更新內容。
指派訊息和引發錯誤中的 JSON 酬載
這項強化功能可確保 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 分鐘的範例:
- 首先,請務必將負載平衡器、路由器和訊息處理器設定為在 3 分鐘後逾時。
- 然後將相關 Proxy 設定為在 3 分鐘後逾時。指定值時需以毫秒為單位。例如:
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/v1/weather</BasePath> <Properties> <!-- api.timeout is in milliseconeds --> <Property name="api.timeout">180000</Property> </Properties> ... - 不過請注意,提高系統逾時可能會導致效能問題,因為沒有 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 政策 (未按照文件將結果指派給輸出變數) |