Yandex Cloud
Search
Discuss with expertTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
  • Marketplace
    • Featured
    • Infrastructure & Network
    • Data Platform
    • AI for business
    • Security
    • DevOps tools
    • Serverless
    • Monitoring & Resources
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2026 Direct Cursus Technology L.L.C.
Yandex Cloud Functions
  • Comparing with other Yandex Cloud services
    • All guides
    • Getting a service account IAM token using a function
    • Connecting to managed databases from a function
      • Creating a timer
      • Creating a trigger for Message Queue
      • Creating a trigger for Object Storage
      • Creating a trigger for Container Registry
      • Creating a trigger for Cloud Logging
      • Creating a trigger for budgets
      • Creating a trigger for Data Streams
      • Creating an email trigger
    • Viewing operations with service resources
  • Tools
  • Pricing policy
  • Access management
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Public materials
  • Release notes
  • FAQ

In this article:

  • Getting started
  • Creating a trigger
  • Checking the result
  • See also
  1. Step-by-step guides
  2. Creating a trigger
  3. Creating a trigger for budgets

Creating a trigger for budgets that invokes Cloud Functions

Written by
Yandex Cloud
Updated at May 14, 2026
  • Getting started
  • Creating a trigger
  • Checking the result
  • See also

Create a trigger for budgets that invokes Cloud Functions when threshold values are exceeded.

Getting startedGetting started

To create a trigger, you will need:

  • Function the trigger will invoke. If you do not have a function:

    • Create a function.
    • Create a function version.
  • Optionally, a dead-letter queue where to redirect the messages the function failed to process. If you do not have a queue, create one.

  • Service accounts with permissions to invoke the function and, optionally, write to the dead letter queue. You can use the same service account or different ones. If you do not have a service account, create one.

  • Budget for which a trigger will fire in case it is exceeded. If you do not have a budget, create one.

Creating a triggerCreating a trigger

Note

The trigger is initiated within five minutes after it is created.

Management console
CLI
API
  1. In the management console, select the folder where you want to create a trigger.

  2. Go to Cloud Functions.

  3. In the left-hand panel, select Triggers.

  4. Click Create trigger.

  5. Under Basic settings:

    • Enter a name and description for the trigger.
    • In the Type field, select Budget.
    • In the Launched resource field, select Function.
  6. Under Budget settings, select your billing account and budget. You can select Any budget.

  7. Under Function settings, select a function and specify:

    • Function version tag.
    • Service account to use for invoking the function.
  8. Optionally, under Repeat request settings:

    • In the Interval field, specify how long to wait before retrying the function if it fails. The values may range from 10 to 60 seconds. The default value is 10 seconds.
    • In the Number of attempts field, specify the number of function retries before the trigger sends a message to the dead letter queue. The values may range from 1 to 5. The default value is 1.
  9. Optionally, under Dead Letter Queue settings, select a dead-letter queue and a service account with write permissions for that queue.

  10. Click Create trigger.

If you do not have the Yandex Cloud CLI yet, install and initialize it.

The folder used by default is the one specified when creating the CLI profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also specify a different folder for any command using --folder-name or --folder-id. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

To create a trigger that invokes a function, run this command:

yc serverless trigger create billing-budget \
  --name <trigger_name> \
  --billing-account-id <billing_account_ID> \
  --budget-id <budget_ID> \
  --invoke-function-id <function_ID> \
  --invoke-function-service-account-id <service_account_ID> \
  --retry-attempts 1 \
  --retry-interval 10s \
  --dlq-queue-id <dead-letter_queue_ID> \
  --dlq-service-account-id <service_account_ID>

Where:

  • --name: Trigger name.
  • --billing-account-id: Billing account ID.
  • --budget-id: Budget ID.
  • --invoke-function-id: Function ID.
  • --invoke-function-service-account-id: ID of the service account with permissions to invoke the function.
  • --retry-attempts: Number of invocation retries before the trigger sends a message to the dead-letter queue. This is an optional setting. The values may range from 1 to 5. The default value is 1.
  • --retry-interval: Time to wait before retrying the function if it fails. This is an optional setting. The values may range from 10 to 60 seconds. The default value is 10 seconds.
  • --dlq-queue-id: Dead-letter queue ID. This is an optional setting.
  • --dlq-service-account-id: ID of the service account with write permissions for the dead-letter queue. This is an optional setting.

Result:

id: a1sfe084v4**********
folder_id: b1g88tflru**********
created_at: "2019-12-04T08:45:31.131391Z"
name: budget-trigger
rule:
  billing-budget:
    billing-account-id: dn2char50j**********
    budget-id: dn2jnshmdlc1********
    invoke_function:
      function_id: d4eofc7n0m03********
      function_tag: $latest
      service_account_id: aje3932acd0c********
      retry_settings:
        retry_attempts: "1"
        interval: 10s
      dead_letter_queue:
        queue-id: yrn:yc:ymq:ru-central1:aoek49ghmknn********:dlq
        service-account-id: aje3932acd0c********
status: ACTIVE

To create a trigger for budgets, use the create REST API method for the Trigger resource or the TriggerService/Create gRPC API call.

Checking the resultChecking the result

Check that the trigger works correctly. To do this, view function logs that show information on invocations.

See alsoSee also

  • Creating a trigger for budgets that invokes a Serverless Containers container
  • Creating a trigger for budgets that sends messages to WebSocket connections
  • Creating a budget trigger that invokes a Cloud Functions function to stop VM instances

Was the article helpful?

Previous
Broker
Next
Creating a trigger for Data Streams
© 2026 Direct Cursus Technology L.L.C.