Apigee Edge'den Apigee X'e geçiş anti kalıpları

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

Mevcut bir Apigee Edge müşterisi olarak, yeni özelliklerden veya farklı bölgesel kullanılabilirlikten yararlanmak için kurulumunuzu Apigee X'e taşımayı tercih edebilirsiniz.

Bu sayfada, Apigee X'e geçmeden önce yapılandırmanız gereken anti kalıplar ve taşıma işleminden önce dikkat etmeniz gereken diğer davranış değişiklikleri açıklanmaktadır.

Geniş kapsamlı Apigee Edge anti kalıpları listesinde, her durumda kaçınılması gereken kullanım uygulamaları açıklanmaktadır. Bu sayfada, taşımayı engelleyecek ve önerilmeyen belirli kullanım uygulamaları açıklanmaktadır. Apigee'ye taşıma sırasında sorun yaşamamak için bu çözümleri hemen çözün.

API ürünleri olmayan uygulamalar

Özet İstemci tarafında değişiklik yapılmasını gerektirir mi? Çözüm

API ürünü olmayan uygulamalar var.

Apigee Edge ile Apigee X arasındaki fark:

Apigee Edge Apigee X
Herhangi bir API Ürünü ile ilişkilendirilmemiş bir uygulama ve kimlik bilgisi yapılandırılabilir. Bu uygulama etkin bir şekilde tüm API Ürünlerine erişebilir. Her uygulama, en az bir API Ürününe erişecek şekilde yapılandırılmalıdır. Tüm API Ürünlerine dolaylı yoldan erişim sağlamak mümkün değildir. Bir uygulamayı tüm API Ürünleri'ne erişecek şekilde yapılandırabilirsiniz, ancak bunu açıkça yapmanız gerekir.
Hayır

Çözüm: API ürünleri olmayan uygulamalar

Her uygulama kimlik bilgisini en az bir API ürünüyle ilişkilendirin. Bunun nasıl yapılacağı hakkında daha fazla bilgi için Uygulamaları kaydetme ve API anahtarlarını yönetme bölümüne bakın.

Kolay bir yol, her bir uygulamaya tüm API Ürünleri erişimini atamaktır. Bu, Apigee Edge'in sunduğu olanaklarla aynı olacaktır. "En az ayrıcalık" yaklaşımını tercih ediyorsanız her uygulama kimlik bilgisinin erişebilmesi gereken minimum API Ürünleri listesini belirlemeniz gerekir. Bu durumu, istemci kimliğine bağlı olarak Apigee Edge Analytics raporlarıyla analiz edebilirsiniz.

Geçerlilik süresi olmayan önbellek

Özet İstemci tarafında değişiklik yapılmasını gerektirir mi? Çözüm

Önbelleklerin geçerlilik bitiş zamanı yoktur.

Apigee Edge ile Apigee X arasındaki fark:

Apigee Edge Apigee X
Önbellek kaynağı açıklayıcılarının oluşturulmasını, güncellenmesini ve silinmesini destekler. Önbellek kaynağı açıklayıcılarının oluşturulmasını, güncellenmesini veya silinmesini desteklemez.
Hayır

Çözüm: Önbellek süresi sonu yok

Tüm önbellekler için geçerlilik süresi ayarlayın.

Belirsiz olmayan yollardaki JSONPath filtre ifadeleri

Özet İstemci tarafında değişiklik yapılmasını gerektirir mi? Çözüm

Belirsiz olmayan yollar için filtre ifadelerinin sonucunu sorgulamak JSONPath spesifikasyonunun bir parçası değildir. https://goessner.net/articles/JsonPath/ adresini inceleyin.

Apigee Edge ile Apigee X arasındaki fark:

Bu örnek yapıda gezinirken

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

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

Apigee Edge Apigee X
‘{"name": "A"}’ çıktı [] çıktı

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

Apigee Edge Apigee X
"A" çıktı [] çıktı
Evet

Çözüm: Belirsiz olmayan yollardaki JSONPath filtre ifadeleri

Etkilenen sorguları bulun ve değiştirin.

Mevcut olmayan dizinler için JSONPath ifadeleri

Özet İstemci tarafında değişiklik yapılmasını gerektirir mi? Çözüm

Mevcut olmayan bir dizine sahip JSONPath ifadelerinin Apigee X'te ve Apigee Edge'de farklı davranışları vardır. Apigee X, yol bulunamadığında PathNotFoundException hatası döndürür.

Apigee Edge ile Apigee X arasındaki fark:

Bu örnek yapıda gezinirken

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

$.books[3] ifadesiyle,

Apigee Edge Apigee X
null çıktı PathNotFoundException hatası verir
Evet

Çözüm: Mevcut olmayan dizinler için JSONPath ifadeleri

Etkilenen sorguları bulun ve değiştirin.

Dizi dizinine sahip JSONPath ifadeleri, dizi nesnesi döndürmüyor

Özet İstemci tarafında değişiklik yapılmasını gerektirir mi? Çözüm

Dizi dizini veya dilimleri içeren JSONPath ifadeleri, Apigee X'te bir dizi nesnesi döndürür.

Apigee Edge ile Apigee X arasındaki fark:

Bu örnek yapıda gezinirken

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

$.books ifadesiyle,

Apigee Edge Apigee X
{“name”:”A”, “name”: “B”} çıktı [{“name”:”A”, “name”: “B”}] çıktı

$.books[-1] ifadesiyle,

Apigee Edge Apigee X
{“name”: “B”} çıktı [{“name”: “B”}] çıktı

$.books[-2:] ifadesiyle,

Apigee Edge Apigee X
{“name”:”A”, “name”: “B”} çıktı [{“name”:”A”, “name”: “B”}] çıktı
Evet

Çözüm: Dizi dizinine sahip JSONPath ifadeleri dizi nesnesi döndürmüyor

Yeni sürüme geçirme işleminden sonra farklı sonuçlar döndürebilecek ifadeleri bulup değiştirin.

Anahtar deposu adı kısıtlamaları

Özet İstemci tarafında değişiklik yapılmasını gerektirir mi? Çözüm

Apigee X anahtar deposu adları yalnızca harf, sayı ve kısa çizgi içerebilir. Edge anahtar deposu adlarına bu kısıtlamalar uygulanmaz.

Hayır

Çözüm: Anahtar deposu adı kısıtlamaları

Anahtar deposu adlarını kontrol edin ve gerekirse desteklenmeyen karakterleri kaldırmak için adları güncelleyin.

Bir API proxy'si için dağıtılan birden çok temel yol

Özet İstemci tarafında değişiklik yapılmasını gerektirir mi? Çözüm

API proxy'sinin birden fazla düzeltmesi bir ortamda dağıtılır ve her düzeltmenin farklı bir temel yolu vardır.

Apigee Edge ile Apigee X arasındaki fark:

Apigee Edge Apigee X
Her düzeltmenin farklı bir temel yola sahip olabileceği API proxy'si birden fazla düzeltmesinin dağıtımını destekler. Proxy'nin farklı temel yolları olmasına rağmen bir API proxy'sinin birden fazla düzeltmesinin dağıtımını desteklemez.
Hayır

Çözüm: API proxy'si için dağıtılan birden çok temel yol

Tüm paketleri, temel yol ne olursa olsun bir ortama paketin yalnızca bir düzeltmesinin dağıtılacağı şekilde güncelleyin.

Uyumlu olmayan HTTP mesajları

Özet İstemci tarafında değişiklik yapılmasını gerektirir mi? Çözüm

İstemciler veya API Proxy'si, HTTP standardına uymayan mesajlar (istekler veya yanıtlar) gönderir. Örneğin, geçersiz üst bilgi adları, bazı kısıtlanmış başlıklarda yinelenenler vb.

API yürütmenizde aşağıdaki hatalardan biri veya daha fazlası varsa Apigee X'e geçiş yapamazsınız:

  • 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
Evet, olabilir.

Çözüm: Uyumlu olmayan HTTP iletileri

Apigee'ye taşıma işleminden önce HTTP protokollerindeki hataları düzeltmeniz gerekir. Hata bir istemci uygulamasından kaynaklanıyorsa istemci uygulamasının geliştiricisinden sorunu düzeltmesini istemeniz gerekir.

OAuth 2.0 jetonu geçerlilik süresi geçersiz

Özet İstemci tarafında değişiklik yapılmasını gerektirir mi? Çözüm

OAuth 2.0 jetonu süre sonu sınırları, belirlenen aralığın dışında.

Apigee Edge ile Apigee X arasındaki fark:

Apigee Edge Apigee X
Şu anda OAuth 2.0 jetonu geçerlilik süresiyle ilgili herhangi bir kısıtlama uygulanmamaktadır ancak zorunlu kılma planlanmaktadır. Sınırlar sayfasının OAuth bölümündeki yönergelere bakın. OAuth 2.0 için bir erişim jetonu ayarlamanız ve jetonun geçerlilik süresini yenilemeniz gerekir. Desteklenen aralıklar şunlardır:
  • 180 saniye <= OAuth 2.0 erişim jetonu geçerlilik süresi <= 30 gün
  • 1 gün <= OAuth 2.0 yenileme jetonu geçerlilik süresi <= 2 yıl
Hayır

Çözüm: OAuth 2.0 jeton geçerlilik süresi geçersiz

OAuthV2 politikasını kullanıp <ExpiresIn> ve <RefreshTokenExpiresIn> ürünlerinde geçerlilik bitiş zamanını belirtin.

Ürün sınırları aşıldı

Özet İstemci tarafında değişiklik yapılmasını gerektirir mi? Çözüm

Apigee Edge yapılandırması, tanımlanan ürün sınırlarıyla uyumlu değil. Apigee Edge'de belgelenen ancak zorunlu kılınmayan bazı ürün sınırları Apigee X'te de uygulanır.

Hayır

Çözüm: Ürün sınırları aşıldı

Apigee X'e geçmeden önce ürün sınırlarını aşan tüm kullanımları düzeltin.

Hem uç nokta hem de yol hedefi bağlantı belirteçleriyle ServiceCall politikaları

Özet İstemci tarafında değişiklik yapılmasını gerektirir mi? Çözüm

ServiceDescription politikasında <LocalTargetConnection> öğesi, ya <APIProxy> ve <ProxyEndpoint> öğelerini ya da <Path> öğesini içermeli ancak ikisini birden içermemelidir. Daha fazla bilgi için <LocalTargetConnection> öğesine bakın.

Apigee Edge bu gereksinimi belgelese de uygulamaz. Apigee X her iki yapılandırmada da bir <LocalTargetConnection> ile karşılaşırsa işlemeyi durdurur.

Hayır

Çözüm: Hem uç nokta hem de yol hedefi bağlantı belirteçleriyle ServiceCall politikaları

ServiceDescription politika yapılandırmalarını kontrol edin ve uyumlu olmayan <LocalTargetConnection> yapılandırmalarını ortadan kaldırın.

Hedef sunucu adı kısıtlamaları

Özet İstemci tarafında değişiklik yapılmasını gerektirir mi? Çözüm

Apigee X hedef sunucu adları yalnızca harf, sayı, kısa çizgi ve nokta içerebilir. Uç hedef sunucusu adları için bu kısıtlamalar uygulanmaz.

Hayır

Çözüm: Hedef sunucu adı kısıtlamaları

Hedef sunucu adlarını kontrol edin ve gerekirse desteklenmeyen karakterleri kaldırarak adları güncelleyin.

Sanal ana makinede deneme sertifikası

Özet İstemci tarafında değişiklik yapılmasını gerektirir mi? Çözüm

Bir veya daha fazla sanal ana makine, Apigee tarafından sağlanan "ücretsiz deneme" sertifikasını kullanıyor. Bu, sanal ana makinenin ORG-ENV.apigee.net gibi alanlardaki isteklere yanıt vermesine neden olur.

Apigee Edge ile Apigee X arasındaki fark:

Apigee Edge Apigee X
"Varsayılan" sanal ana makineyi, ORG-ENV.apigee.net biçimindeki alan adını destekleyecek şekilde otomatik olarak yapılandırır. Bu alan adlarında TLS'ye izin veren ve "ücretsiz deneme sertifikası" olarak bilinen bir joker karakter sertifikası vardır. ORG-ENV.apigee.net biçimindeki eski Apigee alanları Apigee X'te kullanılamaz. Kendi alan adınızı yapılandırmanız ve sertifikaları uygun şekilde sağlamanız gerekir.
Evet

Çözüm: Sanal ana makinede deneme sertifikası

Kendi alanınızı yapılandırmanız ve sertifikaların temel hazırlığını uygun şekilde yapmanız gerekir.

ORG-ENV.apigee.net formunun eski alan adına dayalı tüm istemci uygulamaları yeni alanı çağıracak şekilde değiştirilmelidir.

Çözülmemiş DNS

Özet İstemci tarafında değişiklik yapılmasını gerektirir mi? Çözüm

Hedef uç noktalarda çözümlenmemiş alan adları var.

Apigee Edge ile Apigee X arasındaki fark:

Apigee Edge Apigee X
DNS çözümlemesi başarısız olursa Apigee, alan adına .apigee.com ifadesini ekler ve DNS, 4xx yanıt koduyla başarıyla çözümlenir. DNS çözümlemesi başarısız olursa Apigee, isteği yürütmez ve 5xx yanıt kodu döndürür.
Hayır

Resolution: Unresolved DNS

Hedef uç noktayı geçerli bir alan adıyla güncelleyin.