Skip to main content
Snapshots let you capture the filesystem and/or memory of a Sandbox as an immutable artifact. You can then use this artifact to create new Sandboxes with that same captured state. Use snapshots when you want to:
  • Fork Sandboxes to test different variations of code
  • Initialize Sandboxes with existing state for faster cold starts
  • Save a reproducible environment you can return to later
A filesystem image and a memory checkpoint are different artifacts. create_image_from_filesystem() returns an image ID for Image.from_id; snapshot_memory() returns a checkpoint ID for create_from_memory_snapshot. They are not interchangeable. Wait for writes and initialization to finish before capturing state. Mounted volumes and durable disks have their own persistence behavior; a reusable root-filesystem image is not a backup of every mounted dataset. See durable disks.

Creating a Filesystem Snapshot

Using Filesystem Snapshots

You can use Snapshots as a base image for any other abstraction or Sandbox on Beam, using Image.from_id:

Creating a Memory Snapshot

You can also create a memory snapshot of a running Sandbox, which captures the sandbox’s process state and filesystem on supported runtimes. Restored sandboxes receive their own identity and URLs; inspect list_urls() on the restored instance.

Using Memory Snapshots

You can use memory snapshots as a starting point for a new Sandbox, using Sandbox().create_from_memory_snapshot: