WebSocket API'lerini içeri aktarma
ŞUNLAR IÇIN GEÇERLIDIR: Geliştirici | Temel | Temel v2 | Standart | Standart v2 | Premium
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.
JWT doğrulaması gibi mevcut erişim denetimi ilkelerini uygulayarak WebSocket API'lerinin güvenliğini sağlayabilirsiniz. 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 CLI
WebSocket geçişi
API Management, WebSocket geçişini destekler.
WebSocket geçişi sırasında istemci uygulaması API Management Ağ Geçidi ile 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.
- İstemci uygulaması APIM ağ geçidine bir WebSocket el sıkışma isteği gönderir ve onHandshake işlemini çağırır.
- APIM ağ geçidi, karşılık gelen arka uç hizmetine WebSocket el sıkışma isteği gönderir.
- Arka uç hizmeti, WebSocket'e bir bağlantı yükselter.
- APIM ağ geçidi, ilgili Bağlantıyı WebSocket'e yükselter.
- Bağlantı çifti oluşturulduktan sonra APIM, istemci uygulaması ve arka uç hizmeti arasında iletilerin aracısını oluşturur.
- İstemci uygulaması APIM ağ geçidine ileti gönderir.
- APIM ağ geçidi iletiyi arka uç hizmetine iletir.
- Arka uç hizmeti APIM ağ geçidine bir ileti gönderir.
- APIM ağ geçidi iletiyi istemci uygulamasına iletir.
- İki taraf da kesildiğinde APIM ilgili bağlantıyı sonlandırır.
Not
İstemci tarafı ve arka uç tarafı bağlantıları bire bir eşlemeden oluşur.
onHandshake işlemi
WebSocket protokolüne göre, bir istemci uygulaması arka uç hizmetiyle WebSocket bağlantısı kurmaya çalıştığında, önce 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.
WebSocket API'sini ekleme
Sol menüde API'ler>+ API Ekle'yi seçin.
Yeni API tanımla'nın altında WebSocket'i seçin.
İletişim kutusunda Tam'ı seçin ve gerekli form alanlarını doldurun.
Alan Veri Akışı Açıklaması Görünen ad WebSocket API'nizin görüntüleneceği ad. Veri Akışı Adı WebSocket API'sinin ham adı. Görünen adı 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. Son ekin bu APIM örneğinde benzersiz olması gerekir. Ü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. Oluştur’a tıklayın.
WebSocket API'nizi test edin
WebSocket API'nize gidin.
WebSocket API'nizde onHandshake işlemini seçin.
Test konsoluna erişmek için Test sekmesini seçin.
İsteğe bağlı olarak, WebSocket el sıkışması için gereken sorgu dizesi parametrelerini sağlayın.
Bağlan'a tıklayın.
Çıkış'ta bağlantı durumunu görüntüleyin.
Payload alanına değer girin.
Gönder'e tıklayın.
Alınan iletileri Çıkış'ta görüntüleyin.
Farklı yükleri test etmek için önceki adımları yineleyin.
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 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.
Sınırlamalar
Api Management'ta WebSocket desteğinin geçerli kısıtlamaları aşağıda verilmiştir:
- 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 isteklerinde üst bilgiler de dahil olmak üzere
Host
belirli iyi bilinen üst bilgilerin 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 bkz . API Management sınırları.
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
- 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
- Üst bilgileri doğrulama
- Durum kodunu doğrulama
Not
İlkeleri daha yüksek kapsamlarda (genel veya ürün) uyguladıysanız ve ilke aracılığıyla bir WebSocket API'si tarafından devralındıysa, çalışma zamanında atlanırlar.
İlgili konular
- API içeri aktarma sınırlamaları
- OpenAPI belirtimini içeri aktarma
- SOAP API’sini içeri aktarma
- SOAP API'sini içeri aktarma ve REST’e dönüştürme
- App Service API'sini içeri aktarma
- Kapsayıcı Uygulama API'sini içeri aktarma
- WebSocket API'lerini içeri aktarma
- GraphQL API’sini içeri aktarma
- GraphQL şemasını içeri aktarma ve alan çözümleyicilerini ayarlama
- Azure İşlev Uygulamalarını içeri aktarma
- Azure Mantıksal Uygulamalarını içeri aktarma
- Service Fabric hizmetlerini içeri aktarma
- Azure OpenAI API'lerini içeri aktarma
- OData API'sini içeri aktarma
- SAP OData meta verilerini içeri aktarma
- gRPC API'lerini içeri aktarma
- API’yi düzenleme