16.08.17 - Apigee Edge untuk catatan rilis Public Cloud

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

Pada hari Selasa, 30 Agustus 2016, kami merilis versi baru Apigee Edge untuk Cloud Publik.

Fitur dan update baru

Berikut adalah fitur dan update baru dalam rilis ini.

Payload JSON di Menetapkan Message dan Raise Fault

Saat menetapkan payload JSON menggunakan kebijakan Tetapkan Pesan atau Raise Fault, pengguna terkadang diharuskan menggunakan solusi untuk memastikan pesan JSON diformat dengan benar saat runtime, seperti memulai payload dengan garis miring terbalik "\" atau menentukan variabelPrefix dan variableSuffix pada elemen Payload, meskipun tidak ada variabel yang digunakan dalam pesan.

Dengan peningkatan ini, tidak ada solusi yang diperlukan untuk memastikan pemformatan pesan JSON yang benar, dan variabel dapat ditentukan menggunakan tanda kurung kurawal tanpa membuat JSON yang tidak valid. Misalnya, kode berikut menyisipkan nilai message.content dalam pesan JSON:

<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>

Jika Anda sudah menggunakan solusi tersebut, kode Anda akan tetap berfungsi sebagaimana mestinya. Anda juga dapat menggunakan variablePrefix dan variableSuffix, bukan tanda kurung kurawal untuk menunjukkan variabel.

Lihat elemen <Set><Payload> di dokumen referensi Assign Message policy dan Raise Fault policy. (APIRT-1160)

Penyempurnaan kebijakan XML ke JSON

Kebijakan XML ke JSON telah ditingkatkan dengan kemampuan berikut. Anda dapat mengonfigurasi kebijakan untuk:

  • Perlakukan beberapa elemen XML sebagai array selama konversi, yang menempatkan nilai dalam tanda kurung siku '[ ]' dalam dokumen JSON.
  • Hapus atau hilangkan level hierarki dokumen XML dalam dokumen JSON akhir.

Untuk mengetahui informasi selengkapnya, lihat kebijakan XML ke JSON. (APIRT-1144)

Beberapa karakter pengganti di jalur resource Produk API

Saat menentukan jalur resource di Produk API, Anda dapat menyertakan karakter pengganti di beberapa tempat dalam jalur resource. Misalnya, /team/*/invoices/** mengizinkan panggilan API dengan satu nilai setelah /team dan jalur resource apa pun setelah invoices/. URI yang diizinkan pada panggilan API akan menjadi proxyBasePath/team/finance/invoices/company/a.

Jika jalur resource Produk API yang ada berhenti berfungsi seperti yang diharapkan setelah rilis ini, tetapkan properti berikut di organisasi Anda untuk kembali ke perilaku sebelumnya: features.enableStandardWildCardMatchForAPIProductResources = true

(MGMT-3.273)

Fungsi kripto di JavaScript

Kumpulan fungsi crypto JavaScript berperforma tinggi baru tersedia untuk membuat, mendapatkan, dan mengupdate objek berikut: MD5, SHA-1, SHA256, SHA512. Objek crypto juga memungkinkan Anda mendapatkan tanggal dalam berbagai format. Untuk mengetahui informasi selengkapnya, lihat model objek JavaScript. (APIRT-2886)

Pemeriksaan versi JAR Info Java

Saat mengupload resource JAR Java ke proxy API, kode status HTTP 400 akan ditampilkan (bukan 500) jika versi resource Java tidak kompatibel dengan versi Java yang didukung Edge, yang tercantum dalam Software yang didukung dan versi yang didukung. (MGMT-3.420)

Validasi resource proxy API

Jika Anda memiliki file resource proxy API (seperti JavaScript atau JAR Java) yang disimpan di cakupan lingkungan atau organisasi, framework validasi tidak lagi mengharuskan Anda menyertakan resource tersebut di level proxy API dalam paket proxy untuk diimpor agar lulus validasi. Validasi resource sekarang terjadi pada waktu deployment, bukan pada waktu impor. (MGMT-1.430)

Mengonfigurasi waktu tunggu untuk setiap proxy API

Anda dapat mengonfigurasi proxy API agar kehabisan waktu setelah waktu yang ditentukan (dengan status waktu tunggu gateway 504). Kasus penggunaan utamanya adalah untuk pelanggan Private Cloud yang memiliki proxy API yang memerlukan waktu lebih lama untuk dieksekusi. Misalnya, Anda memerlukan proxy tertentu untuk kehabisan waktu 3 menit. Anda dapat menggunakan properti api.timeout baru dalam konfigurasi untuk proxy API. Berikut cara melakukannya dengan contoh 3 menit:

  1. Pertama, pastikan untuk mengonfigurasi load balancer, router, dan pemroses pesan agar waktu tunggunya habis setelah 3 menit.
  2. Kemudian, konfigurasikan proxy yang relevan untuk kehabisan waktu pada 3 menit. Tentukan nilai dalam milidetik. Contoh:
    <ProxyEndpoint name="default">
      <HTTPProxyConnection>
        <BasePath>/v1/weather</BasePath> 
        <Properties> 
          <!-- api.timeout is in milliseconeds -->
          <Property name="api.timeout">180000</Property>
        </Properties>
        ...
    
  3. Namun, perlu diperhatikan bahwa menambah waktu tunggu sistem dapat menyebabkan masalah performa, karena semua proxy tanpa setelan api.timeout menggunakan waktu tunggu load balancer, router, dan pemroses pesan yang baru dan lebih tinggi. Jadi, konfigurasikan proxy API lain yang tidak memerlukan waktu tunggu lebih lama untuk menggunakan waktu tunggu yang lebih rendah. Misalnya, contoh berikut menyetel proxy API ke waktu habis setelah 1 menit:
    <Property name="api.timeout">60000</Property>

Pelanggan cloud, yang tidak dapat mengubah waktu tunggu Edge, juga dapat mengonfigurasi waktu tunggu proxy API, selama waktu tunggunya lebih pendek daripada waktu tunggu prosesor pesan Edge standar, yaitu 57 detik.

Anda tidak dapat mengisi nilai dengan variabel. Properti ini tercakup dalam Referensi properti endpoint. (APIRT-1778)

Kebijakan TLS/SSL untuk Logging pesan

<KeyStore> dan <TrustStore> dapat disetel di konfigurasi SSLInfo pada kebijakan Message Logging, yang memungkinkan TLS/SSL satu arah dan dua arah dengan layanan logging. Anda mengonfigurasi SSLInfo pada kebijakan Logging Pesan dengan cara yang sama seperti pada TargetEndpoint proxy. Namun, Message Logging TLS/SSL hanya mendukung protokol TCP. (APIRT-1858)

Bug telah diperbaiki

Bug berikut telah diperbaiki dalam rilis ini. Daftar ini terutama ditujukan bagi pengguna yang memeriksa apakah tiket dukungan mereka telah diperbaiki. API ini tidak dirancang untuk memberikan informasi mendetail kepada semua pengguna.

ID Masalah Deskripsi
SECENG-609 Panggilan runtime tidak gagal selama penghapusan truststore terkait atau saat sertifikat yang valid di truststore dihapus
MGMT-3404 Melihat/mengambil log Node.js dan men-deploy proxy sangat lambat
MGMT-3400 Panggilan ke /userroles management API gagal jika pengguna yang melakukan panggilan memiliki nama login "+"
MGMT-3368 java.lang.ArrayIndexOutOfBoundsException: 1, saat mengimpor paket Proxy API yang berisi direktori resource/node/resources
MGMT-3364 OAuthV2: redirect_uri check
MGMT-3319 Entri daftar di vault yang memiliki nilai null di salah satu entri tidak berfungsi untuk organisasi (CPS dan non-CPS)
MGMT-3226 Kueri pada tingkat organisasi/lingkungan seharusnya tidak menarik semua data yang menyebabkan API gagal
Release_160302 mengalami bug saat listingan resource di tingkat organisasi/lingkungan gagal jika ukuran kumulatif resource di atas 16 MB, dan perbaikan ini akan menanganinya.
AXAPP-2429 Analytics API yang menggunakan response_status_code menampilkan error akses data
AXAPP-2386 Memperbaiki konten laporan kosong dalam laporan email harian Analytics
AXAPP-2347 Tidak menerima email ringkasan analisis harian
APIRT-3141 Java Callouts gagal saat memanggil ExecutionResult() baru karena konstruktor telah dijadikan pribadi
APIRT-3140 Kebijakan ServiceCallout tidak berfungsi pada panggilan API HEAD
APIRT-3131 DibuatBy yang salah ditampilkan untuk Proxy API saat menggunakan monetisasi dengan penyedia autentikasi eksternal
APIRT-3121 Perubahan file resource organisasi yang dilakukan tidak 100% efektif
APIRT-3117 MP telah mencapai penggunaan CPU 100% dan berhenti menyalurkan traffic
APIRT-3016 Error "Waktu panggilan habis" pada ruter saat deployment
APIRT-2975 Kegagalan upload paket sertifikat
APIRT-2955 Tidak dapat menyamarkan atribut tertentu pada data respons JSON untuk header Content-Type 'application/json+fhir' FHIR-complaint
APIRT-2946 Kebijakan OAuthV2-RefreshToken tidak menyembunyikan atribut meskipun tampilan disetel ke false
APIRT-2908 Menerapkan TLS1.2 untuk panggilan API internal diperlukan setelah update TLS1.2 di virtualhost
APIRT-2901 Respons Gzip yang ditampilkan dari cache dikompresi dua kali
APIRT-2873 MP menampilkan NullPointerException yang terkait dengan VerifyAPIKey setelah penghapusan produk/developers/proxies
APIRT-2871 Kebijakan IOIntensive muncul dua kali di Trace
APIRT-2825 Error tata bahasa dalam respons error accesstoken
APIRT-2750 Kegagalan traffic yang tinggi di organisasi tertentu
APIRT-2685 Traffic tidak dapat mengalir dengan menampilkan error yang tidak diketahui
APIRT-2647 Error"aliran input dasar menampilkan nol byte" dengan nonprod/dev
APIRT-2630 Masalah sesekali saat mencoba membaca nilai dari cache
APIRT-2620 Memisahkan kumpulan thread untuk beberapa langkah pemblokiran
APIRT-2610 java.lang.ClassCastException dengan kebijakan Cache Respons
APIRT-2608 Error penguraian header Terakhir Diubah dalam kebijakan Cache Respons
APIRT-2605 Variabel"organisasi" dan "lingkungan" tidak boleh ditimpa melalui kebijakan
APIRT-2566 Kebijakan OAuthV2 menampilkan WWW-Authenticate Header dengan format yang salah
APIRT-2491 Update TargetServer gagal karena waktu tunggu RPC antara pengelolaan dan MP
APIRT-2386 Cakupan string kosong dibuat di produk API dengan cakupan OAuth yang Diizinkan kosong
APIRT-2383 Kebijakan Transformasi XSL tampaknya tidak mencatat data apa pun karena error
APIRT-2364 Variabel alur kesalahan OAuth tidak diperbarui saat terjadi error
APIRT-2216 Peristiwa pengiriman server - aliran peristiwa mengalami masalah dalam produksi
APIRT-2079 Panggilan cURL DEBUG tidak berhenti setelah waktu tunggu untuk sesi yang dibuat berakhir
APIRT-1495 Perlindungan Ancaman XML tidak menangkap Jenis Konten apa pun
APIRT-347 Kebijakan XSL tidak divalidasi dengan benar saat impor (tidak menetapkan hasil ke variabel output seperti yang didokumentasikan)