Google Cloud Logging:使用V2 API搜索v1条目?

时间:2016-03-17 19:16:21

标签: google-cloud-platform google-cloud-logging

我目前正在通过google-fluentd将日志写入云记录,这很棒。现在我想过滤和检索这些条目。 google-fluentd代理使用v1 API编写v1格式条目。

从我收集的内容来看,v1 API没有检索条目的方法(v1beta3.projects.logs.entries只暴露了'write'方法。这是真的吗?

v2 API公开了条目的列表方法(v2beta1.entries.list),但它似乎无法返回v1条目。

我难以置信,不可能以某种方式检索v1条目(毕竟网络控制台会这样做)。有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

(我在Google上进行云记录工作)

v1和v2 API存储&检索相同的基础数据,因此您可以使用使用v1 API编写的v2 API读回条目。 Cloud Logging将自动在LogEntry表示之间进行转换。

您可能无法使用v2 API读取条目,因为某些LogEntry字段的命名方式不同,filter请求中的entries.list字段需要v2样式的字段名称。< / p>

例如,从&#34; syslog&#34;回读最近的条目;项目ID中的日志流&#34; myproject&#34;你可以发出这样的API请求:

POST https://logging.googleapis.com/v2beta1/entries:list
{
  "filter": "logName=projects/myproject/logs/syslog",
  "orderBy": "timestamp desc",
  "pageSize": 1,
  "projectIds": ["myproject"]
}

Cloud SDK中的gcloud beta logging read命令对于试验请求和查看返回的条目的结构也很有用。您可以传递--log-http标志,让它向您显示它发出的HTTP请求,并--format=json以JSON而不是YAML获取输出。