自动注入的环境变量
部署应用程序或函数时,或运行作业时,Code Engine会自动将某些环境变量注入应用程序、函数或作业。
为应用程序自动注入环境变量
部署应用程序时,Code Engine会自动将某些环境变量注入应用程序。 下表列出了自动注入到已部署应用程序每个实例中的环境变量。 以下自动注入环境变量的示例基于名为 myapp
的应用程序,该应用程序引用了Code Engine示例图像 icr.io/codeengine/codeengine
。
环境变量 CE_APP
、CE_DOMAIN
和 CE_SUBDOMAIN
用于构建应用程序 https://CE_APP.CE_SUBDOMAIN.CE_DOMAIN
的 URL。 例如,如果 CE_APP=myapp
、CE_SUBDOMAIN=01234567-abcd
和 CE_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
。
环境变量 | 描述 | 示例 |
---|---|---|
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_FUNCTION
、CE_DOMAIN
和 CE_SUBDOMAIN
用于构建函数 https://CE_FUNCTION.CE_SUBDOMAIN.CE_DOMAIN
的 URL。 例如,如果 CE_FUNCTION=myfunc
、CE_SUBDOMAIN=01234567-abcd
和 CE_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
。
环境变量 | 描述 | 示例 |
---|---|---|
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 |
ctype 和 multibyte 操作系统 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
。
环境变量 | 描述 | 示例 |
---|---|---|
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_DOMAIN
和 CE_SUBDOMAIN
值可能会有用。 该应用程序的完整外部 URL 为 appName.CE_SUBDOMAIN.CE_DOMAIN
。 要引用应用程序的私有 URL,请使用 appName.CE_SUBDOMAIN
。