Вы можете это сделать, но его не так просто настроить.
Во-первых, глобальный процесс (подробно здесь ):
- Выполните пользовательский запрос журнала
- Отправка журналов в PubSub topi c
- Запуск функции для сообщений PubSub
Для просмотра уровня журнала вашей организации вы не можете сделать это в консоли, вы должны выполнить это в командной строке. Вот пример
gcloud logging read --organization=YOUR_ORG_NUMBER \
'logName:"organizations/YOUR_ORG_NUMBER/logs/cloudaudit.googleapis.com"
AND timestamp>="2020-05-05T23:59:59Z"
AND timestamp<="2020-05-07T23:59:59Z"
AND severity= "NOTICE"
AND protoPayload.resourceName:"projects"
AND protoPayload.methodName="CreateProject"'
С небольшими пояснениями:
AND severity= "NOTICE"
Здесь для успешного создания только создания AND protoPayload.resourceName:"projects"
Здесь для предотвращения двойного. У вас есть первая запись как длительный ответ, а имя ресурса начинается с organizations
. Когда проект будет создан, у вас появится новая запись с project
. Конечно, только потому, что я хочу, чтобы создание прошло успешно. AND protoPayload.methodName="CreateProject"'
Потому что мы также перемещаем проект в папку и нас не волнует метод updateProject, а только его создание.
Ваша полезная нагрузка выглядит так
insertId: -13v21gdcfxy
logName: organizations/YOUR_ORG_NUMBE/logs/cloudaudit.googleapis.com%2Factivity
protoPayload:
'@type': type.googleapis.com/google.cloud.audit.AuditLog
authenticationInfo:
principalEmail: XXXXXXXXXXXXXXXXXXXXXXXXXXX
serviceAccountDelegationInfo:
- firstPartyPrincipal:
principalEmail: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
authorizationInfo:
- granted: true
permission: resourcemanager.projects.create
resource: organizations/YOUR_ORG_NUMBE
resourceAttributes: {}
methodName: CreateProject
request:
'@type': type.googleapis.com/google.cloudresourcemanager.v1.CreateProjectRequest
project:
createTime: '2020-05-06T06:41:03.605Z'
lifecycleState: ACTIVE
name: XXXXXXXXXXXXXXXX
parent:
id: 'YOUR_ORG_NUMBE'
type: organization
projectId: XXXXXXXXXXXXXXXXXXXXXX
projectNumber: 'NEW_PROJECT_NUMBER'
requestMetadata:
callerIp: 2600:1900:2001:2::19
callerSuppliedUserAgent: google-api-python-client/1.7.4 (gzip),gzip(gfe)
destinationAttributes: {}
requestAttributes: {}
resourceName: projects/XXXXXXXXXXXXXXXXX
serviceName: cloudresourcemanager.googleapis.com
status: {}
receiveTimestamp: '2020-05-06T06:41:07.346181918Z'
resource:
labels:
project_id: XXXXXXXXXXXXXXXXX
type: project
severity: NOTICE
timestamp: '2020-05-06T06:41:06.431Z'
Этот пример структуры может помочь вам ускорить разработку