Skip to content

Storage backend compatibility

Andrew Gaul edited this page Jun 17, 2016 · 30 revisions

Some storage backends do not support all the features of S3:

Atmos

  • does not support multi-part upload

Azure

  • limits container names to 63 characters and restricts character set to lowercase alphanumeric and dash
  • does not support Expires header but does support Cache-Control header
  • does not support object-level access control
  • does not allow arbitrary list markers, partially emulated by mapping the last key to the opaque marker
  • does not return ETag as an MD5 hash, instead returning opaque data

B2

  • does not return ETag as an MD5 hash, instead returning SHA1 hash
  • multipart upload requires a minimum part size of 100 MB and at least 2 parts

filesystem

  • does not support object metadata on Mac OS X, see JDK-8030048

Google Cloud Storage

  • does not allow arbitrary list markers, partially emulated by mapping the last key to the opaque marker
  • does not return ETag as an MD5 hash, instead returning opaque data

OpenStack Swift

  • does not support Content-Language headers
  • does not support copying objects with the If-None-Match header
  • does not support deleting user metadata keys, only replacing them
  • does not support object-level access control
  • exposes multipart upload parts as regular keys

Clone this wiki locally