Skip to main content

Supported and unsupported request headers for S3 UploadPart operations in StorageGRID

Contributors netapp-pcarriga netapp-jsnyder netapp-perveilerk

The UploadPart operation uploads a part in a multipart upload for an object.

Supported request headers

The following request headers are supported:

  • Checksum request headers:

    • x-amz-checksum-crc32

    • x-amz-checksum-crc32c

    • x-amz-checksum-crc64nvme

    • x-amz-checksum-sha256

    If you specified a CRC-32, CRC-32C, CRC-64/NVME, or SHA-256 checksum during the CreateMultipartUpload request, you must also include the checksum request header in each UploadPart request.

    Note If a CreateMultipartUpload request doesn't specify a checksum, StorageGRID doesn't calculate a default CRC-64/NVME checksum for an object.
  • Content-Length

  • Content-MD5

Request headers for server-side encryption

If you specified SSE-C encryption for the CreateMultipartUpload request, you must also include the following request headers in each UploadPart request:

  • x-amz-server-side-encryption-customer-algorithm: Specify AES256.

  • x-amz-server-side-encryption-customer-key: Specify the same encryption key that you provided in the CreateMultipartUpload request.

  • x-amz-server-side-encryption-customer-key-MD5: Specify the same MD5 digest that you provided in the CreateMultipartUpload request.

Caution The encryption keys you provide are never stored. If you lose an encryption key, you lose the corresponding object. Before using customer-provided keys to secure object data, review the considerations in Use server-side encryption.

Unsupported request headers

The following request headers aren't supported:

  • x-amz-sdk-checksum-algorithm

  • x-amz-trailer

  • x-amz-checksum-md5

  • x-amz-checksum-sha1

  • x-amz-checksum-sha512

  • x-amz-checksum-xxhash3

  • x-amz-checksum-xxhash64

  • x-amz-checksum-xxhash128

Versioning

Multipart upload consists of separate operations for initiating the upload, listing uploads, uploading parts, assembling the uploaded parts, and completing the upload. Objects are created (and versioned if applicable) when the CompleteMultipartUpload operation is performed.