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.
- Navigate 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 CLI installed yet, install and initialize it.
By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command 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 timeout.--source-version-id: ID of the function version from which you want to copy the code.--environment: Environment variables inkey=valueformat. You can specify multiple pairs separated by commas.
With Terraform
Terraform is distributed under the Business Source License
For more information about the provider resources, see the relevant documentation on the Terraform
If you do not have Terraform yet, install it and configure the Yandex Cloud provider.
To add environment variables:
-
In the configuration file, add the
environmentsection for theyandex_functionresource and specify the list of environment variables as<key> = "<value>".Example of a 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
yandex_functionproperties, see this Terraform article. -
Check the configuration using this command:
terraform validateIf the configuration is correct, you will get this message:
Success! The configuration is valid. -
Run this command:
terraform planYou will see a detailed list of resources. No changes will be made at this step. If the configuration contains any errors, Terraform will show them.
-
Apply the changes:
terraform apply -
Confirm the changes: type
yesinto 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.