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
Vào thứ Ba, ngày 30 tháng 8 năm 2016, chúng tôi đã phát hành phiên bản mới của Apigee Edge cho Đám mây công khai.
Thông tin cập nhật và tính năng mới
Sau đây là các tính năng mới và nội dung cập nhật trong bản phát hành này.
Tải trọng JSON trong thông báo Chỉ định và Gây ra lỗi
Với điểm cải tiến này, bạn không cần giải pháp thay thế để đảm bảo định dạng thông báo JSON phù hợp và có thể chỉ định các biến bằng dấu ngoặc nhọn mà không tạo ra JSON không hợp lệ. Ví dụ: mã sau đây sẽ chèn giá trị của message.content vào thông báo JSON:
<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>
Nếu bạn sử dụng giải pháp thay thế, mã của bạn sẽ tiếp tục hoạt động như bình thường. Bạn cũng có thể sử dụng variablePrefix và variableSuffix thay vì dấu ngoặc nhọn để biểu thị các biến.
Hãy xem phần tử <Set><Payload> trong tài liệu tham khảo về chính sách Gán thông báo và chính sách Gây lỗi. (APIRT-1160)
Các điểm cải tiến về chính sách chuyển đổi XML sang JSON
Chính sách XML sang JSON đã được cải thiện với các chức năng sau. Bạn có thể định cấu hình chính sách để:
- Xử lý một số phần tử XML dưới dạng mảng trong quá trình chuyển đổi, thao tác này sẽ đặt các giá trị trong dấu ngoặc vuông "[ ]" trong tài liệu JSON.
- Loại bỏ hoặc xoá các cấp trong hệ thống phân cấp tài liệu XML trong tài liệu JSON cuối cùng.
Để biết thêm thông tin, hãy xem chính sách XML sang JSON. (APIRT-1144)
Nhiều ký tự đại diện trong đường dẫn tài nguyên Sản phẩm API
Khi xác định đường dẫn tài nguyên trong API Product, bạn có thể thêm ký tự đại diện vào nhiều vị trí trong đường dẫn tài nguyên. Ví dụ: /team/*/invoices/** cho phép các lệnh gọi API có bất kỳ giá trị nào sau /team và mọi đường dẫn tài nguyên sau invoices/. Một URI được phép trong lệnh gọi API sẽ là proxyBasePath/team/finance/invoices/company/a.
Nếu sau bản phát hành này, đường dẫn tài nguyên API Product hiện có của bạn ngừng hoạt động như dự kiến, hãy đặt thuộc tính sau trên tổ chức của bạn để quay lại hành vi trước đó: features.enableStandardWildCardMatchForAPIProductResources = true
(MGMT-3273)
Hàm mã hoá trong JavaScript
Một nhóm hàm JavaScript crypto hiệu suất cao mới có sẵn để tạo, nhận và cập nhật các đối tượng sau: MD5, SHA-1, SHA256, SHA512.
Đối tượng crypto cũng cho phép bạn lấy ngày ở nhiều định dạng. Để biết thêm thông tin, hãy xem Mô hình đối tượng JavaScript.
(APIRT-2886)
Kiểm tra phiên bản JAR của chú thích Java
Khi tải một tài nguyên JAR Java lên một proxy API, mã trạng thái HTTP 400 sẽ được trả về (thay vì 500) nếu phiên bản của tài nguyên Java không tương thích với phiên bản Java được Edge hỗ trợ, được liệt kê trong phần Phần mềm được hỗ trợ và các phiên bản được hỗ trợ. (MGMT-3420)
Xác thực tài nguyên proxy API
Khi bạn lưu trữ các tệp tài nguyên của proxy API (chẳng hạn như JavaScript hoặc JAR Java) ở phạm vi môi trường hoặc tổ chức, khung xác thực sẽ không còn yêu cầu bạn phải đưa các tài nguyên đó vào cấp độ proxy API trong một gói proxy để nhập nhằm vượt qua quy trình xác thực. Quy trình xác thực tài nguyên hiện diễn ra tại thời điểm triển khai, chứ không phải tại thời điểm nhập. (MGMT-1430)
Định cấu hình thời gian chờ cho từng proxy API
Bạn có thể định cấu hình các proxy API để hết thời gian chờ sau một khoảng thời gian cụ thể (với trạng thái hết thời gian chờ của cổng 504). Trường hợp sử dụng chính là dành cho những khách hàng sử dụng Đám mây riêng tư có các proxy API mất nhiều thời gian hơn để thực thi. Ví dụ: giả sử bạn cần các proxy cụ thể hết thời gian chờ sau 3 phút. Bạn có thể sử dụng một thuộc tính api.timeout mới trong cấu hình cho một proxy API. Sau đây là cách thực hiện với ví dụ 3 phút:
- Trước tiên, hãy nhớ định cấu hình bộ cân bằng tải, bộ định tuyến và trình xử lý thông báo để hết thời gian chờ sau 3 phút.
- Sau đó, hãy định cấu hình các proxy liên quan để hết thời gian chờ sau 3 phút. Chỉ định giá trị bằng mili giây. Ví dụ:
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/v1/weather</BasePath> <Properties> <!-- api.timeout is in milliseconeds --> <Property name="api.timeout">180000</Property> </Properties> ... - Tuy nhiên, lưu ý rằng việc tăng thời gian chờ của hệ thống có thể dẫn đến các vấn đề về hiệu suất, vì tất cả các proxy không có chế độ cài đặt api.timeout đều sử dụng thời gian chờ mới, cao hơn của bộ cân bằng tải, bộ định tuyến và bộ xử lý thông báo. Vì vậy, hãy định cấu hình các proxy API khác không yêu cầu thời gian chờ lâu hơn để sử dụng thời gian chờ thấp hơn. Ví dụ: đoạn mã sau đây đặt thời gian chờ của một proxy API thành 1 phút:
<Property name="api.timeout">60000</Property>
Những khách hàng sử dụng đám mây không thể sửa đổi thời gian chờ của Edge cũng có thể định cấu hình thời gian chờ của proxy API, miễn là thời gian chờ ngắn hơn thời gian chờ tiêu chuẩn của trình xử lý thông báo Edge là 57 giây.
Bạn không thể điền sẵn giá trị bằng một biến. Thuộc tính này được đề cập trong Tài liệu tham khảo về thuộc tính điểm cuối. (APIRT-1778)
Chính sách TLS/SSL để ghi nhật ký thông báo
<KeyStore> và <TrustStore> có thể được đặt trong cấu hình SSLInfo trên chính sách Ghi nhật ký tin nhắn, cho phép TLS/SSL một chiều và hai chiều với dịch vụ ghi nhật ký. Bạn định cấu hình SSLInfo trên chính sách Ghi nhật ký thông báo theo cách tương tự như cách bạn thực hiện trên
TargetEndpoint của proxy. Tuy nhiên, TLS/SSL Ghi nhật ký thông báo chỉ hỗ trợ giao thức TCP.
(APIRT-1858)
Các lỗi đã được khắc phục
Các lỗi sau đây đã được khắc phục trong bản phát hành này. Danh sách này chủ yếu dành cho những người dùng kiểm tra xem phiếu yêu cầu hỗ trợ của họ đã được giải quyết hay chưa. Báo cáo này không được thiết kế để cung cấp thông tin chi tiết cho tất cả người dùng.
| ID vấn đề | Mô tả |
|---|---|
| SECENG-609 | Các lệnh gọi thời gian chạy không bị lỗi trong quá trình xoá kho lưu trữ đáng tin cậy được liên kết hoặc khi chứng chỉ hợp lệ trong kho lưu trữ đáng tin cậy bị xoá |
| MGMT-3404 | Việc xem/truy xuất nhật ký Node.js và triển khai proxy diễn ra rất chậm |
| MGMT-3400 | Lệnh gọi đến API quản lý /userroles sẽ không thành công nếu người dùng thực hiện lệnh gọi có dấu "+" trong tên |
| MGMT-3368 | java.lang.ArrayIndexOutOfBoundsException: 1, khi nhập một gói API Proxy có chứa thư mục resources/node/resources |
| MGMT-3364 | OAuthV2: kiểm tra redirect_uri |
| MGMT-3319 | Các mục trong danh sách trong một kho lưu trữ có giá trị rỗng trong một trong các mục không hoạt động đối với các tổ chức (CPS và không phải CPS) |
| MGMT-3226 | Truy vấn ở cấp tổ chức/môi trường không được kéo tất cả dữ liệu khiến API không thành công Release_160302 có một lỗi khiến việc liệt kê tài nguyên ở cấp tổ chức/cấp môi trường không thành công nếu kích thước tích luỹ của tài nguyên lớn hơn 16 MB, bản sửa lỗi này sẽ khắc phục lỗi đó. |
| AXAPP-2429 | API Analytics sử dụng response_status_code trả về lỗi truy cập dữ liệu |
| AXAPP-2386 | Khắc phục nội dung báo cáo trống trong báo cáo email hằng ngày của Analytics |
| AXAPP-2347 | Không nhận được email tóm tắt số liệu phân tích hằng ngày |
| APIRT-3141 | Java Callout không thành công khi gọi ExecutionResult() mới, vì hàm khởi tạo đã được đặt ở chế độ riêng tư |
| APIRT-3140 | Chính sách ServiceCallout không hoạt động trong các lệnh gọi API HEAD |
| APIRT-3131 | createdBy không chính xác xuất hiện cho một API Proxy khi sử dụng tính năng kiếm tiền với một nhà cung cấp dịch vụ xác thực bên ngoài |
| APIRT-3121 | Thay đổi đối với tệp tài nguyên của tổ chức không có hiệu lực 100% |
| APIRT-3117 | MP đạt mức sử dụng CPU là 100% và ngừng phân phát lưu lượng truy cập |
| APIRT-3016 | Lỗi "Hết thời gian chờ lệnh gọi" của bộ định tuyến khi triển khai |
| APIRT-2975 | Không tải được gói chứng chỉ lên |
| APIRT-2955 | Không thể che giấu một số thuộc tính của dữ liệu phản hồi JSON cho tiêu đề Content-Type tuân thủ FHIR "application/json+fhir" |
| APIRT-2946 | Chính sách OAuthV2-RefreshToken không ẩn các thuộc tính ngay cả khi bạn đặt chế độ hiển thị thành false |
| APIRT-2908 | Bạn phải thực thi TLS 1.2 cho lệnh gọi API nội bộ sau khi cập nhật TLS 1.2 trên máy chủ ảo |
| APIRT-2901 | Các phản hồi được nén bằng gzip trả về từ bộ nhớ đệm sẽ được nén gấp đôi |
| APIRT-2873 | MP gửi NullPointerException liên quan đến VerifyAPIKey sau khi xoá các sản phẩm/nhà phát triển/proxy |
| APIRT-2871 | Các chính sách IOIntensive xuất hiện 2 lần trong Trace |
| APIRT-2825 | Lỗi ngữ pháp trong phản hồi lỗi accesstoken |
| APIRT-2750 | Số lượng lỗi lưu lượng truy cập cao ở một tổ chức cụ thể |
| APIRT-2685 | Không thể truyền dữ liệu do lỗi không xác định |
| APIRT-2647 | Lỗi"Luồng đầu vào cơ bản trả về 0 byte" với nonprod/dev |
| APIRT-2630 | Vấn đề không liên tục khi cố gắng đọc giá trị từ bộ nhớ đệm |
| APIRT-2620 | Nhóm luồng riêng cho một số bước chặn |
| APIRT-2610 | java.lang.ClassCastException với chính sách Bộ nhớ đệm phản hồi |
| APIRT-2608 | Lỗi phân tích cú pháp tiêu đề Last-Modified trong chính sách Bộ nhớ đệm phản hồi |
| APIRT-2605 | Không được phép ghi đè các biến"organization" và "environment" thông qua các chính sách |
| APIRT-2566 | Chính sách OAuthV2 trả về tiêu đề WWW-Authenticate bị lỗi |
| APIRT-2491 | Không cập nhật được TargetServer do hết thời gian chờ RPC giữa hoạt động quản lý và mps |
| APIRT-2386 | Phạm vi chuỗi trống được tạo trong một sản phẩm API có phạm vi OAuth được phép trống |
| APIRT-2383 | Các chính sách Biến đổi XSL dường như không ghi lại bất kỳ dữ liệu nào khi xảy ra lỗi |
| APIRT-2364 | Các biến luồng lỗi OAuth không được cập nhật khi có lỗi |
| APIRT-2216 | Server sent events - event stream having issues in prod |
| APIRT-2079 | Lệnh gọi cURL GỠ LỖI không dừng sau khi hết thời gian chờ cho phiên đã tạo |
| APIRT-1495 | Tính năng Bảo vệ chống mối đe doạ XML không phát hiện được Content-Type fhir |
| APIRT-347 | Chính sách XSL không được xác thực đúng cách khi nhập (không chỉ định kết quả cho các biến đầu ra như đã nêu trong tài liệu) |