本頁適用於 Apigee 和 Apigee Hybrid。
查看
Apigee Edge 說明文件。
政策必須先附加至流程,才能執行。您可以在步驟設定中命名政策,藉此建立政策附件。
選擇連結點對於 API Proxy 的行為至關重要。舉例來說,如果您將配額政策附加至回應流程,則會在傳送請求訊息至後端服務後,強制執行配額。這會違背套用配額政策的目的!因此,您需要將配額政策附加為要求流程中的處理步驟。
政策附件的格式如下:
<Step> <Name>{policy_name}</Name> </Step>
例如:
<Step> <Name>QuotaPolicy</Name> </Step>
將政策附加至流程的方法,是在 ProxyEndpoint 或 TargetEndpoint 設定中,將步驟設定加入至適當的請求或回應流程元素。
您可以將政策附加至要求或回應流程。要求和回應流程進一步細分為前置流程和後置流程。
以下範例示範 ProxyEndpoint 的最低設定,不含政策附件。它只定義 (傳入) HTTPProxyConnection 和 RouteRule。
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/weather</BasePath> <VirtualHost>default</VirtualHost> </HTTPProxyConnection> <RouteRule name="default"> <TargetEndpoint>default</TargetEndpoint> </RouteRule> </ProxyEndpoint>
您必須修改這項設定,讓 ProxyEndpoint 在 API proxy 執行任何其他處理作業之前,先強制執行配額政策 (做為處理步驟)。如果開發人員已超出配額,您不想浪費任何運算資源來處理額外要求。
如要強制執行這項設定,請將處理步驟附加至要求的 PreFlow,如下所示:
<ProxyEndpoint name="default"> <PreFlow> <Request> <Step><Name>QuotaPolicy</Name></Step> </Request> </PreFlow> <HTTPProxyConnection> <BasePath>/weather</BasePath> <VirtualHost>default</VirtualHost> </HTTPProxyConnection> <RouteRule name="default"> <TargetEndpoint>default</TargetEndpoint> </RouteRule> </ProxyEndpoint>
有時,您可能會希望在 ProxyEndpoint 上執行其他初始處理作業後,再執行政策。舉例來說,您想在 PreFlow 中檢查配額,然後在檢查配額後執行另一組處理作業,例如將要求從 JSON 轉換為 XML。如要這麼做,請將政策附加至 PostFlow 要求路徑。以下是 PostFlow 附件的範例要求。在 PreFlow 中的所有政策 (以及任何條件式流程) 執行完畢後,這項政策就會在要求訊息上執行。
<PostFlow> <Request> <Step><Name>JSONtoXMLPolicy</Name></Step> </Request> </PostFlow>
以下是 PostFlow 附件回應範例。這項政策會在回應訊息上執行。(ProxyEndpoint 回應 PostFlow 是回應傳回要求用戶端應用程式前的最後處理階段)。
<PostFlow> <Response> <Step><Name>XMLtoJSONPolicy</Name></Step> </Response> </PostFlow>