Skip to content

AzCopy S3 to Azure: How It Works and the Limits to Check

How AzCopy copies AWS S3 data to Azure and where its limits are

AzCopy does not download S3 data through your computer

Section titled "AzCopy does not download S3 data through your computer"

AzCopy's documented AWS S3 transfer uses Azure's Put Block From URL operation. AWS S3 and Azure Storage exchange the object data without using your computer's network bandwidth.[1]

That makes AzCopy a strong option for teams comfortable with a command line. It can copy one object, a directory, a bucket, or broader groups of AWS buckets.

The migration still needs planning. Server-to-server describes the data route. It does not solve naming, metadata, authentication, or destination-tier decisions.

Authentication is different on each side

Section titled "Authentication is different on each side"

The Azure side can use Microsoft Entra ID or a SAS token. The documented AWS flow uses an AWS access key and secret access key supplied through environment variables.

Protect shell history, scripts, logs, and CI output from credentials. Use the narrowest permissions that cover the source and destination.

AWS S3 bucket names and Azure container names allow different characters. AzCopy rewrites names that Azure cannot accept.

Periods can become hyphens. Consecutive hyphens can also be rewritten. Two distinct S3 bucket names may therefore map to the same Azure container name, forcing another rename.

Create a bucket-to-container map before a large migration. Do not discover the naming plan from the destination after the copy is complete.

Invalid metadata needs an explicit choice

Section titled "Invalid metadata needs an explicit choice"

S3 and Azure also allow different metadata-key characters. AzCopy provides --s2s-handle-invalid-metadata with three behaviors:

  • ExcludeIfInvalid omits incompatible metadata and logs a warning.
  • FailIfInvalid fails that object.
  • RenameIfInvalid changes the metadata key.

The default exclusion behavior can produce a successful object copy with missing metadata. If metadata affects retention, compliance, processing, or ownership, review this flag before running the job.

AWS S3 is not every S3-compatible service

Section titled "AWS S3 is not every S3-compatible service"

Microsoft's documented S3 flow uses AWS S3 URL formats. Do not assume the same command accepts every Wasabi, Cloudflare R2, MinIO, DigitalOcean Spaces, or private S3-compatible endpoint.

Test the exact provider and endpoint. A tool that supports generic S3 endpoint URLs may be a better fit for non-AWS sources.

When a desktop workflow fits better

Section titled "When a desktop workflow fits better"

Use AzCopy when server-to-server speed, scripting, automation, and repeatable command lines suit the team.

Use a desktop tool when the operator needs visual file selection, browsing, previews, and fewer command flags. Blober connects AWS S3, Azure Blob Storage, and generic S3-compatible endpoints in one local interface. Its data path is different from AzCopy's server-side AWS path, so choose based on network, security, and operational needs rather than calling either design universally better.

AzCopy also supports job resume and restart. Its source code and current release details are published on GitHub.[2]

AzCopy is a good command-line tool for AWS S3. When you want visual browsing, previews, destination tier selection, and generic S3-compatible endpoints, Blober covers the same move from a desktop app.

Download Blober at blober.io