如何使用 Cloud Logging Python SDK 获取给定接收器的 writerIdentity
How to get writerIdentity for a given Sink using Cloud Logging Python SDK
我正在尝试获取给定日志路由器接收器的 writerIdentity。我可以使用 gcloud cli 获取它:gcloud logging sinks describe --format='value(writerIdentity)' <sink-name>
但出于某种原因,Python SDK 等效项(如下所示)returns None 适用于我所有的接收器:
from google.cloud import logging_v2 as logging
logging_client = logging.Client()
for i in logging_client.list_sinks():
print(i, i.name, i.writer_identity)
我是不是漏掉了什么?
我找到了 Google 关于写身份 SINK 的 gcloud 文档,它可能会帮助您获得有关如何构建命令的更多信息,但是专注于写身份的文档是:
https://cloud.google.com/logging/docs/export/configure_export_v2#gcloud_3
除了这些选项之外,还有云团队提供的 gcloud-python。虽然它似乎不是最新的 beta api,但日志记录是其中之一。
gcloud cli 命令代码:
gcloud logging sinks describe --format='value(writerIdentity)'
<SINK_NAME>
其他文档:
对于任何 运行 使用 Python SDK 检索作者身份的人来说,我错过了一个步骤。显然,在使用 Python SDK 时,我们需要重新加载接收器配置才能获得编写器身份。以下是工作解决方案:
from google.cloud import logging_v2 as logging
logging_client = logging.Client()
for i in logging_client.list_sinks():
i.reload()
print(i, i.name, i.writer_identity)
我正在尝试获取给定日志路由器接收器的 writerIdentity。我可以使用 gcloud cli 获取它:gcloud logging sinks describe --format='value(writerIdentity)' <sink-name>
但出于某种原因,Python SDK 等效项(如下所示)returns None 适用于我所有的接收器:
from google.cloud import logging_v2 as logging
logging_client = logging.Client()
for i in logging_client.list_sinks():
print(i, i.name, i.writer_identity)
我是不是漏掉了什么?
我找到了 Google 关于写身份 SINK 的 gcloud 文档,它可能会帮助您获得有关如何构建命令的更多信息,但是专注于写身份的文档是:
https://cloud.google.com/logging/docs/export/configure_export_v2#gcloud_3
除了这些选项之外,还有云团队提供的 gcloud-python。虽然它似乎不是最新的 beta api,但日志记录是其中之一。
gcloud cli 命令代码:
gcloud logging sinks describe --format='value(writerIdentity)' <SINK_NAME>
其他文档:
对于任何 运行 使用 Python SDK 检索作者身份的人来说,我错过了一个步骤。显然,在使用 Python SDK 时,我们需要重新加载接收器配置才能获得编写器身份。以下是工作解决方案:
from google.cloud import logging_v2 as logging
logging_client = logging.Client()
for i in logging_client.list_sinks():
i.reload()
print(i, i.name, i.writer_identity)