auth を省略している例では、CWSANDBOX_API_KEY に設定された CoreWeave API アクセストークンを使用します。Forge APIキーで認証するには、はじめにの手順に従い、取得した AuthHeaders を操作に渡してください。変数
プラットフォームは、すべてのサンドボックスで次の変数を設定します。
プラットフォームは、使用する SDK や API のバージョンに関係なく、これらの変数を設定します。
サンドボックス ID を取得するためにホスト名を解析しないでください。サンドボックスのホスト名はサンドボックス ID で始まりますが、基盤となる Pod が再起動すると変わる、自動生成された接尾辞が含まれています。代わりに
CW_SANDBOX_ID を使用してください。変数を読み取る
プラットフォーム変数は、各コンテナーのメインプロセス、そのプロセスが起動するすべてのプロセス、およびexec やストリーミング実行で起動されるプロセスで使用できます。ただし、子プロセスを起動する前に環境をクリアするプログラムは例外です。
- Python
- TypeScript
- Shell
変数を上書きする
プラットフォーム変数はデフォルトであり、予約名ではありません。サンドボックスに同じ名の変数を設定すると、サンドボックスはその値を使用し、プラットフォームはデフォルトを適用しません。[YOUR-VALUE] を、サンドボックスから返したい値に置き換えてください。
- Python
- TypeScript
-
空文字列を含む、すべての値が有効です。
CW_SANDBOX_IDを""に設定すると、変数は存在しますが、値は空になります。プラットフォームは空の値を未設定とは見なさず、置き換えません。 - ポリシーはプラットフォーム変数を上書きできません。 この名はオペレーターの設定では予約されているため、クラスターのポリシーが、設定した値を暗黙的に置き換えることはできません。
- シークレットも上書きとして扱われます。 同じ変数名に割り当てられたシークレットは、直接指定した値と同様に、プラットフォームのデフォルトの適用を抑制します。
メタデータであり、アイデンティティではありません
CW_SANDBOX_ID は参考情報としてのメタデータです。上書きできるため、サンドボックス内のコードは任意の値を報告できます。
複数のコンテナーを使用するサンドボックス
各コンテナーは、サンドボックスの最初のコンテナーに設定された値を受け取ります。ただし、そのコンテナーがCW_SANDBOX_ID を自身で設定する場合を除きます。明示的な値は、それを設定したコンテナーに対して優先されます。
これには 2 つの結果があります:
- 最初のコンテナーで変数を上書きする場合、何も設定していない他のすべてのコンテナーはその上書きを受け取ります。
- 最初のコンテナーでそれを空文字列に上書きする場合、他のコンテナーはその変数を一切受け取りません。
サンドボックスのライフサイクル全体にわたる動作
CW_SANDBOX_ID は、サンドボックスの有効期間中、次のように動作します。
- 値はサンドボックスの存続中は固定されます。 プラットフォームが作成時に割り当て、基盤となる Pod が再起動しても変更されません。
- リストアされたサンドボックスは新しいサンドボックスです。 ファイルシステムスナップショットからリストアすると、新しい ID を持つサンドボックスが作成され、
CW_SANDBOX_IDにその新しい値が設定されます。アプリケーションがスナップショットボリュームに書き込んだ以前の ID は、独自のデータとして保持され、更新されません。