Vous consultez la documentation Apigee Edge.
Accédez à la
documentation**Apigee X**. info
Version: 1.2.0
Publiez des messages dans un sujet du service Google Cloud Pub/Sub.
Ce contenu fournit des informations de référence pour configurer et utiliser cette extension.
Prérequis
Avant d'utiliser cette extension à partir d'un proxy d'API, vous devez :
Créer un sujet Cloud Pub/Sub, comme décrit dans Guide de démarrage rapide : Utiliser la console.
Une fois le sujet créé, accordez l'autorisation de publier dans votre sujet Cloud Pub/Sub. Par exemple, vous pouvez utiliser le rôle
roles/pubsub.publisherpour publier dans des sujets. Pour en savoir plus sur les rôles Cloud Pub/Sub, consultez la page Contrôle des accès.Utiliser la console GCP pour générer une clé pour le compte de service.
Utiliser le contenu du fichier JSON de clé obtenu lors de l'ajout et de la configuration de l'extension à l'aide de la documentation de référence sur la 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.
Exemples
Les exemples suivants illustrent comment configurer la prise en charge des actions d'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 dans 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 d'attribution de message suivante utilise la valeur de la variable stockant la réponse de l'extension pour attribuer la charge utile de la 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
publier
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ètre | Description | Type | Valeur 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 les informations suivantes 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 | Valeur par défaut | Obligatoire |
|---|---|---|---|
topic |
Sujet dans lequel publier. Obtenez cette valeur à partir du service Pub/Sub, par exemple à partir de la console GCP pour le service. Par exemple, le nom du sujet peut prendre la forme projects/GCP-PROJECT-ID/topics/TOPIC-NAME. |
Aucune. | Oui. |
credentials |
Lorsqu'il est saisi dans la console Apigee Edge, il s'agit du contenu de votre fichier de clé de compte de service. Lorsqu'il est envoyé 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. |