Teilen über


So senden Sie Nachrichten von Azure API Management an Azure Service Bus

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.

Diagramm der Integration der API-Verwaltung mit Service Bus für Messaging.

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

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:

  1. 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.
  2. 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:

  1. Wechseln Sie im Azure-Portal zu Ihrer API-Verwaltungsinstanz.

  2. 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.

  3. Wählen Sie "Alle Vorgänge" aus.

  4. Wählen Sie oben auf dem Bildschirm die Registerkarte " Entwurf " aus.

  5. 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.

  6. Positionieren Sie den Cursor im inbound- oder outbound-Richtlinienabschnitt.

  7. Fügen Sie die send-service-bus-message Richtlinie 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 payload Element zurückgibt.

  8. 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.