您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
版本 2.0.0
将条目写入 Cloud Logging 日志。
本文档提供了有关配置和使用此扩展程序的参考信息。
前提条件
在通过 API 代理使用此扩展程序之前,您必须满足以下条件:
在 IAM 中,向将代表您在 Cloud Logging 系统中扩展的项目成员分配 Logging > Logs Writer 角色。如需了解如何授予角色,请参阅为服务账号授予特定资源的角色。如需详细了解日志记录角色,请参阅访问权限控制指南。
此扩展程序支持由位于 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>
<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 编码值。 | 无 | 是 |