IBM Cloud Docs
環境変数の自動注入

環境変数の自動注入

アプリケーションや関数をデプロイするとき、またはジョブを実行するとき、Code Engineは自動的に特定の環境変数をアプリケーション、関数、またはジョブに注入します。

アプリケーションに自動注入される環境変数

アプリケーションをデプロイするとき、 Code Engine は自動的に特定の環境変数をアプリケーションに注入します。 次の表は、デプロイされたアプリケーションの各インスタンスに自動的に注入される環境変数の一覧です。 自動的に注入される環境変数の以下の例は、 Code Engine サンプル画像、 icr.io/codeengine/codeengine を参照する myapp という名前のアプリケーションに基づいています。

環境変数 CE_APPCE_DOMAINCE_SUBDOMAIN は、アプリケーションの URL、 https://CE_APP.CE_SUBDOMAIN.CE_DOMAIN を構築するために使用される。 例えば、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_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=/

コンソールからアプリケーションをデプロイして Listeningポート値を指定するか、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_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 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 は特定の環境変数をジョブ実行インスタンスに自動的に注入します。

以下の表は、実行中のジョブの各インスタンスに自動的に注入される環境変数をリストしています。 以下の自動注入される環境変数の例は、Code Engineサンプル・イメージicr.io/codeengine/codeengineを参照する myjobという名前のジョブに基づいています。

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_DOMAIN値とCE_SUBDOMAIN値が役立つことがあります。 このアプリケーションの完全な外部 URL は、appName.CE_SUBDOMAIN.CE_DOMAIN です。 アプリケーションのプライベート URL を参照するには、appName.CE_SUBDOMAIN を使用します。