Antipola migrasi Apigee Edge ke Apigee X

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Sebagai pelanggan Apigee Edge saat ini, Anda dapat memilih untuk memigrasikan penginstalan ke Apigee X, untuk memanfaatkan kemampuan baru, atau ketersediaan regional yang berbeda.

Halaman ini menjelaskan antipola dalam konfigurasi yang harus Anda tangani sebelum bermigrasi ke Apigee X, serta perubahan perilaku lainnya yang harus Anda ketahui sebelum bermigrasi.

Daftar antipola Apigee Edge yang lebih luas menjelaskan praktik penggunaan yang harus dihindari dalam kasus apa pun. Halaman ini menjelaskan praktik penggunaan spesifik yang tidak direkomendasikan yang akan memblokir migrasi. Selesaikan masalah tersebut sekarang untuk mencegah masalah saat bermigrasi ke Apigee X.

Aplikasi tanpa produk API

Ringkasan Memerlukan perubahan sisi klien? Resolusi

Ada aplikasi tanpa produk API.

Perbedaan antara Apigee Edge dan Apigee X:

Apigee Edge Apigee X
Anda dapat mengonfigurasi aplikasi dan kredensial yang tidak terkait dengan Produk API apa pun. Aplikasi ini secara efektif memiliki akses ke semua Produk API. Setiap aplikasi harus dikonfigurasi untuk mengakses setidaknya satu Produk API. Tidak ada cara untuk memberikan akses ke semua Produk API, secara implisit. Anda dapat mengonfigurasi aplikasi agar memiliki akses ke semua Produk API, tetapi Anda harus melakukannya secara eksplisit.
Tidak.

Resolusi: Aplikasi tanpa produk API

Mengaitkan setiap kredensial aplikasi dengan setidaknya satu produk API. Untuk informasi selengkapnya tentang cara melakukannya, lihat Mendaftarkan aplikasi dan mengelola kunci API.

Jalur yang mudah adalah dengan menetapkan akses setiap aplikasi ke semua Produk API. Hal ini setara dengan yang dapat dilakukan di Apigee Edge. Tantangannya adalah jika Anda ingin menggunakan pendekatan "hak istimewa terendah", Anda harus menentukan daftar minimum Produk API yang harus diakses oleh setiap kredensial aplikasi. Anda dapat menganalisis hal ini dengan laporan Apigee Edge Analytics, berdasarkan client ID.

Cache tanpa masa berlaku

Ringkasan Memerlukan perubahan sisi klien? Resolusi

Cache tidak memiliki masa berlaku.

Perbedaan antara Apigee Edge dan Apigee X:

Apigee Edge Apigee X
Mendukung pembuatan, pembaruan, dan penghapusan deskriptor resource cache. Tidak mendukung pembuatan, pembaruan, atau penghapusan deskriptor resource cache.
Tidak

Penyelesaian: Cache tanpa masa berlaku

Tetapkan waktu habis masa berlaku untuk semua cache.

Ekspresi filter JSONPath pada jalur yang tidak pasti

Ringkasan Memerlukan perubahan sisi klien? Resolusi

Untuk jalur non-definitif, membuat kueri hasil ekspresi filter bukan bagian dari spesifikasi JSONPath. Lihat https://goessner.net/articles/JsonPath/.

Perbedaan antara Apigee Edge dan Apigee X:

Saat menavigasi struktur contoh ini,

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

Dengan ekspresi $..books[?(@.name == 'A')][0],

Apigee Edge Apigee X
Output ‘{"name": "A"}’ Output []

Dengan ekspresi $..books[?(@.name == 'A')][0].name,

Apigee Edge Apigee X
Output "A" Output []
Ya

Resolusi: Ekspresi filter JSONPath pada jalur yang tidak pasti

Menemukan dan mengganti kueri yang terpengaruh.

Ekspresi JSONPath untuk indeks yang tidak ada

Ringkasan Memerlukan perubahan sisi klien? Resolusi

Ekspresi JSONPath dengan indeks yang tidak ada memiliki perilaku yang berbeda di Apigee X dan Apigee Edge. Apigee X menampilkan error PathNotFoundException jika jalur tidak ditemukan.

Perbedaan antara Apigee Edge dan Apigee X:

Saat menavigasi struktur contoh ini,

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

Dengan ekspresi $.books[3],

Apigee Edge Apigee X
Output null Menghasilkan PathNotFoundException error
Ya

Resolusi: Ekspresi JSONPath untuk indeks yang tidak ada

Menemukan dan mengganti kueri yang terpengaruh.

Ekspresi JSONPath dengan indeks array tidak menampilkan objek array

Ringkasan Memerlukan perubahan sisi klien? Resolusi

Ekspresi JSONPath dengan indeks array atau irisan menampilkan objek array di Apigee X.

Perbedaan antara Apigee Edge dan Apigee X:

Saat menavigasi struktur contoh ini,

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

Dengan ekspresi $.books,

Apigee Edge Apigee X
Output {“name”:”A”, “name”: “B”} Output [{“name”:”A”, “name”: “B”}]

Dengan ekspresi $.books[-1],

Apigee Edge Apigee X
Output {“name”: “B”} Output [{“name”: “B”}]

Dengan ekspresi $.books[-2:],

Apigee Edge Apigee X
Output {“name”:”A”, “name”: “B”} Output [{“name”:”A”, “name”: “B”}]
Ya

Resolusi: Ekspresi JSONPath dengan indeks array tidak menampilkan objek array

Menemukan dan mengganti ekspresi yang mungkin menampilkan hasil berbeda setelah upgrade.

Pembatasan nama keystore

Ringkasan Memerlukan perubahan sisi klien? Resolusi

Nama keystore Apigee X hanya boleh berisi huruf, angka, dan tanda hubung. Nama keystore edge tidak menerapkan pembatasan ini.

Tidak

Resolusi: Pembatasan nama keystore

Periksa nama keystore dan perbarui namanya untuk menghapus karakter yang tidak didukung jika perlu.

Beberapa jalur dasar di-deploy untuk proxy API

Ringkasan Memerlukan perubahan sisi klien? Resolusi

Beberapa revisi proxy API di-deploy di lingkungan, dan setiap revisi memiliki jalur dasar yang berbeda.

Perbedaan antara Apigee Edge dan Apigee X:

Apigee Edge Apigee X
Mendukung deployment beberapa revisi proxy API, tempat setiap revisi dapat memiliki jalur dasar yang berbeda. Tidak mendukung deployment beberapa revisi proxy API meskipun proxy tersebut memiliki jalur dasar yang berbeda.
Tidak

Resolusi: Beberapa jalur dasar di-deploy untuk proxy API

Update semua paket sehingga hanya satu revisi paket yang di-deploy ke lingkungan, terlepas dari jalur dasar.

Pesan HTTP yang tidak mematuhi kebijakan

Ringkasan Memerlukan perubahan sisi klien? Resolusi

Klien atau Proxy API mengirim pesan (permintaan atau respons) yang tidak mematuhi standar HTTP. Misalnya, nama Header tidak valid, duplikasi di beberapa header yang dibatasi, dan sebagainya.

Anda tidak dapat bermigrasi ke Apigee X jika eksekusi API Anda memiliki satu atau beberapa error berikut:

  • INVALID_CHARACTERS_IN_HEADER
  • MISSING_COLON
  • MULTIPLE_CONTENT_LENGTH
  • CONTENT_LENGTH_NOT_INTEGER
  • INVALID_UPGRADE
  • URL_HEADER_SIZE_TOO_LONG
  • BODY_NOT_ALLOWED
  • UNSUPPORTED_HTTP_VERSION
  • ZERO_CONTENT_LENGTH_FOR_POST_OR_PUT
  • UNSUPPORTED_RESPONSE_PREFIX
Ya, mungkin.

Penyelesaian: Pesan HTTP yang tidak mematuhi kebijakan

Anda harus memperbaiki error apa pun dalam protokol HTTP sebelum bermigrasi ke Apigee X. Jika error berasal dari aplikasi klien, Anda harus meminta developer aplikasi klien tersebut untuk memperbaiki masalahnya.

Waktu habis masa berlaku token OAuth 2.0 tidak valid

Ringkasan Memerlukan perubahan sisi klien? Resolusi

Batas akhir masa berlaku token OAuth 2.0 berada di luar rentang yang ditentukan.

Perbedaan antara Apigee Edge dan Apigee X:

Apigee Edge Apigee X
Tidak ada batasan pada waktu habis masa berlaku token OAuth 2.0 yang saat ini diberlakukan, tetapi penerapannya telah direncanakan. Lihat pedoman di halaman bagian OAuth untuk Batas. Anda harus menetapkan token akses dan waktu habis masa berlaku token refresh untuk OAuth 2.0. Rentang yang didukung adalah:
  • 180 detik <= Waktu habis masa berlaku token akses OAuth 2.0 <= 30 hari
  • 1 hari <= Waktu habis masa berlaku token refresh OAuth 2.0 <= 2 tahun
Tidak

Penyelesaian: Waktu habis masa berlaku token OAuth 2.0 tidak valid

Gunakan kebijakan OAuthV2, dan tentukan waktu masa berakhir di <ExpiresIn> dan <RefreshTokenExpiresIn>.

Batas produk terlampaui

Ringkasan Memerlukan perubahan sisi klien? Resolusi

Konfigurasi Apigee Edge tidak mematuhi batas produk yang ditentukan. Beberapa batasan produk yang didokumentasikan tetapi tidak diberlakukan pada Apigee Edge diterapkan pada Apigee X.

Tidak

Penyelesaian: Batas produk terlampaui

Perbaiki penggunaan apa pun yang melebihi batas produk sebelum bermigrasi ke Apigee X.

Kebijakan ServiceCallout dengan penentu koneksi target jalur dan endpoint

Ringkasan Memerlukan perubahan sisi klien? Resolusi

Dalam kebijakan ServiceCallout, elemen <LocalTargetConnection> harus menyertakan elemen <APIProxy> dan <ProxyEndpoint> atau elemen <Path>, tetapi tidak keduanya. Untuk mengetahui informasi selengkapnya, lihat elemen <LocalTargetConnection>.

Apigee Edge mendokumentasikan persyaratan ini, tetapi tidak menerapkannya. Apigee X berhenti memproses jika menemukan <LocalTargetConnection> dengan kedua konfigurasi tersebut.

Tidak

Resolusi: Kebijakan ServiceCallout dengan penentu koneksi target endpoint dan jalur

Periksa konfigurasi kebijakan ServiceCallout dan hapus semua konfigurasi <LocalTargetConnection> yang tidak mematuhi kebijakan.

Pembatasan nama server target

Ringkasan Memerlukan perubahan sisi klien? Resolusi

Nama server target Apigee X hanya boleh berisi huruf, angka, tanda hubung, dan titik. Nama server target Edge tidak memberlakukan pembatasan ini.

Tidak

Resolusi: Pembatasan nama server target

Periksa nama server target dan perbarui nama tersebut untuk menghapus karakter yang tidak didukung jika diperlukan.

Sertifikat uji coba di host virtual

Ringkasan Memerlukan perubahan sisi klien? Resolusi

Satu atau beberapa Host virtual menggunakan sertifikat "uji coba gratis" yang disediakan Apigee. Hal ini menyebabkan host virtual merespons permintaan pada domain seperti ORG-ENV.apigee.net.

Perbedaan antara Apigee Edge dan Apigee X:

Apigee Edge Apigee X
Otomatis mengonfigurasi vhost "default" untuk mendukung nama domain formulir ORG-ENV.apigee.net. Terdapat sertifikat karakter pengganti, yang dikenal sebagai "sertifikat uji coba gratis", yang mengizinkan TLS di domain ini. Domain Apigee lama dengan format ORG-ENV.apigee.net tidak tersedia di Apigee X. Anda harus mengonfigurasi nama domain Anda sendiri, dan menyediakan sertifikat dengan tepat.
Ya

Resolusi: Sertifikat uji coba di host virtual

Anda harus mengonfigurasi domain Anda sendiri, dan menyediakan sertifikat dengan benar.

Setiap aplikasi klien yang bergantung pada nama domain lama dari formulir ORG-ENV.apigee.net harus diubah untuk memanggil domain baru.

DNS belum terselesaikan

Ringkasan Memerlukan perubahan sisi klien? Resolusi

Endpoint target memiliki nama domain yang belum terselesaikan.

Perbedaan antara Apigee Edge dan Apigee X:

Apigee Edge Apigee X
Jika resolusi DNS gagal, Apigee menambahkan .apigee.com ke nama domain dan DNS berhasil di-resolve dengan kode respons 4xx. Jika resolusi DNS gagal, Apigee tidak akan mengeksekusi permintaan dan menampilkan kode respons 5xx.
Tidak

Resolusi: DNS yang belum terselesaikan

Perbarui endpoint target dengan nama domain yang valid.