您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
版本 2.0.2
将条目写入 Cloud Logging 日志。
此内容提供了有关配置和使用此扩展程序的参考信息。
前提条件
在 API 代理中使用此扩展程序之前,您必须执行以下操作:
在 IAM 中,为将代表您的扩展程序与 Cloud Logging 系统交互的项目成员分配 Logging > Logs Writer 角色。如需查看有关如何授予角色的说明,请参阅为服务账号授予特定资源的角色。 如需详细了解 Logging 角色,请参阅访问权限控制指南。
此扩展程序支持由位于 PostClientFlow 中的 ExtensionCallout 政策调用。如果您想使用 ExtensionCallout 政策从 PostClientFlow 调用此扩展程序,请确保贵组织的 features.allowExtensionsInPostClientFlow 标志设置为 true。
如果您是 Apigee Edge for Public Cloud 客户,则必须与 Apigee Edge 支持团队联系,以确保您组织中的
features.allowExtensionsInPostClientFlow标志设置为true。如果您是 Apigee Edge for Private Cloud 客户,请使用 Update organization properties 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 控制台配置扩展程序,请参阅添加和配置扩展程序。
操作
log
将消息写入日志。
此操作会写入 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 控制台中输入时,这是服务账号密钥文件的内容。如果使用管理 API 发送,则该值是根据服务账号密钥文件生成的 base64 编码值。 | 无 | 是 |