您正在查看 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
Apigee Edge API 範例包含範例 API Proxy、政策、程式碼和工具,可說明下文所述的 Apigee Edge API 服務功能。
如需範例使用說明,請參閱「使用範例 API Proxy」。
透過實作學習
想要快速開始使用 Apigee Edge,並建立穩固的知識基礎嗎?我們在 GitHub 中提供「learn-edge」範例的程式庫,可讓您快速部署、叫用及追蹤一些範例 Proxy,從最簡單的 Proxy 開始,再轉移至說明 API 金鑰驗證、配額、回應快取、錯誤處理等的 Proxy。
複製存放區並設定環境 (只需幾分鐘) 後,您就可以在不到一分鐘的時間內試用每個範例。由於每個樣本都會為相同的 Proxy 建立新修訂版本,因此環境不會因為有太多樣本而變得雜亂。您可以切換修訂版本、在管理 UI 中重新部署其他修訂版本,並隨時查看 Proxy 程式碼。每個範例的 readme 檔案也會簡要說明範例的功能和設定方式。
歡迎試試看!https://github.com/apigee/api-platform-samples/tree/master/learn-edge
說明文件教戰手冊範例
我們提供一組範例,供您參考 API 代理程食譜主題。
名稱 | 說明 | 政策類型 | 資源 |
---|---|---|---|
javascript-cookbook | 示範簡單的 JavaScript 程式碼片段,可從變數新增 HTTP 標頭、將 XML 格式的天氣報告從 JSON 轉換為 XML,並為行動用戶端裁減內容。 | minimize.js setHeaders.js |
|
javascript-mashup-cookbook | 完整的 JavaScript 應用程式,可呼叫公用 API、結合結果,並為用戶端應用程式產生豐富的回應。 (注意:這個 API Proxy 實作與政策混合功能相同,證明可使用不同的技術解決相同問題)。 | JavaScript | MashItUp.js |
java-hello | 簡單的 Java 呼叫「Hello World」。 | JavaCallout | JavaHello.java |
java-cookbook | 將回應內容和標頭轉換為大寫。 | JavaCallout |
ResponseUppercase.java |
java-properties | 示範如何在 Java 呼叫中使用屬性。 | JavaCallout | JavaProperties.java |
java-error | 示範可在 Java 說明文字程式碼中使用的錯誤處理模式。 | JavaCallout | JavaError.java |
policy-mashup-cookbook | 完整應用程式,使用政策組合來呼叫兩個公開 API、結合結果,並為用戶端應用程式產生精簡的回應。 (注意:這個 API 代理程式實作與 JavaScript 混搭相同的功能,證明同一個問題可以使用不同的技術解決。) | AssignMessage ServiceCallout ExtractVariables Javascript XMLToJSON |
GenerateResponse.js |
範例 API Proxy
下列 API 代理程式位於 GitHub 中,其 Readme 頁面會詳細說明範例。如果您想瞭解特定政策在樣本中的運作方式,請在下方的「政策類型」欄中找出您感興趣的政策,然後按一下「名稱」欄中的樣本名稱。(政策會連結至文件中的相應參考頁面)。
參考資料和工具
除了上述表格中的說明文件食譜範例和範例 Proxy,Edge GitHub 範例也包含以下資源:
名稱 | 說明 | 政策類型 | 資源 |
---|---|---|---|
regex-protection | 規則運算式威脅防護政策可保護後端 API 和微服務,免於遭受 SQL 注入攻擊。 | 不適用 | |
oauth-validate-key-secret | 您正在實作 OAuth 密碼授權類型流程。您必須先在 Edge 上驗證應用程式用戶端金鑰和密鑰,才能呼叫外部身分識別資訊提供者,驗證使用者的憑證。 | OAuthV2、其他 | 不適用 |
condition-pattern-matching | 這個 Proxy 可讓您輕鬆嘗試及測試 API Proxy 流程中的條件式陳述式。 | AssignMessage | 不適用 |
access-entity | 說明如何從 Apigee Edge 資料儲存庫擷取實體的設定檔。 | AssignMessage AccessEntity ExtractVariables |
無 |
apikey | 實作簡單的 API 金鑰驗證 | VerifyAPIKey AssignMessage Quota |
無 |
async-callout | 示範使用 JavaScript httpClient 的簡單非同步呼叫。 | JavaScript | assemble_response.js callout.js |
base64encoder | 示範如何在 API 代理程式中,從 JavaScript 資源呼叫 JavaScript 包含項目。 | AssignMessage JavaScript |
core-min.js enc-utf16-min.js enc-base64-min.js encodeAuthHeader.js |
conditional-policy | 實作簡單的條件式政策強制執行機制。當要求包含 HTTP 標頭 responsetime:true 時,政策會執行 Python 指令碼,將一組效能指標加入回應訊息中,做為 HTTP 標頭 | 指令碼 (Python) | timer.py |
dynamic-endpoint | 在較複雜的情境中實作簡單的條件導覽,定義兩個網址和一個預設路徑。 | 無 | 無 |
jira-release-notes | 這是 Apigee 文件團隊用來從 Jira 產生發布說明的 API Proxy。 | JSONToXML XSL |
releasenotes_api.xsl |
Kerberos 憑證仲介 | 本範例說明如何在 Apigee Edge 上執行 Kerberos 憑證中介服務。 | JavaCallout | Java JAR 檔案 |
oauth-advanced | 授權碼授權類型流程的完整運作範例,其中 Apigee Edge 為授權伺服器。 |
GenerateAccessToken 還有許多其他... |
請參閱範例程式碼 |
oauth-client-credentials | 為用戶端憑證授權類型設定功能完整的 OAuth 2.0 權杖端點。 | GenerateAccessToken | 無 |
oauth-login-app | 已淘汰,建議您改為查看 oauth-advanced 範例。 | ||
oauth-validate-key-secret | 說明在呼叫身分識別資訊提供者驗證使用者憑證時,驗證用戶端金鑰和密鑰的做法,以便在密碼授權類型流程中驗證使用者憑證。 | OAuthV2 AssignMessage ExtractVariables ServiceCallout RaiseFault |
無 |
oauth-verify-accesstoken | 示範 API 代理程式,該代理程式已設定為驗證 OAuth 2.0 存取權杖和驗證配額。 | VerifyAccessToken 配額 |
無 |
oauth10a-3legged | 示範 OAuth 1.0a 三方設定。 | GenerateAceessToken GenerateRequestToken ServiceCallout VerifyAccessToken |
無 |
outbound-oauth | 使用 Microsoft Azure Translator API 翻譯推文。為此,它會發出傳出呼叫來取得 OAuth 存取權杖,然後使用 API 服務快取政策快取權杖,每次傳出呼叫時重複使用快取的權杖。此外,還包含用於叫用 API Proxy 的示範瀏覽器應用程式。 | AssignMessage LookupCache PopulateCache JavaScript |
api-config.js api-token-get.js translate-query.js translate-results.js |
pagination | 根據用戶端提供的限制和偏移參數,為 XML 回應訊息分頁 | AssignMessage ExtractVariables ResponseCache VerifyApiKey XSL |
paginate.xslt |
response-cache | 示範如何在 Edge 上快取 10 分鐘的天氣預報。 | ResponseCache AssignMessage |
無 |
simple-python | 示範在 回應中附加 Python 指令碼的簡單情境,該指令碼會為回應新增標頭值。 |
指令碼 (Python) | setHeader.py |
肥皂 | 示範 XSL 轉換作業,該作業會在回應含有 ?wsdl 查詢參數的要求時,重寫 WSDL 檔案。 | AssignMessage ExtractVariables Script (Python) XSL |
calculateaddress.py fixwsdl.xsl |
串流 | 示範 HTTP 串流設定。 | 無 | 無 |
target-reroute | 示範如何使用 JavaScript,根據要求訊息的內容動態選取目標網址。 | ExtractVariables Javascript |
rewriteTargetUrl.js |
twitter-mobile-timeline | 示範如何使用 JavaScript 從推文中移除不必要的參數,進而產生精簡的 Twitter 時間軸,方便資源受限的行動裝置使用。 | AssignMessage JavaScript |
MobileTimeline.js |
twitter-oembed | 將時間軸回應 (例如來自 statuses/user_timeline.json) 轉換為 oEmbed 回應,其中包含時間軸資料做為複合式 HTML 內容。 | AssignMessage JavaScript |
search-oembed.js |
變數 | 示範如何根據傳輸和 JSON 和 XML 訊息內容,擷取及設定變數。 | AssignMessage ExtractVariables XMLToJSON |
minimize.js |
xmltojson | 將回應資料從 XML 轉換為 JSON。 | XMLToJSON JSONToXML |
無 |
|
您可以在設定 API 代理程、政策、API 產品,以及開發人員和應用程式設定檔時,將 XML 結構定義檔案用作參考。 |
||
|
包含部署工具 deploy.py,可將 API Proxy 匯入 Apigee Edge 上的機構,然後部署至指定的環境。 |
||
|
機構快照工具會擷取機構設定,包括開發人員、API 產品、虛擬主機、鍵/值對應等。您可以使用這項工具備份機構的詳細資料,或探索機構中的設定。 |
Apigee-127
如果您是程式設計師,Apigee-127 會協助您使用 Node.js 和 Swagger 編寫 API Proxy 程式碼。您也可以在 GitHub 上找到 a127 範例:https://github.com/apigee-127/a127-samples。
分享經驗
歡迎前往 Apigee 開發人員論壇分享您的體驗。