IBM Cloud Docs
自动注入的环境变量

自动注入的环境变量

部署应用程序或函数时,或运行作业时,Code Engine会自动将某些环境变量注入应用程序、函数或作业。

为应用程序自动注入环境变量

部署应用程序时,Code Engine会自动将某些环境变量注入应用程序。 下表列出了自动注入到已部署应用程序每个实例中的环境变量。 以下自动注入环境变量的示例基于名为 myapp 的应用程序,该应用程序引用了Code Engine示例图像 icr.io/codeengine/codeengine

环境变量 CE_APPCE_DOMAINCE_SUBDOMAIN 用于构建应用程序 https://CE_APP.CE_SUBDOMAIN.CE_DOMAIN 的 URL。 例如,如果 CE_APP=myappCE_SUBDOMAIN=01234567-abcdCE_DOMAIN=us-south.codeengine.dev.appdomain.cloud,您的应用程序外部 URL 就是 https://myapp.01234567-abcd.us-south.codeengine.dev.appdomain.cloud。 应用程序的私有 URL 为 appName.CE_SUBDOMAINmyapp.01234567-abcd

部署 Code Engine 应用程序时自动注入环境变量
环境变量 描述 示例
CE_API_BASE_URL Code Engine的基于项目区域的 API URL。 使用此 URL 可为位于Code Engine项目同一区域的所有组件(包括应用程序)调用 API 端点。 CE_API_BASE_URL=https://api.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 项目的项目标识。 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_FUNCTIONCE_DOMAINCE_SUBDOMAIN 用于构建函数 https://CE_FUNCTION.CE_SUBDOMAIN.CE_DOMAIN 的 URL。 例如,如果 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_DOMAINmyfunc.01234567-abcd.private.us-south.codeengine.appdomain.cloud

部署 Code Engine 函数时自动注入环境变量
环境变量 描述 示例
CE_API_BASE_URL 私有Code EngineAPI URL。基于项目区域的 API URL。 使用此 URL 可为位于Code Engine项目同一区域的所有组件(包括函数)调用 API 端点。 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 项目的项目标识。 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。 使用此 URL 可为位于Code Engine项目同一区域的所有组件(包括作业)调用 API 端点。 CE_API_BASE_URL=https://api.us-south.codeengine.cloud.ibm.com
CE_DOMAIN 项目的域名。 CE_DOMAIN=us-south.codeengine.appdomain.cloud
CE_REGION 作业运行所在的区域。 CE_REGION=us-south
CE_PROJECT_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