您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档。 信息
版本 1.6.1
将条目写入 Cloud Logging 日志。
本文内容提供了有关配置和使用此扩展程序的参考信息。
前提条件
通过 API 代理使用此扩展程序之前,您必须完成以下操作:
在 IAM 中,向代表 Cloud Logging 系统扩展程序的项目成员分配 Logging > Logs Writer 角色。如需了解如何授予角色,请参阅为服务帐号授予特定资源的角色。 如需详细了解日志记录角色,请参阅访问权限控制指南。
此扩展程序支持通过 PostClientFlow 中的 ExtensionCallout 政策调用。
如果您想使用 ExtensionCallout 政策从 PostClientFlow 调用此扩展程序,请确保将组织中的 features.allowExtensionsInPostClientFlow
标志设置为 true
。
如果您是适用于公有云的 Apigee Edge 客户,则必须与 Apigee Edge 支持团队联系,确保贵组织中的
features.allowExtensionsInPostClientFlow
标志设置为true
。如果您是适用于私有云的 Apigee Edge 客户,请使用更新组织属性 API 将
features.allowExtensionsInPostClientFlow
标志设置为true
。
Cloud Logging 简介
Cloud Logging 是 Google Cloud 运维套件的一部分。它包含日志存储、名为日志浏览器的界面,以及以程序化方式管理日志的 API。借助 Cloud Logging,您可以读取和写入日志条目、搜索和过滤日志、导出日志以及创建基于日志的指标。
目前,Cloud Logging 扩展程序会将条目写入日志。如需了解详情,请参阅 Cloud Logging 文档。
示例
以下示例说明了如何使用 ExtensionCallout 政策配置对 Cloud Logging 扩展程序操作的支持。
全局日志
以下政策会将消息 This is a test
写入 Cloud 全球资源中名为 example-log
的日志。在实际使用中,消息可能包含在您在 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>
本文内容提供了有关如何配置和使用此扩展程序的参考信息。 如需了解使用 Apigee 控制台配置扩展程序的步骤,请参阅添加和配置扩展程序。
Action
日志
向日志写入消息。
此操作会写入 Cloud Logging 日志条目。日志条目由元数据和条目数据组成。如需详细了解日志条目,请参阅条目参考。如需了解 metadata
属性的内容,请参阅 Cloud Logging 文档中的 LogEntry 对象。
语法
<Action>log</Action>
<Input><![CDATA[{
"logName" : "cloud-log-name-to-use",
"metadata" : JSON-structured-metadata,
"message" : "data-to-log-as-entry"
}]]></Input>
示例:字符串
<Action>log</Action>
<Input><![CDATA[{
"logName" : "example-log",
"metadata" : { "resource" : { "type" : "global" } },
"message": "This is a test."
}]]></Input>
示例:JSON
<Action>log</Action>
<Input><![CDATA[{
"logName" : "example-log",
"metadata" : { "resource" : { "type" : "global" } },
"message" : { "info" : "This is a test." }
}]]></Input>
请求参数
参数 | 说明 | 类型 | 默认 | 必需 |
---|---|---|---|---|
logName |
此条目所属日志的名称。 | 字符串 | 无 | 是 |
metadata |
日志条目的相关元数据。 如需详细了解如何在 metadata 中设置 type 和 labels ,请参阅 MonitoredResource。 |
JSON | 无 | 否 |
message |
要用作此日志条目值的数据。您可以指定一个简单的字符串,也可以使用 JSON 来记录结构化程度更高的消息。 | 字符串或 JSON | 无 | 是 |
响应
如果消息已写入日志,则返回 None
。否则,该请求将返回错误。另请参阅调试扩展程序。
配置参考文档
在配置和部署此扩展程序以在 API 代理中使用时,请使用以下代码。
通用扩展属性
每个扩展程序都有以下属性。
属性 | 说明 | 默认 | 必需 |
---|---|---|---|
name |
您为扩展程序配置此名称。 | 无 | 是 |
packageName |
Apigee Edge 提供的扩展包的名称。 | 无 | 是 |
version |
配置扩展程序所用的扩展程序软件包的版本号。 | 无 | 是 |
configuration |
特定于您要添加的附加信息的配置值。请参阅此扩展程序软件包的属性 | 无 | 是 |
此扩展程序软件包的属性
为此扩展程序的以下配置属性指定值。
媒体资源 | 说明 | 默认 | 必需 |
---|---|---|---|
projectId |
应在其中创建日志的 Google Cloud 项目的 ID。 | 无 | 是 |
credentials |
在 Apigee Edge 控制台中输入时,这是服务帐号密钥文件的内容。通过 Management API 发送时,它是从服务帐号密钥文件生成的 base64 编码值。 | 无 | 是 |