Updating a trigger in Serverless Containers
You can update any parameters except for the trigger type and launched resource type.
Note
Your changes will apply within five minutes.
- In the management console
, select the folder containing your trigger. - Open Serverless Containers.
- In the left-hand panel, select
Triggers. - Select the trigger whose parameters you want to update.
- In the top-right corner of the page, click Edit.
- Edit the trigger parameters and click Save.
If you do not have the Yandex Cloud command line interface yet, install and initialize it.
The folder specified in the CLI profile is used by default. You can specify a different folder using the --folder-name
or --folder-id
parameter.
To find out the name or unique ID of a trigger, get a list of triggers in the folder.
-
See the description of the CLI command for updating trigger parameters:
yc serverless trigger update <trigger_type> --help
-
Update the trigger parameters, e.g., rename it:
yc serverless trigger update <trigger_type> <trigger_name> \ --new-name <new_trigger_name>
Result:
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
For more information about the provider resources, see the documentation on the Terraform
If you change the configuration files, Terraform automatically detects which part of your configuration is already deployed, and what should be added or removed.
If you don't have Terraform, install it and configure the Yandex Cloud provider.
-
Open the Terraform configuration file and update the parameters of the
function_trigger
resource:resource "yandex_function_trigger" "my_trigger" { name = "<timer_name>" timer { cron_expression = "<cron_expression>" payload = "<message>" } container { id = "<container_ID>" service_account_id = "<service_account_ID>" retry_attempts = <number_of_retry_attempts> retry_interval = <interval_between_retry_attempts> } dlq { queue_id = "<dead-letter_queue_ID>" service_account_id = "<service_account_ID>" } }
Where:
-
name
: Timer name. The name format is as follows:- The name must be from 3 to 63 characters long.
- It may contain lowercase Latin letters, numbers, and hyphens.
- The first character must be a letter and the last character cannot be a hyphen.
-
timer
: Trigger parameters:cron_expression
: Container invocation schedule specified as a cron expression.payload
: Message that will be sent to the function if the timer fires. The string length must not exceed 4,096 characters.
-
container
: Settings for the container that will be activated by the trigger:id
: Container ID.service_account_id
: ID of the service account with rights to invoke the container.
retry_attempts
: Number of invocation retries before the trigger moves a message to the dead letter queue. This is an optional parameter. The values may range from 1 to 5. The default value is 1.retry_intervall
: Time to retry invoking the container if the current attempt fails. This is an optional parameter. The values may range from 10 to 60 seconds. The default value is 10 seconds.
dlq
: Dead-letter queue message parameters:queue_id
: Dead-letter queue ID. This is an optional parameter.service_account_id
: ID of the service account with write permissions to the dead-letter queue. This is an optional parameter.
For more information about the
function_trigger
resource parameters, see the provider documentation . -
-
Create resources:
-
In the terminal, change to the folder where you edited the configuration file.
-
Make sure the configuration file is correct using the command:
terraform validate
If the configuration is correct, the following message is returned:
Success! The configuration is valid.
-
Run the command:
terraform plan
The terminal will display a list of resources with parameters. No changes are made at this step. If the configuration contains errors, Terraform will point them out.
-
Apply the configuration changes:
terraform apply
-
Confirm the changes: type
yes
in the terminal and press Enter.
You can check the update using the management console
or this CLI command:yc serverless trigger list
-
To update parameters of a trigger, use the update REST API method for the Trigger resource or the TriggerService/Update gRPC API call.