本頁說明如何為 Cloud Run 工作站集區設定環境變數。
變更任何設定都會建立新的修訂版本。除非您明確做出更新,變更這項設定,否則後續的修訂版本也會自動取得這個設定。
必要的角色
如要取得設定及部署 Cloud Run 工作站集區所需的權限,請要求管理員授予下列 IAM 角色:
-
Cloud Run 開發人員 (
roles/run.developer
) 在 Cloud Run worker 集區上 -
服務帳戶使用者 (
roles/iam.serviceAccountUser
) 服務身分
如需與 Cloud Run 相關的 IAM 角色和權限清單,請參閱 Cloud Run IAM 角色和 Cloud Run IAM 權限。如果 Cloud Run 工作人員集區與Google Cloud API (例如 Cloud 用戶端程式庫) 介接,請參閱服務身分設定指南。如要進一步瞭解如何授予角色,請參閱部署權限和管理存取權。
設定環境變數
您可以使用Google Cloud 主控台、Google Cloud CLI 或 Terraform,為 Cloud Run 工作人員集區設定環境變數:
控制台
前往 Google Cloud 控制台的 Cloud Run:
從選單中選取「工作站集區」,然後按一下「部署容器」,設定新的工作站集區。如要設定現有工作站集區,請按一下該集區,然後按一下「編輯並部署新修訂版本」。
如要設定新的工作站集區,請填寫初始工作站集區頁面,然後按一下「容器、磁碟區、網路與安全性」,展開工作站集區設定頁面。
按一下「容器」分頁標籤。
- 在「變數和密鑰」分頁中,按一下「新增變數」新增環境變數,然後在「名稱」和「值」欄位中指定變數名稱。如要進一步瞭解如何設定多個環境變數或逸出特殊字元,請參閱「設定多個環境變數」。
按一下 [Create] (建立) 或 [Deploy] (部署)。
gcloud
如要在部署工作站集區時指定環境變數,請使用 --set-env-vars
旗標:
gcloud beta 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
如要進一步瞭解如何設定多個環境變數或逸出特殊字元,請參閱「設定多個環境變數」。
Terraform
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
resource "google_cloud_run_v2_worker_pool" "default" {
name = "WORKER_POOL"
location = "REGION"
launch_stage = "BETA"
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
- KEY1 和 VALUE1:環境變數和值。視需要新增更多變數和值。
在容器中設定預設環境變數
您可以在 Dockerfile 中使用 ENV
陳述式,為環境變數設定預設值:
ENV KEY1=VALUE1,KEY2=VALUE2
優先順序:容器變數與工作站集區變數
如果您在容器中設定預設環境變數,並在 Cloud Run 工作站集區中設定同名環境變數,則工作站集區中設定的值會優先採用。
設定多個環境變數
您可以使用 .env
檔案或 --set-env-vars
標記設定多個環境變數。
使用 .env
檔案設定多個環境變數
控制台
前往 Google Cloud 控制台的 Cloud Run:
從選單中選取「工作站集區」,然後按一下「部署容器」,設定新的工作站集區。如要設定現有工作站集區,請按一下該集區,然後按一下「編輯並部署新修訂版本」。
如要設定新的工作站集區,請填寫初始工作站集區頁面,然後按一下「容器、磁碟區、網路與安全性」,展開工作站集區設定頁面。
按一下「容器」分頁標籤。
- 在「Variables & Secrets」(變數與密鑰) 分頁中,按一下「Add Variable」(新增變數),然後將
.env
檔案的內容貼到「Name」(名稱) 欄位。Cloud Run 會自動填入「值」欄位,並為您在.env
檔案中定義的每個鍵/值組合建立新變數。
- 在「Variables & Secrets」(變數與密鑰) 分頁中,按一下「Add Variable」(新增變數),然後將
按一下 [Create] (建立) 或 [Deploy] (部署)。
gcloud
如要從 .env
檔案指定多個環境變數,請執行下列指令:
gcloud beta 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 或 Terraform 中更新環境變數:
控制台
前往 Google Cloud 控制台的 Cloud Run:
從選單中選取「Worker pools」(工作站集區),然後按一下要更新的工作站集區,再點選「Edit and deploy new revision」(編輯並部署新修訂版本)。
按一下「容器、磁碟區、網路與安全性」,展開工作站集區設定頁面。
按一下「變數與密鑰」分頁標籤。
找出要更新的環境變數,然後在「Name」(名稱) 和「Value」(值) 欄位中,為變數指定不同名稱或值。
按一下 [Deploy] (部署)。
gcloud
如要更新現有工作站集區的環境變數,請使用 --update-env-vars
旗標:
gcloud beta run worker-pools update WORKER_POOL --update-env-vars KEY1=VALUE1,KEY2=VALUE2
更改下列內容:
- WORKER_POOL:工作站集區名稱
- KEY1=VALUE1,KEY2=VALUE2:以逗號分隔的變數名稱和值清單
Terraform
如要更新現有工作站集區的環境變數,請開啟與工作站集區對應的 main.tf
檔案,然後編輯名稱和值變數。接著,執行指令來套用 Terraform 設定。
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
刪除環境變數
控制台
前往 Google Cloud 控制台的 Cloud Run:
從選單中選取「Worker pools」(工作站集區),然後按一下要更新的工作站集區,再點選「Edit and deploy new revision」(編輯並部署新修訂版本)。
按一下「容器、磁碟區、網路與安全性」,展開工作站集區設定頁面。
按一下「變數與密鑰」分頁標籤。
找到要刪除的環境變數,然後按一下「Value」(值) 欄位右側的垃圾桶圖示,即可刪除該環境變數。
按一下 [Deploy] (部署)。
gcloud
如要從現有工作站集區選擇性移除環境變數,請使用 --remove-env-vars
旗標:
gcloud beta run worker-pools update WORKER_POOL --remove-env-vars KEY1,KEY2
更改下列內容:
- WORKER_POOL:工作站集區名稱
- KEY1,KEY2:以半形逗號分隔的變數名稱清單
或者,您也可以使用 --clear-env-vars
標記,清除先前設定的所有環境變數:
gcloud beta run worker-pools update WORKER_POOL --clear-env-vars
將 WORKER_POOL 替換為工作站集區的名稱。
查看工作站集區的環境變數設定
前往 Google Cloud 控制台的 Cloud Run:
按一下「工作站集區」,即可顯示已部署的工作站集區清單。
按一下要檢查的 worker 集區,顯示詳細資料窗格。
按一下「Containers」(容器) 分頁標籤,即可顯示工作站集區容器設定。
程式碼範例
如需程式碼範例,瞭解如何在程式碼中存取環境變數,請參閱使用者驗證教學課程中的「使用 Secret Manager 處理機密設定」。
後續步驟
您可以使用環境變數設定 buildpack。如需特定語言的詳細資料,請參閱下列語言的建構套件說明文件: