您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
版本 1.2.1
将条目写入 Stackdriver Logging 日志。
此内容提供了有关配置和使用此扩展程序的参考信息。
前提条件
在 API 代理中使用此扩展程序之前,您必须执行以下操作:
在 IAM 中,为将代表您的扩展程序与 Stackdriver Logging 系统交互的项目成员分配 Logging > Logs Writer 权限。如需查看有关如何授予角色的说明,请参阅为服务账号授予特定资源的角色。 如需详细了解 Logging 角色,请参阅访问权限控制指南。
关于 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" : "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 中设置 type 和 labels,请参阅 MonitoredResource。 |
JSON | 无。 | 否。 |
| 私信 | 用作相应日志条目值的数据。您可以指定一个简单字符串,也可以使用 JSON 记录结构更完善的消息。 | 字符串或 JSON | 无。 | 是。 |
响应
如果消息已写入日志,则为 None。否则,请求将返回错误。另请参阅调试扩展程序。
配置参考文档
在配置和部署此扩展以用于 API 代理时,请使用以下内容。
常见扩展属性
每个扩展程序都有以下属性。
| 属性 | 说明 | 默认 | 必需 |
|---|---|---|---|
name |
您为扩展程序配置此名称。 | 无 | 是 |
packageName |
Apigee Edge 提供的扩展包的名称。 | 无 | 是 |
version |
配置扩展程序所用的扩展程序软件包的版本号。 | 无 | 是 |
configuration |
特定于您要添加的附加信息的配置值。请参阅此扩展程序软件包的属性 | 无 | 是 |
相应扩展程序包的属性
为此扩展程序特有的以下配置属性指定值。
| 属性 | 说明 | 默认 | 必需 |
|---|---|---|---|
| projectId | 应在其中创建日志的 GCP 项目 ID。 | 无。 | 是。 |
| 凭证 | 在 Apigee Edge 控制台中输入时,这是服务账号密钥文件的内容。通过管理 API 发送时,它是根据服务账号密钥文件生成的 base64 编码值。 | 无。 | 是。 |