您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件。 資訊
我們在 2016 年 8 月 30 日星期二,發布了適用於公有雲的 Apigee Edge 新版本。
新功能與更新
這個版本的新功能和更新項目如下。
在「Assign Message」和「遞送錯誤」部分中的 JSON 酬載
經過這項強化後,無須任何解決方法即可確保 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 分鐘的範例:
- 首先,請務必將負載平衡器、路由器和訊息處理器設為在 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>
無法修改 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 政策 (不會將結果指派給上文所述變數) |