Você está lendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X.info
Versão 1.6.1
Gravar entradas nos registros do Cloud Logging.
Este conteúdo fornece uma referência para configurar e usar essa extensão.
Pré-requisitos
Antes de usar essa extensão em um proxy de API, você precisa:
No IAM, atribua o papel Logging > Logs Writer ao membro do projeto que representará sua extensão no sistema do Cloud Logging. Para instruções sobre como conceder papéis, consulte Conceder papéis a uma conta de serviço para recursos específicos. Para mais informações sobre papéis de geração de registros, consulte o Guia de controle de acesso.
Use o Console do Google Cloud para gerar uma chave para a conta de serviço.
Use o conteúdo do arquivo JSON de chave resultante ao adicionar e configurar a extensão usando a referência de configuração.
Essa extensão oferece suporte a chamadas de uma política ExtensionCallout localizada no PostClientFlow.
Se você quiser usar a política ExtensionCallout para chamar essa extensão de um
PostClientFlow, verifique se o flag features.allowExtensionsInPostClientFlow
está definido como true na sua organização.
Se você for um cliente do Apigee Edge para nuvem pública, entre em contato com o suporte do Apigee Edge para garantir que o
features.allowExtensionsInPostClientFlowflag esteja definido comotruena sua organização.Se você for um cliente do Apigee Edge para nuvem privada, use a API Update organization properties para definir o flag
features.allowExtensionsInPostClientFlowcomotrue.
Sobre o Cloud Logging
O Cloud Logging faz parte do pacote de operações do Google Cloud. Ele inclui armazenamento para registros, uma interface do usuário chamada Logs explorer e uma API para gerenciar registros de maneira programática. Com o Cloud Logging, você pode ler e gravar entradas de registro, pesquisar e filtrar seus registros, exportá-los e criar métricas com base neles.
A extensão do Cloud Logging grava entradas no registro. Para mais informações, consulte os documentos do Cloud Logging.
Amostras
Os exemplos a seguir ilustram como configurar o suporte para ações de extensão do Cloud Logging usando a política ExtensionCallout.
Registro global
A política a seguir grava a mensagem This is a test em um registro chamado
example-log no recurso global do Cloud. No uso real, provavelmente
a mensagem estará contida em uma variável de fluxo cujo valor você definiu em outro lugar
no 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>
Este conteúdo fornece uma referência para configurar e usar essa extensão. Para conferir as etapas de configuração de uma extensão usando o console do Apigee, consulte Adicionar e configurar uma extensão.
Ações
log
Grava uma mensagem no registro.
Essa ação grava uma entrada de registro do Cloud Logging. As entradas de registro consistem em metadados
e dados de entrada. Para mais informações sobre entradas de registro, consulte a
referência de entrada.
Para informações sobre o conteúdo da propriedade metadata, consulte o objeto
LogEntry
na documentação do Cloud Logging.
Sintaxe
<Action>log</Action>
<Input><![CDATA[{
"logName" : "cloud-log-name-to-use",
"metadata" : JSON-structured-metadata,
"message" : "data-to-log-as-entry"
}]]></Input>
Exemplo: string
<Action>log</Action>
<Input><![CDATA[{
"logName" : "example-log",
"metadata" : { "resource" : { "type" : "global" } },
"message": "This is a test."
}]]></Input>
Exemplo: JSON
<Action>log</Action>
<Input><![CDATA[{
"logName" : "example-log",
"metadata" : { "resource" : { "type" : "global" } },
"message" : { "info" : "This is a test." }
}]]></Input>
Parâmetros de solicitação
| Parâmetro | Descrição | Tipo | Padrão | Obrigatório |
|---|---|---|---|---|
logName |
O nome do registro a que essa entrada pertence. | String | Nenhum | Sim |
metadata |
Metadados sobre a entrada de registro. Para mais informações e opções sobre como definir type e labels em metadata, consulte MonitoredResource. |
JSON | Nenhum | Não |
message |
Dados a serem usados como valor para essa entrada de registro. É possível especificar uma string simples ou usar JSON para registrar uma mensagem mais estruturada. | String ou JSON | Nenhum | Sim |
Resposta
None se a mensagem foi gravada no registro. Caso contrário, a solicitação retornará um erro. Consulte também Como depurar uma extensão.
Referência de configuração
Use o seguinte ao configurar e implantar essa extensão para uso em proxies de API.
Propriedades de extensão comuns
As propriedades a seguir estão presentes para cada extensão.
| Propriedade | Descrição | Padrão | Obrigatório |
|---|---|---|---|
name |
Nome que será dado a esta configuração da extensão. | Nenhum | Sim |
packageName |
Nome do pacote de extensão fornecido pelo Apigee Edge. | Nenhum | Sim |
version |
Número da versão do pacote de extensão a partir do qual você está configurando uma extensão. | Nenhum | Sim |
configuration |
Valor de configuração específico da extensão que você está adicionando. Consulte Propriedades para este pacote de extensão. | Nenhum | Sim |
Propriedades deste pacote de extensão
Especifique valores para as seguintes propriedades de configuração específicas dessa extensão.
| Propriedade | Descrição | Padrão | Obrigatório |
|---|---|---|---|
projectId |
O ID do projeto na nuvem do Google Cloud em que os registros precisam ser criados. | Nenhum | Sim |
credentials |
Quando inserido no console do Apigee Edge, esse é o conteúdo do arquivo de chave da conta de serviço. Quando enviado pela API Management, é um valor codificado em base64 gerado no arquivo de chave da conta de serviço. | Nenhum | Sim |