設定工作站集區的環境變數

本頁說明如何為 Cloud Run 工作站集區設定環境變數。

變更任何設定都會建立新的修訂版本。除非您明確做出更新,改變這項設定,否則後續的修訂版本也會自動取得這個設定。

必要的角色

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

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

設定環境變數

您可以使用Google Cloud 控制台、Google Cloud CLI、YAML 或 Terraform,為 Cloud Run 工作站集區設定環境變數:

控制台

  1. 前往 Google Cloud 控制台的 Cloud Run 頁面:

    前往 Cloud Run

  2. 從 Cloud Run 導覽選單中選取「工作人員集區」

    1. 如要設定現有 worker 集區,請按一下該集區,然後按一下「Edit and deploy new revision」(編輯並部署新修訂版本)

    2. 如要設定新的工作站集區,請按一下「Deploy container」(部署容器),然後填寫初始工作站集區頁面。然後點選「Containers, Networking, Security」(容器、網路、安全性),展開工作站集區設定頁面。

  3. 按一下「變數與密鑰」分頁標籤。

  4. 按一下「新增變數」,新增環境變數。

    1. 在「Name」(名稱) 欄位中輸入環境變數的名稱。
    2. 在「Value」(值) 欄位中,輸入環境變數的值。

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

    3. 按一下「完成」

  5. 按一下 [Create] (建立) 或 [Deploy] (部署)

gcloud

如要在部署工作站集區時指定環境變數,請使用 --set-env-vars 旗標:

gcloud run worker-pools deploy WORKER_POOL --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2

更改下列內容:

  • WORKER_POOL:工作站集區的名稱
  • KEY1=VALUE1,KEY2=VALUE2:以半形逗號分隔的變數名稱和值清單
  • IMAGE_URL:包含工作站集區的容器映像檔參照,例如 us-docker.pkg.dev/cloudrun/container/worker-pool:latest

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

YAML

  1. 如要建立新的工作站集區,請略過這個步驟。 如要更新現有工作站集區,請下載 YAML 設定

    gcloud run worker-pools describe WORKER_POOL --format export > worker-pool.yaml
  2. 以下範例包含 YAML 設定:

    apiVersion: run.googleapis.com/v1
    kind: WorkerPool
    metadata:
      name: WORKER_POOL
    spec:
      template:
        spec:
          containers:
          - name:
            image: IMAGE_URL
            env:
            - name: NAME
              value: VALUE
            - name: NAME2
              value: VALUE2

    更改下列內容:

    • WORKER_POOL:Cloud Run worker 集區的名稱。
    • IMAGE_URL:包含工作站集區的容器映像檔參照,例如 us-docker.pkg.dev/cloudrun/container/worker-pool:latest
    • NAMEVALUE:環境變數的名稱和值。
  3. 使用下列指令建立或更新工作站集區:

    gcloud run worker-pools replace worker-pool.yaml

    如果存在 worker-pool.yaml 檔案,gcloud run worker-pools replace 指令預設會使用該檔案。

Terraform

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

resource "google_cloud_run_v2_worker_pool" "default" {
  name     = "WORKER_POOL"
  location = "REGION"

  template {
    containers {
      image = "IMAGE_URL"
      env {
        name  = "KEY1"
        value = "VALUE1"
      }
      env {
        name  = "KEY2"
        value = "VALUE2"
      }
    }
  }
}

更改下列內容:

  • WORKER_POOL:工作站集區的名稱。
  • REGION: Google Cloud 區域,例如 europe-west1
  • IMAGE_URL:包含工作站集區的容器映像檔參照,例如 us-docker.pkg.dev/cloudrun/container/worker-pool:latest
  • KEY1VALUE1:環境變數和值。視需要新增更多變數和值。

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

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

ENV KEY1=VALUE1,KEY2=VALUE2

優先順序:容器變數與工作站集區變數

如果您在容器中設定預設環境變數,並在 Cloud Run 工作站集區中設定同名環境變數,則工作站集區中設定的值會優先採用。

設定多個環境變數

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

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

控制台

  1. 前往 Google Cloud 控制台的 Cloud Run 頁面:

    前往 Cloud Run

  2. 從 Cloud Run 導覽選單中選取「工作人員集區」

    1. 如要設定現有 worker 集區,請按一下該集區,然後按一下「Edit and deploy new revision」(編輯並部署新修訂版本)

    2. 如要設定新的工作站集區,請按一下「Deploy container」(部署容器),然後填寫初始工作站集區頁面。然後點選「Containers, Networking, Security」(容器、網路、安全性),展開工作站集區設定頁面。

  3. 按一下「變數與密鑰」分頁標籤。

  4. 按一下「新增變數」

  5. 在「Name」欄位中,貼上 .env 檔案的內容。 Cloud Run 會自動填入「值」欄位,並為您在 .env 檔案中定義的每個鍵/值組合建立新變數。

  6. 按一下「完成」

  7. 按一下 [Create] (建立) 或 [Deploy] (部署)

gcloud

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

gcloud run worker-pools deploy WORKER_POOL --image IMAGE_URL --env-vars-file=ENV_FILE_PATH

更改下列內容:

  • WORKER_POOL:工作站集區的名稱。
  • IMAGE_URL:包含工作站集區的容器映像檔參照,例如 us-docker.pkg.dev/cloudrun/container/worker-pool: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 控制台、Google Cloud CLI、YAML 或 Terraform 中更新環境變數:

控制台

  1. 前往 Google Cloud 控制台的 Cloud Run:

    前往 Cloud Run

  2. 從選單中選取「工作站集區」,然後按一下要更新的工作站集區,再點選「編輯並部署新修訂版本」

  3. 按一下「容器、網路、安全性」,展開工作站集區設定頁面。

  4. 按一下「變數與密鑰」分頁標籤。

  5. 找出要更新的環境變數,然後在「Name」(名稱) 和「Value」(值) 欄位中,為變數指定不同名稱或值。

  6. 點選「Deploy」(部署)

gcloud

如要更新現有工作站集區的環境變數,請使用 --update-env-vars 旗標:

gcloud run worker-pools update WORKER_POOL --update-env-vars KEY1=VALUE1,KEY2=VALUE2

更改下列內容:

  • WORKER_POOL:工作站集區的名稱
  • KEY1=VALUE1,KEY2=VALUE2:以半形逗號分隔的變數名稱和值清單

YAML

  1. 下載工作站集區 YAML 設定

    gcloud run worker-pools describe WORKER_POOL --format export > worker-pool.yaml
  2. 編輯名稱和值變數。

  3. 使用下列指令更新工作站集區:

    gcloud run worker-pools replace worker-pool.yaml

Terraform

如要更新現有工作站集區的環境變數,請開啟對應工作站集區的 main.tf 檔案,然後編輯名稱和值變數。接著執行指令,套用 Terraform 設定。

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

刪除環境變數

控制台

  1. 前往 Google Cloud 控制台的 Cloud Run:

    前往 Cloud Run

  2. 從選單中選取「工作站集區」,然後按一下要更新的工作站集區,再點選「編輯並部署新修訂版本」

  3. 按一下「容器、網路、安全性」,展開工作站集區設定頁面。

  4. 按一下「變數與密鑰」分頁標籤。

  5. 找到要刪除的環境變數,然後按一下「Value」(值) 欄位右側的垃圾桶圖示,即可刪除環境變數。

  6. 點選「Deploy」(部署)

gcloud

如要從現有工作站集區選擇性移除環境變數,請使用 --remove-env-vars 旗標:

gcloud run worker-pools update WORKER_POOL --remove-env-vars KEY1,KEY2

更改下列內容:

  • WORKER_POOL:工作站集區的名稱
  • KEY1,KEY2:以半形逗號分隔的變數名稱清單

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

gcloud run worker-pools update WORKER_POOL --clear-env-vars

WORKER_POOL 替換為工作站集區的名稱。

查看工作站集區的環境變數設定

  1. 前往 Google Cloud 控制台的 Cloud Run:

    前往 Cloud Run

  2. 按一下「工作站集區」,即可顯示已部署的工作站集區清單。

  3. 按一下要檢查的 worker 集區,顯示詳細資料窗格。

  4. 按一下「Containers」(容器) 分頁標籤,即可顯示工作站集區容器設定。

程式碼範例

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

後續步驟

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