Trigger for Cloud Logging that sends messages to WebSocket connections
A trigger for Cloud Logging sends messages to WebSocket connections when you add entries to a log group.
A trigger for Cloud Logging requires a service account for reading from a log group and sending messages to WebSocket connections.
For more information about creating a trigger for Cloud Logging, see Creating a trigger for Cloud Logging that sends messages to WebSocket connections.
Batching
Batching settings allow you to send multiple messages to WebSocket connections in one go. They set a top limit on a message batch size and its accumulation time. For example, if the message batch size is 3, WebSocket connections can receive batches containing from 1 to 3 messages.
Roles required for the proper operation of a trigger for Cloud Logging
- To create a trigger, you need a permission for the service account under which the trigger executes the operation. This permission comes with the iam.serviceAccounts.user and editor roles or higher.
- For the trigger to fire, the service account needs the following roles:
api-gateway.websocketBroadcaster
for the folder containing the API gateway.logging.reader
for the log group that will activate the trigger when records are added to it.
Format of the message from the trigger for Cloud Logging
After the trigger fires, it will send the following message to WebSocket connections:
{
"messages":[
{
"event_metadata":{
"event_id":"2c59a567-6666-4b65-a0b0-cc12********",
"event_type":"yandex.cloud.events.serverless.triggers.LoggingMessageBatch",
"created_at":{
"seconds":1630607359,
"nanos":6794776
}
},
"details":{
"messages":[
{
"resource":{
"type":"serverless.function",
"id":"b09tm9raoev5********"
},
"timestamp":"2021-09-02 18:29:17.118082213 +0000 UTC",
"level":"INFO",
"message":"START RequestID: 085035c7-2319-40dd-bb03-fd8t******** Version: b09s5cq4b935********",
"json_payload":{
"request_id":"085035c7-2319-40dd-bb03-fdb2********",
"version_id":"b09s5cq4b935********"
}
}
]
}
}
]
}