Код: Выделить всё
from google.oauth2 import service_account
from google.cloud import monitoring_v3
def build_time(isodate: str) -> int:
from datetime import datetime
utc_dt = datetime.strptime(isodate, '%Y-%m-%dT%H:%M:%S.%fZ')
return int((utc_dt - datetime(1970, 1, 1)).total_seconds())
SCOPES = [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/monitoring",
"https://www.googleapis.com/auth/monitoring.read"
]
SERVICE_ACCOUNT_FILE = '/path/to/service_account_file.json'
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
client = monitoring_v3.MetricServiceClient(credentials=credentials)
name = 'projects/MY_PROJECT_NAME'
filter = 'metric.type = "loadbalancing.googleapis.com/l4_proxy/tcp/new_connections_count"'
end_time = build_time('2024-10-22T10:40:00.000Z')
start_time = build_time('2024-10-22T10:30:00.000Z')
interval = monitoring_v3.TimeInterval({
"end_time": {"seconds": end_time},
"start_time": {"seconds": start_time},
})
request = monitoring_v3.ListTimeSeriesRequest(
name=name,
filter=filter,
interval=interval
)
try:
page_result = client.list_time_series(request=request)
except Exception as error:
print("Error happened:", error)
exit()
print(page_result)
Код: Выделить всё
google-auth==2.35.0
google-cloud-monitoring==2.23.0
Код: Выделить всё
Error happened: 403 Permission monitoring.timeSeries.list denied (or the resource may not exist).
РЕДАКТИРОВАТЬ: я запускаю это локально. Работает только локально для разработчиков.
Подробнее здесь: https://stackoverflow.com/questions/791 ... nd-jwt-aut
Мобильная версия