CWSANDBOX_API_KEY に設定した CoreWeave API アクセストークンを使用します。Forge の APIキーによる認証については、はじめに を参照してください。CKS の要件については、配置モード を参照してください。
インタラクティブな TTY セッションには Sandbox.shell() を使用します。生バイトのストリーミングに対応し、出力のバッファリングを行わない TerminalSession を返します。対話的な使用向けに設計されています。バッチでコマンドを実行する場合は、代わりに exec() を使用します。
シェルセッション
サンドボックスを作成し、インタラクティブシェルのセッションを開きます。引数なしでSandbox.run() を呼び出すと、デフォルトの長時間実行コマンドが使用されます。以降のサンプルは、このコンテキストが引き続き実行中であることを前提としています。
shell() は常に TTY を割り当て、stdin を有効にします。返される TerminalSession は、UTF-8 のデコードやエンコードの往復なしに生のバイトをストリーミングするため、ターミナルのエスケープシーケンスやバイナリ出力に対して安全です。
コマンドを送信して出力を読み取る
ターミナルセッションを開いた状態で、stdin にコマンドを書き込み、リモートシェルからマージされたバイト出力をストリームで返します。TerminalSession は出力をバッファしません。stdout と stderr は、terminal.output 上の単一の生バイトストリームにマージされます。結果に個別の stdout 属性や stderr 属性はありません。terminal.output は継続的に読み取ってください。読み取りを止めると、上限付きキューのバックプレッシャーによってリモートセッションが停止します。
ターミナルのサイズ変更
ターミナルのサイズが変わったときに、サイズ変更メッセージを送信します。resize() は TerminalSession でファイア・アンド・フォーゲットです。
シェルセッションの終了
stdin を閉じるか、終了コマンドを送信して、シェルセッションを終了します。terminal.wait() または terminal.result() を呼び出して、終了コードが返されるまでブロックします。
コマンドと使用例
関連項目
- コマンドの実行 -
exec()でコマンドを実行します。 - サンドボックス ログ - コンテナーのログをストリーミングします。