stream_logs() を使用してストリーミングできます。この関数は、Sandbox.run() に渡したコマンドの出力を取得します。exec() コマンドの出力は含まれないため、その出力には Process.stdout または Process.stderr を使用してください。
stream_logs() は、ログ行を順に返す StreamReader を返します。同期と非同期のどちらでも反復処理できます。
コマンドを指定せずに
Sandbox.run() を呼び出した場合、サンドボックスのデフォルトコマンドは stdout にも stderr にも書き込まないため、stream_logs() は何も出力しません。stdout または stderr に書き込むコマンドを渡してください。認証を選択する
CKS が指定されているセクションを除き、これらの例はサーバーレスキャパシティ上で実行されます。サンドボックスを所有するアカウントの認証情報を選択してください。キーまたはトークンの取得方法については、認証情報の選択と取得を参照してください。 インストールコマンドは、有効化した Python 仮想環境で実行してください。 使用する認証情報のタブにある Python コードを、このページで実行する Python スクリプトと同じディレクトリにsandbox_auth.py として保存します。このファイルに保存されるのは認証方式の選択であり、認証情報そのものではありません。各例ではこのファイルから AUTH をインポートし、新しいサンドボックスやセッションを作成するたびに明示的に渡します。
- Forge API キー
- CoreWeave API アクセストークン
SDK の W&B 認証方式を使って Forge APIキーを使用します。
sandbox_auth.py
SandboxDefaults で placement_mode="cks" を設定します。auth=AUTH を指定してセッションを作成すると、そのセッションが所有するサンドボックスも認証されます。サンドボックスへの再接続、一覧表示、クリーンアップを行う際も、同じ認証情報を使用してください。
最近のログを取得する
tail_lines を使用して、履歴全体をストリーミングせずに最新のログ行を取得します。これは実行中のサンドボックスを素早く確認するのに役立ちます。
フォローモード
ログを継続的にストリーミングします。tail -f のように動作します。新しいデータが到着するまでイテレーターはブロックします。
Ctrl+C を押して停止してください。
時間でフィルター
since_time を渡すと、特定のタイムスタンプ以降のログのみを取得できます。これにより、出力を関心のあるウィンドウに絞り込めます。たとえば、デプロイメントやインシデント以降のログなどです。
タイムスタンプ
timestamps=True を設定すると、各行の先頭にサーバーからの ISO 8601 タイムスタンプが付加されます。サーバー側タイムスタンプは、サンドボックスイベントを他のシステムと関連付けるのに役立ちます。
Async 反復処理
アプリケーションでasyncio を使用している場合は、イベントループをブロックしないように、同じ StreamReader を async for で反復処理してください。