Extension Google Cloud Pub/Sub

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Version: 1.2.0

Publier des messages dans un sujet dans le service Google Cloud Pub/Sub

Ce contenu fournit une documentation de référence sur la configuration et l'utilisation de cette extension.

Conditions préalables

Avant d'utiliser cette extension à partir d'un proxy d'API, vous devez:

  1. Créez un sujet Cloud Pub/Sub, comme décrit dans le Guide de démarrage rapide sur l'utilisation de la console.

  2. Une fois le sujet créé, accordez-lui l'autorisation de le publier dans votre sujet Cloud Pub/Sub. Par exemple, vous pouvez utiliser le rôle roles/pubsub.publisher pour publier dans des sujets. Pour en savoir plus sur les rôles Cloud Pub/Sub, consultez la page Contrôle des accès.

  3. Utilisez la console GCP pour générer une clé pour le compte de service.

  4. Utilisez le contenu du fichier JSON de clé obtenu lorsque vous ajoutez et configurez l'extension à l'aide des documents de référence de configuration.

À propos de Cloud Pub/Sub

Cloud Pub/Sub fournit une messagerie asynchrone de type "plusieurs à plusieurs" qui dissocie les expéditeurs et les destinataires. Cloud Pub/Sub fournit une messagerie durable à faible latence qui aide les développeurs à intégrer rapidement les systèmes hébergés sur Google Cloud Platform et en externe.

Si vous débutez avec Cloud Pub/Sub, consultez les guides de démarrage rapide dans la documentation Cloud Pub/Sub.

Samples

Les exemples suivants illustrent comment configurer la compatibilité avec les actions de l'extension Cloud Pub/Sub à l'aide de la règle ExtensionCallout.

Publier un message

Dans cet exemple, l'action publish publie un message simple dans un sujet spécifié dans la configuration de l'extension. L'action publish renvoie l'ID du message publié dans le sujet sur lequel il a été publié.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Publish-Message">
    <DisplayName>Publish Message</DisplayName>
    <Connector>cloud-pub-sub-extension-example</Connector>
    <Action>publish</Action>
    <Input><![CDATA[
      {
          "message" : "My test message."
      }
    ]]></Input>
    <Output>topic.message.id</Output>
</ConnectorCallout>

La règle Assign Message (Attribuer un message) suivante utilise la valeur de la variable stockant la réponse de l'extension pour attribuer la charge utile de réponse.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Topic-Message-ID">
    <DisplayName>Get Topic Message ID</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{topic.message.id}</Payload>
    </Set>
</AssignMessage>

Dans cet exemple, les données de réponse sont renvoyées au format JSON comme suit.

{"messageId":"165918654986954"}

Actions

publish

Publie un message dans le sujet spécifié dans la configuration de cette extension.

Syntaxe

<Action>publish</Action>
<Input><![CDATA[{
  "message" : "message-to-publish"
}]]></Input>

Exemple

<Action>publish</Action>
<Input><![CDATA[
  {
      "message" : "My test message."
  }
]]></Input>

Paramètres de requête

Paramètres Description Type Par défaut Obligatoire
message Message à publier. Chaîne Aucune Oui.

Réponse

JSON contenant l'ID du message tel qu'il a été publié dans le sujet. Exemple :

{"messageId":"165918654986954"}

Documentation de référence sur la configuration

Utilisez le code suivant lorsque vous configurez et déployez cette extension pour l'utiliser dans des proxys d'API.

Propriétés d'extension courantes

Les propriétés suivantes sont présentes pour chaque extension.

Propriété Description Par défaut Obligatoire
name Nom que vous attribuez à cette configuration de l'extension. Aucune Oui
packageName Nom du package d'extension tel qu'indiqué par Apigee Edge. Aucune Oui
version Numéro de version du package d'extension à partir duquel vous configurez une extension. Aucune Oui
configuration Valeur de configuration spécifique à l'extension que vous ajoutez. Consultez Propriétés de ce package d'extension. Aucune Oui

Propriétés de ce package d'extension

Propriété Description Par défaut Obligatoire
topic Sujet dans lequel publier. Récupérez cette valeur à partir du service Pub/Sub, par exemple depuis la console GCP du service. Par exemple, le nom du thème peut se présenter sous la forme projects/GCP-PROJECT-ID/topics/TOPIC-NAME. Aucune Oui.
credentials Une fois saisi dans la console Apigee Edge, il s'agit du contenu de votre fichier de clé de compte de service. Lorsqu'elle est envoyée via l'API de gestion, il s'agit d'une valeur encodée en base64 générée à partir du fichier de clé du compte de service. Aucune Oui.