Estás viendo la documentación de Apigee Edge.
Ve a la
documentación de Apigee X. info
Versión 2.0.0
Escribe entradas en los registros de Cloud Logging.
En este contenido, se proporciona una referencia para configurar y usar esta extensión.
Requisitos previos
Antes de usar esta extensión desde un proxy de API, debes hacer lo siguiente:
En IAM, asigna el rol Registros > Escritor de registros al miembro del proyecto que representará tu extensión en el sistema de Cloud Logging. Para obtener instrucciones sobre cómo otorgar roles, consulta Otorga funciones a una cuenta de servicio para recursos específicos. Para obtener más información sobre los roles de registro, consulta la Guía de control de acceso.
Usa la consola de Google Cloud para generar una clave para la cuenta de servicio.
Usa el contenido del archivo JSON de clave resultante cuando agregues y configures la extensión con la referencia de configuración.
Esta extensión admite que se le llame mediante una política de ExtensionCallout ubicada en PostClientFlow.
Si deseas usar la política ExtensionCallout para llamar a esta extensión desde un PostClientFlow, asegúrate de que la marca features.allowExtensionsInPostClientFlow
esté establecida en true
en tu organización.
Si eres cliente de Apigee Edge para la nube pública, debes comunicarte con el equipo de asistencia de Apigee Edge para asegurarte de que la marca
features.allowExtensionsInPostClientFlow
esté configurada comotrue
en tu organización.Si eres cliente de Apigee Edge para una nube privada, usa la API de Actualizar las propiedades de la organización para establecer la marca
features.allowExtensionsInPostClientFlow
entrue
.
Información acerca de Cloud Logging
Cloud Logging forma parte del paquete de operaciones de Google Cloud. Incluye almacenamiento para registros, una interfaz de usuario llamada Explorador de registros y una API con la que se pueden administrar los registros de manera programática. Con Cloud Logging, puedes leer y escribir entradas de registro, buscar y filtrar tus registros, exportarlos y crear métricas basadas en registros.
Actualmente, la extensión de Cloud Logging escribe entradas en el registro. Para obtener más información, consulta los documentos de Cloud Logging.
Ejemplos
En los siguientes ejemplos, se muestra cómo configurar la compatibilidad con las acciones de extensión de Cloud Logging con la política ExtensionCallout.
Registro global
La siguiente política escribe el mensaje This is a test
en un registro llamado
example-log
en el recurso global de Cloud. En el uso real, es probable que el mensaje se contenga en una variable de flujo cuyo valor establezcas en otro lugar del proxy de 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>
En este contenido, se proporciona una referencia para configurar y usar esta extensión. Si deseas conocer los pasos para configurar una extensión con la consola de Apigee, consulta Cómo agregar y configurar una extensión.
Acciones
log
Escribe un mensaje en el registro.
Esta acción escribe una entrada de registro de Cloud Logging. Las entradas de registro consisten en metadatos y los datos de entrada. Para obtener más información sobre las entradas de registro, consulta la referencia de entradas.
Para obtener información sobre el contenido de la propiedad metadata
, consulta el objeto LogEntry en la documentación de Cloud Logging.
Sintaxis
<Action>log</Action>
<Input><![CDATA[{
"logName" : "cloud-log-name-to-use",
"metadata" : JSON-structured-metadata,
"message" : "data-to-log-as-entry"
}]]></Input>
Ejemplo: Cadena
<Action>log</Action>
<Input><![CDATA[{
"logName" : "example-log",
"metadata" : { "resource" : { "type" : "global" } },
"message": "This is a test."
}]]></Input>
Ejemplo: JSON
<Action>log</Action>
<Input><![CDATA[{
"logName" : "example-log",
"metadata" : { "resource" : { "type" : "global" } },
"message" : { "info" : "This is a test." }
}]]></Input>
parámetros de solicitud
Parámetro | Descripción | Tipo | Predeterminado | Obligatorio |
---|---|---|---|---|
logName |
Es el nombre del registro al que pertenece esta entrada. | String | Ninguno | Sí |
metadata |
Son metadatos sobre la entrada de registro. Para obtener más información y opciones sobre cómo configurar type y labels en metadata , consulta MonitoredResource. |
JSON | Ninguno | No |
message |
Datos que se usarán como valor para esta entrada de registro. Puedes especificar una cadena simple o usar JSON para registrar un mensaje más estructurado. | Cadena o JSON | Ninguno | Sí |
Respuesta
None
si el mensaje se escribió en el registro. De lo contrario, la solicitud mostrará un error. Consulta también Cómo depurar una extensión.
Referencia de la configuración
Usa lo siguiente cuando configures y, luego, implementes esta extensión para usarla en proxies de API.
Propiedades comunes de la extensión
Las siguientes propiedades están presentes para cada extensión.
Propiedad | Descripción | Predeterminado | Obligatorio |
---|---|---|---|
name |
Nombre que asignas a esta configuración de la extensión. | Ninguna | Sí |
packageName |
Nombre del paquete de extensiones proporcionado por Apigee Edge. | Ninguna | Sí |
version |
El número de versión del paquete de extensiones desde el que quieres configurar la extensión. | Ninguna | Sí |
configuration |
Es un valor de configuración específico para la extensión que agregas. Consulta Propiedades para este paquete de extensiones | Ninguna | Sí |
Propiedades de este paquete de extensión
Especifica valores para las siguientes propiedades de configuración específicas de esta extensión.
Propiedad | Descripción | Predeterminada | Obligatorio |
---|---|---|---|
projectId |
Es el ID del proyecto de Google Cloud en el que se deben crear los registros. | Ninguno | Sí |
credentials |
Cuando se ingresa en la consola de Apigee Edge, este es el contenido del archivo de claves de tu cuenta de servicio. Cuando se envía a través de la API de administración, es un valor codificado en base64 que se genera a partir del archivo de claves de la cuenta de servicio. | Ninguno | Sí |