You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Upload Your Data says the proxy writes to any backend, but multipart uploads only work on S3 #48
Upload Your Data says a product's data may be stored with Amazon S3, Google Cloud Storage, Azure Blob Storage, Cloudflare R2 and others, and that "you always upload to the same proxy address, and the proxy writes to the right place."
For products stored in Azure Blob Storage or Google Cloud Storage, that's only partly true. The data proxy uses multistore 0.8.0, which refuses these operations on any backend that isn't S3:
Multipart upload (create, upload part, complete, abort): require_s3_backend returns "operation not supported for '' backends" (multistore/src/proxy.rs, require_s3_backend).
aws-chunked streaming uploads: rejected for non-S3 backends (try_streaming_forward).
Server-side copy (CopyObject): rejected by require_s3_backend.
Single-request GET, HEAD, PUT and DELETE, and LIST, work on every backend. They go through object_store's native S3, Azure and GCS backends. Cloudflare R2 reaches the proxy through the S3 backend, so it isn't affected.
The AWS CLI and boto3 switch to multipart upload above a size threshold. If that threshold is in the low megabytes, as I believe it is but haven't checked against the AWS docs, then following Upload with the Source CLI for a large file on an Azure-backed product would fail. aws s3 mv, aws s3 sync --delete and copies within the bucket might fail as well.
To decide:
Do Azure- or GCS-backed products accept uploads through the proxy in practice, or are uploads only ever enabled for S3-backed products?
If they do, the upload pages should say which operations aren't available, and how large files should be uploaded to those products.
If they don't, the sentence about the proxy writing to the right place should be limited to reads, or say which products accept uploads.
Activity
tylere commentedon Oct 24, 2026
@alukach could you weigh in on how the docs should describe this?