設定工作環境變數

本頁說明如何為 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 作業與Cloud de Confiance API (例如 Cloud 用戶端程式庫) 介接,請參閱服務身分設定指南。如要進一步瞭解如何授予角色,請參閱「部署權限」和「管理存取權」。

設定環境變數

您可以為新工作和現有工作設定環境變數。請注意,--set-env-vars 旗標是破壞性動作,會刪除先前設定但未包含在新環境變數清單中的環境變數。

您可以使用 Cloud de Confiance 控制台、gcloud CLI 或 YAML 檔案設定環境變數:

控制台

  1. 前往 Cloud de Confiance by S3NS 控制台的 Cloud Run 頁面:

    前往 Cloud Run。

  2. 從 Cloud Run 導覽選單中選取「作業」:

    1. 如要建立新工作,請按一下「Deploy container」(部署容器),填寫初始工作設定頁面。

    2. 如要設定現有工作,請選取該工作,然後按一下「查看及編輯工作設定」。

  3. 按一下「容器、連線、安全性」,展開工作屬性頁面。

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

  5. 按一下「新增變數」。

  6. 在「Name」(名稱) 和「Value」(值) 欄位中,指定變數的名稱和值。如要進一步瞭解如何設定多個環境變數或逸出特殊字元,請參閱「設定多個環境變數」。

  7. 按一下「建立」或「更新」。

gcloud

如要在建立工作時指定環境變數,請使用 --set-env-vars 旗標:

gcloud run jobs create JOB_NAME --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2

更改下列內容:

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

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

YAML

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

    gcloud run jobs describe JOB --format export > job.yaml
    1. 更新 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 替換為環境變數和值。視需要新增更多變數和值。

    您也可以指定更多設定,例如環境變數或記憶體限制。

  2. 更新現有工作設定:

    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: Cloud de Confiance 區域。例如:europe-west1。
  • KEY-1:環境變數。
  • VALUE-1:與鍵相關聯的值。

視需要新增更多 env 區塊,設定其他環境變數。

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

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

ENV KEY1=VALUE1,KEY2=VALUE2

優先順序:容器變數與作業變數

如果您在容器中設定預設環境變數,並在 Cloud Run 工作中設定名稱相同的環境變數,系統會優先採用工作設定的值。

設定多個環境變數

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

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

控制台

  1. 前往 Cloud de Confiance by S3NS 控制台的 Cloud Run 頁面:

    前往 Cloud Run。

  2. 從 Cloud Run 導覽選單中選取「作業」:

    1. 如要建立新工作,請按一下「Deploy container」(部署容器),填寫初始工作設定頁面。

    2. 如要設定現有工作,請選取該工作,然後按一下「查看及編輯工作設定」。

  3. 按一下「容器、連線、安全性」,展開工作屬性頁面。

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

  5. 按一下「新增變數」。

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

  7. 按一下「建立」或「更新」。

gcloud

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

gcloud run jobs create JOB_NAME --image=IMAGE_URL --env-vars-file=ENV_FILE_PATH

更改下列內容:

  • JOB_NAME:Cloud Run 工作名稱。
  • IMAGE_URL:容器映像檔的參照,例如 us-docker.pkg.dev/cloudrun/container/job: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=..."

更新環境變數

您可以更新現有工作的環境變數。這是非破壞性方法,可變更或新增環境變數,但不會刪除先前設定的環境變數。

控制台

如要使用 Cloud de Confiance 控制台更新環境變數,請按照下列步驟操作:

  1. 前往 Cloud de Confiance by S3NS 控制台的 Cloud Run「Jobs」頁面:

    前往 Cloud Run。

  2. 從清單中選取所需工作,然後按一下「編輯並部署新修訂版本」。

  3. 按一下「Container」分頁標籤。

  4. 在「變數和密鑰」分頁中,編輯「名稱」或「值」欄位,然後按一下「完成」。

  5. 點選「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 作業目前的環境變數設定,請使用 Cloud de Confiance 控制台或 Google Cloud CLI:

控制台

  1. 前往 Cloud de Confiance by S3NS 控制台的 Cloud Run jobs 頁面:

    前往 Cloud Run jobs

  2. 按一下工作,開啟「工作詳細資料」頁面。

  3. 按一下「查看及編輯工作設定」。

  4. 在設定詳細資料中找出環境變數設定。

gcloud

  1. 執行下列指令:

    gcloud run jobs describe JOB
  2. 在傳回的設定中找出環境變數設定。

刪除環境變數

您可以刪除現有工作的環境變數。

控制台

如要使用 Cloud de Confiance 控制台刪除環境變數,請按照下列步驟操作:

  1. 前往 Cloud de Confiance 控制台的 Cloud Run:

    前往 Cloud Run。

  2. 從清單中選取所需工作,然後按一下「編輯並部署新修訂版本」。

  3. 按一下「Container」分頁標籤。

  4. 在「Variables and secrets」(變數與密鑰) 分頁中,將游標移至要移除的環境變數「Value」(值) 欄位左側,顯示 「Delete」(刪除) 圖示,然後按一下該圖示。

  5. 按一下「完成」。

  6. 點選「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