Partager via


Envoyer un message Service Bus

S’APPLIQUE À : Développeur | De base | Standard | Prime

La send-service-bus-message stratégie envoie un message à une file d’attente ou une rubrique Azure Service Bus. La requête API peut éventuellement être transférée au service backend.

Note

Note

Définissez les éléments de stratégie et les éléments enfants dans l’ordre fourni dans la déclaration de politique. En savoir plus sur comment définir ou modifier des stratégies du service Gestion des API.

Déclaration de politique

<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

Caractéristique Descriptif Obligatoire Par défaut
queue-name Spécifie le nom de la file d’attente Service Bus à laquelle envoyer le message. Les expressions de stratégie et les valeurs nommées sont autorisées. queue-name Soit topic-name doit être spécifié. Non N/A
topic-name Spécifie le nom de la rubrique Service Bus à laquelle envoyer le message. Les expressions de stratégie et les valeurs nommées sont autorisées. queue-name Soit topic-name doit être spécifié. Non N/A
namespace Spécifie le nom de domaine complet de l’espace de noms Service Bus. Les expressions de stratégie et les valeurs nommées sont autorisées. Non N/A
client-id Spécifie l’ID client de l’identité managée affectée par l’utilisateur pour s’authentifier auprès de Service Bus. L’identité doit être affectée au rôle Expéditeur de données Azure Service Bus. Les expressions de stratégie et les valeurs nommées sont autorisées. Par défaut, l’identité affectée par le système est utilisée. Non N/A

Elements

Élément Descriptif Obligatoire
payload Spécifie la charge utile du message à envoyer au service bus. Les expressions de stratégie et les valeurs nommées sont autorisées. Oui
message-properties Collection de message-property sous-éléments qui spécifient les métadonnées à transmettre avec la charge utile du message. Chacun message-property se compose d’une paire nom-valeur. Les expressions de stratégie et les valeurs nommées sont autorisées. Non

Usage

Notes d’utilisation

  • Vous devez précréer la file d’attente ou la rubrique Azure Service Bus qui reçoit un message.
  • Cette stratégie peut être utilisée plusieurs fois par définition de stratégie.

Examples

Envoyer un message à une file d’attente Service Bus

Dans cet exemple, un message composé du corps de la demande est envoyé à une file d’attente Service Bus. L’instance Gestion des API utilise une identité affectée par l’utilisateur pour l’accès. La requête est ensuite transférée au service principal.

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

Envoyer un message à une rubrique Service Bus

Dans cet exemple, un message composé du corps de la demande est envoyé à une rubrique Service Bus. L’instance Gestion des API utilise une identité affectée par le système pour l’accès. La requête est ensuite transférée au service principal.

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

Envoyer un message et des métadonnées

Dans cet exemple, un message composé du corps de la demande est envoyé à une rubrique Service Bus et une propriété de message est définie pour envoyer des métadonnées avec la charge utile. L’instance Gestion des API utilise une identité affectée par le système pour l’accès. La requête est ensuite transférée au service principal.

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

Envoyer un message et retourner immédiatement

Dans cet exemple, un message composé du corps de la demande est envoyé à une rubrique Service Bus. L’instance Gestion des API utilise une identité affectée par le système pour l’accès. Un 201 code d’état de réponse est ensuite retourné immédiatement à l’appelant.

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

Pour plus d’informations sur l’utilisation des stratégies, consultez :