> ## 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

你可以列出所有 Snapshot,也可以将列表范围缩小到由特定 Sandbox 创建的 Snapshot。

***

## 列出 Snapshot

调用该方法并对结果分页遍历。每一页是一个 `SnapshotInfo` 列表。

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

  ppio = PPIO()

  paginator = ppio.sandbox.list_snapshots(limit=20)

  while paginator.has_next:
      snapshots = paginator.next_items()
      for s in snapshots:
          print(s.snapshot_id)
  ```

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

  const ppio = new PPIO()

  const paginator = ppio.sandbox.listSnapshots({ limit: 20 })

  while (paginator.hasNext) {
    const snapshots = await paginator.nextItems()
    for (const s of snapshots) {
      console.log(s.snapshotId)
    }
  }
  ```

  ```bash CLI theme={null}
  # 默认以 Pretty table 输出
  ppio snapshot list

  # JSON 格式输出
  ppio snapshot list --output json
  ```
</CodeGroup>

***

## 按源 Sandbox 筛选

传入 Sandbox ID,即可只列出由该 Sandbox 创建的 Snapshot。

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

  ppio = PPIO()

  sandbox_id = "<sandboxID>"
  paginator = ppio.sandbox.list_snapshots(sandbox_id=sandbox_id)

  while paginator.has_next:
      for s in paginator.next_items():
          print(s.snapshot_id)
  ```

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

  const ppio = new PPIO()

  const sandboxId = '<sandboxID>'

  const paginator = ppio.sandbox.listSnapshots({ sandboxId })

  while (paginator.hasNext) {
    for (const s of await paginator.nextItems()) {
      console.log(s.snapshotId)
    }
  }
  ```
</CodeGroup>
