Updating a target
- In the management console
, go to the folder where you want to update a target. - Select Serverless Integrations.
- In the left-hand panel, click
EventRouter. - Select the bus you need.
- Navigate to the
Rules tab. - In the rule row, click
and select Edit. - Edit the target parameters.
- Click Save.
If you do not have the Yandex Cloud CLI 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
parameters.
To update a target in a rule, run the following command, specifying the name or the ID of the rule and a list of targets with parameters:
Warning
The existing targets will be completely overwritten by the ones you provide in your request.
yc serverless eventrouter rule update <rule_name_or_ID> \
--target_1 <parameter_1>=<value_1>,...,<parameter_N>=<value_N> \
--target_2 <parameter_1>=<value_1>,...,<parameter_N>=<value_N> \
...
--target_N <parameter_1>=<value_1>,...,<parameter_N>=<value_N>
Example of a command with three targets:
yc serverless eventrouter rule update my-rule \
--logging-target log-group-id=e23di6hvn5fm********,service-account-id=ajelprpohp7r******** \
--workflow-target workflow-id=dfq28ndgtojl********,service-account-id=ajelprpohp7r******** \
--function-target function-id=d4e27bc01uu7********,function-tag=$latest,service-account-id=ajelprpohp7r********
Result:
id: f66h4vmpsvoh********
bus_id: f66epjc9llqt********
folder_id: b1g681qpemb4********
cloud_id: b1gia87mbaom********
created_at: "2025-03-02T07:57:22.064950Z"
name: my-rule
targets:
- function:
function_id: d4e27bc01uu7********
service_account_id: oielprnahp7r********
batch_settings:
max_count: "1"
max_bytes: "10000"
cutoff: 60s
retry_settings:
retry_attempts: "3"
maximum_age: 600s
status: ENABLED
- logging:
log_group_id: e23di6hvn5fm********
service_account_id: aj91prpohp6q********
retry_settings:
retry_attempts: "3"
maximum_age: 600s
status: ENABLED
- workflow:
workflow_id: dfq28ndgtojl********
service_account_id: ajel4bnehp5s********
batch_settings:
max_count: "1"
max_bytes: "10000"
cutoff: 60s
retry_settings:
retry_attempts: "3"
maximum_age: 600s
status: ENABLED
status: ENABLED
With Terraform
Terraform is distributed under the Business Source License
For more information about the provider resources, see the documentation on the Terraform
If you don't have Terraform, install it and configure the Yandex Cloud provider.
-
Open the Terraform configuration file and edit the fragments describing the targets of interest.
Example of a rule description in the Terraform configuration file:
resource "yandex_serverless_eventrouter_rule" "example_rule" { bus_id = "<bus_ID>" jq_filter = "<jq_expression>" ymq { queue_arn = "<queue_ARN>" service_account_id = "<service_account_ID>" } workflow { workflow_id = "<workflow_ID>" service_account_id = "<service_account_ID>" } yds { database = "<path_to_database>" stream_name = "<stream_name>" service_account_id = "<service_account_ID>" } name = "<rule_name>" description = "<rule_description>" labels = { <key_1> = "<value_1>" <key_2> = "<value_2>" ... <key_n> = "<value_n>" } }
For more information about the
yandex_serverless_eventrouter_rule
resource parameters, see this Terraform article . -
Apply the changes:
-
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.
Terraform will create all the required resources. You can check the updates using the management console
or this CLI command:yc serverless eventrouter rule list
-
To update a target in a rule, use the Update REST API method for the Rule resource or the Rule/Update API call.