Amazon Simple Storage Service

2021/03/18 - Amazon Simple Storage Service - 1 new api methods

Changes  S3 Object Lambda is a new S3 feature that enables users to apply their own custom code to process the output of a standard S3 GET request by automatically invoking a Lambda function with a GET request

WriteGetObjectResponse (new) Link ΒΆ

Passes transformed objects to a GetObject operation when using Object Lambda Access Points. For information about Object Lambda Access Points, see Transforming objects with Object Lambda Access Points in the Amazon S3 User Guide .

This operation supports metadata that can be returned by GetObject , in addition to RequestRoute , RequestToken , StatusCode , ErrorCode , and ErrorMessage . The GetObject response metadata is supported so that the WriteGetObjectResponse caller, typically an AWS Lambda function, can provide the same metadata when it internally invokes GetObject . When WriteGetObjectResponse is called by a customer-owned Lambda function, the metadata returned to the end user GetObject call might differ from what Amazon S3 would normally return.

See also: AWS API Documentation

Request Syntax

client.write_get_object_response(
    RequestRoute='string',
    RequestToken='string',
    Body=b'bytes'|file,
    StatusCode=123,
    ErrorCode='string',
    ErrorMessage='string',
    AcceptRanges='string',
    CacheControl='string',
    ContentDisposition='string',
    ContentEncoding='string',
    ContentLanguage='string',
    ContentLength=123,
    ContentRange='string',
    ContentType='string',
    DeleteMarker=True|False,
    ETag='string',
    Expires=datetime(2015, 1, 1),
    Expiration='string',
    LastModified=datetime(2015, 1, 1),
    MissingMeta=123,
    Metadata={
        'string': 'string'
    },
    ObjectLockMode='GOVERNANCE'|'COMPLIANCE',
    ObjectLockLegalHoldStatus='ON'|'OFF',
    ObjectLockRetainUntilDate=datetime(2015, 1, 1),
    PartsCount=123,
    ReplicationStatus='COMPLETE'|'PENDING'|'FAILED'|'REPLICA',
    RequestCharged='requester',
    Restore='string',
    ServerSideEncryption='AES256'|'aws:kms',
    SSECustomerAlgorithm='string',
    SSEKMSKeyId='string',
    SSECustomerKeyMD5='string',
    StorageClass='STANDARD'|'REDUCED_REDUNDANCY'|'STANDARD_IA'|'ONEZONE_IA'|'INTELLIGENT_TIERING'|'GLACIER'|'DEEP_ARCHIVE'|'OUTPOSTS',
    TagCount=123,
    VersionId='string',
    BucketKeyEnabled=True|False
)
type RequestRoute

string

param RequestRoute

[REQUIRED]

Route prefix to the HTTP URL generated.

type RequestToken

string

param RequestToken

[REQUIRED]

A single use encrypted token that maps WriteGetObjectResponse to the end user GetObject request.

type Body

bytes or seekable file-like object

param Body

The object data.

type StatusCode

integer

param StatusCode

The integer status code for an HTTP response of a corresponding GetObject request.

Status Codes

  • 200 - OK

  • 206 - Partial Content

  • 304 - Not Modified

  • 400 - Bad Request

  • 401 - Unauthorized

  • 403 - Forbidden

  • 404 - Not Found

  • 405 - Method Not Allowed

  • 409 - Conflict

  • 411 - Length Required

  • 412 - Precondition Failed

  • 416 - Range Not Satisfiable

  • 500 - Internal Server Error

  • 503 - Service Unavailable

type ErrorCode

string

param ErrorCode

A string that uniquely identifies an error condition. Returned in the <Code> tag of the error XML response for a corresponding GetObject call. Cannot be used with a successful StatusCode header or when the transformed object is provided in the body.

type ErrorMessage

string

param ErrorMessage

Contains a generic description of the error condition. Returned in the <Message> tag of the error XML response for a corresponding GetObject call. Cannot be used with a successful StatusCode header or when the transformed object is provided in body.

type AcceptRanges

string

param AcceptRanges

Indicates that a range of bytes was specified.

type CacheControl

string

param CacheControl

Specifies caching behavior along the request/reply chain.

type ContentDisposition

string

param ContentDisposition

Specifies presentational information for the object.

type ContentEncoding

string

param ContentEncoding

Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

type ContentLanguage

string

param ContentLanguage

The language the content is in.

type ContentLength

integer

param ContentLength

The size of the content body in bytes.

type ContentRange

string

param ContentRange

The portion of the object returned in the response.

type ContentType

string

param ContentType

A standard MIME type describing the format of the object data.

type DeleteMarker

boolean

param DeleteMarker

Specifies whether an object stored in Amazon S3 is (true ) or is not (false ) a delete marker.

type ETag

string

param ETag

An opaque identifier assigned by a web server to a specific version of a resource found at a URL.

type Expires

datetime

param Expires

The date and time at which the object is no longer cacheable.

type Expiration

string

param Expiration

If object stored in Amazon S3 expiration is configured (see PUT Bucket lifecycle) it includes expiry-date and rule-id key-value pairs providing object expiration information. The value of the rule-id is URL encoded.

type LastModified

datetime

param LastModified

The date and time that the object was last modified.

type MissingMeta

integer

param MissingMeta

Set to the number of metadata entries not returned in x-amz-meta headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.

type Metadata

dict

param Metadata

A map of metadata to store with the object in S3.

  • (string) --

    • (string) --

type ObjectLockMode

string

param ObjectLockMode

Indicates whether an object stored in Amazon S3 has Object Lock enabled. For more information about S3 Object Lock, see Object Lock .

type ObjectLockLegalHoldStatus

string

param ObjectLockLegalHoldStatus

Indicates whether an object stored in Amazon S3 has an active legal hold.

type ObjectLockRetainUntilDate

datetime

param ObjectLockRetainUntilDate

The date and time when Object Lock is configured to expire.

type PartsCount

integer

param PartsCount

The count of parts this object has.

type ReplicationStatus

string

param ReplicationStatus

Indicates if request involves bucket that is either a source or destination in a Replication rule. For more information about S3 Replication, see Replication .

type RequestCharged

string

param RequestCharged

If present, indicates that the requester was successfully charged for the request.

type Restore

string

param Restore

Provides information about object restoration operation and expiration time of the restored object copy.

type ServerSideEncryption

string

param ServerSideEncryption

The server-side encryption algorithm used when storing requested object in Amazon S3 (for example, AES256, aws:kms).

type SSECustomerAlgorithm

string

param SSECustomerAlgorithm

Encryption algorithm used if server-side encryption with a customer-provided encryption key was specified for object stored in Amazon S3.

type SSEKMSKeyId

string

param SSEKMSKeyId

If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) that was used for stored in Amazon S3 object.

type SSECustomerKeyMD5

string

param SSECustomerKeyMD5

128-bit MD5 digest of customer-provided encryption key used in Amazon S3 to encrypt data stored in S3. For more information, see Protecting data using server-side encryption with customer-provided encryption keys (SSE-C) .

type StorageClass

string

param StorageClass

The class of storage used to store object in Amazon S3.

type TagCount

integer

param TagCount

The number of tags, if any, on the object.

type VersionId

string

param VersionId

An ID used to reference a specific version of the object.

type BucketKeyEnabled

boolean

param BucketKeyEnabled

Indicates whether the object stored in Amazon S3 uses an S3 bucket key for server-side encryption with AWS KMS (SSE-KMS).

returns

None