Google 云日志 python 脚本权限错误

Google cloud logging python script permission error

您好,我正在尝试编写一个 python 脚本来完全执行以下命令的操作:

gcloud 日志读取“logName=projects/[project_name]/logs/[id]”

所以当我 运行 来自 cli 的命令时,它不会给我任何错误,它会按预期输出日志。

但是当我 运行 我的 python 脚本时:

import argparse
import datetime  
import os
import sys
from pprint import pprint

from google.cloud import bigquery
from google.cloud import logging

assert "GOOGLE_APPLICATION_CREDENTIALS" in os.environ

def main():
    client = logging.Client()
    log_name = 'log_id'
    logger = client.logger(log_name)
    for entry in logger.list_entries():
        print(entry.payload)


if __name__ == "__main__":
    main()

我收到错误: google.api_core.exceptions.PermissionDenied: 403 调用者没有权限

我不确定在这里做什么,因为命令行 运行s,我显然有权限。 任何想法将不胜感激

我看到您正在尝试使用 Python 从 Cloud Logging 读取和显示您的日志。

根据您得到的错误代码:

error: google.api_core.exceptions.PermissionDenied: 403

我认为这是身份验证问题。我想与您分享这些文档: Python 写入、读取、删除和导出日志条目的快速入门 [1];和 GCE 实例上的身份验证 [2].


[1] https://cloud.google.com/logging/docs/quickstart-python#linux

[2] https://googleapis.dev/python/google-api-core/latest/auth.html#using-google-compute-engine