Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu 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 tệp đính kèm Chính sách bằng cách đặt tên cho Chính sách trong cấu hình Bước.
Lựa chọn về điểm đính kèm là yếu tố quan trọng đối với hành vi của proxy API. Ví dụ: nếu bạn đính kèm chính sách Hạn mức vào một Luồng phản hồi, thì Hạn mức sẽ được thực thi sau khi thông báo yêu cầu được gửi đến dịch vụ phụ trợ. Điều đó sẽ làm mất mục đích á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 dưới dạng một Bước xử lý trong quy trình yêu cầu.
Đị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>Một chính sách được đính kèm vào một Luồng bằng cách thêm cấu hình Bước vào phần tử Luồng yêu cầu hoặc phản hồi thích hợp trong cấu hình ProxyEndpoint hoặc TargetEndpoint.
Bạn có thể đính kèm một chính sách vào một Luồng yêu cầu hoặc phản hồi. Các luồng yêu cầu và phản hồi được chia thành PreFlow và PostFlow.
Ví dụ sau đây minh hoạ cấu hình ProxyEndpoint tối thiểu, không có tệp đính kèm chính sách. Nó chỉ xác định HTTPProxyConnection (đến) 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 (dưới dạng một bước xử lý) trước khi proxy API thực hiện bất kỳ quy trình xử lý nào khác. Nếu nhà phát triển đã vượt quá Hạn mức, bạn không nên lãng phí tài nguyên tính toán cho các yêu cầu bổ sung.
Để thực thi cấu hình này, bạn hãy đính kèm một Bước xử lý vào PreFlow của yêu cầu như 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ố quy trình xử lý ban đầu khác trên ProxyEndpoint. Ví dụ: bạn muốn kiểm tra Hạn mức trong PreFlow, sau đó thực hiện một bộ xử lý khác 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, hã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 tệp đính kèm PostFlow mẫu cho yêu cầu. Chính sách này sẽ thực thi trên thông báo yêu cầu sau khi tất cả các chính sách trong PreFlow (và mọi luồng có điều kiện) thực thi.
<PostFlow>
<Request>
<Step><Name>JSONtoXMLPolicy</Name></Step>
</Request>
</PostFlow>Sau đây là một tệp đính kèm PostFlow mẫu trong phản hồi. Chính sách này sẽ thực thi trên thông báo phản hồi. (Phản hồi ProxyEndpoint PostFlow là giai đoạn xử lý cuối cùng trước khi phản hồi được trả về ứng dụng khách yêu cầu.)
<PostFlow>
<Response>
<Step><Name>XMLtoJSONPolicy</Name></Step>
</Response>
</PostFlow>