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 | Einfach | Standard | Prämie
Die send-service-bus-message Richtlinie sendet eine Nachricht an eine Azure Service Bus-Warteschlange oder ein Thema. Die API-Anfrage kann optional an den Backend-Service weitergeleitet werden.
Hinweis
- Diese Richtlinie befindet sich derzeit in der Vorschau.
- Hintergrundinformationen und Voraussetzungen zum Senden von Nachrichten an Azure Service Bus finden Sie unter "Senden von Nachrichten an Azure Service Bus von Azure API Management".
Hinweis
Legen Sie die Elemente und untergeordneten Elemente einer Richtlinie in der Reihenfolge fest, die in der Richtlinienanweisung angegeben ist. Erfahren Sie mehr darüber, wie Sie API Management-Richtlinien festlegen oder bearbeiten.
Richtlinienerklärung
<send-service-bus-message queue-name="service bus queue" topic-name="service bus topic"
namespace="FQDN of service bus namespace" client-id="ID of user-assigned managed identity">
<message-properties>
<message-property name="property-name">property-value</message-property>
<!-- if there are multiple properties, then add additional message-property elements -->
</message-properties>
<payload>"message content"</payload>
</send-service-bus-message>
Attribute
| Merkmal | Description | Erforderlich | Standard |
|---|---|---|---|
queue-name |
Gibt den Namen der Servicebuswarteschlange an, an die die Nachricht gesendet werden soll. Richtlinienausdrücke und benannte Werte sind zulässig. Entweder queue-name oder topic-name muss angegeben werden. |
Nein | N/A |
topic-name |
Gibt den Namen des Servicebusthemas an, an das die Nachricht gesendet werden soll. Richtlinienausdrücke und benannte Werte sind zulässig. Entweder queue-name oder topic-name muss angegeben werden. |
Nein | N/A |
namespace |
Gibt den vollqualifizierten Domänennamen des Dienstbusnamespaces an. Richtlinienausdrücke und benannte Werte sind zulässig. | Nein | N/A |
client-id |
Gibt die Client-ID der vom Benutzer zugewiesenen verwalteten Identität an, um sich mit dem Servicebus zu authentifizieren. Der Identität muss die Azure Service Bus Data Sender-Rolle zugewiesen werden. Richtlinienausdrücke und benannte Werte sind zulässig. Wenn nichts angegeben wird, wird die vom System zugewiesene Identität verwendet. | Nein | N/A |
Elemente
| Element | Description | Erforderlich |
|---|---|---|
payload |
Gibt die Nachrichtennutzlast an, die an den Servicebus gesendet werden soll. Richtlinienausdrücke und benannte Werte sind zulässig. | Yes |
message-properties |
Eine Auflistung von message-property Unterelementen, die Metadaten angeben, die mit der Nachrichtennutzlast übergeben werden sollen. Jedes message-property besteht aus einem Namens-Wert-Paar. Richtlinienausdrücke und benannte Werte sind zulässig. |
Nein |
Usage
- Richtlinienabschnitte: eingehend, ausgehend, on-error
- Richtlinienbereiche: global, product, API, operation
- Gateways: klassisch
Verwendungshinweise
- Sie müssen die Azure Service Bus-Warteschlange oder das Thema, die eine Nachricht empfängt, vorab erstellen.
- Diese Richtlinie kann pro Richtliniendefinition mehrmals verwendet werden.
Examples
Senden einer Nachricht an eine Servicebuswarteschlange
In diesem Beispiel wird eine Nachricht, die aus dem Anforderungstext besteht, an eine Servicebuswarteschlange gesendet. Die API-Verwaltungsinstanz verwendet eine vom Benutzer zugewiesene Identität für den Zugriff. Die Anforderung wird dann an den Back-End-Dienst weitergeleitet.
<policies>
<inbound>
<send-service-bus-message queue-name="orders" client-id="00001111-aaaa-2222-bbbb-3333cccc4444" namespace="my-service-bus.servicebus.windows.net">
<payload>@(context.Request.Body.As<string>(preserveContent: true))</payload>
</send-service-bus-message>
</inbound>
<backend>
<forward-request timeout="60"/>
</backend>
</policies>
Senden einer Nachricht an ein Servicebusthema
In diesem Beispiel wird eine Nachricht, die aus dem Anforderungstext besteht, an ein Servicebusthema gesendet. Die API-Verwaltungsinstanz verwendet eine vom System zugewiesene Identität für den Zugriff. Die Anforderung wird dann an den Back-End-Dienst weitergeleitet.
<policies>
<inbound>
<send-service-bus-message topic-name="orders" namespace="my-service-bus.servicebus.windows.net">
<payload>@(context.Request.Body.As<string>(preserveContent: true))</payload>
</send-service-bus-message>
</inbound>
<backend>
<forward-request timeout="60"/>
</backend>
</policies>
Senden einer Nachricht und Metadaten
In diesem Beispiel wird eine Nachricht, die aus dem Anforderungstext besteht, an ein Servicebusthema gesendet, und eine Nachrichteneigenschaft wird so festgelegt, dass Metadaten mit der Nutzlast gesendet werden. Die API-Verwaltungsinstanz verwendet eine vom System zugewiesene Identität für den Zugriff. Die Anforderung wird dann an den Back-End-Dienst weitergeleitet.
<policies>
<inbound>
<send-service-bus-message topic-name="orders" namespace="my-service-bus.servicebus.windows.net">
<message-properties>
<message-property name="Customer">Contoso</message-property>
</message-properties>
<payload>@(context.Request.Body.As<string>(preserveContent: true))</payload>
</send-service-bus-message>
</inbound>
<backend>
<forward-request timeout="60"/>
</backend>
</policies>
Nachricht senden und sofort zurückgeben
In diesem Beispiel wird eine Nachricht, die aus dem Anforderungstext besteht, an ein Servicebusthema gesendet. Die API-Verwaltungsinstanz verwendet eine vom System zugewiesene Identität für den Zugriff. Ein 201 Antwortstatuscode wird dann sofort an den Aufrufer zurückgegeben.
<policies>
<inbound>
<send-service-bus-message topic-name="orders" namespace="my-service-bus.servicebus.windows.net">
<payload>@(context.Request.Body.As<string>(preserveContent: true))</payload>
</send-service-bus-message>
<return-response>
<set-status code="201" reason="Created!" />
</return-response>
</inbound>
</policies>
Verwandte Richtlinien
Verwandte Inhalte
Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier:
- Tutorial: Transformieren und Schützen Ihrer API
- Unter Richtlinienreferenz finden Sie eine komplette Liste der Richtlinienanweisungen und der zugehörigen Einstellungen.
- Richtlinienausdrücke
- Festlegen oder Bearbeiten von Richtlinien
- Richtlinienkonfigurationen wiederverwenden
- Repository für Richtliniencodeausschnitte
- Richtlinien-Playground-Repository
- Azure API Management-Richtlinientoolkit
- Anfordern von Copilot-Unterstützung zum Erstellen, Erläutern und Problembehandlung von Richtlinien