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: Entwickler | Basis | Standard | Premium
In diesem Artikel wird beschrieben, wie Nachrichten aus der API-Verwaltung mithilfe der richtlinienbasierten Integration an Azure Service Bus gesendet werden. Verwenden Sie die API-Verwaltung, um eine sichere und skalierbare Möglichkeit zum Senden von Nachrichten an Service Bus bereitzustellen.
Azure Service Bus ist ein vollständig verwalteter Unternehmensnachrichtendienst, der für die Entkoppelung von Anwendungen und Diensten konzipiert ist und zuverlässige Cloudnachrichten zwischen verteilten Systemen ermöglicht. Es unterstützt AMQP (Advanced Message Queuing Protocol) für Systeme zum Senden von Nachrichten an Nachrichtenwarteschlangen für 1:1-Kommunikation und Topics für Publish/Subscribe-Muster. Service Bus eignet sich ideal für Szenarien, die asynchrone Vorgänge, Lastenausgleich oder Integration in hybriden Cloudumgebungen erfordern. Weitere Informationen finden Sie in der Azure Service Bus-Dokumentation.
Mit der richtlinienbasierten Integration bietet die API-Verwaltung Folgendes:
- Sicheres REST-basiertes Messaging für externe Clients – Externe Systeme und mobile Apps, die keine native AMQP-Unterstützung haben, können Nachrichten mithilfe von standardmäßigen HTTP/REST-APIs über die API-Verwaltung an Service Bus senden. Dieser Ansatz vereinfacht die Integration und verbessert die Sicherheit, indem die Notwendigkeit von benutzerdefinierten Intermediären beseitigt wird.
- Geregelte Drittanbieterintegrationen – Unternehmen können ServiceBus-Endpunkte über die API-Verwaltung mit integrierter verwalteter Identitätsauthentifizierung verfügbar machen, wodurch sichere und feststellbare Messagingmuster für Partner und Drittanbieteranwendungen aktiviert werden.
- Fire-and-Forget-Modell – Es sind keine weiteren Backend-Dienste erforderlich, um Nachrichten an den Service Bus zu senden, was zu einfacheren Architekturen und einem reduzierten Betriebsaufwand führt.
Hinweis
- Die Integration des API-Managements mit dem Service Bus befindet sich derzeit in der Vorschau.
- Nur das Senden von Nachrichten an Service Bus wird unterstützt.
Hinweis
Diese Funktion ist derzeit in Arbeitsbereichen nicht verfügbar.
Voraussetzungen
Eine API-Verwaltungsdienstinstanz. Wenn Sie nicht über eine verfügen, lesen Sie " Erstellen einer API-Verwaltungsdienstinstanz".
Eine API-Verwaltungs-API, die zum Senden von Nachrichten an Service Bus verwendet wird.
Eine Warteschlange oder ein Thema in einem Azure Service Bus-Namespace zum Empfangen von Nachrichten. Ausführliche Schritte finden Sie in einem der folgenden Abschnitte:
- Erstellen eines Service Bus-Namespace und einer Service Bus-Warteschlange
- Erstellen eines ServiceBus-Themas und Abonnements für das Thema
Hinweis
- Wenn Sie Themen und Abonnements verwenden möchten, wählen Sie die Service Bus Standard- oder Premium-Stufe aus.
- Die Service Bus-Ressource kann sich in einem anderen Abonnement oder sogar in einem anderen Mandanten als die API-Verwaltungsressource befinden.
Berechtigungen zur Zuweisung von Rollen an eine verwaltete Identität.
Konfigurieren des Zugriffs auf den Servicebus
Um Nachrichten an den Servicebus zu senden, müssen Sie eine verwaltete Identität für Ihre API-Verwaltungsinstanz konfigurieren:
Aktivieren Sie eine vom System zugewiesene oder vom Benutzer zugewiesene verwaltete Identität für die API-Verwaltung in Ihrer API-Verwaltungsinstanz.
- Wenn Sie eine vom Benutzer zugewiesene verwaltete Identität aktivieren, notieren Sie sich die Client-ID der Identität.
Weisen Sie die Identität der Rolle des Azure Service Bus Data Senders zu, die auf den Service Bus begrenzt ist. Um die Rolle zuzuweisen, verwenden Sie das Azure-Portal oder andere Azure-Tools.
Richtlinie "send-service-bus-message" konfigurieren
Konfigurieren Sie die Richtlinie "Send-service-bus-message" , um Nachrichten an die gewünschte Warteschlange oder das gewünschte Thema zu senden.
Verwenden Sie beispielsweise die send-service-bus-message-Richtlinie im Richtlinienabschnitt "Eingehend", um den Text eines API-Anforderungskörpers zu senden, wenn das Gateway ihn empfängt:
Wechseln Sie im Azure-Portal zu Ihrer API-Verwaltungsinstanz.
Wählen Sie im linken Menü APIs aus, und wählen Sie dann die API aus, in der Sie die Richtlinie hinzufügen möchten.
Wählen Sie "Alle Vorgänge" aus.
Wählen Sie oben auf dem Bildschirm die Registerkarte " Entwurf " aus.
Wählen Sie im Fenster "Eingehende Verarbeitung " oder " Ausgehende Verarbeitung " das
</>Symbol (Code-Editor) aus. Weitere Informationen finden Sie unter Festlegen oder Bearbeiten von Richtlinien.Positionieren Sie den Cursor im
inbound- oderoutbound-Richtlinienabschnitt.Fügen Sie die
send-service-bus-messageRichtlinie zur Richtlinienkonfiguration hinzu, und konfigurieren Sie dann die Attribute und Elemente nach Bedarf.Senden Sie beispielsweise den Anforderungstext als Nachricht:
<send-service-bus-message queue-name="my-queue"> <payload>@(context.Request.Body.As<string>())</payload> </send-service-bus-message>Sie können einen beliebigen Ausdruck verwenden, der eine Zeichenfolge als Wert für das
payloadElement zurückgibt.Wählen Sie "Speichern" aus, um die aktualisierte Richtlinienkonfiguration zu speichern. Sobald Sie sie speichern, ist die Richtlinie aktiv, und Nachrichten werden an den festgelegten Servicebus gesendet.