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.

        • 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.

            • 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.

        • 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