Delen via


Service Bus-bericht verzenden

VAN TOEPASSING OP: Ontwikkelaar | Basic | Standaard | Premie

Het send-service-bus-message beleid verzendt een bericht naar een Azure Service Bus-wachtrij of -onderwerp.

Opmerking

Opmerking

Stel de elementen en onderliggende elementen van het beleid in volgens de volgorde die in de beleidsverklaring is opgegeven. Meer informatie over het instellen of bewerken van API Management-beleid.

Beleidsverklaring

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

Attributes

Attribute Description Verplicht Verstek
queue-name Hiermee geeft u de naam van de service bus-wachtrij om het bericht naar te verzenden. Beleidsexpressies en benoemde waarden zijn toegestaan. queue-name Of topic-name moet worden opgegeven. Nee. N/A
topic-name Hiermee geeft u de naam op van het Service Bus-onderwerp waar het bericht naartoe moet worden verzonden. Beleidsexpressies en benoemde waarden zijn toegestaan. queue-name Of topic-name moet worden opgegeven. Nee. N/A
namespace Hiermee geeft u de volledig gekwalificeerde domeinnaam van de Service Bus-naamruimte. Beleidsexpressies en benoemde waarden zijn toegestaan. Nee. N/A
client-id Hiermee geeft u de client-id van de door de gebruiker toegewezen beheerde identiteit op voor verificatie met service bus. Aan de identiteit moet de rol Azure Service Bus-gegevenszender worden toegewezen. Beleidsexpressies en benoemde waarden zijn toegestaan. Als dit niet is opgegeven, wordt de door het systeem toegewezen identiteit gebruikt. Nee. N/A

Elements

Onderdeel Description Verplicht
payload Hiermee geeft u de nettolading van het bericht dat naar de servicebus moet worden verzonden. Beleidsexpressies en benoemde waarden zijn toegestaan. Yes
message-properties Een verzameling message-property subelementen die metagegevens opgeven die moeten worden doorgegeven met de nettolading van het bericht. Elk message-property bestaat uit een naam-waardepaar. Beleidsexpressies en benoemde waarden zijn toegestaan. Nee.

Usage

Gebruiksnotities

  • U moet vooraf de Azure Service Bus-wachtrij of het onderwerp maken dat een bericht ontvangt.
  • Dit beleid kan meerdere keren per beleidsdefinitie worden gebruikt.

Voorbeelden

Een bericht verzenden naar een servicebuswachtrij

In dit voorbeeld wordt een bericht dat bestaat uit de hoofdtekst van de aanvraag verzonden naar een servicebuswachtrij. Het API Management-exemplaar maakt gebruik van een door de gebruiker toegewezen identiteit voor toegang. De aanvraag wordt vervolgens doorgestuurd naar de back-endservice.

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

Een bericht verzenden naar een Service Bus-onderwerp

In dit voorbeeld wordt een bericht dat bestaat uit de hoofdtekst van de aanvraag verzonden naar een Service Bus-onderwerp. Het API Management-exemplaar maakt gebruik van een door het systeem toegewezen identiteit voor toegang. De aanvraag wordt vervolgens doorgestuurd naar de back-endservice.

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

Een bericht en metagegevens verzenden

In dit voorbeeld wordt een bericht dat bestaat uit de hoofdtekst van de aanvraag verzonden naar een Service Bus-onderwerp en wordt een berichteigenschap ingesteld om metagegevens met de nettolading te verzenden. Het API Management-exemplaar maakt gebruik van een door het systeem toegewezen identiteit voor toegang. De aanvraag wordt vervolgens doorgestuurd naar de back-endservice.

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

Bericht verzenden en onmiddellijk retourneren

In dit voorbeeld wordt een bericht dat bestaat uit de hoofdtekst van de aanvraag verzonden naar een Service Bus-onderwerp. Het API Management-exemplaar maakt gebruik van een door het systeem toegewezen identiteit voor toegang. Vervolgens 201 wordt er direct een antwoordstatuscode geretourneerd naar de aanroeper.

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

Zie voor meer informatie over het werken met beleid: