Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
- Den här principen är för närvarande i förhandsversion.
- Bakgrund och förutsättningar för att skicka meddelanden till Azure Service Bus finns i Så här skickar du meddelanden till Azure Service Bus från Azure API Management.
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-nameellertopic-namemå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-nameellertopic-namemå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-propertyunderelement som anger metadata som ska skickas med meddelandets nyttolast. Var ochmessage-propertyen består av ett namn/värde-par. Principuttryck och namngivna värden tillåts. | Nej | 
Usage
- Principavsnitt: inkommande, utgående, on-error
- Principomfattningar: global, produkt, API, åtgärd
- Gatewayer: klassisk
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>
Relaterade principer
Relaterat innehåll
Mer information om hur du arbetar med principer finns i:
- Självstudie: Transformera och skydda ditt API
- Regelningsreferens för en komplett lista över regleringsdeklarationer och deras inställningar
- Policyuttryck
- Ange eller redigera principer
- Återanvända policykonfigurationer
- Lagringsplats för principfragment
- Lagringsplats för principlekplats
- Policyverktyg för Azure API Management
- Få Hjälp med Copilot för att skapa, förklara och felsöka principer