您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
版本 1.3.7
将条目写入 Stackdriver Logging 日志。
本文档提供了有关配置和使用此扩展程序的参考信息。
前提条件
在通过 API 代理使用此扩展程序之前,您必须满足以下条件:
在 IAM 中,向将代表您在 Stackdriver Logging 系统中扩展的项目成员分配 Logging > Logs Writer 和 Logging > Logs Viewer 角色。如需了解如何授予角色,请参阅为服务账号授予特定资源的角色。如需详细了解日志记录角色,请参阅访问权限控制指南。
此扩展程序支持由位于 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
。
Stackdriver Logging 简介
Stackdriver Logging 是 Google Cloud Platform (GCP) 中 Stackdriver 产品套件的一部分。它包含日志存储、名为日志查看器的界面以及采用编程方式管理日志的 API。借助 Stackdriver Logging,您可以读取和写入日志条目、搜索和过滤日志、导出日志以及创建基于日志的指标。
此扩展程序目前会将条目写入日志。如需了解详情,请参阅 Stackdriver Logging 文档。
示例
以下示例展示了如何使用 ExtensionCallout 政策配置对 Stackdriver Logging 扩展程序操作的支持。
全局日志
以下政策会将消息“This is a test”写入 Stackdriver 全局资源中名为 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>stackdriver-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
将消息写入日志。
此操作会写入 Stackdriver 日志条目。日志条目由元数据和条目数据组成。如需详细了解日志条目,请参阅条目参考文档。如需了解 metadata
属性的内容,请参阅 Stackdriver Logging 文档中的 LogEntry 对象。
语法
<Action>log</Action>
<Input><![CDATA[{
"logName" : "stackdriver-log-name-to-use",
"metadata" : JSON-structured-metadata,
"message" : "data-to-log-as-entry"
}]]></Input>
示例
<Action>log</Action>
<Input><![CDATA[{
"logName" : "stackdriver-log-name-to-use",
"metadata" : { "resource" : { "type" : "global" } },
"message" : "data-to-log-as-entry"
}]]></Input>
请求参数
参数 | 说明 | 类型 | 默认值 | 必需 |
---|---|---|---|---|
logName | 此条目所属的日志的名称。 | 字符串 | 无。 | 是。 |
元数据 | 与日志条目相关的元数据。 如需详细了解如何在 metadata 中设置 type 和 labels ,以及相关选项,请参阅 MonitoredResource。 |
JSON | 无。 | 单元编号 |
消息 | 要用作此日志条目的值的数据。 | 字符串 | 无。 | 是。 |
响应
如果消息已写入日志,则为 null。否则,请求将返回错误。另请参阅调试扩展程序。
配置参考文档
在配置和部署此扩展以在 API 代理中使用时,请使用以下内容。
常见的扩展属性
每个扩展程序都有以下属性。
属性 | 说明 | 默认 | 必需 |
---|---|---|---|
name |
您为扩展程序配置此名称。 | 无 | 是 |
packageName |
Apigee Edge 提供的扩展包的名称。 | 无 | 是 |
version |
配置扩展程序所用的扩展程序软件包的版本号。 | 无 | 是 |
configuration |
特定于您要添加的附加信息的配置值。请参阅此扩展程序软件包的属性 | 无 | 是 |
此扩展程序软件包的属性
为此扩展程序专用的以下配置属性指定值。
属性 | 说明 | 默认 | 必需 |
---|---|---|---|
projectId | 应在其中创建日志的 GCP 项目 ID。 | 无。 | 是。 |
凭据 | 在 Apigee Edge 控制台中输入此值时,系统会将服务账号密钥文件的内容显示出来。通过 Management API 发送时,此参数是从服务账号密钥文件生成的 base64 编码值。 | 无。 | 是。 |