Trigger for Cloud Logging that invokes a Serverless Containers container
Written by
Updated at August 22, 2024
A trigger for Cloud Logging invokes a Serverless Containers container when messages are received in a log group.
A trigger for Cloud Logging needs a service account to read messages from the log group and invoke a container.
For more information about creating a trigger for Cloud Logging, see Creating a trigger for Cloud Logging that invokes a Serverless Containers container.
Batching
Batching settings allow you to simultaneously send multiple messages to a container. They set a top limit on the size of a message group and its accumulation time. For example, if the size of a message group is 3, the container can receive groups with 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:
serverless.containers.invoker
for the container that the trigger invokes.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 is activated, it sends the following message to the container:
{
"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********"
}
}
]
}
}
]
}