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