16.08.17 - Herkese Açık Cloud için Apigee Edge sürüm notları

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
info

30 Ağustos 2016 Salı günü, Apigee Edge for Public Cloud'un yeni bir sürümünü yayınladık.

Yeni özellikler ve güncellemeler

Bu sürümdeki yeni özellikler ve güncellemeler aşağıda verilmiştir.

Assign Message ve Raise Fault'taki JSON yükleri

Kullanıcılar, bir Assign Message veya Raise Fault politikası kullanarak JSON yükü ayarlarken bazen bir JSON mesajının çalışma zamanında düzgün şekilde biçimlendirilmesini sağlamak için geçici çözümler kullanmak zorunda kalıyordu. Örneğin, mesajda değişken kullanılmasa bile yükü ters eğik çizgi "\" ile başlatmak veya Payload öğesinde variablePrefix ve variableSuffix belirtmek gibi.

Bu geliştirme sayesinde, uygun JSON mesajı biçimlendirmesini sağlamak için geçici çözümler gerekmez ve değişkenler, geçersiz JSON oluşturmadan küme parantezleri kullanılarak belirtilebilir. Örneğin, aşağıdakiler JSON mesajına message.content değerini ekler:

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

Geçici çözüm kullandıysanız kodunuz olduğu gibi çalışmaya devam eder. Değişkenleri belirtmek için küme parantezleri yerine variablePrefix ve variableSuffix de kullanabilirsiniz.

Assign Message politikası ve Raise Fault politikası referans dokümanlarındaki <Set><Payload> öğesine bakın. (APIRT-1160)

XML'den JSON'a politika geliştirmeleri

XML'den JSON'a politikası aşağıdaki özelliklerle geliştirildi. Politikayı şu şekilde yapılandırabilirsiniz:

  • Dönüşüm sırasında bazı XML öğelerini diziler olarak ele alın. Bu durumda, değerler JSON belgesinde köşeli parantezlerin "[ ]" içine yerleştirilir.
  • Son JSON dokümanında XML dokümanı hiyerarşisinin düzeylerini kaldırın veya ortadan kaldırın.

Daha fazla bilgi için XML to JSON policy başlıklı makaleyi inceleyin. (APIRT-1144)

API ürünü kaynak yollarında birden fazla joker karakter

API ürününde kaynak yollarını tanımlarken kaynak yolunun birden fazla yerine joker karakterler ekleyebilirsiniz. Örneğin, /team/*/invoices/**, /team sonrasında herhangi bir değer ve invoices/ sonrasında herhangi bir kaynak yolu içeren API çağrılarına izin verir. Bir API çağrısında izin verilen URI proxyBasePath/team/finance/invoices/company/a olur.

Bu sürümden sonra mevcut API ürünü kaynak yollarınız beklendiği gibi çalışmayı durdurursa önceki davranışa geri dönmek için kuruluşunuzda aşağıdaki özelliği ayarlayın: features.enableStandardWildCardMatchForAPIProductResources = true

(MGMT-3273)

JavaScript'teki kripto işlevleri

Aşağıdaki karma nesnelerini oluşturmak, almak ve güncellemek için yüksek performanslı yeni bir JavaScript crypto işlevleri grubu kullanılabilir: MD5, SHA-1, SHA256, SHA512. crypto nesnesi, tarihi çeşitli biçimlerde almanıza da olanak tanır. Daha fazla bilgi için JavaScript nesne modeli başlıklı makaleyi inceleyin. (APIRT-2886)

Java Callout JAR sürümü kontrolü

Bir API proxy'sine Java JAR kaynağı yüklerken, Java kaynağının sürümü Desteklenen yazılımlar ve desteklenen sürümler bölümünde listelenen Edge'in desteklediği Java sürümüyle uyumlu değilse HTTP 400 durum kodu (500 yerine) döndürülür. (MGMT-3420)

API proxy'si kaynak doğrulama

Ortam veya kuruluş kapsamında depolanan API proxy kaynak dosyalarınız (ör. JavaScript veya Java JAR'ları) olduğunda, doğrulama çerçevesi artık doğrulamanın başarılı olması için bu kaynakları API proxy düzeyinde bir proxy paketine de eklemenizi gerektirmez. Kaynak doğrulama artık içe aktarma sırasında değil, dağıtım sırasında gerçekleşir. (MGMT-1430)

Tek tek API proxy'leri için zaman aşımını yapılandırma

API proxy'lerini, belirtilen bir süre sonra zaman aşımına uğrayacak şekilde (504 ağ geçidi zaman aşımı durumuyla) yapılandırabilirsiniz. Birincil kullanım alanı, yürütülmesi daha uzun süren API proxy'lerine sahip özel bulut müşterileridir. Örneğin, belirli proxy'lerin 3 dakika içinde zaman aşımına uğraması gerektiğini varsayalım. API proxy'si yapılandırmasında yeni bir api.timeout özelliği kullanabilirsiniz. 3 dakikalık örnekle bunu nasıl yapacağınız aşağıda açıklanmıştır:

  1. Öncelikle yük dengeleyiciyi, yönlendiriciyi ve ileti işlemcisini 3 dakika sonra zaman aşımına uğrayacak şekilde yapılandırdığınızdan emin olun.
  2. Ardından, ilgili proxy'leri 3 dakika sonra zaman aşımına uğrayacak şekilde yapılandırın. Değeri milisaniye cinsinden belirtin. Örneğin:
    <ProxyEndpoint name="default">
      <HTTPProxyConnection>
        <BasePath>/v1/weather</BasePath>
        <Properties>
          <!-- api.timeout is in milliseconeds -->
          <Property name="api.timeout">180000</Property>
        </Properties>
        ...
  3. Ancak, sistem zaman aşımlarının artırılmasının performans sorunlarına yol açabileceğini unutmayın. Bunun nedeni, api.timeout ayarı olmayan tüm proxy'lerin yeni, daha yüksek yük dengeleyici, yönlendirici ve mesaj işlemci zaman aşımlarını kullanmasıdır. Bu nedenle, daha uzun zaman aşımları gerektirmeyen diğer API proxy'lerini daha düşük zaman aşımları kullanacak şekilde yapılandırın. Örneğin, aşağıdakiler bir API proxy'sinin 1 dakika sonra zaman aşımına uğramasını sağlar:
    <Property name="api.timeout">60000</Property>

Edge zaman aşımlarını değiştiremeyen bulut müşterileri, zaman aşımı 57 saniyelik standart Edge mesaj işlemcisi zaman aşımından kısa olduğu sürece API proxy zaman aşımı da yapılandırabilir.

Değeri bir değişkenle dolduramazsınız. Bu özellik, Uç nokta özellikleri referansı'nda ele alınmıştır. (APIRT-1778)

İleti günlüğü için TLS/SSL Politikası

<KeyStore> ve <TrustStore>, Mesaj Günlüğü politikası üzerindeki SSLInfo yapılandırmasında ayarlanabilir. Bu sayede, günlük hizmetiyle tek ve çift yönlü TLS/SSL kullanılabilir. İleti Günlüğü politikasında SSLInfo'yu, bir proxy TargetEndpoint'te olduğu gibi yapılandırabilirsiniz. Ancak, ileti günlüğüne kaydetme TLS/SSL yalnızca TCP protokolünü destekler. (APIRT-1858)

Düzeltilen hatalar

Bu sürümde aşağıdaki hatalar düzeltilmiştir. Bu liste, öncelikle destek taleplerinin düzeltilip düzeltilmediğini kontrol eden kullanıcılar içindir. Tüm kullanıcılar için ayrıntılı bilgi sağlamak üzere tasarlanmamıştır.

Sorun Kimliği Açıklama
SECENG-609 İlişkili güven deposu silinirken veya güven deposundaki geçerli sertifika silinirken çalışma zamanı çağrıları başarısız olmuyor
MGMT-3404 Node.js günlüklerini görüntüleme/alma ve proxy'leri dağıtma işlemi çok yavaş
MGMT-3400 Çağrıyı yapan kullanıcının adında "+" işareti varsa /userroles yönetim API'sine yapılan çağrı başarısız oluyor
MGMT-3368 java.lang.ArrayIndexOutOfBoundsException: 1, kaynaklar/node/resources dizinini içeren bir API proxy paketi içe aktarılırken
MGMT-3364 OAuthV2: redirect_uri kontrolü
MGMT-3319 Girişlerden birinde boş değer olan kasadaki liste girişleri, kuruluşlar (CPS ve CPS dışı) için çalışmıyor
MGMT-3226 Kuruluş/ortam düzeyinde sorgulama yapıldığında tüm veriler çekilmemeli ve API'nin başarısız olmasına neden olunmamalıdır
Release_160302'de, kaynakların toplam boyutu 16 MB'ın üzerindeyse kuruluş düzeyinde/ortam düzeyinde kaynakların listelenmesinin başarısız olmasına neden olan bir hata vardı. Bu düzeltme, bu sorunu ele almaktadır.
AXAPP-2429 response_status_code kullanan Analytics API, veri erişimi hatası döndürüyor
AXAPP-2386 Analytics günlük e-posta raporlarındaki boş rapor içeriğini düzeltme
AXAPP-2347 Günlük Analytics özeti e-postaları alınmıyor
APIRT-3141 Java Callout'lar, oluşturucu özel hale getirildiği için yeni ExecutionResult() çağrılırken başarısız oluyor
APIRT-3140 ServiceCallout politikası, HEAD API çağrılarında çalışmıyor
APIRT-3131 Harici kimlik doğrulama sağlayıcı ile para kazanma özelliği kullanılırken API proxy'si için yanlış createdBy değeri gösteriliyor
APIRT-3121 Kuruluş kaynağı dosyasında yapılan değişiklik% 100 etkili olmuyor
APIRT-3117 MP, %100 CPU kullanımına ulaştı ve trafik sunmayı durdurdu
APIRT-3016 Dağıtımlarda "Çağrı zaman aşımına uğradı" yönlendirici hataları
APIRT-2975 Sertifika paketi yükleme hatası
APIRT-2955 FHIR uyumlu Content-Type başlığı "application/json+fhir" için JSON yanıt verilerinin belirli özelliklerini maskeleyememe
APIRT-2946 OAuthV2-RefreshToken politikası, gösterim yanlış olarak ayarlanmış olmasına rağmen özellikleri gizlemiyor
APIRT-2908 Sanal ana makinede TLS1.2 güncellemesinden sonra dahili API çağrısı için TLS1.2'nin zorunlu kılınması gerekiyor
APIRT-2901 Önbellekten döndürülen gzip'li yanıtlar iki kez sıkıştırılıyor
APIRT-2873 MPs, ürünler/geliştiriciler/proxy'ler silindikten sonra VerifyAPIKey ile ilgili NullPointerException hatası veriyor
APIRT-2871 IOIntensive politikaları Trace'te iki kez görünüyor
APIRT-2825 Erişim jetonu hata yanıtında dil bilgisi hatası
APIRT-2750 Belirli bir kuruluşta trafik hatalarının yüksek olması
APIRT-2685 Bilinmeyen bir hata nedeniyle trafik akışı sağlanamıyor
APIRT-2647 "Temel giriş akışı sıfır bayt döndürdü" hatasıyla birlikte nonprod/dev
APIRT-2630 Önbellekten değer okumaya çalışırken aralıklı olarak sorun yaşanıyor
APIRT-2620 Bazı engelleme adımları için ayrı iş parçacığı havuzu
APIRT-2610 Yanıt önbelleği politikasıyla java.lang.ClassCastException
APIRT-2608 Yanıt önbelleği politikalarında Last-Modified üstbilgilerini ayrıştırma hatası
APIRT-2605 "organization" ve "environment" değişkenlerinin politikalar aracılığıyla üzerine yazılmasına izin verilmemelidir
APIRT-2566 OAuthV2 politikası, hatalı biçimlendirilmiş WWW-Authenticate üstbilgisi döndürüyor
APIRT-2491 Yönetim ve mps arasındaki RPC zaman aşımı nedeniyle TargetServer güncellemesi başarısız oldu
APIRT-2386 Boş bir dize kapsamı, boş bir İzin Verilen OAuth kapsamına sahip bir API ürününde oluşturulur
APIRT-2383 XSL Dönüşümü politikaları, hata durumunda herhangi bir veri kaydetmiyor gibi görünüyor
APIRT-2364 OAuth hata akışı değişkenleri hatada güncellenmiyor
APIRT-2216 Sunucu tarafından gönderilen etkinlikler - üretimde sorun yaşayan etkinlik akışı
APIRT-2079 Oluşturulan oturumun zaman aşımı süresi dolduktan sonra HATA AYIKLAMA cURL çağrısı durmuyor
APIRT-1495 XML tehdit koruması, fhir Content-Type'ı yakalamıyor
APIRT-347 İçe aktarma sırasında XSL politikası düzgün şekilde doğrulanmıyor (sonuçları, belgelendiği şekilde çıkış değişkenlerine atamıyor)