Key details

  1. Direct Fetch transfers a remote object directly into Fastly Object Storage without first downloading it to the client.
  2. The API uses `PutObject` or `UploadPart` with `fastly-object-storage-source-url`.
  3. The upload body is empty because Fastly fetches the object from the supplied source URL.
  4. Range requests are propagated to the source and can be used with multipart uploads.
  5. The source can be another S3-compatible storage provider.
  6. Pre-signed URLs can provide temporary access to private source objects.
  7. Fastly says the design reduces transfer time and client bandwidth for migrations.

What builders should take away

  1. For large migrations, benchmark server-side Direct Fetch against existing client-side copy workers before provisioning more migration compute or egress bandwidth.
  2. Use short-lived pre-signed source URLs instead of embedding long-lived source-storage credentials in migration workers.
  3. Design retries around destination idempotency and multipart state; moving the data plane server-side does not remove the need for resumable migration bookkeeping.
  4. Verify source-provider range-request and URL-expiry behavior before relying on multipart copies for very large objects.
  5. Treat generated pre-signed URLs as secrets until they expire.

What changed

Fastly introduced Direct Fetch for Object Storage in September 2026. Instead of downloading a source object to the client and uploading it again, a client sends a normal `PutObject` or `UploadPart` request with an empty payload and supplies the remote object URL in the `fastly-object-storage-source-url` header. Fastly's Object Storage service then fetches the source directly and writes it to the destination. Range requests are supported, allowing multipart uploads to be assembled from sections of a remote object. Because the source can be a pre-signed S3-compatible URL, private data can be moved without giving Fastly a long-lived credential for the source account.

Why it matters

Large storage migrations are often constrained less by API syntax than by where the bytes travel. Client-mediated copies consume application bandwidth, double-hop through migration workers and create more moving parts for retry and capacity planning. Direct Fetch moves the bulk data path to Fastly's infrastructure while keeping the initiating request S3-compatible. That can simplify one-time migrations, background copy jobs and selective object movement from existing S3-compatible providers.

The client initiates the copy but does not carry the object bytes

A Direct Fetch request uses `PutObject` or `UploadPart` with the remote URL in a Fastly-specific header. Object Storage retrieves the data itself and returns the normal operation response after writing the destination.

Multipart and range migration are supported

When a request includes a Range header, Fastly asks the source for the same byte range. That lets migration tooling split large objects into parts and use multipart upload semantics without first materializing the complete object locally.

Pre-signed URLs keep source credentials short-lived

A source URL can be pre-signed by an S3-compatible provider. This allows Fastly to fetch a private object without receiving the customer's long-lived access key, although the URL itself remains a sensitive capability until it expires.

What to watch next

  • Pricing and egress economics for large cross-provider migrations.
  • Additional supported source-authentication mechanisms beyond pre-signed URLs.
  • Operational limits for object size, concurrency and source timeouts.
  • Whether Direct Fetch gains bulk-manifest or migration-job orchestration above the per-object API.

Still unclear

  • Actual performance and cost depend on the source provider, regions, object sizes and egress charges.
  • Direct Fetch simplifies the byte path but migration tooling still needs inventory, verification, retry and reconciliation logic.
  • A pre-signed URL grants temporary source access and must be protected appropriately.

Sources

Direct reading behind this dossier.

2 sources

Discussion

Discussion is reader-contributed. Comments are not part of the BTN dossier or its editorial evidence.

0 visible comments

Join the discussion

Keep comments useful and relevant. Reader contributions may be moderated and are not BTN editorial evidence.

Sign in to comment