Apigee Edge sang các mẫu chống di chuyển Apigee X

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Là khách hàng hiện tại của Apigee Edge, bạn có thể chọn di chuyển quá trình cài đặt sang Apigee X để tận dụng các tính năng mới hoặc phạm vi cung cấp khác nhau theo khu vực.

Trang này mô tả các mẫu chống trong cấu hình mà bạn cần giải quyết trước khi di chuyển sang Apigee X, cũng như các thay đổi khác về hành vi mà bạn cần lưu ý trước khi di chuyển.

Danh sách rộng hơn về các mẫu chống Apigee Edge mô tả các phương pháp sử dụng cần tránh trong mọi trường hợp. Trang này mô tả các phương pháp sử dụng cụ thể không được đề xuất sẽ chặn quá trình di chuyển. Hãy giải quyết các vấn đề này ngay để tránh sự cố khi di chuyển sang Apigee X.

Ứng dụng không có sản phẩm API

Tóm tắt Cần thay đổi phía máy khách? Giải pháp

Có ứng dụng không có(các) sản phẩm API.

Sự khác biệt giữa Apigee Edge và Apigee X:

Apigee Edge Apigee X
Bạn có thể định cấu hình một ứng dụng và thông tin xác thực không liên kết với bất kỳ Sản phẩm API nào. Ứng dụng này có quyền truy cập hiệu quả vào tất cả Sản phẩm API. Mỗi ứng dụng phải được định cấu hình để truy cập vào ít nhất một Sản phẩm API. Không có cách nào để cung cấp quyền truy cập vào tất cả Sản phẩm API một cách ngầm ẩn. Bạn có thể định cấu hình một ứng dụng để có quyền truy cập vào tất cả Sản phẩm API, nhưng bạn cần phải làm rõ điều đó.
STT

Giải pháp: Ứng dụng không có sản phẩm API

Liên kết mọi thông tin xác thực ứng dụng với ít nhất một sản phẩm API. Để biết thêm thông tin về cách thực hiện việc này, hãy xem phần Đăng ký ứng dụng và quản lý khoá API.

Bạn có thể dễ dàng gán quyền truy cập vào tất cả Sản phẩm API cho từng ứng dụng. Điều này tương đương với những gì có thể thực hiện trong Apigee Edge. Thách thức sẽ là nếu muốn theo đuổi phương pháp "quyền tối thiểu", thì bạn sẽ cần xác định danh sách tối thiểu các Sản phẩm API mà mỗi thông tin xác thực ứng dụng phải có quyền truy cập. Bạn có thể phân tích vấn đề này bằng các báo cáo Analytics của Apigee Edge, dựa trên mã ứng dụng.

Bộ nhớ đệm không có thời gian hết hạn

Tóm tắt Cần thay đổi phía máy khách? Độ phân giải

(Các) bộ nhớ đệm không có thời gian hết hạn.

Sự khác biệt giữa Apigee Edge và Apigee X:

Apigee Edge Apigee X
Hỗ trợ việc tạo, cập nhật và xoá mô tả tài nguyên bộ nhớ đệm. Không hỗ trợ việc tạo, cập nhật hoặc xoá mô tả tài nguyên bộ nhớ đệm.
Không

Giải pháp: Bộ nhớ đệm không có thời gian hết hạn

Đặt thời gian hết hạn cho tất cả bộ nhớ đệm.

Biểu thức bộ lọc JSONPath trên các đường dẫn không xác định

Tóm tắt Cần thay đổi phía máy khách? Giải pháp

Đối với các đường dẫn không xác định, việc truy vấn kết quả của biểu thức bộ lọc không thuộc quy cách của JSONPath. Hãy xem https://goessner.net/articles/JsonPath/.

Sự khác biệt giữa Apigee Edge và Apigee X:

Khi điều hướng cấu trúc mẫu này,

{
    "books": [
      {
        "name": "A",
      },
      {
        "name": "B",
      }
    ]
}

Với biểu thức $..books[?(@.name == 'A')][0],

Apigee Edge Apigee X
Đầu ra ‘{"name": "A"}’ Đầu ra []

Với biểu thức $..books[?(@.name == 'A')][0].name,

Apigee Edge Apigee X
Đầu ra "A" Đầu ra []

Giải pháp: Biểu thức bộ lọc JSONPath trên các đường dẫn không xác định

Tìm và thay thế các truy vấn bị ảnh hưởng.

Biểu thức JSONPath cho các chỉ mục không có sẵn

Tóm tắt Cần thay đổi phía máy khách? Giải pháp

Biểu thức JSONPath có chỉ mục không có trong Apigee X sẽ có hành vi khác với biểu thức JSONPath có chỉ mục không có trong Apigee Edge. Apigee X trả về lỗi PathNotFoundException khi không tìm thấy đường dẫn.

Sự khác biệt giữa Apigee Edge và Apigee X:

Khi điều hướng cấu trúc mẫu này,

{
    "books": [
      {
        "name": "A",
      },
      {
        "name": "B",
      }
    ]
}

Với biểu thức $.books[3],

Apigee Edge Apigee X
Đầu ra null Kết quả đầu ra lỗi PathNotFoundException

Giải pháp: Biểu thức JSONPath cho các chỉ mục không có sẵn

Tìm và thay thế các truy vấn bị ảnh hưởng.

Biểu thức JSONPath có chỉ mục mảng không trả về đối tượng mảng

Tóm tắt Cần thay đổi phía máy khách? Độ phân giải

Biểu thức JSONPath có chỉ mục mảng hoặc lát cắt sẽ trả về một đối tượng mảng trong Apigee X.

Sự khác biệt giữa Apigee Edge và Apigee X:

Khi điều hướng cấu trúc mẫu này,

{
    "books": [
      {
        "name": "A",
      },
      {
        "name": "B",
      }
    ]
}

Với biểu thức $.books,

Apigee Edge Apigee X
Đầu ra {“name”:”A”, “name”: “B”} Đầu ra [{“name”:”A”, “name”: “B”}]

Với biểu thức $.books[-1],

Apigee Edge Apigee X
Đầu ra {“name”: “B”} Đầu ra [{“name”: “B”}]

Với biểu thức $.books[-2:],

Apigee Edge Apigee X
Đầu ra {“name”:”A”, “name”: “B”} Đầu ra [{“name”:”A”, “name”: “B”}]

Giải pháp: Biểu thức JSONPath có chỉ mục mảng không trả về đối tượng mảng

Tìm và thay thế các biểu thức có thể trả về kết quả khác sau khi nâng cấp.

Quy định hạn chế về tên kho khoá

Tóm tắt Cần thay đổi phía máy khách? Giải pháp

Tên kho khoá Apigee X chỉ có thể chứa chữ cái, số và dấu gạch nối. Tên kho khoá Edge không áp dụng các hạn chế này.

Không

Giải pháp: Hạn chế về tên kho khoá

Kiểm tra tên kho khoá và cập nhật tên để xoá các ký tự không được hỗ trợ nếu cần.

Nhiều đường dẫn cơ sở được triển khai cho một proxy API

Tóm tắt Cần thay đổi phía máy khách? Giải pháp

Nhiều bản sửa đổi của một proxy API được triển khai trong một môi trường và mỗi bản sửa đổi có một đường dẫn cơ sở khác nhau.

Sự khác biệt giữa Apigee Edge và Apigee X:

Apigee Edge Apigee X
Hỗ trợ triển khai nhiều bản sửa đổi của một proxy API, trong đó mỗi bản sửa đổi có thể có một đường dẫn cơ sở khác nhau. Không hỗ trợ triển khai nhiều bản sửa đổi của proxy API mặc dù proxy có các đường dẫn cơ sở khác nhau.
Không

Giải pháp: Nhiều đường dẫn cơ sở được triển khai cho một proxy API

Cập nhật tất cả gói để chỉ triển khai một bản sửa đổi của gói cho một môi trường, bất kể đường dẫn cơ sở.

Thông báo HTTP không tuân thủ

Tóm tắt Cần thay đổi phía máy khách? Giải pháp

Ứng dụng hoặc Proxy API gửi thông báo (yêu cầu hoặc phản hồi) không tuân thủ tiêu chuẩn HTTP. Ví dụ: Tên tiêu đề không hợp lệ, nội dung trùng lặp trong một số tiêu đề bị hạn chế, v.v.

Bạn không thể di chuyển sang Apigee X nếu quá trình thực thi API của bạn có một hoặc nhiều lỗi sau:

Lỗi Chi tiết
INVALID_CHARACTERS_IN_HEADER Tìm thấy một hoặc nhiều ký tự không hợp lệ trong tiêu đề đã chỉ định. Tên tiêu đề hợp lệ bao gồm chữ cái tiếng Anh, chữ số và dấu gạch nối.
MISSING_COLON Thiếu : (dấu hai chấm) trong cặp tên tiêu đề và giá trị tiêu đề.
MULTIPLE_CONTENT_LENGTH Bạn đã cung cấp nhiều giá trị cho tiêu đề Content-Length.
CONTENT_LENGTH_NOT_INTEGER Giá trị tiêu đề Content-Length không phải là số nguyên.
INVALID_UPGRADE Bạn chỉ được dùng tiêu đề Nâng cấp để bật kết nối WebSocket, nhưng không được dùng.
URL_HEADER_SIZE_TOO_LONG Tổng kích thước của URL yêu cầu và tiêu đề vượt quá kích thước tối đa cho phép là 15 KB.
BODY_NOT_ALLOWED Không được phép sử dụng nội dung thông báo với các phương thức "GET", "DELETE", "TRACE", "OPTIONS" và "HEAD".
UNSUPPORTED_HTTP_VERSION Phiên bản HTTP khác với 1.1 đang được sử dụng cho yêu cầu và không được hỗ trợ.
ZERO_CONTENT_LENGTH_FOR_POST_OR_PUT Giá trị trường tiêu đề Content-Length (Dài nội dung) bằng 0 ("0") đã được đặt cho phương thức "POST" hoặc "PUT".
UNSUPPORTED_RESPONSE_PREFIX Tiền tố tiêu đề "X-Apigee-" không được hỗ trợ xuất hiện trong tiêu đề phản hồi.
Có thể.

Giải pháp: Thông báo HTTP không tuân thủ

Bạn phải khắc phục mọi lỗi trong giao thức HTTP trước khi di chuyển sang Apigee X. Nếu lỗi bắt nguồn từ ứng dụng khách, bạn phải yêu cầu nhà phát triển ứng dụng khách khắc phục vấn đề.

Thời gian hết hạn của mã thông báo OAuth 2.0 không hợp lệ

Tóm tắt Cần thay đổi phía máy khách? Giải pháp

Giới hạn thời gian hết hạn của mã thông báo OAuth 2.0 nằm ngoài phạm vi quy định.

Sự khác biệt giữa Apigee Edge và Apigee X:

Apigee Edge Apigee X
Hiện tại, chúng tôi không thực thi quy định ràng buộc nào về thời gian hết hạn của mã thông báo OAuth 2.0, nhưng chúng tôi dự định sẽ thực thi quy định này. Xem nguyên tắc trong phần OAuth trên trang Giới hạn. Bạn phải đặt thời gian hết hạn cho mã truy cập và mã làm mới cho OAuth 2.0. Các dải được hỗ trợ là:
  • 180 giây <= thời gian hết hạn của mã truy cập OAuth 2.0 <= 30 ngày
  • 1 ngày <= thời gian hết hạn của mã thông báo làm mới OAuth 2.0 <= 2 năm
Không

Giải pháp: Thời gian hết hạn của mã thông báo OAuth 2.0 không hợp lệ

Sử dụng chính sách OAuthV2 và chỉ định thời gian hết hạn trong <ExpiresIn><RefreshTokenExpiresIn>.

Đã vượt quá giới hạn về số lượng sản phẩm

Tóm tắt Cần thay đổi phía máy khách? Giải pháp

Cấu hình của Apigee Edge không tuân thủ các giới hạn sản phẩm đã xác định. Một số hạn mức sản phẩm được ghi nhận nhưng không được thực thi trên Apigee Edge sẽ được thực thi trên Apigee X.

Không

Giải pháp: Đã vượt quá giới hạn về số lượng sản phẩm

Sửa mọi trường hợp sử dụng vượt quá hạn mức sản phẩm trước khi di chuyển sang Apigee X.

Chính sách ServiceCallout có cả chỉ định kết nối đích đến đường dẫn và điểm cuối

Tóm tắt Cần thay đổi phía máy khách? Độ phân giải

Trong chính sách về ServiceCallout, phần tử <LocalTargetConnection> phải bao gồm phần tử <APIProxy><ProxyEndpoint> hoặc phần tử <Path>, nhưng không được bao gồm cả hai. Để biết thêm thông tin, hãy xem phần tử <LocalTargetConnection>.

Apigee Edge ghi nhận yêu cầu này nhưng không thực thi yêu cầu đó. Apigee X sẽ ngừng xử lý nếu gặp <LocalTargetConnection> có cả hai cấu hình.

Không

Giải pháp: Chính sách ServiceCallout có cả chỉ định kết nối đích đến đường dẫn và điểm cuối

Kiểm tra cấu hình chính sách ServiceCallout và loại bỏ mọi cấu hình <LocalTargetConnection> không tuân thủ.

Hạn chế về tên máy chủ mục tiêu

Tóm tắt Cần thay đổi phía máy khách? Giải pháp

Tên máy chủ mục tiêu Apigee X chỉ được chứa chữ cái, số, dấu gạch nối và dấu chấm. Tên máy chủ mục tiêu Edge không áp dụng các hạn chế này.

Không

Giải pháp: Hạn chế về tên máy chủ mục tiêu

Kiểm tra tên máy chủ mục tiêu và cập nhật tên để xoá các ký tự không được hỗ trợ nếu cần.

Chứng chỉ dùng thử trong máy chủ ảo

Tóm tắt Cần thay đổi phía máy khách? Độ phân giải

Một hoặc nhiều máy chủ ảo sử dụng chứng chỉ "dùng thử miễn phí" do Apigee cung cấp. Điều này khiến máy chủ lưu trữ ảo phản hồi các yêu cầu trên các miền như ORG-ENV.apigee.net.

Sự khác biệt giữa Apigee Edge và Apigee X:

Apigee Edge Apigee X
Tự động định cấu hình vhost "mặc định" để hỗ trợ tên miền có dạng ORG-ENV.apigee.net. Có một chứng chỉ ký tự đại diện, còn gọi là "chứng chỉ dùng thử miễn phí", cho phép TLS trên các miền này. Các miền Apigee cũ ở dạng ORG-ENV.apigee.net không có trong Apigee X. Bạn phải định cấu hình tên miền của riêng mình và cấp chứng chỉ một cách thích hợp.

Giải pháp: Chứng chỉ dùng thử trong máy chủ ảo

Bạn phải định cấu hình miền của riêng mình và cấp chứng chỉ một cách thích hợp.

Bất kỳ ứng dụng khách nào phụ thuộc vào tên miền cũ của biểu mẫu ORG-ENV.apigee.net đều phải được sửa đổi để gọi miền mới.

DNS chưa được phân giải

Tóm tắt Cần thay đổi phía máy khách? Giải pháp

(Các) điểm cuối mục tiêu có(các) tên miền chưa được phân giải.

Sự khác biệt giữa Apigee Edge và Apigee X:

Apigee Edge Apigee X
Nếu không phân giải được DNS, Apigee sẽ thêm .apigee.com vào tên miền và DNS sẽ phân giải thành công bằng mã phản hồi 4xx. Nếu không phân giải được DNS, Apigee sẽ không thực thi yêu cầu và trả về mã phản hồi 5xx.
Không

Giải pháp: DNS chưa được phân giải

Cập nhật điểm cuối mục tiêu bằng tên miền hợp lệ.