設定執行個體的環境變數

本頁說明如何為 Cloud Run 執行個體設定環境變數。

必要的角色

如要取得設定及部署 Cloud Run 執行個體所需的權限,請要求管理員授予您下列 IAM 角色:

如需與 Cloud Run 相關聯的 IAM 角色和權限清單,請參閱「Cloud Run IAM 角色」和「Cloud Run IAM 權限」。如果 Cloud Run 執行個體與Google Cloud API (例如 Cloud 用戶端程式庫) 介接,請參閱服務身分設定指南。 如要進一步瞭解如何授予角色,請參閱「部署權限」和「管理存取權」。

設定環境變數

您可以使用 Google Cloud CLI 或 YAML,為 Cloud Run 執行個體設定環境變數:

gcloud

如要在建立執行個體時指定環境變數,請使用 --set-env-vars 旗標:

gcloud beta run instances create INSTANCE --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2

更改下列內容:

  • INSTANCE:執行個體的名稱
  • IMAGE_URL:容器映像檔的參照,例如 us-docker.pkg.dev/cloudrun/container/hello:latest
  • KEY1=VALUE1,KEY2=VALUE2:以半形逗號分隔的變數名稱和值清單

如要進一步瞭解如何設定多個環境變數或逸出特殊字元,請參閱「設定多個環境變數」。

YAML

  1. 如果您要建立新執行個體,請略過這個步驟。 如要更新現有執行個體,請下載其 YAML 設定

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. 以下範例包含 YAML 設定:

    apiVersion: run.googleapis.com/v1
    kind: Instance
    metadata:
      name: INSTANCE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      containers:
      - env:
        - name: KEY
          value: VALUE
        - name: KEY2
          value: VALUE2
        image: IMAGE

    更改下列內容:

    • INSTANCE:Cloud Run 執行個體的名稱。
    • KEYVALUE:環境變數的名稱和值。
    • IMAGE_URL:容器映像檔的參照,例如 us-docker.pkg.dev/cloudrun/container/hello:latest
  3. 使用下列指令建立或更新執行個體:

    gcloud beta run instances replace instance.yaml

在容器中設定預設環境變數

您可以在 Dockerfile 中使用 ENV 陳述式,為環境變數設定預設值:

ENV KEY1=VALUE1,KEY2=VALUE2

優先順序:容器變數與執行個體變數

如果在容器中設定預設環境變數,並在 Cloud Run 執行個體上設定同名環境變數,則執行個體上設定的值會優先採用。

設定多個環境變數

您可以使用 .env 檔案或 --set-env-vars 標記設定多個環境變數。

使用 .env 檔案設定多個環境變數

gcloud

如要從 .env 檔案指定多個環境變數,請執行下列指令:

gcloud beta run instances create INSTANCE --image IMAGE_URL --env-vars-file=ENV_FILE_PATH

更改下列內容:

  • INSTANCE:執行個體的名稱。
  • IMAGE_URL:容器映像檔的參照,例如 us-docker.pkg.dev/cloudrun/container/hello:latest
  • ENV_FILE_PATH.env 檔案的路徑。

使用 --set-env-vars 旗標設定多個環境變數

如果有多個環境變數無法以 KEY1=VALUE1,KEY2=VALUE2 格式列出,可以重複使用 --set-env-vars 旗標:
   [...]
   --set-env-vars "KEY1=VALUE1" \
   --set-env-vars "KEY2=VALUE2" \
   --set-env-vars "KEY3=VALUE3"

逸出逗號字元

由於半形逗號字元 , 用於分割環境變數,如果環境變數的值包含半形逗號字元,您需要指定其他分隔符號字元 (例如 @),逸出這些分隔符號:
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."

更新環境變數

您可以更新現有執行個體的執行階段環境變數。這是非破壞性方法,可變更或新增執行階段環境變數,但不會刪除。

您可以使用 Google Cloud CLI 或 YAML 更新環境變數:

gcloud

如要更新現有執行個體的環境變數,請使用 --update-env-vars 旗標:

gcloud beta run instances update INSTANCE --update-env-vars KEY1=VALUE1,KEY2=VALUE2

更改下列內容:

  • INSTANCE:執行個體的名稱
  • KEY1=VALUE1,KEY2=VALUE2:以半形逗號分隔的變數名稱和值清單

YAML

  1. 下載執行個體 YAML 設定

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. 編輯鍵 (名稱) 和值變數。

  3. 使用下列指令更新執行個體:

    gcloud beta run instances replace instance.yaml

刪除環境變數

gcloud

如要從現有執行個體中移除特定環境變數,請使用 --remove-env-vars 旗標:

gcloud beta run instances update INSTANCE --remove-env-vars KEY1,KEY2

更改下列內容:

  • INSTANCE:執行個體的名稱
  • KEY1,KEY2:以半形逗號分隔的變數名稱清單

或者,也可以使用 --clear-env-vars 旗標,清除先前設定的所有環境變數:

gcloud beta run instances update INSTANCE --clear-env-vars

INSTANCE 換成您的執行個體名稱。

程式碼範例

如需程式碼範例,瞭解如何在程式碼中存取環境變數,請參閱使用者驗證教學課程中的「使用 Secret Manager 處理機密設定」。

後續步驟

您可以使用環境變數設定 buildpack。如需特定語言的詳細資料,請參閱下列語言的建構套件說明文件: