您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
如果您是 Apigee Edge 的現有客戶,可能會選擇將安裝項目遷移至 Apigee X,以便運用新功能或不同的區域可用性。
本頁說明設定中的反模式,以及遷移至 Apigee X 前需要注意的其他行為變更。
更廣泛的 Apigee Edge 反模式清單說明瞭在任何情況下都應避免的使用做法。本頁說明不建議使用的特定做法,這些做法會導致遷移作業遭到封鎖。請立即解決這些問題,以免遷移至 Apigee X 時發生問題。
沒有 API 產品的應用程式 | ||||||||||||||||||||||||
| 摘要 | 需要變更用戶端嗎? | 解決方法 | ||||||||||||||||||||||
|
部分應用程式沒有 API 產品。 Apigee Edge 和 Apigee X 的差異:
|
否。 |
解決方法:沒有 API 產品的應用程式將每個應用程式憑證與至少一項 API 產品建立關聯。如要進一步瞭解如何執行這項操作,請參閱「註冊應用程式及管理 API 金鑰」。 最簡單的方法是為每個應用程式指派所有 API 產品的存取權。 這相當於 Apigee Edge 的功能。 如果您想採用「最低權限」做法,就必須判斷每個應用程式憑證必須存取的 API 產品最低清單。您可以根據用戶端 ID,使用 Apigee Edge Analytics 報表分析這項資料。 |
||||||||||||||||||||||
沒有到期時間的快取 | ||||||||||||||||||||||||
| 摘要 | 需要變更用戶端嗎? | 解決方法 | ||||||||||||||||||||||
|
快取沒有到期時間。 Apigee Edge 和 Apigee X 的差異:
|
否 |
解決方式:快取沒有到期時間為所有快取設定到期時間。 |
||||||||||||||||||||||
非明確路徑的 JSONPath 篩選運算式 | ||||||||||||||||||||||||
| 摘要 | 需要變更用戶端嗎? | 解決方法 | ||||||||||||||||||||||
|
對於非明確路徑,查詢篩選運算式的結果並非 JSONPath 規格的一部分。請參閱 https://goessner.net/articles/JsonPath/。 Apigee Edge 和 Apigee X 的差異: 瀏覽這個範例結構時, {
"books": [
{
"name": "A",
},
{
"name": "B",
}
]
}使用
使用
|
是 |
解決方法:非明確路徑的 JSONPath 篩選器運算式尋找並取代受影響的查詢。 |
||||||||||||||||||||||
不存在的索引的 JSONPath 運算式 | ||||||||||||||||||||||||
| 摘要 | 需要變更用戶端嗎? | 解決方法 | ||||||||||||||||||||||
|
在 Apigee X 中,如果 JSONPath 運算式含有不存在的索引,行為會與 Apigee Edge 不同。如果找不到路徑,Apigee X 會傳回 Apigee Edge 和 Apigee X 的差異: 瀏覽這個範例結構時, {
"books": [
{
"name": "A",
},
{
"name": "B",
}
]
}使用
|
是 |
解決方法:針對不存在的索引使用 JSONPath 運算式尋找並取代受影響的查詢。 |
||||||||||||||||||||||
JSONPath 運算式 (含陣列索引) 未傳回陣列物件 | ||||||||||||||||||||||||
| 摘要 | 需要變更用戶端嗎? | 解決方法 | ||||||||||||||||||||||
|
在 Apigee X 中,含有陣列索引或切片的 JSONPath 運算式會傳回陣列物件。 Apigee Edge 和 Apigee X 的差異: 瀏覽這個範例結構時, {
"books": [
{
"name": "A",
},
{
"name": "B",
}
]
}使用
使用
使用
|
是 |
解決方式:含有陣列索引的 JSONPath 運算式未傳回陣列物件找出並取代升級後可能傳回不同結果的運算式。 |
||||||||||||||||||||||
KeyStore 名稱限制 |
||||||||||||||||||||||||
| 摘要 | 需要變更用戶端嗎? | 解決方法 | ||||||||||||||||||||||
|
Apigee X 金鑰儲存區名稱只能包含英文字母、數字和連字號。 邊緣金鑰儲存區名稱不受這些限制。 |
否 |
解決方案:Keystore 名稱限制檢查金鑰儲存區名稱,並視需要更新名稱,移除不支援的字元。 |
||||||||||||||||||||||
為 API Proxy 部署多個基本路徑 |
||||||||||||||||||||||||
| 摘要 | 需要變更用戶端嗎? | 解決方法 | ||||||||||||||||||||||
|
API Proxy 的多個修訂版本部署在環境中,且每個修訂版本都有不同的基本路徑。 Apigee Edge 和 Apigee X 的差異:
|
否 |
解決方案:為 API Proxy 部署多個基本路徑更新所有套件,讓環境只部署一個套件修訂版本,無論基本路徑為何都一樣。 |
||||||||||||||||||||||
不符規定的 HTTP 訊息 |
||||||||||||||||||||||||
| 摘要 | 需要變更用戶端嗎? | 解決方法 | ||||||||||||||||||||||
|
用戶端或 API Proxy 傳送的訊息 (要求或回應) 不符合 HTTP 標準。例如無效的標頭名稱、部分受限標頭中的重複項目等。 如果 API 執行作業發生下列一或多項錯誤,您就無法遷移至 Apigee X:
|
是,可能會。 |
解決方案:不符規定的 HTTP 訊息遷移至 Apigee X 前,請務必修正 HTTP 協定中的所有錯誤。如果錯誤源自於用戶端應用程式,您必須請用戶端應用程式的開發人員修正問題。 |
||||||||||||||||||||||
OAuth 2.0 權杖到期時間無效 |
||||||||||||||||||||||||
| 摘要 | 需要變更用戶端嗎? | 解決方法 | ||||||||||||||||||||||
|
OAuth 2.0 權杖到期限制超出規定範圍。 Apigee Edge 和 Apigee X 的差異:
|
否 |
解決方法:OAuth 2.0 權杖到期時間無效
使用 OAuthV2 政策,並在 |
||||||||||||||||||||||
超過產品數量上限 |
||||||||||||||||||||||||
| 摘要 | 需要變更用戶端嗎? | 解決方法 | ||||||||||||||||||||||
|
Apigee Edge 的設定不符合定義的產品限制。Apigee Edge 上未強制執行的部分產品限制,在 Apigee X 上會強制執行。 |
否 |
解決方法:超出產品限制在遷移至 Apigee X 之前,請先修正任何超出產品限制的使用情形。 |
||||||||||||||||||||||
同時具有端點和路徑目標連線指定項的 ServiceCallout 政策 |
||||||||||||||||||||||||
| 摘要 | 需要變更用戶端嗎? | 解決方法 | ||||||||||||||||||||||
|
在 ServiceCallout 政策中,
Apigee Edge 文件會說明這項規定,但不會強制執行。如果 Apigee X 遇到同時具有這兩種設定的 |
否 |
解決方法:同時具有端點和路徑目標連線指定項的 ServiceCallout 政策
檢查 ServiceCallout 政策設定,並移除任何不符規定的 |
||||||||||||||||||||||
目標伺服器名稱限制 |
||||||||||||||||||||||||
| 摘要 | 需要變更用戶端嗎? | 解決方法 | ||||||||||||||||||||||
|
Apigee X 目標伺服器名稱只能包含英文字母、數字、連字號和半形句號。 邊緣目標伺服器名稱不受這些限制。 |
否 |
解決方案:目標伺服器名稱限制檢查目標伺服器名稱,並視需要更新名稱,移除不支援的字元。 |
||||||||||||||||||||||
虛擬主機中的試用憑證 |
||||||||||||||||||||||||
| 摘要 | 需要變更用戶端嗎? | 解決方法 | ||||||||||||||||||||||
|
一或多個虛擬主機使用 Apigee 提供的「免費試用」憑證。這會導致虛擬主機回應 Apigee Edge 和 Apigee X 的差異:
|
是 |
解決方案:虛擬主機中的試用憑證您必須設定自己的網域,並適當佈建憑證。
凡是依附於表單舊版網域名稱 |
||||||||||||||||||||||
未解析的 DNS |
||||||||||||||||||||||||
| 摘要 | 需要變更用戶端嗎? | 解決方法 | ||||||||||||||||||||||
|
目標端點有無法解析的網域名稱。 Apigee Edge 和 Apigee X 的差異:
|
否 |
解決方式:未解析的 DNS使用有效的網域名稱更新目標端點。 |
||||||||||||||||||||||