Anahtar/değer çiftleriyle çalışma

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Verileri çalışma zamanında almak üzere depolamak istediğiniz zamanlar olabilir (süresi dolmamış veriler) kodu API proxy mantığınıza sabit bir şekilde kodlanmamalıdır. Anahtar/değer eşlemeleri (KVM'ler) bunun için idealdir. CEVAP KVM, şifrelenmiş veya şifrelenmemiş anahtar/değer Dize çiftlerinin özel bir koleksiyonudur. Aşağıda iki örnek verilmiştir:

Diğer kalıcılık türleri hakkında bilgi edinmek için Önbelleğe alma ve kalıcılık ekleme.

KVM senaryoları

KVM'lerin kullanışlı olduğu bazı durumlar şunlardır:

  • Testte bir hedef (veya Hizmet Çağrısı) URL'sini çağırması gereken bir API proxy'niz var ortamına ve başka bir hedef URL'ye sahip olması gerekir. URL'leri doğrudan proxy kullanıyorsanız, proxy'nin hangi ortamda olduğunu tespit etmesini, ilgili anahtarı çalıştırmasını Değer Eşlemesi İşlemleri politikasını uygulayabilir ve kullandığınız KVM'lerin birinden doğru hedef URL'yi oluşturuldu. Daha sonra hedeflerinizden biri veya her ikisi de değişirse KVM'leri yeni URL'ler. Proxy yeni değerleri alır ve proxy'nin yeniden dağıtımı gerekmez.
  • Kimlik bilgilerini, özel anahtarları veya jetonları (ör. harici anahtarlar için jetonlar) depolamak istiyorsanız hizmetleri, OAuth jetonları oluşturmak için gereken kimlik bilgileri veya özel anahtarlar Java Çağrıları veya JavaScript'te şifreleme ya da JSON Web Token (JWT) imzalama için kullanılır. Şunun yerine: istekteki kimlik bilgilerini, anahtarları veya jetonları iletme veya bunları proxy mantığınıza sabit kodlama bunları bir KVM'de (her zaman şifrelenmiş) depolayabilir ve daha yüksek değer sağlar.

Anahtar/değer Dize çiftlerinin saklanmasının yararlı olduğu başka durumları da keşfedeceksiniz. İçinde aşağıdaki durumlarda KVM'leri kullanmayı düşünün:

  • Kodunuzdaki belirli yerler, çalışma zamanında farklı değerler gerektirir.
  • Hassas veriler, sabit kodlanmadan aktarılmalıdır.
  • Bir önbellek gibi süresi dolmayan değerleri depolamak istersiniz.

KVM'lerin kapsamı vardır

Kapsam, "bir KVM'nin bulunduğu yer" anlamına gelir. KVM'ler aşağıdaki kapsamlarda oluşturulabilir: organization, environment ve apiproxy.

Örneğin, KVM'de yalnızca bir API proxy'si veri gerektiriyorsa KVM'yi apiproxy kapsamına girer. Burada, verilere yalnızca bu API proxy'si erişebilir.

Ya da test ortamınızdaki tüm API proxy'lerinin bir anahtar/değer eşlemesine erişmesini Bu durumda ortam kapsamında bir anahtar/değer eşlemesi oluşturursunuz. Şurada dağıtılan proxy'ler: "ürün" ortam "test" içindeki KVM'lere erişemez ortam kapsamına girersiniz. Aynı KVM'yi istiyorsanız anahtarlarının üretimde kullanılabilmesini sağlamak için "prod" kapsamındaki paralel bir KVM oluşturun bahsedeceğim.

Tüm ortamlardaki tüm proxy'lerin aynı KVM'ye erişmesini istiyorsanız KVM'yi organization kapsamı.

Şifrelenmiş KVM'ler hakkında

Şifrelenmiş KVM'ler, Apigee tarafından oluşturulan bir AES-128 şifre anahtarıyla şifrelenir. Bu işlemde şifrelemenin KVM kapsamında depolanmasını sağlar. Örneğin, bir kuruluşta ortam kapsamında oluşturduğunuz şifrelenmiş KVM'ler, aynı ortam kapsamlı kullanılarak oluşturulur. tuşuna basın.

Edge, şifrelenmiş değerlerin gösterilmesini aşağıdaki şekillerde işler. (Şifrelenmiş KVM'ler oluşturma hakkında bilgi için KVM'leri yönetme ve kullanma başlıklı makaleyi inceleyin.)

Edge kullanıcı arayüzü

Şifrelenmiş anahtar/değer çiftleri, kullanıcı arayüzünde yıldız işaretleriyle (*****) maskelenmiş değerleri gösterir. Örneğin, örnek:

Yönetim API'si

Management API'de, şifrelenmiş değerler maskelenmiş olarak döndürülür. Aşağıda örnek yönetimi verilmiştir Şifrelenmiş KVM çağrısında API yanıtı:

{
  "encrypted": true,
  "entry": [
    {
      "name": "Key1",
      "value": "*****"
    },
    {
      "name": "Key2",
      "value": "*****"
    }
  ],
  "name": "secretMap"
}

İzleme ve hata ayıklama

Anahtar Değer Eşleme İşlemleri politikasını kullandığınızda değerini almak için, ilgili kodu depolayacak bir değişkenin adını değer. Şifrelenmiş bir değer almak için "private." öğesini eklemeniz gerekir önekini değişken adı. Bu durum, KVM anahtarlarının/değerlerinin İzleme ve hata ayıklama oturumlarında görünmesini engeller.

Sınırlar

Şu kuruluşlarda: Çekirdek Kalıcı Hizmetler (CPS) etkin:

  • KVM adı/tanımlayıcısı büyük/küçük harfe duyarlıdır.
  • Anahtar boyutu 2 KB ile sınırlıdır.
  • Değer boyutu 10 KB ile sınırlıdır.

Apigee Edge for Private Cloud'da her KVM en fazla 15 MB olmalıdır (bu, anahtarların ve değerlerin birleştirilmiş boyutudur). Bu sınırı aşarsanız Private Cloud için Apigee Edge bir hata verir. KVM'lerinizin boyutunu belirlemek için şunları kullanabilirsiniz: nodetool cfstats komutunu kullanın.

Daha büyük KVM'ler performansta düşüşe neden olabilir. Sonuç olarak, büyük ve küçük boyutlu daha küçük çözümlere dönüştürmenizi öneririz.

KVM'leri yönetme ve kullanma

KVM'leri çeşitli şekillerde oluşturabilir, yönetebilir ve kullanabilirsiniz. Bu bölümde, proje yönetiminde hem şifrelenmiş hem de şifrelenmemiş KVM'leri oluşturup alma seçeneklerini sunar.

KVM oluşturma ve güncelleme

KVM'leri aşağıdaki yollarla oluşturup güncelleyebilirsiniz:

  • Anahtar/Değer Eşleme İşlemleri politikası (şifreleme yok)

    API proxy'leriniz tarafından çalışma zamanında KVM oluşturmak ve güncellemek için Anahtar/Değer Eşleme İşlemleri politikası. (Politikada, KVM’nin adını üst öğedeki mapIdentifier özelliği element.)

    <InitialEntries> öğesi, bir şablon oluşturup doldurmanıza olanak sağlar. politikayı kullanıcı arayüzünde kaydettiğinizde veya API proxy'si (çevrimdışı geliştirdiyseniz). Politikadaki değerler değişirse mevcut değerinin üzerine yazılır. Tüm yeni anahtarlar/değerler mevcut anahtar/değer çiftleri.

    Aksi takdirde <Put> öğesi yeni bir KVM oluşturur içerir ve bir veya daha fazla değere sahip bir anahtar oluşturur. KVM zaten varsa anahtar/değer çiftleri eklenir (veya anahtar zaten mevcutsa güncellenir). Tekliflerinizi otomatikleştirmek ve optimize etmek için KVM politikasında birden fazla <Put> öğesi.

  • Management API'si

    Management API'si, KVM'lerle çalışma zamanı sırasında değil, yönetici olarak çalışmak için kullanılır API proxy'lerinizde ekleyin. Örneğin, Test ortamında KVM'leri silip yeniden oluşturmak için API veya bir anahtarın değerini sıfırlamak isteyebilirsiniz bir KVM'de çalışır. (KVM'lerin çalışma zamanında manipülasyonu için Anahtar/Değer Eşleme İşlemleri politikası proxy'lerinizde).

    Key/Value Maps management API Şifrelenmiş KVM'leri ve anahtarları/değerleri şurada oluşturmanıza, güncellemenize ve silmenize olanak tanır: tüm kapsamlar (kuruluş, ortam ve apiproxy).

    Management API ile şifrelenmiş bir KVM oluşturmak için JSON yüküne "encrypted" : "true" ekleyin. KVM'leri yalnızca gerekir. Mevcut bir KVM'yi şifreleyemezsiniz.

  • Yönetim kullanıcı arayüzü

    Edge yönetim kullanıcı arayüzünde, istediğiniz zaman ortam kapsamlı KVM'ler. Bunlar, KVM'nin görünür. Yönetim kullanıcı arayüzü, API için KVM verilerini manuel olarak yönetmenin iyi bir yoludur proxy kullanabilir. Ortam anahtar/değer eşlemeleri oluşturma ve düzenleme başlıklı makaleyi inceleyin. konulu videomuzu izleyin.

KVM'leri alma

Şifrelenmiş ve şifrelenmemiş anahtar/değer eşlemelerini aynı şekilde alıyorsunuz ancak küçük bir değişiklik var. Anahtar Değer Eşleme İşlemleri politikası ile alırken.

  • Politika: <Get> öğesini Anahtar/Değer Eşleme İşlemleri politikası içe aktarmanızı sağlar. Aralarındaki küçük fark ise politika ile şifrelenmiş değerleri alma (burada "private." eklemeniz gerekir) önekini kullanın. İşlemi alma bölümü seçmemiz gerekir. Bu önek, değeri İzleme ve hata ayıklama işlemlerinden gizler oturumlarının sayısını en üst düzeye çıkarmanıza yardımcı olur.
  • Management API'si: Yönetim amacıyla Ortam anahtar/değer eşlemeleri oluşturma ve düzenleme anahtar/değer çiftleri almak için kullanılır. Örneğin, JSON tanımlarını alıp depolayarak KVM'leri yedekleme ve Management API'yi kullanma. Dikkatli olun Ancak bu şifrelenmiş değerler API yanıtında ***** olarak gösterilir.
  • Yönetim kullanıcı arayüzü: Ortam kapsamlı KVM'lerinizi yönetimde görüntüleyebilirsiniz Bunun için API'ler > Ortam Yapılandırması > Anahtar/Değer Eşlemeleri (Klasik Edge) veya Yönetici > Ortamlar > Anahtar/Değer Eşlemeleri (Yeni Kenar).

KVM örneği

Bir URL'deki değerleri doldurmak için KVM kullanmaya ilişkin bir örnek için bkz. https://community.apigee.com/questions/32727/templatize-target-url-with-kvm-by-environment.html.