Изменить триггер в Serverless Containers
Вы можете изменить все параметры, кроме типа триггера и запускаемого ресурса.
Примечание
Изменения применятся в течение пяти минут.
- В консоли управления
перейдите в каталог, в котором находится триггер. - Откройте сервис Serverless Containers.
- На панели слева выберите
Триггеры. - Выберите триггер, параметры которого хотите изменить.
- В правом верхнем углу страницы нажмите Редактировать.
- Измените параметры триггера и нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы узнать имя или уникальный идентификатор триггера, получите список триггеров в каталоге.
-
Посмотрите описание команды CLI для обновления параметров триггера:
yc serverless trigger update <тип_триггера> --help
-
Измените параметры триггера, например переименуйте его:
yc serverless trigger update <тип_триггера> <имя_триггера> \ --new-name <новое_имя_триггера>
Результат:
id: a1s5msktijh2******** folder_id: b1gmit33hgh2******** created_at: "2022-10-24T15:19:15.353909857Z" name: my-trigger rule: object_storage: event_type: - OBJECT_STORAGE_EVENT_TYPE_CREATE_OBJECT - OBJECT_STORAGE_EVENT_TYPE_DELETE_OBJECT - OBJECT_STORAGE_EVENT_TYPE_UPDATE_OBJECT bucket_id: s3-for-trigger prefix: dev suffix: 12.jpg invoke_container: container_id: bba5jb38o8h2******** service_account_id: aje3932acdh2******** retry_settings: retry_attempts: "1" interval: 10s dead_letter_queue: queue-id: yrn:yc:ymq:ru-central1:aoek49ghmkh2********:dlq service-account-id: aje3932acdh2******** status: ACTIVE
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Откройте файл конфигурации Terraform и измените параметры ресурса
function_trigger
:resource "yandex_function_trigger" "my_trigger" { name = "<имя_таймера>" timer { cron_expression = "<cron-выражение>" payload = "<сообщение>" } container { id = "<идентификатор_контейнера>" service_account_id = "<идентификатор_сервисного_аккаунта>" retry_attempts = <количество_повторных_вызовов> retry_interval = <интервал_между_повторными_вызовами> } dlq { queue_id = "<идентификатор_очереди_DLQ>" service_account_id = "<идентификатор_сервисного_аккаунта>" } }
Где:
-
name
— имя таймера. Формат имени:- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
timer
— параметры триггера:cron_expression
— расписание вызова контейнера в формате cron-выражения.payload
— сообщение, которое будет передаваться в функцию при срабатывании таймера. Длина строки должна быть не более 4096 символов.
-
container
— параметры контейнера, который будет запускать триггер:id
— идентификатор контейнера.service_account_id
— идентификатор сервисного аккаунта с правами на вызов контейнера.
retry_attempts
— количество повторных вызовов, которые будут сделаны, прежде чем триггер отправит сообщение в Dead Letter Queue. Необязательный параметр. Допустимые значения — от 1 до 5, значение по умолчанию — 1.retry_interval
— время, через которое будет сделан повторный вызов контейнера, если текущий завершился неуспешно. Необязательный параметр. Допустимые значения — от 10 до 60 секунд, значение по умолчанию — 10 секунд.
dlq
— параметры очереди сообщений Dead Letter Queue:queue_id
— идентификатор очереди Dead Letter Queue. Необязательный параметр.service_account_id
— идентификатор сервисного аккаунта с правами на запись в очередь Dead Letter Queue. Необязательный параметр.
Более подробную информацию о параметрах ресурса
function_trigger
см. в документации провайдера . -
-
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
Проверить изменения можно в консоли управления
или с помощью команды CLI:yc serverless trigger list
-
Чтобы изменить параметры триггера, воспользуйтесь методом REST API update для ресурса Trigger или вызовом gRPC API TriggerService/Update.