在 Amplify 應用程式中使用環境變數 - AWS Amplify 託管

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Amplify 應用程式中使用環境變數

環境變數是索引鍵/值組,您可以新增至應用程式的設定,讓它們可供 Amplify Hosting 使用。最佳實務是,您可以使用環境變數公開應用程式組態資料。您新增的所有環境變數都會加密,以防止惡意存取。

Amplify 會對您建立的環境變數強制執行下列限制。

  • Amplify 不允許您建立具有 AWS 字首的環境變數名稱。此字首僅供 Amplify 內部使用。

  • 環境變數的值不能超過 5500 個字元。

重要

請勿使用環境變數來存放秘密。對於 Gen 2 應用程式,請使用 Amplify 主控台中的秘密管理功能。如需詳細資訊,請參閱 Amplify 文件中的秘密和環境變數。對於 Gen 1 應用程式,將秘密存放在使用 AWS Systems Manager 參數存放區建立的環境秘密中。如需詳細資訊,請參閱管理環境秘密

Amplify 環境變數參考

下列環境變數預設可在 Amplify 主控台中存取。

變數名稱 描述 範例值

_BUILD_TIMEOUT

建置逾時持續時間,以分鐘為單位。

最小值為 5。

最大值為 120。

30

_LIVE_UPDATES

工具將升級至最新版本。

[{"name":"Amplify CLI","pkg":"@aws-amplify/cli","type":"npm","version":"latest"}]

USER_DISABLE_TESTS

在建置期間會略過測試步驟。您可以停用應用程式中所有分支或特定分支的測試。

此環境變數用於在建置階段執行測試的應用程式。如需設定此變數的詳細資訊,請參閱 關閉 Amplify 應用程式或分支的測試

true

AWS_APP_ID

目前建置的應用程式 ID

abcd1234

AWS_BRANCH

目前建置的分支名稱

main, develop, beta, v2.0

AWS_BRANCH_ARN

目前建置的分支 Amazon Resource Name (ARN)

aws:arn:amplify:us-west-2:123456789012:appname/branch/...

AWS_CLONE_URL

URL 用於擷取 git 儲存庫內容的複製

git@github.com:<user-name>/<repo-name>.git

AWS_COMMIT_ID

目前建置的遞交 ID

重建的「HEAD」

abcd1234

AWS_JOB_ID

目前建置的任務 ID。

這包括一些「0」的填充,因此其長度一律相同。

0000000001

AWS_PULL_REQUEST_ID

提取請求 Web 預覽組建的提取請求 ID。

使用 AWS CodeCommit 做為儲存庫提供者時,無法使用此環境變數。

1

AWS_PULL_REQUEST_SOURCE_BRANCH

Amplify 主控台中要提交至應用程式分支之提取請求預覽的功能分支名稱。

featureA

AWS_PULL_REQUEST_DESTINATION_BRANCH

Amplify 主控台中要提交特徵分支提取請求的應用程式分支名稱。

main

AMPLIFY_AMAZON_CLIENT_ID

Amazon 用戶端 ID

123456

AMPLIFY_AMAZON_CLIENT_SECRET

Amazon 用戶端秘密

example123456

AMPLIFY_FACEBOOK_CLIENT_ID

Facebook 用戶端 ID

123456

AMPLIFY_FACEBOOK_CLIENT_SECRET

Facebook 用戶端秘密

example123456

AMPLIFY_GOOGLE_CLIENT_ID

Google 用戶端 ID

123456

AMPLIFY_GOOGLE_CLIENT_SECRET

Google 用戶端秘密

example123456

AMPLIFY_DIFF_DEPLOY

啟用或停用以 diff 為基礎的前端部署。如需詳細資訊,請參閱設定以 diff 為基礎的前端建置和部署

true

AMPLIFY_DIFF_DEPLOY_ROOT

相對於儲存庫根,用於 diff 型前端部署比較的路徑。

dist

AMPLIFY_DIFF_BACKEND

啟用或停用以 diff 為基礎的後端建置。這僅適用於 Gen 1 應用程式。如需詳細資訊,請參閱 設定 Gen 1 應用程式的 diff 型後端建置

true

AMPLIFY_BACKEND_PULL_ONLY

Amplify 會管理此環境變數。這僅適用於 Gen 1 應用程式。如需詳細資訊,請參閱 編輯現有的前端以指向不同的後端

true

AMPLIFY_BACKEND_APP_ID

Amplify 會管理此環境變數。這僅適用於 Gen 1 應用程式。如需詳細資訊,請參閱 編輯現有的前端以指向不同的後端

abcd1234

AMPLIFY_SKIP_BACKEND_BUILD

如果您在建置規格中沒有後端區段,且想要停用後端建置,請將此環境變數設定為 true。這僅適用於 Gen 1 應用程式。

true

AMPLIFY_ENABLE_DEBUG_OUTPUT

將此變數設定為 ,true以在日誌中列印堆疊追蹤。這有助於偵錯後端建置錯誤。

true

AMPLIFY_MONOREPO_APP_ROOT

用來指定 monorepo 應用程式根目錄的路徑,相對於儲存庫根目錄。

apps/react-app

AMPLIFY_USERPOOL_ID

為驗證匯入的 Amazon Cognito 使用者集區的 ID

us-west-2_example

AMPLIFY_WEBCLIENT_ID

Web 應用程式要使用的應用程式用戶端 ID

應用程式用戶端必須設定為可存取 AMPLIFY_USERPOOL_ID 環境變數指定的 Amazon Cognito 使用者集區。

123456

AMPLIFY_NATIVECLIENT_ID

原生應用程式要使用的應用程式用戶端 ID

應用程式用戶端必須設定為可存取 AMPLIFY_USERPOOL_ID 環境變數指定的 Amazon Cognito 使用者集區。

123456

AMPLIFY_IDENTITYPOOL_ID

Amazon Cognito 身分集區的 ID

example-identitypool-id

AMPLIFY_PERMISSIONS_BOUNDARY_ARN

ARN IAM 政策的 可用作套用至 Amplify 建立之所有IAM角色的許可界限。

arn:aws:iam::123456789012:policy/example-policy

AMPLIFY_DESTRUCTIVE_UPDATES

將此環境變數設定為 true,以允許使用結構描述操作API更新 GraphQL,這些操作可能會導致資料遺失。

true

注意

AMPLIFY_AMAZON_CLIENT_IDAMPLIFY_AMAZON_CLIENT_SECRET環境變數是OAuth字符,而不是 AWS 存取金鑰和私密金鑰。

前端架構環境變數

如果您使用支援自己的環境變數的前端架構來開發應用程式,請務必了解這些變數與您在 Amplify 主控台中設定的環境變數不同。例如,React (字首為 REACT_APP) 和 Gatsby (字首為 GATSBY),可讓您建立執行期環境變數,讓這些架構自動綁定到前端生產建置中。若要了解使用這些環境變數來存放值的效果,請參閱您正在使用的前端架構的文件。

在這些前端架構字首環境變數內存放敏感值,例如API索引鍵,並非最佳實務,而且強烈建議不要這麼做。如需使用 Amplify 建置時間環境變數進行此作業的範例,請參閱 在建置時存取環境變數