> ## Documentation Index
> Fetch the complete documentation index at: https://ppio.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 创建 Snapshot

<Note>
  **注意:** 创建 Snapshot 期间,Sandbox 会被暂停。Snapshot 是持久化的,即使源 Sandbox 被删除后仍然可用。
</Note>

***

## 创建 Snapshot

在一个正在运行的 Sandbox 实例上调用该方法。

<CodeGroup>
  ```python Python theme={null}
  from ppio_sandbox import PPIO

  ppio = PPIO()

  sandbox = ppio.sandbox.create("base")

  # 准备需要保留的状态
  sandbox.commands.run("echo aaaa > a")

  # 捕获当前状态（此期间 Sandbox 会被暂停）
  snapshot = sandbox.create_snapshot()
  print("Snapshot ID:", snapshot.snapshot_id)

  sandbox.kill()
  ```

  ```javascript JavaScript & TypeScript theme={null}
  import { PPIO } from 'ppio-sandbox'

  const ppio = new PPIO()

  const sandbox = await ppio.sandbox.create('base')

  // 准备需要保留的状态
  await sandbox.commands.run('echo aaaa > a')

  // 捕获当前状态（此期间 Sandbox 会被暂停）
  const snapshot = await sandbox.createSnapshot()
  console.log('Snapshot ID:', snapshot.snapshotId)

  await sandbox.kill()
  ```

  ```bash CLI theme={null}
  ppio snapshot create <sandbox_id>
  ```
</CodeGroup>

***

## 通过 Sandbox ID 创建 Snapshot

你也可以在没有实例的情况下,将 Sandbox ID 传给静态方法来创建 Snapshot。

<CodeGroup>
  ```python Python theme={null}
  from ppio_sandbox import PPIO

  ppio = PPIO()

  sandbox_id = "<sandboxID>"
  snapshot = ppio.sandbox.create_snapshot(sandbox_id=sandbox_id)
  print("Snapshot ID:", snapshot.snapshot_id)
  ```

  ```javascript JavaScript & TypeScript theme={null}
  import { PPIO } from 'ppio-sandbox'

  const ppio = new PPIO()

  const sandboxId = '<sandboxID>'
  const snapshot = await ppio.sandbox.createSnapshot(sandboxId)
  console.log('Snapshot ID:', snapshot.snapshotId)
  ```
</CodeGroup>
