Adding function environment variables
When you add environment variables, a new version of the function is created. You cannot add variables to an existing version.
- In the management console
, select the folder containing the function. - Select Cloud Functions.
- Select the function whose version you want to add an environment variable for.
- Go to the Editor tab.
- Under Parameters, specify the environment variable and click Add. You can add multiple environment variables.
- Click Save changes. This will create a new version of the function with the specified environment variables.
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 add environment variables, run the command:
Warning
If the previous version contained environment variables, this command overwrites them.
yc serverless function version create \
--function-name=<function_name> \
--runtime <runtime_environment> \
--entrypoint <entry_point> \
--memory 128m \
--execution-timeout 5s \
--source-version-id <version_ID> \
--environment <environment_variables>
Where:
--function-name
: Function name.--runtime
: Runtime environment.--entrypoint
: Entry point in<function_file_name>.<handler_name>
format.--memory
: Amount of RAM.--execution-timeout
: Maximum function running time before the timeout is reached.--source-version-id
: ID of the function version from which you want to copy the code.--environment
: Environment variables inkey=value
format. You can specify multiple pairs separated by commas.
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.
To add environment variables:
-
In the configuration file, add the
environment
section for theyandex_function
resource and specify the list of environment variables as<key> = "<value>"
.Example function description in the Terraform configuration:
resource "yandex_function" "test-function" { name = "test-function" description = "Test function" user_hash = "first-function" runtime = "python37" entrypoint = "main" memory = "128" execution_timeout = "10" service_account_id = "<service_account_ID>" tags = ["my_tag"] environment = { <environment_variable_key> = "<environment_variable_value>" } content { zip_filename = "<path_to_ZIP_archive>" } }
For more information about the
yandex_function
resource properties, see the provider documentation . -
Check the configuration using this command:
terraform validate
If the configuration is correct, you will get this message:
Success! The configuration is valid.
-
Run this command:
terraform plan
The terminal will display a list of resources with parameters. No changes will be made at this step. If the configuration contains any errors, Terraform will point them out.
-
Apply the configuration changes:
terraform apply
-
Confirm the changes: type
yes
into the terminal and press Enter.
You can check the new environment variables using the management console
To add environment variables, use the createVersion REST API method for the Function resource or the FunctionService/CreateVersion gRPC API call.
You can add environment variables using the Yandex Cloud Toolkit plugin