AWS S3 Control

2022/10/04 - AWS S3 Control - 3 updated api methods

Changes  S3 Object Lambda adds support to allow customers to intercept HeadObject and ListObjects requests and introduce their own compute. These requests were previously proxied to S3.

CreateAccessPointForObjectLambda (updated) Link ¶
Changes (request)
{'Configuration': {'AllowedFeatures': {'HeadObject-PartNumber',
                                       'HeadObject-Range'},
                   'TransformationConfigurations': {'Actions': {'HeadObject',
                                                                'ListObjects',
                                                                'ListObjectsV2'}}}}

Creates an Object Lambda Access Point. For more information, see Transforming objects with Object Lambda Access Points in the Amazon S3 User Guide .

The following actions are related to CreateAccessPointForObjectLambda :

See also: AWS API Documentation

Request Syntax

client.create_access_point_for_object_lambda(
    AccountId='string',
    Name='string',
    Configuration={
        'SupportingAccessPoint': 'string',
        'CloudWatchMetricsEnabled': True|False,
        'AllowedFeatures': [
            'GetObject-Range'|'GetObject-PartNumber'|'HeadObject-Range'|'HeadObject-PartNumber',
        ],
        'TransformationConfigurations': [
            {
                'Actions': [
                    'GetObject'|'HeadObject'|'ListObjects'|'ListObjectsV2',
                ],
                'ContentTransformation': {
                    'AwsLambda': {
                        'FunctionArn': 'string',
                        'FunctionPayload': 'string'
                    }
                }
            },
        ]
    }
)
type AccountId

string

param AccountId

[REQUIRED]

The Amazon Web Services account ID for owner of the specified Object Lambda Access Point.

type Name

string

param Name

[REQUIRED]

The name you want to assign to this Object Lambda Access Point.

type Configuration

dict

param Configuration

[REQUIRED]

Object Lambda Access Point configuration as a JSON document.

  • SupportingAccessPoint (string) -- [REQUIRED]

    Standard access point associated with the Object Lambda Access Point.

  • CloudWatchMetricsEnabled (boolean) --

    A container for whether the CloudWatch metrics configuration is enabled.

  • AllowedFeatures (list) --

    A container for allowed features. Valid inputs are GetObject-Range and GetObject-PartNumber .

    • (string) --

  • TransformationConfigurations (list) -- [REQUIRED]

    A container for transformation configurations for an Object Lambda Access Point.

    • (dict) --

      A configuration used when creating an Object Lambda Access Point transformation.

      • Actions (list) -- [REQUIRED]

        A container for the action of an Object Lambda Access Point configuration. Valid input is GetObject .

        • (string) --

      • ContentTransformation (dict) -- [REQUIRED]

        A container for the content transformation of an Object Lambda Access Point configuration.

        Note

        This is a Tagged Union structure. Only one of the following top level keys can be set: AwsLambda.

        • AwsLambda (dict) --

          A container for an Lambda function.

          • FunctionArn (string) -- [REQUIRED]

            The Amazon Resource Name (ARN) of the Lambda function.

          • FunctionPayload (string) --

            Additional JSON that provides supplemental data to the Lambda function used to transform objects.

rtype

dict

returns

Response Syntax

{
    'ObjectLambdaAccessPointArn': 'string'
}

Response Structure

  • (dict) --

    • ObjectLambdaAccessPointArn (string) --

      Specifies the ARN for the Object Lambda Access Point.

GetAccessPointConfigurationForObjectLambda (updated) Link ¶
Changes (response)
{'Configuration': {'AllowedFeatures': {'HeadObject-PartNumber',
                                       'HeadObject-Range'},
                   'TransformationConfigurations': {'Actions': {'HeadObject',
                                                                'ListObjects',
                                                                'ListObjectsV2'}}}}

Returns configuration for an Object Lambda Access Point.

The following actions are related to GetAccessPointConfigurationForObjectLambda :

See also: AWS API Documentation

Request Syntax

client.get_access_point_configuration_for_object_lambda(
    AccountId='string',
    Name='string'
)
type AccountId

string

param AccountId

[REQUIRED]

The account ID for the account that owns the specified Object Lambda Access Point.

type Name

string

param Name

[REQUIRED]

The name of the Object Lambda Access Point you want to return the configuration for.

rtype

dict

returns

Response Syntax

{
    'Configuration': {
        'SupportingAccessPoint': 'string',
        'CloudWatchMetricsEnabled': True|False,
        'AllowedFeatures': [
            'GetObject-Range'|'GetObject-PartNumber'|'HeadObject-Range'|'HeadObject-PartNumber',
        ],
        'TransformationConfigurations': [
            {
                'Actions': [
                    'GetObject'|'HeadObject'|'ListObjects'|'ListObjectsV2',
                ],
                'ContentTransformation': {
                    'AwsLambda': {
                        'FunctionArn': 'string',
                        'FunctionPayload': 'string'
                    }
                }
            },
        ]
    }
}

Response Structure

  • (dict) --

    • Configuration (dict) --

      Object Lambda Access Point configuration document.

      • SupportingAccessPoint (string) --

        Standard access point associated with the Object Lambda Access Point.

      • CloudWatchMetricsEnabled (boolean) --

        A container for whether the CloudWatch metrics configuration is enabled.

      • AllowedFeatures (list) --

        A container for allowed features. Valid inputs are GetObject-Range and GetObject-PartNumber .

        • (string) --

      • TransformationConfigurations (list) --

        A container for transformation configurations for an Object Lambda Access Point.

        • (dict) --

          A configuration used when creating an Object Lambda Access Point transformation.

          • Actions (list) --

            A container for the action of an Object Lambda Access Point configuration. Valid input is GetObject .

            • (string) --

          • ContentTransformation (dict) --

            A container for the content transformation of an Object Lambda Access Point configuration.

            Note

            This is a Tagged Union structure. Only one of the following top level keys will be set: AwsLambda. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

            'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
            • AwsLambda (dict) --

              A container for an Lambda function.

              • FunctionArn (string) --

                The Amazon Resource Name (ARN) of the Lambda function.

              • FunctionPayload (string) --

                Additional JSON that provides supplemental data to the Lambda function used to transform objects.

PutAccessPointConfigurationForObjectLambda (updated) Link ¶
Changes (request)
{'Configuration': {'AllowedFeatures': {'HeadObject-PartNumber',
                                       'HeadObject-Range'},
                   'TransformationConfigurations': {'Actions': {'HeadObject',
                                                                'ListObjects',
                                                                'ListObjectsV2'}}}}

Replaces configuration for an Object Lambda Access Point.

The following actions are related to PutAccessPointConfigurationForObjectLambda :

See also: AWS API Documentation

Request Syntax

client.put_access_point_configuration_for_object_lambda(
    AccountId='string',
    Name='string',
    Configuration={
        'SupportingAccessPoint': 'string',
        'CloudWatchMetricsEnabled': True|False,
        'AllowedFeatures': [
            'GetObject-Range'|'GetObject-PartNumber'|'HeadObject-Range'|'HeadObject-PartNumber',
        ],
        'TransformationConfigurations': [
            {
                'Actions': [
                    'GetObject'|'HeadObject'|'ListObjects'|'ListObjectsV2',
                ],
                'ContentTransformation': {
                    'AwsLambda': {
                        'FunctionArn': 'string',
                        'FunctionPayload': 'string'
                    }
                }
            },
        ]
    }
)
type AccountId

string

param AccountId

[REQUIRED]

The account ID for the account that owns the specified Object Lambda Access Point.

type Name

string

param Name

[REQUIRED]

The name of the Object Lambda Access Point.

type Configuration

dict

param Configuration

[REQUIRED]

Object Lambda Access Point configuration document.

  • SupportingAccessPoint (string) -- [REQUIRED]

    Standard access point associated with the Object Lambda Access Point.

  • CloudWatchMetricsEnabled (boolean) --

    A container for whether the CloudWatch metrics configuration is enabled.

  • AllowedFeatures (list) --

    A container for allowed features. Valid inputs are GetObject-Range and GetObject-PartNumber .

    • (string) --

  • TransformationConfigurations (list) -- [REQUIRED]

    A container for transformation configurations for an Object Lambda Access Point.

    • (dict) --

      A configuration used when creating an Object Lambda Access Point transformation.

      • Actions (list) -- [REQUIRED]

        A container for the action of an Object Lambda Access Point configuration. Valid input is GetObject .

        • (string) --

      • ContentTransformation (dict) -- [REQUIRED]

        A container for the content transformation of an Object Lambda Access Point configuration.

        Note

        This is a Tagged Union structure. Only one of the following top level keys can be set: AwsLambda.

        • AwsLambda (dict) --

          A container for an Lambda function.

          • FunctionArn (string) -- [REQUIRED]

            The Amazon Resource Name (ARN) of the Lambda function.

          • FunctionPayload (string) --

            Additional JSON that provides supplemental data to the Lambda function used to transform objects.

returns

None