Dela via


Skicka Service Bus-meddelande

GÄLLER FÖR: Utvecklare | Grundläggande | Standard | Premie

Principen send-service-bus-message skickar ett meddelande till en Azure Service Bus-kö eller ett ämne.

Anmärkning

Anmärkning

Ange principens element och underordnade element i den ordning som anges i principbeskrivningen. Läs mer om hur du anger eller redigerar API Management-principer.

Principuttryck

<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 Krävs Förinställning
queue-name Anger namnet på service bus-kön som meddelandet ska skickas till. Principuttryck och namngivna värden tillåts. Antingen queue-name eller topic-name måste anges. Nej N/A
topic-name Anger namnet på det Service Bus-ämne som meddelandet ska skickas till. Principuttryck och namngivna värden tillåts. Antingen queue-name eller topic-name måste anges. Nej N/A
namespace Anger det fullständigt kvalificerade domännamnet för Service Bus-namnområdet. Principuttryck och namngivna värden tillåts. Nej N/A
client-id Anger klient-ID för den användartilldelade hanterade identiteten som ska autentiseras med Service Bus. Identiteten måste tilldelas rollen Azure Service Bus Data Sender. Principuttryck och namngivna värden tillåts. Om det inte anges används den systemtilldelade identiteten. Nej N/A

Elements

Komponent Description Krävs
payload Anger den meddelandenyttolast som ska skickas till Service Bus. Principuttryck och namngivna värden tillåts. Yes
message-properties En samling message-property underelement som anger metadata som ska skickas med meddelandets nyttolast. Var och message-property en består av ett namn/värde-par. Principuttryck och namngivna värden tillåts. Nej

Usage

Användningsanteckningar

  • Du måste skapa Azure Service Bus-kön eller ämnet som tar emot ett meddelande i förväg.
  • Den här principen kan användas flera gånger per principdefinition.

Examples

Skicka ett meddelande till en Service Bus-kö

I det här exemplet skickas ett meddelande som består av begärandetexten till en Service Bus-kö. API Management-instansen använder en användartilldelad identitet för åtkomst. Begäran vidarebefordras sedan till serverdelstjänsten.

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

Skicka ett meddelande till ett Service Bus-ämne

I det här exemplet skickas ett meddelande som består av begärandetexten till ett Service Bus-ämne. API Management-instansen använder en systemtilldelad identitet för åtkomst. Begäran vidarebefordras sedan till serverdelstjänsten.

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

Skicka ett meddelande och metadata

I det här exemplet skickas ett meddelande som består av begärandetexten till ett Service Bus-ämne och en meddelandeegenskap är inställd på att skicka metadata med nyttolasten. API Management-instansen använder en systemtilldelad identitet för åtkomst. Begäran vidarebefordras sedan till serverdelstjänsten.

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

Skicka meddelande och returnera omedelbart

I det här exemplet skickas ett meddelande som består av begärandetexten till ett Service Bus-ämne. API Management-instansen använder en systemtilldelad identitet för åtkomst. En 201 svarsstatuskod returneras sedan omedelbart till anroparen.

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

Mer information om hur du arbetar med principer finns i: