需要帮助使用 Python 检索 Google cloudSQL 元数据和日志
Need help retrieving Google cloudSQL metadata and logs using Python
我是 Google 云的新手,想知道是否可以使用 Python.[=13 检索 cloudSQL (MySQL) 实例元数据和错误日志=]
我安装了 Google 云 SDK 和 运行 以下命令来检索元数据,我得到了详细的元数据,如 IP、区域、磁盘等。
gcloud sql instances describe my-instance-id
我需要定期检查此数据是否合规。我在 AWS 上工作过,我使用 boto3 Python 包来完成这类任务。我 googled 在 Google 中为 boto3 等价,但是 Google API 客户端的文档让我很困惑。
我还需要从 cloudSQL 实例中获取 MySQL 错误日志(以便在发现任何错误时发出警报)。
任何人都可以告诉我如何使用 google API 为 python 执行这些操作或指出正确的方向吗?
获取 SQL 实例元数据的方法如下:
import json
from googleapiclient import discovery
service = discovery.build('sqladmin', 'v1beta4')
req = service.instances().list(project="project-name")
resp = req.execute()
print(json.dumps(resp, indent=2))
归功于@AKX,在 cloud.google.com/sql/docs/mysql/admin-api/libraries#python
找到了答案
第二部分运气不好,即检索 MySQL 错误日志
这里是关于如何使用 Cloud Logging API 检索 Cloud SQL MySQL 错误日志的示例代码。为了测试我使用错误的密码登录以生成错误日志。
使用的过滤器是 sample filter in the Cloud Logging docs。
from google.cloud.logging import Client
projectName = 'your-project-here'
myFilter = 'resource.type = "cloudsql_database" AND log_id("cloudsql.googleapis.com/mysql.err")'
client = Client(project = projectName)
entries = client.list_entries(filter_ = myFilter)
for entry in entries:
print(entry)
输出片段:
我是 Google 云的新手,想知道是否可以使用 Python.[=13 检索 cloudSQL (MySQL) 实例元数据和错误日志=]
我安装了 Google 云 SDK 和 运行 以下命令来检索元数据,我得到了详细的元数据,如 IP、区域、磁盘等。
gcloud sql instances describe my-instance-id
我需要定期检查此数据是否合规。我在 AWS 上工作过,我使用 boto3 Python 包来完成这类任务。我 googled 在 Google 中为 boto3 等价,但是 Google API 客户端的文档让我很困惑。
我还需要从 cloudSQL 实例中获取 MySQL 错误日志(以便在发现任何错误时发出警报)。
任何人都可以告诉我如何使用 google API 为 python 执行这些操作或指出正确的方向吗?
获取 SQL 实例元数据的方法如下:
import json
from googleapiclient import discovery
service = discovery.build('sqladmin', 'v1beta4')
req = service.instances().list(project="project-name")
resp = req.execute()
print(json.dumps(resp, indent=2))
归功于@AKX,在 cloud.google.com/sql/docs/mysql/admin-api/libraries#python
找到了答案第二部分运气不好,即检索 MySQL 错误日志
这里是关于如何使用 Cloud Logging API 检索 Cloud SQL MySQL 错误日志的示例代码。为了测试我使用错误的密码登录以生成错误日志。
使用的过滤器是 sample filter in the Cloud Logging docs。
from google.cloud.logging import Client
projectName = 'your-project-here'
myFilter = 'resource.type = "cloudsql_database" AND log_id("cloudsql.googleapis.com/mysql.err")'
client = Client(project = projectName)
entries = client.list_entries(filter_ = myFilter)
for entry in entries:
print(entry)
输出片段: