Aracılığıyla paylaş


WebSocket API'lerini içeri aktarma

ŞUNLAR IÇIN GEÇERLIDIR: Geliştirici | Temel | Temel v2 | Standart | Standart v2 | Premium | Premium v2

API Management'ın WebSocket API çözümüyle API yayımcıları Azure portalı, Azure CLI, Azure PowerShell ve diğer Azure araçları aracılığıyla API Management'a hızla bir WebSocket API'sini ekleyebilir.

WebSocket API'leri, API Management'ın erişim denetimi ilkeleri ilk el sıkışma işlemine uygulanarak güvenli hale getirilebilir. Ayrıca Hem Azure portalında hem de geliştirici portalında API test konsollarını kullanarak WebSocket API'lerini test edebilirsiniz. Mevcut gözlemlenebilirlik özelliklerini kullanan API Management, WebSocket API'lerini izlemek ve sorunlarını gidermek için ölçümler ve günlükler sağlar.

Bu makalede şunları yapacaksınız:

  • WebSocket geçiş akışını anlama.
  • API Management örneğinize bir WebSocket API'sini ekleyin.
  • WebSocket API'nizi test edin.
  • WebSocket API'nizin ölçümlerini ve günlüklerini görüntüleyin.
  • WebSocket API'sinin sınırlamalarını öğrenin.

Önkoşullar

  • Mevcut bir API Management örneği. Henüz oluşturmadıysanız bir tane oluşturun.
  • WebSocket API'si.
  • Azure Komut Satırı Arayüzü (Azure CLI)

WebSocket doğrudan geçiş

API Management, WebSocket geçişini destekler.

WebSocket geçiş akışının görsel çizimi

WebSocket geçişi sırasında, istemci uygulaması API Management ağ geçidiyle bir WebSocket bağlantısı kurar ve ardından ilgili arka uç hizmetleriyle bir bağlantı kurar. ARDıNDAN API Management, WebSocket istemci-sunucu iletilerini proxy'ler.

  1. İstemci uygulaması ağ geçidine bir WebSocket el sıkışma isteği göndererek onHandshake işlemini çağırma
  2. API Management ağ geçidi yapılandırılmış ilkeler uygular ve WebSocket el sıkışma isteklerini ilgili arka uç hizmetine gönderir.
  3. Arka uç hizmeti bir bağlantıyı WebSocket'e yükseltir.
  4. Ağ geçidi, karşılık gelen WebSocket bağlantısını yükselter.
  5. Bağlantı çifti oluşturulduktan sonra, API Management aracıları istemci uygulaması ve arka uç hizmeti arasında ileri geri iletiler gönderir.
  6. İstemci uygulaması ağ geçidine bir ileti gönderir.
  7. Ağ geçidi iletiyi arka uç hizmetine iletir.
  8. Arka uç hizmeti ağ geçidine bir ileti gönderir.
  9. Ağ geçidi iletiyi istemci uygulamasına iletir.
  10. İki tarafın da bağlantısı kesildiğinde API Management ilgili bağlantıyı sonlandırır.

Uyarı

İstemci tarafı ve arka uç tarafı bağlantıları bire bir eşlemeden oluşur.

"onHandshake operasyonu"

WebSocket protokolüne göre, bir istemci uygulaması arka uç hizmetiyle WebSocket bağlantısı kurmaya çalıştığında, ilk olarak bir açma el sıkışma isteği gönderir. API Management'taki her WebSocket API'sinde bir onHandshake işlemi vardır. onHandshake sabit, taşınamaz, otomatik olarak oluşturulan bir sistem işlemidir. onHandshake işlemi, API yayımcılarının bu el sıkışma isteklerine müdahale etmelerini ve API Management ilkelerini uygulamalarını sağlar.

onHandshake ekran örneği

WebSocket API'sini ekleme

    1. Azure portalında API Management örneğine gidin.
  1. Sol menüde API'ler> Ekle'yi seçin.

  2. Yeni API tanımla'nın altında WebSocket'i seçin.

  3. İletişim kutusunda Tam'ı seçin ve gerekli form alanlarını doldurun.

    Alan Açıklama
    Ekran adı WebSocket API'nizin görüntülendiği ad.
    İsim WebSocket API'sinin ham adı. Görüntüleme adını yazarken otomatik olarak doldurulur.
    WebSocket URL'si Websocket adınızı içeren temel URL. Örneğin: ws://example.com/your-socket-name
    URL düzeni Varsayılan değeri kabul edin
    API URL'si soneki Bu API Management örneğinde bu API'yi tanımlamak için bir URL son eki ekleyin. Bu API Management örneğinde benzersiz olmalıdır.
    Ürünler Yayımlamak için WebSocket API'nizi bir ürünle ilişkilendirin.
    Ağ geçitleri WebSocket API'nizi mevcut ağ geçitleriyle ilişkilendirin.
  4. Oluştur’a tıklayın.

WebSocket API'nizi test edin

  1. WebSocket API'nize gidin.

  2. WebSocket API'nizde onHandshake işlemini seçin.

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

  4. İsteğe bağlı olarak, WebSocket el sıkışması için gereken sorgu dizesi parametrelerini sağlayın.

    test API'si örneği

  5. Bağlan'a tıklayın.

  6. Çıkış'ta bağlantı durumunu görüntüleyin.

  7. Payload alanına değer girin.

  8. Gönder'e tıklayın.

  9. Alınan iletileri Çıkış'ta görüntüleyin.

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

  11. Test tamamlandığında Bağlantıyı Kes'i seçin.

Ölçümleri ve günlükleri görüntüleme

WebSocket API'lerini izlemek için standart API Management ve Azure İzleyici özelliklerini kullanın:

  • Azure İzleyici'de API ölçümlerini görüntüleme
  • İsteğe bağlı olarak, WebSocket API işlemlerini veya WebSocket bağlantı günlüklerini içeren API Management ağ geçidi günlüklerini toplamak ve görüntülemek için tanılama ayarlarını etkinleştirin

Örneğin, aşağıdaki ekran görüntüsünde ApiManagementGatewayLogs tablosundaki kodla 101 en son WebSocket API yanıtları gösterilmektedir. Bu sonuçlar, isteklerin TCP'den WebSocket protokolüne başarılı bir şekilde geçişini gösterir.

WebSocket API istekleri için sorgu günlükleri

Sınırlamalar

API Management'ta WebSocket desteğinin geçerli kısıtlamaları şunlardır:

  • WebSocket API'leri henüz Tüketim katmanında desteklenmemektedir.
  • WebSocket API'leri, iletiler için şu geçerli arabellek türlerini destekler: Close, BinaryFragment, BinaryMessage, UTF8Fragment ve UTF8Message.
  • Şu anda, set-header ilkesi, onHandshake isteklerindeki Host gibi belirli iyi bilinen header'ların değiştirilmesini desteklememektedir.
  • WebSocket arka ucuyla TLS el sıkışması sırasında API Management, sunucu sertifikasına güvenildiğini ve konu adının konak adıyla eşleşip eşleşmediğini doğrular. HTTP API'leri ile API Management, sertifikanın güvenilir olduğunu doğrular ancak konak adı ve konu eşleşmesini doğrulamaz.

WebSocket bağlantı sınırları için API Management sınırlarına bkz.

Desteklenmeyen ilkeler

Aşağıdaki ilkeler tarafından desteklenmez ve onHandshake işlemine uygulanamaz:

  • Sahte yanıt
  • Önbellekten alma
  • Önbelleğe almak için depola
  • Etki alanları arası çağrılara izin ver
  • Kaynaklar Arası Paylaşım (CORS)
  • JSONP
  • İstek yöntemini ayarlama
  • Gövdeyi ayarla
  • XML'yi JSON'a dönüştür
  • JSON'u XML'ye dönüştür
  • XSLT kullanarak XML'i dönüştürme
  • İçeriği doğrulama
  • Parametreleri doğrulama
  • Başlıkları doğrula
  • Durum kodunu doğrulama

Uyarı

İlkeleri daha yüksek kapsamlar altında (örneğin, küresel veya ürün) uyguladıysanız ve bir WebSocket API'si tarafından politika yoluyla devralındıysa, çalışma zamanı sırasında atlanırlar.