サンドボックス
Daytona のサンドボックスを表します。
プロパティ:
-
autoArchiveInterval?
number - 自動アーカイブの間隔(分)実装
SandboxDto.autoArchiveInterval -
autoDeleteInterval?
number - 自動削除の間隔(分)実装
SandboxDto.autoDeleteInterval -
autoStopInterval?
number - 自動停止の間隔(分)実装
SandboxDto.autoStopInterval -
backupCreatedAt?
string - バックアップの作成時刻実装
SandboxDto.backupCreatedAt -
backupState?
SandboxBackupStateEnum - サンドボックスのバックアップの現在の状態実装
SandboxDto.backupState -
buildInfo?
BuildInfo - 動的ビルドから作成された場合のサンドボックスのビルド情報実装
SandboxDto.buildInfo -
computerUse
ComputerUse - デスクトップ自動化のためのコンピューター使用操作インターフェース -
cpu
number - サンドボックスに割り当てられた CPU 数実装
SandboxDto.cpu -
createdAt?
string - サンドボックスの作成時刻実装
SandboxDto.createdAt -
disk
number - サンドボックスに割り当てられたディスク容量(GiB)実装
SandboxDto.disk -
env
Record<string, string> - サンドボックスで設定される環境変数実装
SandboxDto.env -
errorReason?
string - サンドボックスがエラー状態の場合のエラーメッセージ実装
SandboxDto.errorReason -
fs
FileSystem - ファイルシステム操作インターフェース -
git
Git - Git 操作インターフェース -
gpu
number - サンドボックスに割り当てられた GPU 数実装
SandboxDto.gpu -
id
string - サンドボックスの一意の識別子実装
SandboxDto.id -
labels
Record<string, string> - サンドボックスに付与されたカスタムラベル実装
SandboxDto.labels -
memory
number - サンドボックスに割り当てられたメモリ容量(GiB)実装
SandboxDto.memory -
networkAllowList?
string - サンドボックスで許可される CIDR ネットワークアドレスのカンマ区切りリスト実装
SandboxDto.networkAllowList -
networkBlockAll
boolean - サンドボックスのネットワークアクセスをすべてブロックするかどうか実装
SandboxDto.networkBlockAll -
organizationId
string - サンドボックスの組織 ID実装
SandboxDto.organizationId -
process
Process - プロセス実行インターフェース -
public
boolean - サンドボックスが公開アクセス可能かどうか実装
SandboxDto.public -
runnerDomain?
string - サンドボックスのランナーのドメイン名実装
SandboxDto.runnerDomain -
snapshot?
string - サンドボックスの作成に使用された Daytona のスナップショット実装
SandboxDto.snapshot -
state?
SandboxState - サンドボックスの現在の状態(例: “started”, “stopped”)実装
SandboxDto.state -
target
string - サンドボックスが実行されるランナーのターゲット(リージョン)実装
SandboxDto.target -
updatedAt?
string - サンドボックスの最終更新時刻実装
SandboxDto.updatedAt -
user
string - サンドボックスで実行中の OS ユーザー実装
SandboxDto.user -
volumes?
SandboxVolume[] - サンドボックスに接続されたボリューム実装
SandboxDto.volumes
実装
Sandbox
コンストラクター
new Sandbox()
new Sandbox( sandboxDto: Sandbox, clientConfig: Configuration, sandboxApi: SandboxApi, toolboxApi: ToolboxApi, codeToolbox: SandboxCodeToolbox): Sandbox
新しい Sandbox インスタンスを作成します。
パラメーター:
sandboxDto
Sandbox - API の Sandbox インスタンスclientConfig
ConfigurationsandboxApi
SandboxApi - サンドボックス操作用の API クライアントtoolboxApi
ToolboxApi - ツールボックス操作用の API クライアントcodeToolbox
SandboxCodeToolbox - 言語別ツールボックス実装
戻り値:
Sandbox
メソッド
archive()
archive(): Promise<void>
サンドボックスをアーカイブし、非アクティブ化して状態を保持します。サンドボックスをアーカイブすると、 ファイルシステム全体の状態はコスト効率の高いオブジェクトストレージに移され、長期間利用可能な状態を維持できます。 アーカイブ状態と停止状態の違いは、サイズに応じてアーカイブ済みサンドボックスの起動により時間がかかる点です。 アーカイブ前にサンドボックスは停止している必要があります。
戻り値:
Promise<void>
createLspServer()
createLspServer(languageId: string, pathToProject: string): Promise<LspServer>
新しい Language Server Protocol (LSP) サーバーインスタンスを作成します。
LSP サーバーはコード補完、診断などの言語機能を提供します。
パラメーター:
languageId
string - 言語サーバーの種類(例: “typescript”)pathToProject
string - プロジェクトのルートディレクトリへのパス。相対パスはユーザーの ルートディレクトリを基準に解決されます。
戻り値:
Promise<LspServer>
- 指定言語向けに構成された新規 LSP サーバーインスタンス
例:
const lsp = await sandbox.createLspServer('typescript', 'workspace/project');
delete()
delete(timeout: number): Promise<void>
サンドボックスを削除します。
パラメーター:
timeout
number = 60
戻り値:
Promise<void>
getPreviewLink()
getPreviewLink(port: number): Promise<PortPreviewUrl>
指定したポートのプレビューリンクを取得します。ポートが閉じている場合は自動的に開きます。 プライベートなサンドボックスでは、URL へのアクセスを許可するトークンが含まれます。
パラメーター:
port
number - プレビューリンクを開くポート
戻り値:
Promise<PortPreviewUrl>
- プレビューリンクのレスポンスオブジェクト。url
とtoken
(プライベートサンドボックスにアクセスするため)を含みます。
例:
const previewLink = await sandbox.getPreviewLink(3000);console.log(`Preview URL: ${previewLink.url}`);console.log(`Token: ${previewLink.token}`);
getUserRootDir()
getUserRootDir(): Promise<string>
サンドボックス内の、ログイン中ユーザーのルートディレクトリパスを取得します。
戻り値:
Promise<string>
- ログイン中ユーザーのサンドボックスのルートディレクトリへの絶対パス
例:
const rootDir = await sandbox.getUserRootDir();console.log(`Sandbox root: ${rootDir}`);
refreshData()
refreshData(): Promise<void>
API からサンドボックスのデータを再取得して更新します。
戻り値:
Promise<void>
例:
await sandbox.refreshData();console.log(`Sandbox ${sandbox.id}:`);console.log(`State: ${sandbox.state}`);console.log(`Resources: ${sandbox.cpu} CPU, ${sandbox.memory} GiB RAM`);
setAutoArchiveInterval()
setAutoArchiveInterval(interval: number): Promise<void>
サンドボックスの自動アーカイブ間隔を設定します。
指定した時間連続して停止状態が続いた場合、自動的にアーカイブされます。
パラメーター:
interval
number - 連続停止から自動アーカイブまでの分数。 最大間隔にするには 0 を指定します。デフォルトは 7 日です。
戻り値:
Promise<void>
スロー:
DaytonaError
- interval が非負の整数でない場合
例:
// 1 時間後に自動アーカイブawait sandbox.setAutoArchiveInterval(60);// 最大間隔を使用await sandbox.setAutoArchiveInterval(0);
setAutoDeleteInterval()
setAutoDeleteInterval(interval: number): Promise<void>
サンドボックス(Daytonaが管理する隔離された一時的なコンピュート環境)の自動削除間隔を設定します。
指定した間隔のあいだ連続して停止状態が続くと、サンドボックスは自動的に削除されます。
パラメータ:
interval
number - 連続停止後に自動削除されるまでの分数。 自動削除を無効化するには負の値を設定します。停止と同時に即時削除するには 0 を設定します。 既定では自動削除は無効です。
戻り値:
Promise<void>
例:
// 1時間後に自動削除await sandbox.setAutoDeleteInterval(60);// 停止と同時に即時削除await sandbox.setAutoDeleteInterval(0);// 自動削除を無効化await sandbox.setAutoDeleteInterval(-1);
setAutostopInterval()
setAutostopInterval(interval: number): Promise<void>
サンドボックスの自動停止間隔を設定します。
指定した間隔のあいだアイドル(新しいイベントなし)が続くと、サンドボックスは自動的に停止します。 イベントには、SDK を通じたサンドボックスへの状態変更や各種インタラクションが含まれます。 Sandbox Previews を用いたインタラクションは含まれません。
パラメータ:
interval
number - 自動停止までの非アクティブ時間(分)。 自動停止を無効化するには 0 を設定します。既定は 15 分です。
戻り値:
Promise<void>
スロー:
DaytonaError
- interval が非負の整数でない場合
例:
// 1時間後に自動停止await sandbox.setAutostopInterval(60);// 自動停止を無効化await sandbox.setAutostopInterval(0);
setLabels()
setLabels(labels: Record<string, string>): Promise<Record<string, string>>
サンドボックスにラベルを設定します。
ラベルは、サンドボックスの整理や識別に使用できるキーと値のペアです。
パラメータ:
labels
Record<string, string> - サンドボックスのラベルを表すキーと値のペアの辞書
戻り値:
Promise<Record<string, string>>
例:
// サンドボックスのラベルを設定await sandbox.setLabels({ project: 'my-project', environment: 'development', team: 'backend'});
start()
start(timeout?: number): Promise<void>
サンドボックスを起動します。
このメソッドはサンドボックスを起動し、準備完了になるまで待機します。
パラメータ:
timeout?
number = 60 - 待機する最大時間(秒)。0 はタイムアウトなしを意味します。 既定は 60 秒のタイムアウトです。
戻り値:
Promise<void>
スロー:
DaytonaError
- サンドボックスの起動に失敗した場合、またはタイムアウトした場合
例:
const sandbox = await daytona.getCurrentSandbox('my-sandbox');await sandbox.start(40); // 最大 40 秒待機console.log('Sandbox started successfully');
stop()
stop(timeout?: number): Promise<void>
サンドボックスを停止します。
このメソッドはサンドボックスを停止し、完全に停止するまで待機します。
パラメータ:
timeout?
number = 60 - 待機する最大時間(秒)。0 はタイムアウトなしを意味します。 既定は 60 秒のタイムアウトです。
戻り値:
Promise<void>
例:
const sandbox = await daytona.getCurrentSandbox('my-sandbox');await sandbox.stop();console.log('Sandbox stopped successfully');
waitUntilStarted()
waitUntilStarted(timeout?: number): Promise<void>
サンドボックスが ‘started’ 状態に到達するまで待機します。
このメソッドは、サンドボックスが ‘started’ 状態に到達するか エラーが発生するまでステータスをポーリングします。
パラメータ:
timeout?
number = 60 - 待機する最大時間(秒)。0 はタイムアウトなしを意味します。 既定は 60 秒です。
戻り値:
Promise<void>
スロー:
DaytonaError
- サンドボックスがエラー状態になった場合、またはタイムアウト内に起動できなかった場合
waitUntilStopped()
waitUntilStopped(timeout?: number): Promise<void>
サンドボックスが ‘stopped’ 状態に到達するまで待機します。
このメソッドは、サンドボックスが ‘stopped’ 状態に到達するか エラーが発生するまでステータスをポーリングします。
パラメータ:
timeout?
number = 60 - 待機する最大時間(秒)。0 はタイムアウトなしを意味します。 既定は 60 秒です。
戻り値:
Promise<void>
スロー:
DaytonaError
- サンドボックスがタイムアウト内に停止できなかった場合
SandboxCodeToolbox
コードツールボックスが実装すべきメソッドを定義するインターフェース
Methods
getRunCommand()
getRunCommand(code: string, params?: CodeRunParams): string
与えられたコードを実行するためのコマンドを生成します
Parameters:
code
stringparams?
CodeRunParams
Returns:
string