自動注入的環境變數

當您部署應用程式或函式,或執行工作時,Code Engine 會自動將某些環境變數注入應用程式、函式或工作。

自動注入應用程式的環境變數

當您部署應用程式時,Code Engine會自動將某些環境變數注入到應用程式中。 下表列出了自動注入到已部署應用程式的每個實例中的環境變數。 以下自動注入環境變數的範例基於名為 myapp 的應用程序,該應用程式引用Code Engine範例圖像 icr.io/codeengine/codeengine

環境變數 CE_APP, CE_DOMAIN,和 CE_SUBDOMAIN 用來建構應用程式的 URL, https://CE_APP.CE_SUBDOMAIN.CE_DOMAIN。 例如,如果 CE_APP=myapp, CE_SUBDOMAIN=01234567-abcdCE_DOMAIN=us-south.codeengine.dev.appdomain.cloud,您的應用程式外部 URL 是 https://myapp.01234567-abcd.us-south.codeengine.dev.appdomain.cloud。 您應用程式的私人 URL 是 appName.CE_SUBDOMAIN,或 myapp.01234567-abcd

部署 Code Engine 應用程式時自動注入環境變數
環境變數 說明 範例
CE_API_BASE_URL 基於專案區域的私有 Code Engine API URL。 對於位於 Code Engine 專案相同區域的所有元件 (包括應用程式) 的 API 端點呼叫,請使用此 URL。 CE_API_BASE_URL=https://api.private.us-south.codeengine.cloud.ibm.com
CE_APP 應用程式的名稱。 CE_APP=myapp
CE_DOMAIN URL 應用程式(和專案)的網域名稱部分。 CE_DOMAIN=us-south.codeengine.dev.appdomain.cloud
CE_REGION 應用程式所在的區域。 CE_REGION=us-south
CE_PROJECT_ID 專案的專案 ID。 CE_PROJECT_ID=abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
CE_SUBDOMAIN URL 與應用程式(和專案)相關的子網域部分。 如果您熟悉 Kubernetes,CE_SUBDOMAIN 會對應到與專案相關的 Kubernetes 命名空間。 CE_SUBDOMAIN=01234567-abcd
HOME 運行應用程式的主目錄。 HOME=/root
HOSTNAME 您的應用程式部署到的實例的名稱。 HOSTNAME=myapp-00001-deployment-65684cffd-xng7z
K_CONFIGURATION 應用程式的名稱。 K_CONFIGURATION=myapp
K_REVISION 已部署應用程式的目前版本的名稱。 K_REVISION=myapp-00001
K_SERVICE 應用程式的名稱。 K_SERVICE=myapp
PATH 系統在其中尋找執行檔的目錄清單。 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PORT 您的應用程式所監聽的連接埠,以接收 HTTP 請求。 PORT=8080
PWD 現行工作目錄。 PWD=/

請注意,您可以透過從控制台部署應用程式並指定偵聽連接埠值或使用 CLI 並設定 --port 選項來覆寫 PORT 變數。

自動注入函數的環境變數

當您部署函數時,Code Engine 會自動將某些環境變數注入函數中。 下表列出已部署函數的每一個實例中自動注入的環境變數。

環境變數 CE_FUNCTION, CE_DOMAIN,和 CE_SUBDOMAIN 用來建構函數 URL, https://CE_FUNCTION.CE_SUBDOMAIN.CE_DOMAIN。 例如,如果 CE_FUNCTION=myfuncCE_SUBDOMAIN=01234567-abcdCE_DOMAIN=us-south.codeengine.dev.appdomain.cloud,您的外部 URL 函數是 https://myfunc.01234567-abcd.us-south.codeengine.dev.appdomain.cloud。 您應用程式的私人 URL 是 CE_FUNCTION.CE_SUBDOMAIN.private.CE_DOMAIN,或 myfunc.01234567-abcd.private.us-south.codeengine.appdomain.cloud

部署 Code Engine 函數時自動注入環境變數
環境變數 說明 範例
CE_API_BASE_URL 基於專案區域的私有 Code Engine API URL。 對於位於 Code Engine 專案相同區域的所有元件 (包括函式) 的 API 端點呼叫,請使用此 URL。 CE_API_BASE_URL=https://api.private.us-south.codeengine.cloud.ibm.com
CE_ALLOW_CONCURRENT Code Engine 函數控制器使用此內部布林設定來指出執行時期是否支援並行呼叫相同的函數實例,並且可以忽略。 CE_ALLOW_CONCURRENT=true
CE_DOMAIN URL 功能(和專案)的網域名稱部分。 CE_DOMAIN=us-south.codeengine.dev.appdomain.cloud
CE_REGION 函數所在的區域。 CE_REGION=us-south
CE_PROJECT_ID 專案的專案 ID。 CE_PROJECT_ID=abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
CE_EXECUTION_ENV 受管理執行時期類型及其發行版本。 CE_EXECUTION_ENV=ibm/action-python-v3.11 此範例指定使用 Python v3.11。
CE_FUNCTION 功能的名稱。 CE_FUNCTION=myfunc
CE_SUBDOMAIN URL 與功能(和專案)相關的子網域部分。 如果您熟悉 Kubernetes,CE_SUBDOMAIN 會對應到與專案相關的 Kubernetes 命名空間。 CE_SUBDOMAIN=01234567-abcd
HOME 函數執行時期儲存器的起始目錄。 HOME=/root
LC_CTYPE ctypemultibyte 作業系統 API 使用的語言環境。 僅適用於 Python 執行時期。 LC_CTYPE=C.UTF-8
PATH PATH 變數的現行設定,它會列出系統在其中尋找執行檔的目錄。 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PYTHONIOENCODING 標準輸入、標準輸出及標準錯誤串流使用的標準編碼。 此變數僅適用於 Python 執行時期。 PYTHONIOENCODING=UTF-8
PWD 現行工作目錄。 PWD=/

自動注入工作的環境變數

當您執行工作時,Code Engine 會自動將特定環境變數注入工作執行實例。

下表列出自動注入至執行中工作之每一個實例的環境變數。 下列自動注入環境變數範例基於名為 myjob 的工作,該工作參照 Code Engine 範例映像檔 icr.io/codeengine/codeengine

部署 Code Engine 工作時自動注入環境變數
環境變數 說明 範例
CE_API_BASE_URL 基於專案區域的私有 Code Engine API URL。 對於位於 Code Engine 專案相同區域的所有元件 (包括工作) 的 API 端點呼叫,請使用此 URL。 CE_API_BASE_URL=https://api.private.us-south.codeengine.cloud.ibm.com
CE_DOMAIN 專案的網域名稱。 CE_DOMAIN=us-south.codeengine.appdomain.cloud
CE_REGION 工作執行所在的區域。 CE_REGION=us-south
CE_PROJECT_ID 專案的專案 ID。 CE_PROJECT_ID=abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
CE_JOB 用於工作執行的已定義工作配置名稱。 CE_JOB=myjobdef
CE_JOBRUN 工作執行的名稱。 CE_JOBRUN=myjob-jobrun-f5kxz
CE_SUBDOMAIN 與工作執行所在專案相關聯的子網域。 如果您熟悉 Kubernetes,CE_SUBDOMAIN 會對映至與專案相關聯的 Kubernetes 名稱空間。 CE_SUBDOMAIN=01234567-abcd
HOME 執行工作的起始目錄。 HOME=/root
HOSTNAME 您的應用程式部署到的實例的名稱。 HOSTNAME=myjob-jobrun-6bgmg-0-0
JOB_ARRAY_SIZE 要平行執行的工作實例數。 該值可直接指定為工作執行陣列大小,或透過計算指定的索引來計算。 JOB_ARRAY_SIZE=10
JOB_INDEX 特定工作執行實例的索引。 JOB_INDEX=1
JOB_INDEX_RETRY_COUNT 工作實例的現行重試次數。 JOB_INDEX_RETRY_COUNT=0
JOB_MODE 執行工作的模式。 在 task 模式中,工作執行時間上限及失敗實例會根據工作重試限制重試。 在 daemon 模式中,作業執行沒有最長時間限制,失敗的實體會無限期重新啟動。 JOB_MODE=task
JOB_RETRY_LIMIT 工作執行的已配置重試限制。 JOB_RETRY_LIMIT=3
PATH 系統在其中尋找執行檔的目錄清單。 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD 現行工作目錄。 PWD=/

請注意,每個工作執行實例都會從建立工作時指定的索引陣列中取得自己的索引。Code Engine 會自動指定從 0 到 (陣列大小 - 1) 的索引。 JOB_INDEX 環境變數包含索引值。

雖然工作本身沒有 URL 相關聯,但如果您需要引用在同一專案中執行的應用程式,CE_DOMAINCE_SUBDOMAIN 值可能會有用。 此應用程式的完整外部 URL 為 appName.CE_SUBDOMAIN.CE_DOMAIN。 若要引用應用程式的私有 URL,請使用 appName.CE_SUBDOMAIN