Skip to content

/AWS1/CL_S3_PUTOBJECTOUTPUT

PutObjectOutput

CONSTRUCTOR

IMPORTING

Optional arguments:

iv_expiration TYPE /AWS1/S3_EXPIRATION /AWS1/S3_EXPIRATION

If the expiration is configured for the object (see PutBucketLifecycleConfiguration) in the Amazon S3 User Guide, the response includes this header. It includes the expiry-date and rule-id key-value pairs that provide information about object expiration. The value of the rule-id is URL-encoded.

Object expiration information is not returned in directory buckets and this header returns the value "NotImplemented" in all responses for directory buckets.

iv_etag TYPE /AWS1/S3_ETAG /AWS1/S3_ETAG

Entity tag for the uploaded object.

General purpose buckets - To ensure that data is not corrupted traversing the network, for objects where the ETag is the MD5 digest of the object, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value.

Directory buckets - The ETag for the object in a directory bucket isn't the MD5 digest of the object.

iv_checksumcrc32 TYPE /AWS1/S3_CHECKSUMCRC32 /AWS1/S3_CHECKSUMCRC32

The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only be present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see Checking object integrity in the Amazon S3 User Guide.

iv_checksumcrc32c TYPE /AWS1/S3_CHECKSUMCRC32C /AWS1/S3_CHECKSUMCRC32C

The Base64 encoded, 32-bit CRC32C checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see Checking object integrity in the Amazon S3 User Guide.

iv_checksumcrc64nvme TYPE /AWS1/S3_CHECKSUMCRC64NVME /AWS1/S3_CHECKSUMCRC64NVME

The Base64 encoded, 64-bit CRC64NVME checksum of the object. This header is present if the object was uploaded with the CRC64NVME checksum algorithm, or if it was uploaded without a checksum (and Amazon S3 added the default checksum, CRC64NVME, to the uploaded object). For more information about how checksums are calculated with multipart uploads, see Checking object integrity in the Amazon S3 User Guide.

iv_checksumsha1 TYPE /AWS1/S3_CHECKSUMSHA1 /AWS1/S3_CHECKSUMSHA1

The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see Checking object integrity in the Amazon S3 User Guide.

iv_checksumsha256 TYPE /AWS1/S3_CHECKSUMSHA256 /AWS1/S3_CHECKSUMSHA256

The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see Checking object integrity in the Amazon S3 User Guide.

iv_checksumtype TYPE /AWS1/S3_CHECKSUMTYPE /AWS1/S3_CHECKSUMTYPE

This header specifies the checksum type of the object, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. For PutObject uploads, the checksum type is always FULL_OBJECT. You can use this header as a data integrity check to verify that the checksum type that is received is the same checksum that was specified. For more information, see Checking object integrity in the Amazon S3 User Guide.

iv_serversideencryption TYPE /AWS1/S3_SERVERSIDEENCRYPTION /AWS1/S3_SERVERSIDEENCRYPTION

The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.

When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is aws:fsx.

iv_versionid TYPE /AWS1/S3_OBJECTVERSIONID /AWS1/S3_OBJECTVERSIONID

Version ID of the object.

If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects. For more information about versioning, see Adding Objects to Versioning-Enabled Buckets in the Amazon S3 User Guide. For information about returning the versioning state of a bucket, see GetBucketVersioning.

This functionality is not supported for directory buckets.

iv_ssecustomeralgorithm TYPE /AWS1/S3_SSECUSTOMERALGORITHM /AWS1/S3_SSECUSTOMERALGORITHM

If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.

This functionality is not supported for directory buckets.

iv_ssecustomerkeymd5 TYPE /AWS1/S3_SSECUSTOMERKEYMD5 /AWS1/S3_SSECUSTOMERKEYMD5

If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.

This functionality is not supported for directory buckets.

iv_ssekmskeyid TYPE /AWS1/S3_SSEKMSKEYID /AWS1/S3_SSEKMSKEYID

If present, indicates the ID of the KMS key that was used for object encryption.

iv_ssekmsencryptioncontext TYPE /AWS1/S3_SSEKMSENCCONTEXT /AWS1/S3_SSEKMSENCCONTEXT

If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a Base64 encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs. This value is stored as object metadata and automatically gets passed on to Amazon Web Services KMS for future GetObject operations on this object.

iv_bucketkeyenabled TYPE /AWS1/S3_BUCKETKEYENABLED /AWS1/S3_BUCKETKEYENABLED

Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).

iv_size TYPE /AWS1/S3_SIZE /AWS1/S3_SIZE

The size of the object in bytes. This value is only be present if you append to an object.

This functionality is only supported for objects in the Amazon S3 Express One Zone storage class in directory buckets.

iv_requestcharged TYPE /AWS1/S3_REQUESTCHARGED /AWS1/S3_REQUESTCHARGED

RequestCharged


Queryable Attributes

Expiration

If the expiration is configured for the object (see PutBucketLifecycleConfiguration) in the Amazon S3 User Guide, the response includes this header. It includes the expiry-date and rule-id key-value pairs that provide information about object expiration. The value of the rule-id is URL-encoded.

Object expiration information is not returned in directory buckets and this header returns the value "NotImplemented" in all responses for directory buckets.

Accessible with the following methods

Method Description
GET_EXPIRATION() Getter for EXPIRATION, with configurable default
ASK_EXPIRATION() Getter for EXPIRATION w/ exceptions if field has no value
HAS_EXPIRATION() Determine if EXPIRATION has a value

ETag

Entity tag for the uploaded object.

General purpose buckets - To ensure that data is not corrupted traversing the network, for objects where the ETag is the MD5 digest of the object, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value.

Directory buckets - The ETag for the object in a directory bucket isn't the MD5 digest of the object.

Accessible with the following methods

Method Description
GET_ETAG() Getter for ETAG, with configurable default
ASK_ETAG() Getter for ETAG w/ exceptions if field has no value
HAS_ETAG() Determine if ETAG has a value

ChecksumCRC32

The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only be present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see Checking object integrity in the Amazon S3 User Guide.

Accessible with the following methods

Method Description
GET_CHECKSUMCRC32() Getter for CHECKSUMCRC32, with configurable default
ASK_CHECKSUMCRC32() Getter for CHECKSUMCRC32 w/ exceptions if field has no value
HAS_CHECKSUMCRC32() Determine if CHECKSUMCRC32 has a value

ChecksumCRC32C

The Base64 encoded, 32-bit CRC32C checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see Checking object integrity in the Amazon S3 User Guide.

Accessible with the following methods

Method Description
GET_CHECKSUMCRC32C() Getter for CHECKSUMCRC32C, with configurable default
ASK_CHECKSUMCRC32C() Getter for CHECKSUMCRC32C w/ exceptions if field has no valu
HAS_CHECKSUMCRC32C() Determine if CHECKSUMCRC32C has a value

ChecksumCRC64NVME

The Base64 encoded, 64-bit CRC64NVME checksum of the object. This header is present if the object was uploaded with the CRC64NVME checksum algorithm, or if it was uploaded without a checksum (and Amazon S3 added the default checksum, CRC64NVME, to the uploaded object). For more information about how checksums are calculated with multipart uploads, see Checking object integrity in the Amazon S3 User Guide.

Accessible with the following methods

Method Description
GET_CHECKSUMCRC64NVME() Getter for CHECKSUMCRC64NVME, with configurable default
ASK_CHECKSUMCRC64NVME() Getter for CHECKSUMCRC64NVME w/ exceptions if field has no v
HAS_CHECKSUMCRC64NVME() Determine if CHECKSUMCRC64NVME has a value

ChecksumSHA1

The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see Checking object integrity in the Amazon S3 User Guide.

Accessible with the following methods

Method Description
GET_CHECKSUMSHA1() Getter for CHECKSUMSHA1, with configurable default
ASK_CHECKSUMSHA1() Getter for CHECKSUMSHA1 w/ exceptions if field has no value
HAS_CHECKSUMSHA1() Determine if CHECKSUMSHA1 has a value

ChecksumSHA256

The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see Checking object integrity in the Amazon S3 User Guide.

Accessible with the following methods

Method Description
GET_CHECKSUMSHA256() Getter for CHECKSUMSHA256, with configurable default
ASK_CHECKSUMSHA256() Getter for CHECKSUMSHA256 w/ exceptions if field has no valu
HAS_CHECKSUMSHA256() Determine if CHECKSUMSHA256 has a value

ChecksumType

This header specifies the checksum type of the object, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. For PutObject uploads, the checksum type is always FULL_OBJECT. You can use this header as a data integrity check to verify that the checksum type that is received is the same checksum that was specified. For more information, see Checking object integrity in the Amazon S3 User Guide.

Accessible with the following methods

Method Description
GET_CHECKSUMTYPE() Getter for CHECKSUMTYPE, with configurable default
ASK_CHECKSUMTYPE() Getter for CHECKSUMTYPE w/ exceptions if field has no value
HAS_CHECKSUMTYPE() Determine if CHECKSUMTYPE has a value

ServerSideEncryption

The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.

When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is aws:fsx.

Accessible with the following methods

Method Description
GET_SERVERSIDEENCRYPTION() Getter for SERVERSIDEENCRYPTION, with configurable default
ASK_SERVERSIDEENCRYPTION() Getter for SERVERSIDEENCRYPTION w/ exceptions if field has n
HAS_SERVERSIDEENCRYPTION() Determine if SERVERSIDEENCRYPTION has a value

VersionId

Version ID of the object.

If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects. For more information about versioning, see Adding Objects to Versioning-Enabled Buckets in the Amazon S3 User Guide. For information about returning the versioning state of a bucket, see GetBucketVersioning.

This functionality is not supported for directory buckets.

Accessible with the following methods

Method Description
GET_VERSIONID() Getter for VERSIONID, with configurable default
ASK_VERSIONID() Getter for VERSIONID w/ exceptions if field has no value
HAS_VERSIONID() Determine if VERSIONID has a value

SSECustomerAlgorithm

If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.

This functionality is not supported for directory buckets.

Accessible with the following methods

Method Description
GET_SSECUSTOMERALGORITHM() Getter for SSECUSTOMERALGORITHM, with configurable default
ASK_SSECUSTOMERALGORITHM() Getter for SSECUSTOMERALGORITHM w/ exceptions if field has n
HAS_SSECUSTOMERALGORITHM() Determine if SSECUSTOMERALGORITHM has a value

SSECustomerKeyMD5

If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.

This functionality is not supported for directory buckets.

Accessible with the following methods

Method Description
GET_SSECUSTOMERKEYMD5() Getter for SSECUSTOMERKEYMD5, with configurable default
ASK_SSECUSTOMERKEYMD5() Getter for SSECUSTOMERKEYMD5 w/ exceptions if field has no v
HAS_SSECUSTOMERKEYMD5() Determine if SSECUSTOMERKEYMD5 has a value

SSEKMSKeyId

If present, indicates the ID of the KMS key that was used for object encryption.

Accessible with the following methods

Method Description
GET_SSEKMSKEYID() Getter for SSEKMSKEYID, with configurable default
ASK_SSEKMSKEYID() Getter for SSEKMSKEYID w/ exceptions if field has no value
HAS_SSEKMSKEYID() Determine if SSEKMSKEYID has a value

SSEKMSEncryptionContext

If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a Base64 encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs. This value is stored as object metadata and automatically gets passed on to Amazon Web Services KMS for future GetObject operations on this object.

Accessible with the following methods

Method Description
GET_SSEKMSENCRYPTIONCONTEXT() Getter for SSEKMSENCRYPTIONCONTEXT, with configurable defaul
ASK_SSEKMSENCRYPTIONCONTEXT() Getter for SSEKMSENCRYPTIONCONTEXT w/ exceptions if field ha
HAS_SSEKMSENCRYPTIONCONTEXT() Determine if SSEKMSENCRYPTIONCONTEXT has a value

BucketKeyEnabled

Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).

Accessible with the following methods

Method Description
GET_BUCKETKEYENABLED() Getter for BUCKETKEYENABLED, with configurable default
ASK_BUCKETKEYENABLED() Getter for BUCKETKEYENABLED w/ exceptions if field has no va
HAS_BUCKETKEYENABLED() Determine if BUCKETKEYENABLED has a value

Size

The size of the object in bytes. This value is only be present if you append to an object.

This functionality is only supported for objects in the Amazon S3 Express One Zone storage class in directory buckets.

Accessible with the following methods

Method Description
GET_SIZE() Getter for SIZE, with configurable default
ASK_SIZE() Getter for SIZE w/ exceptions if field has no value
HAS_SIZE() Determine if SIZE has a value

RequestCharged

RequestCharged

Accessible with the following methods

Method Description
GET_REQUESTCHARGED() Getter for REQUESTCHARGED, with configurable default
ASK_REQUESTCHARGED() Getter for REQUESTCHARGED w/ exceptions if field has no valu
HAS_REQUESTCHARGED() Determine if REQUESTCHARGED has a value