Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến
Tài liệu về Apigee X. thông tin
Các chính sách sẽ không được thực thi cho đến khi được đính kèm vào một Luồng. Bạn có thể tạo một Chính sách tệp đính kèm bằng cách đặt tên cho Chính sách trong cấu hình Bước.
Việc lựa chọn điểm đính kèm rất quan trọng đối với hoạt động của proxy API. Ví dụ: nếu bạn đính kèm chính sách Hạn mức vào Quy trình phản hồi, thì Hạn mức sẽ được thực thi sau đã được gửi đến dịch vụ phụ trợ. Điều đó sẽ đánh bại mục đích của việc áp dụng Chính sách về hạn mức! Do đó, bạn cần đính kèm chính sách Hạn mức làm Bước xử lý trong yêu cầu Quy trình.
Định dạng của tệp đính kèm chính sách là:
<Step> <Name>{policy_name}</Name> </Step>
Ví dụ:
<Step> <Name>QuotaPolicy</Name> </Step>
Chính sách được đính kèm vào Quy trình bằng cách thêm cấu hình Bước vào yêu cầu thích hợp hoặc phần tử Flow phản hồi trong cấu hình ProxyEndpoint hoặc TargetEndpoint.
Bạn có thể đính kèm chính sách vào Luồng yêu cầu hoặc phản hồi. Quy trình yêu cầu và phản hồi dài hơn được chia nhỏ thành PreFlow và PostFlow.
Ví dụ sau đây minh hoạ cấu hình ProxyEndpoint tối thiểu, không có chính sách tệp đính kèm. Nó chỉ xác định HTTPProxyConnection (trong) và RouteRule.
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/weather</BasePath> <VirtualHost>default</VirtualHost> </HTTPProxyConnection> <RouteRule name="default"> <TargetEndpoint>default</TargetEndpoint> </RouteRule> </ProxyEndpoint>
Bạn phải sửa đổi cấu hình này để ProxyEndpoint thực thi chính sách Hạn mức (như một xử lý) trước khi proxy API thực hiện bất kỳ quá trình xử lý nào khác. Nếu nhà phát triển đã vượt quá Hạn mức, bạn sẽ không muốn lãng phí tài nguyên điện toán vào các yêu cầu bổ sung.
Để thực thi cấu hình này, bạn đính kèm Bước xử lý vào yêu cầu PreFlow dưới dạng sau:
<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>
Đôi khi, bạn có thể muốn một chính sách thực thi sau một số lần xử lý ban đầu khác trên ProxyEndpoint. Ví dụ: bạn muốn kiểm tra Hạn mức trong PreFlow, rồi thực hiện một tập hợp xử lý sau khi kiểm tra Hạn mức, chẳng hạn như chuyển đổi yêu cầu từ JSON sang XML. Để làm như vậy, đính kèm một chính sách vào đường dẫn yêu cầu PostFlow. Sau đây là một yêu cầu mẫu PostFlow tệp đính kèm. Chính sách này sẽ thực thi trên thông báo yêu cầu sau tất cả các chính sách trong PreFlow (và mọi luồng có điều kiện) sẽ được thực thi.
<PostFlow> <Request> <Step><Name>JSONtoXMLPolicy</Name></Step> </Request> </PostFlow>
Dưới đây là tệp đính kèm PostFlow phản hồi mẫu. Chính sách này sẽ thực thi trên tin nhắn phản hồi. (PostFlow phản hồi ProxyEndpoint PostFlow là giai đoạn xử lý cuối cùng trước khi phản hồi sẽ được trả về ứng dụng khách yêu cầu.)
<PostFlow> <Response> <Step><Name>XMLtoJSONPolicy</Name></Step> </Response> </PostFlow>