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.
Truy cập vào tài liệu 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 bản cài đặt của mình sang Apigee X để tận dụng các chức năng mới hoặc phạm vi cung cấp ở nhiều 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ư những thay đổi khác về hành vi mà bạn nên biết trước khi di chuyển.

Danh sách đầy đủ hơn về các mẫu chống đối Apigee Edge mô tả những cách sử dụng mà bạn nê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 khuyến khích và sẽ chặn quá trình di chuyển. Hãy giải quyết những vấn đề này ngay để tránh gặp phải vấn đề khi di chuyển sang Apigee X.

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

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

Có những ứ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 đăng nhập không được 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 vào tất cả Sản phẩm API. Bạn phải định cấu hình từng ứng dụng để 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 định. 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 như vậy một cách rõ ràng.
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 đăng nhập ứ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.

Một cách dễ dàng là chỉ định cho mỗi ứng dụng quyền truy cập vào tất cả Sản phẩm API. Đây sẽ là những gì có thể thực hiện trong Apigee Edge. Thách thức sẽ là nếu bạn muốn theo đuổi phương pháp "đặc 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 đăng nhập ứng dụng phải có quyền truy cập. Bạn có thể phân tích điều này bằng báo cáo Apigee Edge Analytics, dựa trên mã ứng dụng khách.

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

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

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á các bộ mô tả tài nguyên trong bộ nhớ đệm. Không hỗ trợ việc tạo, cập nhật hoặc xoá các bộ 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ả cá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ó cần thay đổi phía máy khách không? Độ phân giải

Đố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 JSONPath. 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 ví dụ 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 []

Độ phân giải: 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 cụm từ tìm kiếm bị ảnh hưởng.

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

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

Biểu thức JSONPath có chỉ mục không có mặt sẽ có các hành vi khác nhau trong Apigee X so với 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 ví dụ này,

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

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

Apigee Edge Apigee X
Đầu ra null Đầu ra PathNotFoundException lỗi

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

Tìm và thay thế các cụm từ tìm kiếm 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ó cần thay đổi phía máy khách không? Độ phân giải

Biểu thức JSONPath có chỉ mục hoặc lát cắt mảng 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 ví dụ 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ó cần thay đổi phía máy khách không? Độ phân giải

Tên kho khoá Apigee X chỉ có thể chứa chữ cái, số và dấu gạch ngang. 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ó cần thay đổi phía máy khách không? Độ phân giải

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ở riêng.

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

Apigee Edge Apigee X
Hỗ trợ việc 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. Không hỗ trợ việc triển khai nhiều bản sửa đổi của một API proxy, ngay cả khi proxy có các đường dẫn cơ sở khác nhau.
Không

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

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

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

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

Ứng dụng hoặc API Proxy gửi những 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 gặp 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 đề được 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 : (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 các kết nối WebSocket nhưng không được.
URL_HEADER_SIZE_TOO_LONG Tổng kích thước của URL và tiêu đề yêu cầu vượt quá kích thước tối đa cho phép là 15 KB.
BODY_NOT_ALLOWED Bạn 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 Một phiên bản HTTP khác với 1.1 đang được 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 bằng 0 ("0") được đặt cho phương thức "POST" hoặc "PUT".
UNSUPPORTED_RESPONSE_PREFIX Có một tiền tố tiêu đề "X-Apigee-" không được hỗ trợ trong tiêu đề phản hồi.
Có, 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ừ mộ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ó cần thay đổi phía máy khách không? Độ phân giải

Hạn mức 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 áp dụng bất kỳ 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ẽ áp dụng. Hãy xem các nguyên tắc trong mục OAuth của trang Giới hạn. Bạn phải đặt thời gian hết hạn của mã truy cập và mã làm mới cho OAuth 2.0. Các phạm vi đượ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ó cần thay đổi phía máy khách không? Độ phân giải

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

Không

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

Hãy điều chỉnh mọi mức sử dụng vượt quá hạn mức sản phẩm trước khi di chuyển sang Apigee X.

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

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

Trong chính sách 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 lại yêu cầu này nhưng không thực thi. Apigee X sẽ ngừng xử lý nếu gặp phải một <LocalTargetConnection> có cả hai cấu hình.

Không

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

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ủ.

Các hạn chế về tên máy chủ đích

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

Tên máy chủ đích Apigee X chỉ có thể chứa chữ cái, số, dấu gạch ngang và dấu chấm. Tên máy chủ đích của 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ủ đích

Kiểm tra tên máy chủ đích 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ó cần thay đổi phía máy khách không? Độ 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ủ ảo phản hồi các yêu cầu trên những 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 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ũ 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à cung 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à cung cấp chứng chỉ một cách thích hợp.

Mọi ứng dụng khách 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ó cần thay đổi phía máy khách không? Độ phân giải

(Các) điểm cuối đích 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 quá trình phân giải DNS không thành công, ứng dụng Apigee sẽ thêm .apigee.com vào tên miền và DNS sẽ phân giải thành công với mã phản hồi 4xx. Nếu quá trình phân giải DNS không thành công, Apigee sẽ không thực thi yêu cầu và trả về mã phản hồi 5xx.
Không

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

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