Understanding S3 Multipart Uploads, ETags, and CORS
Understanding S3 Multipart Uploads, ETags, and CORS
Table of Contents
The Role of ETag in Multipart Uploads
1.1 ETag for Single File Uploads
1.2 ETag in Multipart Uploads (Core Mechanism)
1.3 Three Key Values of ETag
CORS and ExposeHeaders: Why It Matters for Browser Uploads
2.1 Browser Security Foundation: Same-Origin Policy
2.2 The Pur ...
Posted on Fri, 03 Jul 2026 16:55:55 +0000 by Spreegem
Interacting with AWS Services Using Python and Boto3
Overview
Amazon S3 stores data as objects within buckets. An object consists of a file and optional metadata that describes it. To store an object, you upload the file to a bucket and can set permissions for both the object and its metadata.
Buckets serve as containers for objects. You can create and menage multiple buckets, controlling access ...
Posted on Sat, 20 Jun 2026 16:37:27 +0000 by rayvd
High-Performance Multipart Upload and Merge with MinIO
Multipart Upload Architecture
MinIO delivers near-linear scalability for large-object workloads by combining goroutine-level parallelism with a shared-nothing distributed design. Written in Go and bypassing tradisional GC pauses, it exposes the complete S3 multipart API surface:
CreateMultipartUpload – reserve an upload session
UploadPart – st ...
Posted on Fri, 08 May 2026 14:21:11 +0000 by Robert07
Implementing S3 Backup and Restore in Easysearch
Easysearch includes native support for S3 storage, enabling users to create and restore snapshots directly to Amazon S3-compatible services without installing external plugins. This integration streamlines the backup and migration workflow for data managed within the cluster.
Prerequisite: Object Storage Setup
A compatible S3 service is require ...
Posted on Fri, 08 May 2026 13:14:46 +0000 by Naithin
Load-testing S3 and DocumentDB with Apache Bench under controlled AWS conditions
Environment
Cloud provider: AWS
Instance type: t3.medium (2 vCPU, 4 GB RAM)
Runtime: Python 3.7, Flask, Guniconr with gevent worker class
Process model: 8 workers × 16 threads each
Port: 5001
gunicorn main:app \
-k gevent \
-w 8 \
--threads 16 \
--bind :5001 \
--timeout 3600 \
--keep-alive 65 \
--log-level info \
--access-logf ...
Posted on Thu, 07 May 2026 21:20:19 +0000 by aamirshah