Триггер для Cloud Logs
Внимание
Триггер для Cloud Logs устарел. Используйте триггер для Cloud Logging.
Триггер для Cloud Logs запускает функцию, когда в лог-группу поступают сообщения. Триггер должен находиться в одном каталоге с лог-группами, на которые он подписан.
Внимание
Триггер для Cloud Logs может пропускать сообщения при повышенной нагрузке. Чтобы не потерять их, в настройках триггера для Cloud Logs укажите DLQ и обрабатывайте сообщения из нее триггером для Message Queue.
Триггеру для Cloud Logs необходим сервисный аккаунт для вызова функции.
Батчинг
Настройки батчинга позволяют передавать в функцию сразу несколько сообщений. Эти настройки задают ограничение сверху по размеру группы сообщений и по времени ее накопления. Например, если размер группы сообщений равен 3, то в функцию могут поступать группы, в которых содержится от 1 до 3 сообщений.
Роли, необходимые для корректной работы триггера для Cloud Logs
- Для создания триггера вам необходимо разрешение на сервисный аккаунт, от имени которого триггер выполняет операцию. Это разрешение входит в роли iam.serviceAccounts.user, editor и выше.
- Для работы триггера сервисному аккаунту необходима роль
serverless.functions.invoker
на каталог с функцией, которую вызывает триггер.
Подробнее об управлении доступом.
Формат сообщения от триггера Cloud Logs
После того, как триггер сработает, он отправит в функцию сообщение следующего вида:
{
"messages": [
{
"event_metadata": {
"event_id": "564ab7ff-5890-4eca-b8ab-************",
"event_type": "yandex.cloud.events.serverless.triggers.CloudLogsMessageBatch",
"created_at": {
"seconds": 1599563113,
"nanos": 647071528
}
},
"details": {
"messages": [
{
"log_group_id": "eol1fphr************",
"log_stream_name": "log-stream-name",
"message": "message-1",
"timestamp": "2020-09-08T11:05:10Z"
},
{
"log_group_id": "eol1fphr************",
"log_stream_name": "log-stream-name",
"message": "message-2",
"timestamp": "2020-09-08T11:05:10Z"
}
]
}
}
]
}