Environment variables
Environment variables are key-value pairs that are available at build time. These configurations can be anything, including the following:
-
Database connection details
-
Third-party API keys
-
Different customization parameters
-
Secrets
As a best practice, you can use environment variables to expose these configurations. All environment variables that you add are encrypted to prevent rogue access, so you can use them to store secret information.
Environment variables is visible in the Amplify Console’s App settings menu only when an app is set up for continuous deployment and connected to a git repository. For instructions on this type of deployment, see Getting started with existing code.
Set environment variables
To set environment variables
-
Sign in to the AWS Management Console and open the Amplify Console
. -
In the Amplify Console, choose App Settings, and then choose Environment variables.
-
In the Environment variables section, choose Manage variables.
-
In the Manage variables section, under Variable, enter your key. For Value, enter your value. By default, the Amplify console applies the environment variables across all branches, so you don’t have to re-enter variables when you connect a new branch.
-
(Optional) To customize an environment variable specifically for a branch, add a branch override as follows:
-
Choose Actions and then choose Add variable override.
-
You now have a set of environment variables specific to your branch.
-
-
Choose Save.
Access environment variables
To access an environment variable during a build, edit your build settings to include the environment variable in your build commands.
To edit build settings to include an environment variable
-
Sign in to the AWS Management Console and open the Amplify Console
. -
In the Amplify Console, choose App Settings, then choose Build settings.
-
In the App build specification section, choose Edit.
-
Add the environment variable to your build command. You should now be able to access your environment variable during your next build. This example changes the npm's behavior (
BUILD_ENV
) and adds an API token (TWITCH_CLIENT_ID
) for an external service to an environment file for later use:build: commands: - npm run build:$BUILD_ENV - echo "TWITCH_CLIENT_ID=$TWITCH_CLIENT_ID" >> backend/.env
Each command in your build configuration is executed inside a Bash shell. For more
information on working with environment variables in Bash, see Shell Expansions
Create a new backend environment with authentication parameters for social sign-in
To connect a branch to an app
-
Sign in to the AWS Management Console and open the Amplify Console
. -
The procedure for connecting a branch to an app varies depending on whether you are connecting a branch to a new app or an existing app.
-
Connecting a branch to a new app
-
When connecting a branch to a new app, in the Configure build settings step of the wizard, choose Create new environment, and enter the name of your backend environment. The following screenshot shows the Backend deployments section of the Amplify console with
backend
entered for the backend environment name. -
Expand the Advanced settings section in the build settings configuration wizard and add environment variables for social sign-in keys. For example,
AMPLIFY_FACEBOOK_CLIENT_SECRET
is a valid environment variable. For the list of Amplify system environment variables that are available by default, see the table in Amplify Console environment variables.
-
-
Connecting a branch to an existing app
-
If you are connecting a new branch to an existing app, set the social sign-in environment variables before connecting the branch. In the navigation pane, choose App Settings, Environment variables.
-
In the Environment variables section, choose Manage variables.
-
In the Manage variables section, for Variable (key), enter your client ID. For Value, enter your client secret. For the list of Amplify system environment variables that are available by default, see the table in Amplify Console environment variables.
-
-
Amplify Console environment variables
You can use the following environment variables that are accessible by default within the Amplify Console.
Variable name | Description | Example value |
---|---|---|
AWS_APP_ID |
The app ID of the current build |
abcd123 |
AWS_BRANCH |
The branch name of the current build |
|
AWS_BRANCH_ARN |
The branch ARN of the current build |
aws:arn:amplify:us-west-2:111122223333:appname/branch/...
|
AWS_CLONE_URL |
The clone URL used to fetch the git repository contents |
git@github.com |
AWS_COMMIT_ID |
The commit ID of the current build. “HEAD” for rebuilds |
xxxxxxxxxxxxxxxxxx |
AWS_JOB_ID |
The job ID of the current build. This includes some padding of ‘0’ so it always has the same length. |
0000000001 |
_LIVE_UPDATES |
The tool will be upgraded to the latest version. |
[{“name”:”Amplify CLI”,”pkg”:”@aws-amplify/cli”,”type”:”npm”,”version”:”latest”}] |
AMPLIFY_FACEBOOK_CLIENT_ID |
The Facebook client ID. |
123456 |
AMPLIFY_FACEBOOK_CLIENT_SECRET |
The Facebook client secret. |
example123456 |
AMPLIFY_GOOGLE_CLIENT_ID |
The Google client ID. |
123456 |
AMPLIFY_GOOGLE_CLIENT_SECRET |
The Google client secret. |
example123456 |
AMPLIFY_AMAZON_CLIENT_ID |
The Amazon client ID. |
123456 |
AMPLIFY_AMAZON_CLIENT_SECRET |
The Amazon client secret. |
example123456 |
_BUILD_TIMEOUT |
The build timeout duration in minutes. |
30 |
The AMPLIFY_AMAZON_CLIENT_ID
and
AMPLIFY_AMAZON_CLIENT_SECRET
environment variables are OAuth tokens, not
an AWS access key and secret key.