Aracılığıyla paylaş


Yapay GraphQL API'sini ekleme ve alan çözümleyicilerini ayarlama

UYGULANANLAR: Tüm API Management katmanları

API Management'ta, iki modelden birine GraphQL API'sini ekleyebilirsiniz: mevcut bir GraphQL uç noktasına geçiş yapın veya bir GraphQL şemasını içeri aktarın ve özel alan çözümleyicileriyle yapay bir GraphQL API oluşturun. Daha fazla bilgi için bkz. GraphQL'e genel bakış.

Not

Şu anda bu özellik çalışma alanlarında kullanılamaz.

Bu makalede şunları yapacaksınız:

  • GraphQL şemasını Azure API Management örneğine aktarabilirsiniz.
  • Mevcut bir HTTP uç noktasını kullanarak GraphQL sorgusu için çözümleyici ayarlayın.
  • GraphQL API'nizi test edin.

Mevcut bir GraphQL uç noktasını API olarak kullanıma açmak istiyorsanız bkz. GraphQL API İçe Aktar.

Önkoşullar

  • Mevcut bir API Management örneği. Henüz oluşturmadıysanız bir tane oluşturun.
  • Uzantılı .graphql geçerli bir GraphQL şema dosyası.
  • Bu senaryo için arka uç GraphQL uç noktası isteğe bağlıdır.

API Management örneğinize gidin

  1. Azureportalında API Management hizmetleriniarayıp seçin:

    Arama sonuçlarında API Management hizmetlerini gösteren ekran görüntüsü.

  2. API Management hizmetleri sayfasında API Management örneğinizi seçin:

    API Yönetimi hizmetleri sayfasında bir API Yönetimi örneğini gösteren ekran görüntüsü.

GraphQL şeması ekleme

  1. Sol bölmedeki API'ler'in altında API'ler'i seçin.

  2. Yeni API tanımla'nın altında GraphQL kutucuğunu seçin.

    GraphQL kutucuğunu seçme işleminin ekran görüntüsü.

  3. Yazılım penceresinde Tam'ı seçin ve ardından aşağıdaki tabloda belirtildiği şekilde gerekli alanlara değerleri girin.

    GraphQL şemasından oluştur sayfasının ekran görüntüsü.

    Değer Açıklama
    Görünen ad GraphQL API'nizin görüntüleneceği ad.
    Ad GraphQL API'sinin ham adı. Görünen adı yazdıkça otomatik olarak doldurulur.
    GraphQL türü GraphQL şema dosyasından içeri aktarmak için Yapay GraphQL'i seçin.
    Geri dönüş GraphQL uç noktası İsteğe bağlı olarak GraphQL API uç noktası adına sahip bir URL girin. Api Management, bir alan için özel çözümleyici ayarlı olmadığında GraphQL sorgularını bu uç noktaya geçirir.
    Açıklama API'nizin açıklamasını ekleyin.
    URL düzeni GraphQL uç noktanızı temel alan bir düzen seçin. GraphQL API'niz abonelik türünü içeriyorsa WebSocket şeması (WS veya WSS) içeren seçeneklerden birini seçin. Varsayılan seçim HTTP(S)'dir.
    API URL’si eki API Management örneğindeki belirli API'yi tanımlamak için bir URL son eki ekleyin. API Management örneğinde benzersiz olmalıdır.
    Temel URL API temel URL'nizi görüntüleyen düzenlenemez alan.
    Etiketler İsteğe bağlı olarak GraphQL API'nizi yeni veya mevcut etiketlerle ilişkilendirin.
    Ürünler Yayımlamak için GraphQL API'nizi bir ürünle ilişkilendirin.
    Bu API'nin sürümlendirilmesi mi gerekiyor? GraphQL API'nize sürüm oluşturma şeması uygulamak için onay kutusunu seçin.
  4. Oluştur'u belirleyin.

  5. API oluşturulduktan sonra Şema sekmesinde şemayı gözden geçirin veya değiştirin.

Bir çözümleyici yapılandır

Şemadaki bir alanı var olan bir HTTP uç noktasına eşlemek için bir çözümleyici yapılandırın. Burada üst düzey adımlar verilmektedir. Ayrıntılar için bkz . GraphQL çözümleyicisini yapılandırma.

Aşağıdaki temel GraphQL şemasını içeri aktardığınız ve sorgu için users bir çözümleyici ayarlamak istediğinizi varsayalım.

type Query {
    users: [User]
}

type User {
    id: String!
    name: String!
}
  1. Sol bölmedeki API'ler'in altında API'ler'i seçin.

  2. GraphQL API'nizi seçin.

  3. Şema sekmesinde, çözümleyiciyi yapılandırmak istediğiniz nesne türündeki bir alanın şemasını gözden geçirin.

    1. Bir alan seçin ve işaretçiyi sol kenar boşluğuna getirin.

    2. Çözümleyici ekle'yi seçin.

      Portalda GraphQL çözümleyicisi ekleme işleminin ekran görüntüsü.

  4. Çözümleyici oluştur bölmesinde:

    1. İsterseniz Name özelliğini güncelleştirin, isteğe bağlı olarak bir Açıklama girin ve Tür ve Alan seçimlerini onaylayın veya güncelleştirin.
    2. Veri kaynağı'nda HTTP API'sini seçin.
  5. Çözümleyici ilkesi düzenleyicisinde, senaryonuz için öğesini alt öğelerle güncelleyin. Örneğin, aşağıdaki çözümleyici mevcut bir HTTP veri kaynağına çağrı yaparak users alanı alırGET.

        <http-data-source>
            <http-request>
                <set-method>GET</set-method>
                <set-url>https://myapi.contoso.com/users</set-url>
            </http-request>
        </http-data-source>
    

    Çözümleyiciyi portalda ilke yapılandırma işleminin ekran görüntüsü.

  6. Oluştur'u belirleyin.

  7. Şemadaki başka bir alanın verilerini çözümlemek için önceki adımları yineleyerek başka bir çözümleyici oluşturun.

İpucu

Çözümleyici ilkesini düzenlerken, şemaya göre doğrulayabileceğiniz veri kaynağı çıkışını denetlemek için Testi Çalıştır'ı seçin. Hatalar oluşursa, yanıt sorun giderme bilgilerini içerir.

GraphQL API'nizi test edin

  1. API Management örneğine gidin.

  2. Sol bölmedeki API'ler bölümünde API'ler'i seçin.

  3. Tüm API'ler'in altında GraphQL API'nizi seçin.

  4. Test konsoluna erişmek için Test sekmesini seçin.

  5. Başlıklar altında:

    1. Ad menüsünden başlığı seçin.
    2. Değer kutusuna değeri girin.
    3. Üst bilgi ekle'yi seçerek daha fazla üst bilgi ekleyin.
    4. Geri dönüşüm kutusu düğmesini kullanarak üst bilgileri silin.
  6. GraphQL API'nize bir ürün eklediyseniz, Ürün kapsamını uygula'nın altına bir ürün kapsamı ekleyin.

  7. Sorgu düzenleyicisinde aşağıdakilerden birini yapın:

    1. Düzenleyicinin sol tarafındaki menüden en az bir alan veya alt alan seçin. Seçtiğiniz alanlar ve alt alanlar sorgu düzenleyicisinde görünür.

    2. Sorgu oluşturmak için sorgu düzenleyicisinde yazmaya başlayın.

      Sorgu düzenleyicisinin ekran görüntüsü.

  8. Sorgu değişkenleri'nin altında, aynı sorguyu veya mutasyonu yeniden kullanmak ve farklı değerler geçirmek için değişkenler ekleyin.

  9. Gönder'i seçin.

  10. Yanıtı görüntüleyin.

    Test sorgusu yanıtının ekran görüntüsü.

  11. Farklı yükleri test etmek için önceki adımları yineleyin.

  12. Testi tamamladığınızda test konsolundan çıkın.

GraphQL API'nizin güvenliğini sağlama

GraphQL'e özgü saldırılara karşı korumak için hem mevcut kimlik doğrulama ve yetkilendirme ilkelerini hem de GraphQL doğrulama ilkesini uygulayarak GraphQL API'nizin güvenliğini sağlayın.