Condividi tramite


Inviare un messaggio del bus di servizio

SI APPLICA A: Sviluppatore | Basic | Standard | Premium

Il send-service-bus-message criterio invia un messaggio a una coda o a un argomento del bus di servizio di Azure. La richiesta API può essere opzionalmente inoltrata al servizio backend.

Annotazioni

Annotazioni

Impostare gli elementi e gli elementi figlio del criterio nell'ordine specificato nell'istruzione del criterio. Altre informazioni su come impostare o modificare i criteri di Gestione API.

Istruzione del criterio

<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 Obbligatorio Impostazione predefinita
queue-name Specifica il nome della coda del bus di servizio a cui inviare il messaggio. Sono consentite espressioni di criteri e valori denominati. È queue-name necessario specificare o topic-name . NO N/A
topic-name Specifica il nome dell'argomento del bus di servizio a cui inviare il messaggio. Sono consentite espressioni di criteri e valori denominati. È queue-name necessario specificare o topic-name . NO N/A
namespace Specifica il nome di dominio completo dello spazio dei nomi del bus di servizio. Sono consentite espressioni di criteri e valori denominati. NO N/A
client-id Specifica l'ID client dell'identità gestita assegnata dall'utente per l'autenticazione con il bus di servizio. All'identità deve essere assegnato il ruolo Mittente dati del bus di servizio di Azure. Sono consentite espressioni di criteri e valori denominati. Se non specificata, viene usata l'identità assegnata dal sistema. NO N/A

Elements

Elemento Description Obbligatorio
payload Specifica il payload del messaggio da inviare al bus di servizio. Sono consentite espressioni di criteri e valori denominati. Yes
message-properties Raccolta di message-property sottoelementi che specificano i metadati da passare con il payload del messaggio. Ognuno message-property è costituito da una coppia nome-valore. Sono consentite espressioni di criteri e valori denominati. NO

Usage

Note sull'utilizzo

  • È necessario creare in modo preliminare la coda o l'argomento del bus di servizio di Azure che riceve un messaggio.
  • Questi criteri possono essere usato più volte per ogni definizione di criteri.

Esempi

Inviare un messaggio a una coda del bus di servizio

In questo esempio un messaggio costituito dal corpo della richiesta viene inviato a una coda del bus di servizio. L'istanza di Gestione API usa un'identità assegnata dall'utente per l'accesso. La richiesta viene quindi inoltrata al servizio back-end.

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

Inviare un messaggio a un argomento del bus di servizio

In questo esempio viene inviato un messaggio costituito dal corpo della richiesta a un argomento del bus di servizio. L'istanza di Gestione API usa un'identità assegnata dal sistema per l'accesso. La richiesta viene quindi inoltrata al servizio back-end.

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

Inviare un messaggio e metadati

In questo esempio viene inviato un messaggio costituito dal corpo della richiesta a un argomento del bus di servizio e una proprietà del messaggio viene impostata per inviare metadati con il payload. L'istanza di Gestione API usa un'identità assegnata dal sistema per l'accesso. La richiesta viene quindi inoltrata al servizio back-end.

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

Inviare un messaggio e restituire immediatamente

In questo esempio viene inviato un messaggio costituito dal corpo della richiesta a un argomento del bus di servizio. L'istanza di Gestione API usa un'identità assegnata dal sistema per l'accesso. Un 201 codice di stato della risposta viene quindi restituito immediatamente al chiamante.

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

Per ulteriori informazioni sull'utilizzo dei criteri, vedere: