Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
GILT FÜR: Developer | Basic | Basic v2 | Standard | Standard v2 | Premium | Premium v2
Dieser Artikel enthält Richtlinien zum Konfigurieren einer API in API Management, die vom Server gesendete Ereignisse (Server-Sent Events, SSE) implementiert. SSE basiert auf dem HTML5-Standard EventSource für das automatische Streaming (Push-Datenübertragung) von Daten über HTTP an einen Client, nachdem eine Clientverbindung hergestellt wurde.
Tipp
Die API-Verwaltung bietet auch systemeigene Unterstützung für WebSocket-APIs, die eine einzelne, persistente, bidirektionale Verbindung zwischen einem Client und server offen halten.
Voraussetzungen
- Eine bestehende API Management-Instanz. Erstellen Sie eine, falls nicht schon geschehen.
- Eine API mit SSE-Implementierung. Importieren und veröffentlichen Sie die API mithilfe einer der unterstützten Importmethoden in Ihrer API Management-Instanz.
Richtlinien für SSE
Halten Sie sich an die folgenden Richtlinien, wenn Sie API Management verwenden, um eine Back-End-API zu erreichen, von der SSE implementiert wird:
Wählen Sie eine Dienstebene für lange ausgeführte HTTP-Verbindungen aus – SSE basiert auf einer langfristig ausgeführten HTTP-Verbindung, die in bestimmten Preisstufen der API-Verwaltung unterstützt wird. Langfristige Verbindungen werden in den klassischen und v2 API Management-Tarifen unterstützt, nicht aber im Verbrauchstarif.
Halten Sie Verbindungen im Leerlauf aufrecht: Wenn sich eine Verbindung zwischen Client und Back-End ggf. vier Minuten oder länger im Leerlauf befindet, implementieren Sie einen Mechanismus, um die Verbindung aufrechtzuerhalten. Aktivieren Sie beispielsweise ein TCP-Keepalive-Signal (Transmission Control Protocol) im Back-End der Verbindung, oder senden Sie mindestens einmal pro 4 Minuten Datenverkehr von der Clientseite.
Diese Konfiguration ist erforderlich, um die Leerlaufsitzungszeitüberschreitung von 4 Minuten zu überschreiben, die von Azure Load Balancer erzwungen wird und in der API-Management-Infrastruktur verwendet wird.
Leiten Sie Ereignisse umgehend an Clients weiter: Deaktivieren Sie die Antwortpufferung in der
forward-request-Richtlinie, damit Ereignisse sofort an die Clients weitergeleitet werden. Beispiel:<forward-request timeout="120" fail-on-error-status-code="true" buffer-response="false"/>Vermeiden Sie die Verwendung anderer Richtlinien mit Antwortpufferung: Bestimmte Richtlinien (beispielsweise
validate-content) können ebenfalls Antwortinhalte puffern und sollten nicht mit APIs verwendet werden, von denen SSE implementiert wird.Vermeiden Sie die Protokollierung von Anforderungs-/Antworttext für Azure Monitor, Application Insights und Event Hubs: Sie können die API-Anforderungsprotokollierung für Azure Monitor oder Application Insights mithilfe von Diagnoseeinstellungen konfigurieren. Mit den Diagnoseeinstellungen können Sie den Anforderungs-/Antworttext in verschiedenen Phasen der Anforderungsausführung protokollieren. Bei APIs, die SSE implementieren, kann das Protokollieren des Anforderungs-/Antworttexts zu unerwarteten Puffern führen, was zu Problemen führen kann. Diagnoseeinstellungen für Azure Monitor und Application Insights, die im Bereich „Global“ oder „Alle APIs“ konfiguriert werden, gelten für alle APIs im Dienst. Sie können bei Bedarf die Einstellungen für einzelne APIs überschreiben. Bei der Protokollierung in Event Hubs konfigurieren Sie Umfang und Menge der Kontextinformationen für die Anforderungs-/Antwortprotokollierung mithilfe von log-to-eventhubs. Stellen Sie für APIs, die SSE implementieren, sicher, dass Sie die Anforderungs-/Antworttextprotokollierung für Azure Monitor, Application Insights und Event Hubs deaktivieren.
Deaktivieren Sie die Zwischenspeicherung von Antworten: Vergewissern Sie sich, dass das Zwischenspeichern von Antworten nicht aktiviert ist, um sicherzustellen, dass Benachrichtigungen den Client zeitnah erreichen. Weitere Informationen finden Sie unter Cacherichtlinien für API Management.
Testen Sie die API unter Last: Testen Sie Ihre API mithilfe allgemeiner Methoden unter Last, um Leistungs- oder Konfigurationsprobleme zu erkennen, bevor sie die API in der Produktion verwenden.
Verwandte Inhalte
- Informieren Sie sich ausführlicher über das Konfigurieren von Richtlinien in API Management.
- Weitere Informationen zur API Management-Kapazität.