本頁說明如何為 Cloud Run 作業設定環境變數。
設定環境變數時,系統會將這些變數注入容器,以供程式碼存取。環境變數的設定形式為鍵/值組合。
保留名稱
系統會預留容器執行階段合約中定義的環境變數,您無法設定這些變數。
環境變數數量上限
請注意,每個 Cloud Run 工作最多可為每個容器設定 1000 個環境變數。
必要的角色
如要取得設定 Cloud Run 作業所需的權限,請要求管理員授予您作業的下列 IAM 角色:
-
Cloud Run 開發人員 (
roles/run.developer
) - Cloud Run 工作 -
服務帳戶使用者 (
roles/iam.serviceAccountUser
) - 服務身分
如需與 Cloud Run 相關聯的 IAM 角色和權限清單,請參閱 Cloud Run IAM 角色和 Cloud Run IAM 權限。如果 Cloud Run 作業與Google Cloud API (例如 Cloud 用戶端程式庫) 介接,請參閱服務身分設定指南。 如要進一步瞭解如何授予角色,請參閱部署權限和管理存取權。
設定環境變數
您可以為新工作和現有工作設定環境變數。請注意,--set-env-vars
旗標是破壞性動作,會刪除先前設定的環境變數,但新環境變數清單中不包含這些變數。
您可以使用 Google Cloud 控制台、gcloud CLI 或 YAML 檔案設定環境變數:
控制台
前往 Google Cloud 控制台的 Cloud Run 作業頁面:
從選單中選取「工作」,然後按一下「部署容器」,填寫初始工作設定頁面。如要設定現有工作,請選取該工作,然後按一下「編輯」。
按一下「容器、磁碟區、連線與安全性」,展開工作屬性頁面。
按一下「變數」分頁標籤。
- 請按照下列步驟操作:
- 如要新增變數,請按一下「新增變數」,然後在「名稱」和「值」文字方塊中,分別指定變數名稱和值。
- 如要變更變數的值,請將「Value」(值) 文字方塊中目前的值改成您要的值。
- 如果要移除一或多個環境變數,請將游標懸停在要移除的變數「Value」(值) 文字方塊左側,顯示垃圾桶圖示,然後點選該圖示。
- 請按照下列步驟操作:
按一下「建立」或「更新」。
gcloud
如要在部署工作時指定環境變數,請使用 --set-env-vars
標記:
gcloud run jobs deploy JOB_NAME --image IMAGE_URL --update-env-vars KEY1=VALUE1,KEY2=VALUE2
如要在更新工作時指定環境變數,請在工作建立後使用 --set-env-vars
旗標:
gcloud run jobs create JOB_NAME --image IMAGE_URL --update-env-vars KEY1=VALUE1,KEY2=VALUE2 gcloud run jobs update JOB_NAME --update-env-vars KEY1=VALUE1,KEY2=VALUE2
取代:
- JOB_NAME 改為您的工作名稱。
- KEY1=VALUE1,KEY2=VALUE2,並以逗號分隔變數名稱和值。
- IMAGE_URL,並參照容器映像檔,例如
us-docker.pkg.dev/cloudrun/container/job:latest
。
設定多個環境變數
如果您有許多無法以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=..."
YAML
如果您要建立新工作,請略過這個步驟。 如要更新現有工作,請下載其 YAML 設定:
gcloud run jobs describe JOB_NAME --format export > job.yaml
- 更新
env
下的name
和value
屬性,如下所示:containers:
:
apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB spec: template: spec: template: spec: containers: - image: IMAGE env: - name: KEY-1 value: VALUE-1 - name: KEY-N value: VALUE-N
將 KEY-1、VALUE-1 替換為環境變數和值。視需要新增更多變數和值。
您也可以指定更多設定,例如環境變數或記憶體限制。
- 更新
更新現有工作設定:
gcloud run jobs replace job.yaml
Terraform
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
在 Terraform 設定中,將下列項目新增至google_cloud_run_v2_job
資源:resource "google_cloud_run_v2_job" "default" {
name = "JOB_NAME"
location = "REGION"
template {
template {
containers {
image = "us-docker.pkg.dev/cloudrun/container/job"
env {
name = "KEY-1"
value = "VALUE-1"
}
env {
name = "KEY-N"
value = "VALUE-N"
}
}
}
}
}
取代:
- JOB_NAME 改為您的 Cloud Run 工作名稱。
- REGION 替換成 Google Cloud 地區。例如:
europe-west1
。 - KEY-1 環境變數。
- VALUE-1 替換為該值。
(選用) 新增更多 env
區塊,設定其他環境變數。
在容器中設定預設環境變數
您可以在 Dockerfile 中使用 ENV
陳述式,為環境變數設定預設值:
ENV KEY1=VALUE1,KEY2=VALUE2
優先順序:容器變數與作業變數
如果您在容器中設定預設環境變數,並在 Cloud Run 工作中設定名稱相同的環境變數,則工作設定的值會優先採用。
更新環境變數
您可以更新現有工作的環境變數。這是一種非破壞性方法,可變更或新增環境變數,但不會刪除先前設定的環境變數。
主控台
如要使用 Google Cloud 控制台更新環境變數,請按照下列步驟操作:
前往 Google Cloud 控制台的 Cloud Run:
從清單中選取所需工作,然後按一下「編輯及部署新的修訂版本」。
按一下「容器」分頁標籤。
在「變數和密鑰」分頁中,編輯「名稱」或「值」欄位,然後按一下「完成」。
按一下 [Deploy] (部署)。
gcloud
如要更新現有工作的環境變數,請使用 --update-env-vars
旗標:
gcloud run jobs update JOB_NAME --update-env-vars KEY1=VALUE1,KEY2=VALUE2
取代:
- JOB_NAME 改為您的工作名稱。
- KEY1=VALUE1,KEY2=VALUE2,並以逗號分隔變數名稱和值。
查看環境變數設定
如要查看 Cloud Run 作業目前的環境變數設定:
控制台
前往 Google Cloud 控制台的 Cloud Run 作業頁面:
按一下所需工作,開啟「工作詳細資料」頁面。
按一下「查看及編輯工作設定」。
在設定詳細資料中找出環境變數設定。
gcloud
使用下列指令:
gcloud run jobs describe JOB_NAME
在傳回的設定中找出環境變數設定。
刪除環境變數
您可以刪除現有工作的環境變數。
主控台
如要使用 Google Cloud 控制台刪除環境變數,請按照下列步驟操作:
前往 Google Cloud 控制台的 Cloud Run:
從清單中選取所需工作,然後按一下「編輯及部署新的修訂版本」。
按一下「容器」分頁標籤。
在「Variables and secrets」(變數與密鑰) 分頁標籤中,將游標移至要移除的環境變數「Value」(值) 欄位左側,顯示「Delete」(刪除)
圖示,然後按一下該圖示。按一下 [完成]。
按一下 [Deploy] (部署)。
gcloud
如要選擇性移除現有工作的環境變數,請使用 --remove-env-vars
旗標:
gcloud run jobs update JOB_NAME --remove-env-vars KEY1,KEY2
取代:
- JOB_NAME 改為您的工作名稱。
- KEY1,KEY2,並以半形逗號分隔變數名稱。
或者,您也可以使用 --clear-env-vars
標記,清除先前設定的所有環境變數:
gcloud run jobs update JOB_NAME --clear-env-vars
取代:
- JOB_NAME 改為您的工作名稱。