Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation sur Apigee X. info
Version 2.0.0
Écrire des entrées dans les journaux Cloud Logging
Ce contenu fournit une documentation 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:
Dans IAM, attribuez le rôle Logging > Logs Writer (Journalisation > Écrivain de journaux) au membre du projet qui représentera votre extension dans le système Cloud Logging. Pour savoir comment attribuer des rôles, consultez Attribuer des rôles à un compte de service pour des ressources spécifiques. Pour en savoir plus sur les rôles de journalisation, consultez le guide de contrôle des accès.
Générez une clé pour le compte de service à l'aide de la console Google Cloud.
Utilisez le contenu du fichier JSON de clé généré lorsque vous ajoutez et configurez l'extension à l'aide de la référence de configuration.
Cette extension peut être appelée par une règle ExtensionCallout située dans PostClientFlow.
Si vous souhaitez utiliser la règle ExtensionCallout pour appeler cette extension à partir d'un PostClientFlow, assurez-vous que l'indicateur features.allowExtensionsInPostClientFlow
est défini sur true
dans votre organisation.
Si vous êtes client Apigee Edge pour le cloud public, vous devez contacter l'assistance Apigee Edge pour vous assurer que l'indicateur
features.allowExtensionsInPostClientFlow
est défini surtrue
dans votre organisation.Si vous êtes un client Apigee Edge for Private Cloud, utilisez l'API Update organization properties (Mettre à jour les propriétés de l'organisation) pour définir l'indicateur
features.allowExtensionsInPostClientFlow
surtrue
.
À propos de Cloud Logging
Cloud Logging fait partie de la suite Google Cloud Operations. Il comporte un espace de stockage de journaux, une interface utilisateur appelée "explorateur de journaux" et une API permettant une gestion programmatique des journaux. Avec Cloud Logging, vous pouvez lire et écrire des entrées de journal, rechercher et filtrer vos journaux, les exporter et créer des métriques basées sur les journaux.
L'extension Cloud Logging écrit actuellement des entrées dans le journal. Pour en savoir plus, consultez la documentation Cloud Logging.
Exemples
Les exemples suivants montrent comment configurer la prise en charge des actions d'extension Cloud Logging à l'aide de la règle ExtensionCallout.
Journal global
La règle suivante écrit le message This is a test
dans un journal appelé example-log
dans la ressource Cloud Global. En pratique, le message sera probablement contenu dans une variable de flux dont vous définirez la valeur ailleurs dans le proxy d'API.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Logging-Extension">
<DisplayName>Logging Connector</DisplayName>
<Connector>cloud-extension-sample</Connector>
<Action>log</Action>
<Input><![CDATA[{
"logName": "example-log",
"metadata": {
"resource": {
"type": "global",
"labels": {
"project_id": "my-test"
}
}
},
"message": "This is a test."
}]]></Input>
</ConnectorCallout>
Ce contenu fournit une documentation de référence pour configurer et utiliser cette extension. Pour savoir comment configurer une extension à l'aide de la console Apigee, consultez la section Ajouter et configurer une extension.
Actions
log
Écrit un message dans le journal.
Cette action écrit une entrée de journal Cloud Logging. Les entrées de journal se composent de métadonnées et des données d'entrée. Pour en savoir plus sur les entrées de journal, consultez la documentation de référence sur les entrées.
Pour en savoir plus sur le contenu de la propriété metadata
, consultez l'objet LogEntry dans la documentation Cloud Logging.
Syntaxe
<Action>log</Action>
<Input><![CDATA[{
"logName" : "cloud-log-name-to-use",
"metadata" : JSON-structured-metadata,
"message" : "data-to-log-as-entry"
}]]></Input>
Exemple: Chaîne
<Action>log</Action>
<Input><![CDATA[{
"logName" : "example-log",
"metadata" : { "resource" : { "type" : "global" } },
"message": "This is a test."
}]]></Input>
Exemple: JSON
<Action>log</Action>
<Input><![CDATA[{
"logName" : "example-log",
"metadata" : { "resource" : { "type" : "global" } },
"message" : { "info" : "This is a test." }
}]]></Input>
Paramètres de requête
Paramètre | Description | Type | Valeur par défaut | Obligatoire |
---|---|---|---|---|
logName |
Nom du journal auquel cette entrée appartient. | Chaîne | Aucun | Oui |
metadata |
Métadonnées sur l'entrée de journal. Pour en savoir plus et découvrir les options de configuration de type et labels dans metadata , consultez MonitoredResource. |
JSON | Aucun | Non |
message |
Données à utiliser comme valeur pour cette entrée de journal. Vous pouvez spécifier une chaîne simple ou utiliser le format JSON pour consigner un message plus structuré. | Chaîne ou JSON | Aucun | Oui |
Réponse
None
si le message a été écrit dans le journal. Sinon, la requête renvoie une erreur. Consultez également Déboguer une extension.
Documentation de référence sur la configuration
Utilisez les éléments suivants 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
Spécifiez les valeurs des propriétés de configuration suivantes spécifiques à cette extension.
Propriété | Description | Par défaut | Obligatoire |
---|---|---|---|
projectId |
ID du projet Google Cloud dans lequel les journaux doivent être créés. | Aucun | Oui |
credentials |
Lorsque vous le saisissez 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. | Aucun | Oui |