Amazon Simple Storage Service

2016/11/29 - Amazon Simple Storage Service - 15 new5 updated api methods

Changes  fixes `#1059 `__ (presigned s3v4 URL bug related to blank query parameters being filtered incorrectly) Update s3 client to latest version

DeleteBucketMetricsConfiguration (new) Link ¶

Deletes a metrics configuration (specified by the metrics configuration ID) from the bucket.

See also: AWS API Documentation

Request Syntax

client.delete_bucket_metrics_configuration(
    Bucket='string',
    Id='string'
)
type Bucket:

string

param Bucket:

[REQUIRED] The name of the bucket containing the metrics configuration to delete.

type Id:

string

param Id:

[REQUIRED] The ID used to identify the metrics configuration.

returns:

None

ListBucketMetricsConfigurations (new) Link ¶

Lists the metrics configurations for the bucket.

See also: AWS API Documentation

Request Syntax

client.list_bucket_metrics_configurations(
    Bucket='string',
    ContinuationToken='string'
)
type Bucket:

string

param Bucket:

[REQUIRED] The name of the bucket containing the metrics configurations to retrieve.

type ContinuationToken:

string

param ContinuationToken:

The marker that is used to continue a metrics configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.

rtype:

dict

returns:

Response Syntax

{
    'IsTruncated': True|False,
    'ContinuationToken': 'string',
    'NextContinuationToken': 'string',
    'MetricsConfigurationList': [
        {
            'Id': 'string',
            'Filter': {
                'Prefix': 'string',
                'Tag': {
                    'Key': 'string',
                    'Value': 'string'
                },
                'And': {
                    'Prefix': 'string',
                    'Tags': [
                        {
                            'Key': 'string',
                            'Value': 'string'
                        },
                    ]
                }
            }
        },
    ]
}

Response Structure

  • (dict) --

    • IsTruncated (boolean) -- Indicates whether the returned list of metrics configurations is complete. A value of true indicates that the list is not complete and the NextContinuationToken will be provided for a subsequent request.

    • ContinuationToken (string) -- The marker that is used as a starting point for this metrics configuration list response. This value is present if it was sent in the request.

    • NextContinuationToken (string) -- The marker used to continue a metrics configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.

    • MetricsConfigurationList (list) -- The list of metrics configurations for a bucket.

      • (dict) --

        • Id (string) -- The ID used to identify the metrics configuration.

        • Filter (dict) -- Specifies a metrics configuration filter. The metrics configuration will only include objects that meet the filter's criteria. A filter must be a prefix, a tag, or a conjunction (MetricsAndOperator).

          • Prefix (string) -- The prefix used when evaluating a metrics filter.

          • Tag (dict) -- The tag used when evaluating a metrics filter.

            • Key (string) -- Name of the tag.

            • Value (string) -- Value of the tag.

          • And (dict) -- A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates, and an object must match all of the predicates in order for the filter to apply.

            • Prefix (string) -- The prefix used when evaluating an AND predicate.

            • Tags (list) -- The list of tags used when evaluating an AND predicate.

              • (dict) --

                • Key (string) -- Name of the tag.

                • Value (string) -- Value of the tag.

ListBucketInventoryConfigurations (new) Link ¶

Returns a list of inventory configurations for the bucket.

See also: AWS API Documentation

Request Syntax

client.list_bucket_inventory_configurations(
    Bucket='string',
    ContinuationToken='string'
)
type Bucket:

string

param Bucket:

[REQUIRED] The name of the bucket containing the inventory configurations to retrieve.

type ContinuationToken:

string

param ContinuationToken:

The marker used to continue an inventory configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.

rtype:

dict

returns:

Response Syntax

{
    'ContinuationToken': 'string',
    'InventoryConfigurationList': [
        {
            'Destination': {
                'S3BucketDestination': {
                    'AccountId': 'string',
                    'Bucket': 'string',
                    'Format': 'CSV',
                    'Prefix': 'string'
                }
            },
            'IsEnabled': True|False,
            'Filter': {
                'Prefix': 'string'
            },
            'Id': 'string',
            'IncludedObjectVersions': 'All'|'Current',
            'OptionalFields': [
                'Size'|'LastModifiedDate'|'StorageClass'|'ETag'|'IsMultipartUploaded'|'ReplicationStatus',
            ],
            'Schedule': {
                'Frequency': 'Daily'|'Weekly'
            }
        },
    ],
    'IsTruncated': True|False,
    'NextContinuationToken': 'string'
}

Response Structure

  • (dict) --

    • ContinuationToken (string) -- If sent in the request, the marker that is used as a starting point for this inventory configuration list response.

    • InventoryConfigurationList (list) -- The list of inventory configurations for a bucket.

      • (dict) --

        • Destination (dict) -- Contains information about where to publish the inventory results.

          • S3BucketDestination (dict) -- Contains the bucket name, file format, bucket owner (optional), and prefix (optional) where inventory results are published.

            • AccountId (string) -- The ID of the account that owns the destination bucket.

            • Bucket (string) -- The Amazon resource name (ARN) of the bucket where inventory results will be published.

            • Format (string) -- Specifies the output format of the inventory results.

            • Prefix (string) -- The prefix that is prepended to all inventory results.

        • IsEnabled (boolean) -- Specifies whether the inventory is enabled or disabled.

        • Filter (dict) -- Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria.

          • Prefix (string) -- The prefix that an object must have to be included in the inventory results.

        • Id (string) -- The ID used to identify the inventory configuration.

        • IncludedObjectVersions (string) -- Specifies which object version(s) to included in the inventory results.

        • OptionalFields (list) -- Contains the optional fields that are included in the inventory results.

          • (string) --

        • Schedule (dict) -- Specifies the schedule for generating inventory results.

          • Frequency (string) -- Specifies how frequently inventory results are produced.

    • IsTruncated (boolean) -- Indicates whether the returned list of inventory configurations is truncated in this response. A value of true indicates that the list is truncated.

    • NextContinuationToken (string) -- The marker used to continue this inventory configuration listing. Use the NextContinuationToken from this response to continue the listing in a subsequent request. The continuation token is an opaque value that Amazon S3 understands.

PutObjectTagging (new) Link ¶

Sets the supplied tag-set to an object that already exists in a bucket

See also: AWS API Documentation

Request Syntax

client.put_object_tagging(
    Bucket='string',
    Key='string',
    VersionId='string',
    ContentMD5='string',
    Tagging={
        'TagSet': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ]
    }
)
type Bucket:

string

param Bucket:

[REQUIRED]

type Key:

string

param Key:

[REQUIRED]

type VersionId:

string

param VersionId:

[REQUIRED]

type ContentMD5:

string

param ContentMD5:

type Tagging:

dict

param Tagging:

[REQUIRED]

  • TagSet (list) -- [REQUIRED]

    • (dict) --

      • Key (string) -- [REQUIRED] Name of the tag.

      • Value (string) -- [REQUIRED] Value of the tag.

rtype:

dict

returns:

Response Syntax

{
    'VersionId': 'string'
}

Response Structure

  • (dict) --

    • VersionId (string) --

ListBucketAnalyticsConfigurations (new) Link ¶

Lists the analytics configurations for the bucket.

See also: AWS API Documentation

Request Syntax

client.list_bucket_analytics_configurations(
    Bucket='string',
    ContinuationToken='string'
)
type Bucket:

string

param Bucket:

[REQUIRED] The name of the bucket from which analytics configurations are retrieved.

type ContinuationToken:

string

param ContinuationToken:

The ContinuationToken that represents a placeholder from where this request should begin.

rtype:

dict

returns:

Response Syntax

{
    'IsTruncated': True|False,
    'ContinuationToken': 'string',
    'NextContinuationToken': 'string',
    'AnalyticsConfigurationList': [
        {
            'Id': 'string',
            'Filter': {
                'Prefix': 'string',
                'Tag': {
                    'Key': 'string',
                    'Value': 'string'
                },
                'And': {
                    'Prefix': 'string',
                    'Tags': [
                        {
                            'Key': 'string',
                            'Value': 'string'
                        },
                    ]
                }
            },
            'StorageClassAnalysis': {
                'DataExport': {
                    'OutputSchemaVersion': 'V_1',
                    'Destination': {
                        'S3BucketDestination': {
                            'Format': 'CSV',
                            'BucketAccountId': 'string',
                            'Bucket': 'string',
                            'Prefix': 'string'
                        }
                    }
                }
            }
        },
    ]
}

Response Structure

  • (dict) --

    • IsTruncated (boolean) -- Indicates whether the returned list of analytics configurations is complete. A value of true indicates that the list is not complete and the NextContinuationToken will be provided for a subsequent request.

    • ContinuationToken (string) -- The ContinuationToken that represents where this request began.

    • NextContinuationToken (string) -- NextContinuationToken is sent when isTruncated is true, which indicates that there are more analytics configurations to list. The next request must include this NextContinuationToken. The token is obfuscated and is not a usable value.

    • AnalyticsConfigurationList (list) -- The list of analytics configurations for a bucket.

      • (dict) --

        • Id (string) -- The identifier used to represent an analytics configuration.

        • Filter (dict) -- The filter used to describe a set of objects for analyses. A filter must have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no filter is provided, all objects will be considered in any analysis.

          • Prefix (string) -- The prefix to use when evaluating an analytics filter.

          • Tag (dict) -- The tag to use when evaluating an analytics filter.

            • Key (string) -- Name of the tag.

            • Value (string) -- Value of the tag.

          • And (dict) -- A conjunction (logical AND) of predicates, which is used in evaluating an analytics filter. The operator must have at least two predicates.

            • Prefix (string) -- The prefix to use when evaluating an AND predicate.

            • Tags (list) -- The list of tags to use when evaluating an AND predicate.

              • (dict) --

                • Key (string) -- Name of the tag.

                • Value (string) -- Value of the tag.

        • StorageClassAnalysis (dict) -- If present, it indicates that data related to access patterns will be collected and made available to analyze the tradeoffs between different storage classes.

          • DataExport (dict) -- A container used to describe how data related to the storage class analysis should be exported.

            • OutputSchemaVersion (string) -- The version of the output schema to use when exporting data. Must be V_1.

            • Destination (dict) -- The place to store the data for an analysis.

              • S3BucketDestination (dict) -- A destination signifying output to an S3 bucket.

                • Format (string) -- The file format used when exporting data to Amazon S3.

                • BucketAccountId (string) -- The account ID that owns the destination bucket. If no account ID is provided, the owner will not be validated prior to exporting data.

                • Bucket (string) -- The Amazon resource name (ARN) of the bucket to which data is exported.

                • Prefix (string) -- The prefix to use when exporting data. The exported data begins with this prefix.

DeleteBucketAnalyticsConfiguration (new) Link ¶

Deletes an analytics configuration for the bucket (specified by the analytics configuration ID).

See also: AWS API Documentation

Request Syntax

client.delete_bucket_analytics_configuration(
    Bucket='string',
    Id='string'
)
type Bucket:

string

param Bucket:

[REQUIRED] The name of the bucket from which an analytics configuration is deleted.

type Id:

string

param Id:

[REQUIRED] The identifier used to represent an analytics configuration.

returns:

None

DeleteBucketInventoryConfiguration (new) Link ¶

Deletes an inventory configuration (identified by the inventory ID) from the bucket.

See also: AWS API Documentation

Request Syntax

client.delete_bucket_inventory_configuration(
    Bucket='string',
    Id='string'
)
type Bucket:

string

param Bucket:

[REQUIRED] The name of the bucket containing the inventory configuration to delete.

type Id:

string

param Id:

[REQUIRED] The ID used to identify the inventory configuration.

returns:

None

GetBucketAnalyticsConfiguration (new) Link ¶

Gets an analytics configuration for the bucket (specified by the analytics configuration ID).

See also: AWS API Documentation

Request Syntax

client.get_bucket_analytics_configuration(
    Bucket='string',
    Id='string'
)
type Bucket:

string

param Bucket:

[REQUIRED] The name of the bucket from which an analytics configuration is retrieved.

type Id:

string

param Id:

[REQUIRED] The identifier used to represent an analytics configuration.

rtype:

dict

returns:

Response Syntax

{
    'AnalyticsConfiguration': {
        'Id': 'string',
        'Filter': {
            'Prefix': 'string',
            'Tag': {
                'Key': 'string',
                'Value': 'string'
            },
            'And': {
                'Prefix': 'string',
                'Tags': [
                    {
                        'Key': 'string',
                        'Value': 'string'
                    },
                ]
            }
        },
        'StorageClassAnalysis': {
            'DataExport': {
                'OutputSchemaVersion': 'V_1',
                'Destination': {
                    'S3BucketDestination': {
                        'Format': 'CSV',
                        'BucketAccountId': 'string',
                        'Bucket': 'string',
                        'Prefix': 'string'
                    }
                }
            }
        }
    }
}

Response Structure

  • (dict) --

    • AnalyticsConfiguration (dict) -- The configuration and any analyses for the analytics filter.

      • Id (string) -- The identifier used to represent an analytics configuration.

      • Filter (dict) -- The filter used to describe a set of objects for analyses. A filter must have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no filter is provided, all objects will be considered in any analysis.

        • Prefix (string) -- The prefix to use when evaluating an analytics filter.

        • Tag (dict) -- The tag to use when evaluating an analytics filter.

          • Key (string) -- Name of the tag.

          • Value (string) -- Value of the tag.

        • And (dict) -- A conjunction (logical AND) of predicates, which is used in evaluating an analytics filter. The operator must have at least two predicates.

          • Prefix (string) -- The prefix to use when evaluating an AND predicate.

          • Tags (list) -- The list of tags to use when evaluating an AND predicate.

            • (dict) --

              • Key (string) -- Name of the tag.

              • Value (string) -- Value of the tag.

      • StorageClassAnalysis (dict) -- If present, it indicates that data related to access patterns will be collected and made available to analyze the tradeoffs between different storage classes.

        • DataExport (dict) -- A container used to describe how data related to the storage class analysis should be exported.

          • OutputSchemaVersion (string) -- The version of the output schema to use when exporting data. Must be V_1.

          • Destination (dict) -- The place to store the data for an analysis.

            • S3BucketDestination (dict) -- A destination signifying output to an S3 bucket.

              • Format (string) -- The file format used when exporting data to Amazon S3.

              • BucketAccountId (string) -- The account ID that owns the destination bucket. If no account ID is provided, the owner will not be validated prior to exporting data.

              • Bucket (string) -- The Amazon resource name (ARN) of the bucket to which data is exported.

              • Prefix (string) -- The prefix to use when exporting data. The exported data begins with this prefix.

PutBucketAnalyticsConfiguration (new) Link ¶

Sets an analytics configuration for the bucket (specified by the analytics configuration ID).

See also: AWS API Documentation

Request Syntax

client.put_bucket_analytics_configuration(
    Bucket='string',
    Id='string',
    AnalyticsConfiguration={
        'Id': 'string',
        'Filter': {
            'Prefix': 'string',
            'Tag': {
                'Key': 'string',
                'Value': 'string'
            },
            'And': {
                'Prefix': 'string',
                'Tags': [
                    {
                        'Key': 'string',
                        'Value': 'string'
                    },
                ]
            }
        },
        'StorageClassAnalysis': {
            'DataExport': {
                'OutputSchemaVersion': 'V_1',
                'Destination': {
                    'S3BucketDestination': {
                        'Format': 'CSV',
                        'BucketAccountId': 'string',
                        'Bucket': 'string',
                        'Prefix': 'string'
                    }
                }
            }
        }
    }
)
type Bucket:

string

param Bucket:

[REQUIRED] The name of the bucket to which an analytics configuration is stored.

type Id:

string

param Id:

[REQUIRED] The identifier used to represent an analytics configuration.

type AnalyticsConfiguration:

dict

param AnalyticsConfiguration:

[REQUIRED] The configuration and any analyses for the analytics filter.

  • Id (string) -- [REQUIRED] The identifier used to represent an analytics configuration.

  • Filter (dict) -- The filter used to describe a set of objects for analyses. A filter must have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no filter is provided, all objects will be considered in any analysis.

    • Prefix (string) -- The prefix to use when evaluating an analytics filter.

    • Tag (dict) -- The tag to use when evaluating an analytics filter.

      • Key (string) -- [REQUIRED] Name of the tag.

      • Value (string) -- [REQUIRED] Value of the tag.

    • And (dict) -- A conjunction (logical AND) of predicates, which is used in evaluating an analytics filter. The operator must have at least two predicates.

      • Prefix (string) -- The prefix to use when evaluating an AND predicate.

      • Tags (list) -- The list of tags to use when evaluating an AND predicate.

        • (dict) --

          • Key (string) -- [REQUIRED] Name of the tag.

          • Value (string) -- [REQUIRED] Value of the tag.

  • StorageClassAnalysis (dict) -- [REQUIRED] If present, it indicates that data related to access patterns will be collected and made available to analyze the tradeoffs between different storage classes.

    • DataExport (dict) -- A container used to describe how data related to the storage class analysis should be exported.

      • OutputSchemaVersion (string) -- [REQUIRED] The version of the output schema to use when exporting data. Must be V_1.

      • Destination (dict) -- [REQUIRED] The place to store the data for an analysis.

        • S3BucketDestination (dict) -- [REQUIRED] A destination signifying output to an S3 bucket.

          • Format (string) -- [REQUIRED] The file format used when exporting data to Amazon S3.

          • BucketAccountId (string) -- The account ID that owns the destination bucket. If no account ID is provided, the owner will not be validated prior to exporting data.

          • Bucket (string) -- [REQUIRED] The Amazon resource name (ARN) of the bucket to which data is exported.

          • Prefix (string) -- The prefix to use when exporting data. The exported data begins with this prefix.

returns:

None

GetBucketMetricsConfiguration (new) Link ¶

Gets a metrics configuration (specified by the metrics configuration ID) from the bucket.

See also: AWS API Documentation

Request Syntax

client.get_bucket_metrics_configuration(
    Bucket='string',
    Id='string'
)
type Bucket:

string

param Bucket:

[REQUIRED] The name of the bucket containing the metrics configuration to retrieve.

type Id:

string

param Id:

[REQUIRED] The ID used to identify the metrics configuration.

rtype:

dict

returns:

Response Syntax

{
    'MetricsConfiguration': {
        'Id': 'string',
        'Filter': {
            'Prefix': 'string',
            'Tag': {
                'Key': 'string',
                'Value': 'string'
            },
            'And': {
                'Prefix': 'string',
                'Tags': [
                    {
                        'Key': 'string',
                        'Value': 'string'
                    },
                ]
            }
        }
    }
}

Response Structure

  • (dict) --

    • MetricsConfiguration (dict) -- Specifies the metrics configuration.

      • Id (string) -- The ID used to identify the metrics configuration.

      • Filter (dict) -- Specifies a metrics configuration filter. The metrics configuration will only include objects that meet the filter's criteria. A filter must be a prefix, a tag, or a conjunction (MetricsAndOperator).

        • Prefix (string) -- The prefix used when evaluating a metrics filter.

        • Tag (dict) -- The tag used when evaluating a metrics filter.

          • Key (string) -- Name of the tag.

          • Value (string) -- Value of the tag.

        • And (dict) -- A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates, and an object must match all of the predicates in order for the filter to apply.

          • Prefix (string) -- The prefix used when evaluating an AND predicate.

          • Tags (list) -- The list of tags used when evaluating an AND predicate.

            • (dict) --

              • Key (string) -- Name of the tag.

              • Value (string) -- Value of the tag.

GetBucketInventoryConfiguration (new) Link ¶

Returns an inventory configuration (identified by the inventory ID) from the bucket.

See also: AWS API Documentation

Request Syntax

client.get_bucket_inventory_configuration(
    Bucket='string',
    Id='string'
)
type Bucket:

string

param Bucket:

[REQUIRED] The name of the bucket containing the inventory configuration to retrieve.

type Id:

string

param Id:

[REQUIRED] The ID used to identify the inventory configuration.

rtype:

dict

returns:

Response Syntax

{
    'InventoryConfiguration': {
        'Destination': {
            'S3BucketDestination': {
                'AccountId': 'string',
                'Bucket': 'string',
                'Format': 'CSV',
                'Prefix': 'string'
            }
        },
        'IsEnabled': True|False,
        'Filter': {
            'Prefix': 'string'
        },
        'Id': 'string',
        'IncludedObjectVersions': 'All'|'Current',
        'OptionalFields': [
            'Size'|'LastModifiedDate'|'StorageClass'|'ETag'|'IsMultipartUploaded'|'ReplicationStatus',
        ],
        'Schedule': {
            'Frequency': 'Daily'|'Weekly'
        }
    }
}

Response Structure

  • (dict) --

    • InventoryConfiguration (dict) -- Specifies the inventory configuration.

      • Destination (dict) -- Contains information about where to publish the inventory results.

        • S3BucketDestination (dict) -- Contains the bucket name, file format, bucket owner (optional), and prefix (optional) where inventory results are published.

          • AccountId (string) -- The ID of the account that owns the destination bucket.

          • Bucket (string) -- The Amazon resource name (ARN) of the bucket where inventory results will be published.

          • Format (string) -- Specifies the output format of the inventory results.

          • Prefix (string) -- The prefix that is prepended to all inventory results.

      • IsEnabled (boolean) -- Specifies whether the inventory is enabled or disabled.

      • Filter (dict) -- Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria.

        • Prefix (string) -- The prefix that an object must have to be included in the inventory results.

      • Id (string) -- The ID used to identify the inventory configuration.

      • IncludedObjectVersions (string) -- Specifies which object version(s) to included in the inventory results.

      • OptionalFields (list) -- Contains the optional fields that are included in the inventory results.

        • (string) --

      • Schedule (dict) -- Specifies the schedule for generating inventory results.

        • Frequency (string) -- Specifies how frequently inventory results are produced.

PutBucketMetricsConfiguration (new) Link ¶

Sets a metrics configuration (specified by the metrics configuration ID) for the bucket.

See also: AWS API Documentation

Request Syntax

client.put_bucket_metrics_configuration(
    Bucket='string',
    Id='string',
    MetricsConfiguration={
        'Id': 'string',
        'Filter': {
            'Prefix': 'string',
            'Tag': {
                'Key': 'string',
                'Value': 'string'
            },
            'And': {
                'Prefix': 'string',
                'Tags': [
                    {
                        'Key': 'string',
                        'Value': 'string'
                    },
                ]
            }
        }
    }
)
type Bucket:

string

param Bucket:

[REQUIRED] The name of the bucket for which the metrics configuration is set.

type Id:

string

param Id:

[REQUIRED] The ID used to identify the metrics configuration.

type MetricsConfiguration:

dict

param MetricsConfiguration:

[REQUIRED] Specifies the metrics configuration.

  • Id (string) -- [REQUIRED] The ID used to identify the metrics configuration.

  • Filter (dict) -- Specifies a metrics configuration filter. The metrics configuration will only include objects that meet the filter's criteria. A filter must be a prefix, a tag, or a conjunction (MetricsAndOperator).

    • Prefix (string) -- The prefix used when evaluating a metrics filter.

    • Tag (dict) -- The tag used when evaluating a metrics filter.

      • Key (string) -- [REQUIRED] Name of the tag.

      • Value (string) -- [REQUIRED] Value of the tag.

    • And (dict) -- A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates, and an object must match all of the predicates in order for the filter to apply.

      • Prefix (string) -- The prefix used when evaluating an AND predicate.

      • Tags (list) -- The list of tags used when evaluating an AND predicate.

        • (dict) --

          • Key (string) -- [REQUIRED] Name of the tag.

          • Value (string) -- [REQUIRED] Value of the tag.

returns:

None

DeleteObjectTagging (new) Link ¶

Removes the tag-set from an existing object.

See also: AWS API Documentation

Request Syntax

client.delete_object_tagging(
    Bucket='string',
    Key='string',
    VersionId='string'
)
type Bucket:

string

param Bucket:

[REQUIRED]

type Key:

string

param Key:

[REQUIRED]

type VersionId:

string

param VersionId:

The versionId of the object that the tag-set will be removed from.

rtype:

dict

returns:

Response Syntax

{
    'VersionId': 'string'
}

Response Structure

  • (dict) --

    • VersionId (string) -- The versionId of the object the tag-set was removed from.

GetObjectTagging (new) Link ¶

Returns the tag-set of an object.

See also: AWS API Documentation

Request Syntax

client.get_object_tagging(
    Bucket='string',
    Key='string',
    VersionId='string'
)
type Bucket:

string

param Bucket:

[REQUIRED]

type Key:

string

param Key:

[REQUIRED]

type VersionId:

string

param VersionId:

[REQUIRED]

rtype:

dict

returns:

Response Syntax

{
    'VersionId': 'string',
    'TagSet': [
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • VersionId (string) --

    • TagSet (list) --

      • (dict) --

        • Key (string) -- Name of the tag.

        • Value (string) -- Value of the tag.

PutBucketInventoryConfiguration (new) Link ¶

Adds an inventory configuration (identified by the inventory ID) from the bucket.

See also: AWS API Documentation

Request Syntax

client.put_bucket_inventory_configuration(
    Bucket='string',
    Id='string',
    InventoryConfiguration={
        'Destination': {
            'S3BucketDestination': {
                'AccountId': 'string',
                'Bucket': 'string',
                'Format': 'CSV',
                'Prefix': 'string'
            }
        },
        'IsEnabled': True|False,
        'Filter': {
            'Prefix': 'string'
        },
        'Id': 'string',
        'IncludedObjectVersions': 'All'|'Current',
        'OptionalFields': [
            'Size'|'LastModifiedDate'|'StorageClass'|'ETag'|'IsMultipartUploaded'|'ReplicationStatus',
        ],
        'Schedule': {
            'Frequency': 'Daily'|'Weekly'
        }
    }
)
type Bucket:

string

param Bucket:

[REQUIRED] The name of the bucket where the inventory configuration will be stored.

type Id:

string

param Id:

[REQUIRED] The ID used to identify the inventory configuration.

type InventoryConfiguration:

dict

param InventoryConfiguration:

[REQUIRED] Specifies the inventory configuration.

  • Destination (dict) -- [REQUIRED] Contains information about where to publish the inventory results.

    • S3BucketDestination (dict) -- [REQUIRED] Contains the bucket name, file format, bucket owner (optional), and prefix (optional) where inventory results are published.

      • AccountId (string) -- The ID of the account that owns the destination bucket.

      • Bucket (string) -- [REQUIRED] The Amazon resource name (ARN) of the bucket where inventory results will be published.

      • Format (string) -- [REQUIRED] Specifies the output format of the inventory results.

      • Prefix (string) -- The prefix that is prepended to all inventory results.

  • IsEnabled (boolean) -- [REQUIRED] Specifies whether the inventory is enabled or disabled.

  • Filter (dict) -- Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria.

    • Prefix (string) -- [REQUIRED] The prefix that an object must have to be included in the inventory results.

  • Id (string) -- [REQUIRED] The ID used to identify the inventory configuration.

  • IncludedObjectVersions (string) -- [REQUIRED] Specifies which object version(s) to included in the inventory results.

  • OptionalFields (list) -- Contains the optional fields that are included in the inventory results.

    • (string) --

  • Schedule (dict) -- [REQUIRED] Specifies the schedule for generating inventory results.

    • Frequency (string) -- [REQUIRED] Specifies how frequently inventory results are produced.

returns:

None

CopyObject (updated) Link ¶
Changes (request)
{'Tagging': 'string', 'TaggingDirective': 'COPY | REPLACE'}

Creates a copy of an object that is already stored in Amazon S3.

See also: AWS API Documentation

Request Syntax

client.copy_object(
    ACL='private'|'public-read'|'public-read-write'|'authenticated-read'|'aws-exec-read'|'bucket-owner-read'|'bucket-owner-full-control',
    Bucket='string',
    CacheControl='string',
    ContentDisposition='string',
    ContentEncoding='string',
    ContentLanguage='string',
    ContentType='string',
    CopySource='string',
    CopySourceIfMatch='string',
    CopySourceIfModifiedSince=datetime(2015, 1, 1),
    CopySourceIfNoneMatch='string',
    CopySourceIfUnmodifiedSince=datetime(2015, 1, 1),
    Expires=datetime(2015, 1, 1),
    GrantFullControl='string',
    GrantRead='string',
    GrantReadACP='string',
    GrantWriteACP='string',
    Key='string',
    Metadata={
        'string': 'string'
    },
    MetadataDirective='COPY'|'REPLACE',
    TaggingDirective='COPY'|'REPLACE',
    ServerSideEncryption='AES256'|'aws:kms',
    StorageClass='STANDARD'|'REDUCED_REDUNDANCY'|'STANDARD_IA',
    WebsiteRedirectLocation='string',
    SSECustomerAlgorithm='string',
    SSECustomerKey='string',
    SSECustomerKeyMD5='string',
    SSEKMSKeyId='string',
    CopySourceSSECustomerAlgorithm='string',
    CopySourceSSECustomerKey='string',
    CopySourceSSECustomerKeyMD5='string',
    RequestPayer='requester',
    Tagging='string'
)
type ACL:

string

param ACL:

The canned ACL to apply to the object.

type Bucket:

string

param Bucket:

[REQUIRED]

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 ContentType:

string

param ContentType:

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

type CopySource:

string

param CopySource:

[REQUIRED] The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.

type CopySourceIfMatch:

string

param CopySourceIfMatch:

Copies the object if its entity tag (ETag) matches the specified tag.

type CopySourceIfModifiedSince:

datetime

param CopySourceIfModifiedSince:

Copies the object if it has been modified since the specified time.

type CopySourceIfNoneMatch:

string

param CopySourceIfNoneMatch:

Copies the object if its entity tag (ETag) is different than the specified ETag.

type CopySourceIfUnmodifiedSince:

datetime

param CopySourceIfUnmodifiedSince:

Copies the object if it hasn't been modified since the specified time.

type Expires:

datetime

param Expires:

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

type GrantFullControl:

string

param GrantFullControl:

Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.

type GrantRead:

string

param GrantRead:

Allows grantee to read the object data and its metadata.

type GrantReadACP:

string

param GrantReadACP:

Allows grantee to read the object ACL.

type GrantWriteACP:

string

param GrantWriteACP:

Allows grantee to write the ACL for the applicable object.

type Key:

string

param Key:

[REQUIRED]

type Metadata:

dict

param Metadata:

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

  • (string) --

    • (string) --

type MetadataDirective:

string

param MetadataDirective:

Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request.

type TaggingDirective:

string

param TaggingDirective:

Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request.

type ServerSideEncryption:

string

param ServerSideEncryption:

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

type StorageClass:

string

param StorageClass:

The type of storage to use for the object. Defaults to 'STANDARD'.

type WebsiteRedirectLocation:

string

param WebsiteRedirectLocation:

If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

type SSECustomerAlgorithm:

string

param SSECustomerAlgorithm:

Specifies the algorithm to use to when encrypting the object (e.g., AES256).

type SSECustomerKey:

string

param SSECustomerKey:

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.

type SSECustomerKeyMD5:

string

param SSECustomerKeyMD5:

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.

type SSEKMSKeyId:

string

param SSEKMSKeyId:

Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version

type CopySourceSSECustomerAlgorithm:

string

param CopySourceSSECustomerAlgorithm:

Specifies the algorithm to use when decrypting the source object (e.g., AES256).

type CopySourceSSECustomerKey:

string

param CopySourceSSECustomerKey:

Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.

type CopySourceSSECustomerKeyMD5:

string

param CopySourceSSECustomerKeyMD5:

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.

type RequestPayer:

string

param RequestPayer:

Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html

type Tagging:

string

param Tagging:

The tag-set for the object destination object this value must be used in conjunction with the TaggingDirective. The tag-set must be encoded as URL Query parameters

rtype:

dict

returns:

Response Syntax

{
    'CopyObjectResult': {
        'ETag': 'string',
        'LastModified': datetime(2015, 1, 1)
    },
    'Expiration': 'string',
    'CopySourceVersionId': 'string',
    'VersionId': 'string',
    'ServerSideEncryption': 'AES256'|'aws:kms',
    'SSECustomerAlgorithm': 'string',
    'SSECustomerKeyMD5': 'string',
    'SSEKMSKeyId': 'string',
    'RequestCharged': 'requester'
}

Response Structure

  • (dict) --

    • CopyObjectResult (dict) --

      • ETag (string) --

      • LastModified (datetime) --

    • Expiration (string) -- If the object expiration is configured, the response includes this header.

    • CopySourceVersionId (string) --

    • VersionId (string) -- Version ID of the newly created copy.

    • ServerSideEncryption (string) -- The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

    • SSECustomerAlgorithm (string) -- If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

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

    • SSEKMSKeyId (string) -- If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

    • RequestCharged (string) -- If present, indicates that the requester was successfully charged for the request.

GetBucketLifecycleConfiguration (updated) Link ¶
Changes (response)
{'Rules': {'Filter': {'And': {'Prefix': 'string',
                              'Tags': [{'Key': 'string', 'Value': 'string'}]},
                      'Prefix': 'string',
                      'Tag': {'Key': 'string', 'Value': 'string'}}}}

Returns the lifecycle configuration information set on the bucket.

See also: AWS API Documentation

Request Syntax

client.get_bucket_lifecycle_configuration(
    Bucket='string'
)
type Bucket:

string

param Bucket:

[REQUIRED]

rtype:

dict

returns:

Response Syntax

{
    'Rules': [
        {
            'Expiration': {
                'Date': datetime(2015, 1, 1),
                'Days': 123,
                'ExpiredObjectDeleteMarker': True|False
            },
            'ID': 'string',
            'Prefix': 'string',
            'Filter': {
                'Prefix': 'string',
                'Tag': {
                    'Key': 'string',
                    'Value': 'string'
                },
                'And': {
                    'Prefix': 'string',
                    'Tags': [
                        {
                            'Key': 'string',
                            'Value': 'string'
                        },
                    ]
                }
            },
            'Status': 'Enabled'|'Disabled',
            'Transitions': [
                {
                    'Date': datetime(2015, 1, 1),
                    'Days': 123,
                    'StorageClass': 'GLACIER'|'STANDARD_IA'
                },
            ],
            'NoncurrentVersionTransitions': [
                {
                    'NoncurrentDays': 123,
                    'StorageClass': 'GLACIER'|'STANDARD_IA'
                },
            ],
            'NoncurrentVersionExpiration': {
                'NoncurrentDays': 123
            },
            'AbortIncompleteMultipartUpload': {
                'DaysAfterInitiation': 123
            }
        },
    ]
}

Response Structure

  • (dict) --

    • Rules (list) --

      • (dict) --

        • Expiration (dict) --

          • Date (datetime) -- Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.

          • Days (integer) -- Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.

          • ExpiredObjectDeleteMarker (boolean) -- Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to true, the delete marker will be expired; if set to false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.

        • ID (string) -- Unique identifier for the rule. The value cannot be longer than 255 characters.

        • Prefix (string) -- Prefix identifying one or more objects to which the rule applies. This is deprecated; use Filter instead.

        • Filter (dict) -- The Filter is used to identify objects that a Lifecycle Rule applies to. A Filter must have exactly one of Prefix, Tag, or And specified.

          • Prefix (string) -- Prefix identifying one or more objects to which the rule applies.

          • Tag (dict) -- This tag must exist in the object's tag set in order for the rule to apply.

            • Key (string) -- Name of the tag.

            • Value (string) -- Value of the tag.

          • And (dict) -- This is used in a Lifecycle Rule Filter to apply a logical AND to two or more predicates. The Lifecycle Rule will apply to any object matching all of the predicates configured inside the And operator.

            • Prefix (string) --

            • Tags (list) -- All of these tags must exist in the object's tag set in order for the rule to apply.

              • (dict) --

                • Key (string) -- Name of the tag.

                • Value (string) -- Value of the tag.

        • Status (string) -- If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.

        • Transitions (list) --

          • (dict) --

            • Date (datetime) -- Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.

            • Days (integer) -- Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.

            • StorageClass (string) -- The class of storage used to store the object.

        • NoncurrentVersionTransitions (list) --

          • (dict) -- Container for the transition rule that describes when noncurrent objects transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime.

            • NoncurrentDays (integer) -- Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple Storage Service Developer Guide.

            • StorageClass (string) -- The class of storage used to store the object.

        • NoncurrentVersionExpiration (dict) -- Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime.

          • NoncurrentDays (integer) -- Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple Storage Service Developer Guide.

        • AbortIncompleteMultipartUpload (dict) -- Specifies the days since the initiation of an Incomplete Multipart Upload that Lifecycle will wait before permanently removing all parts of the upload.

          • DaysAfterInitiation (integer) -- Indicates the number of days that must pass since initiation for Lifecycle to abort an Incomplete Multipart Upload.

GetObject (updated) Link ¶
Changes (response)
{'TagCount': 'integer'}

Retrieves objects from Amazon S3.

See also: AWS API Documentation

Request Syntax

client.get_object(
    Bucket='string',
    IfMatch='string',
    IfModifiedSince=datetime(2015, 1, 1),
    IfNoneMatch='string',
    IfUnmodifiedSince=datetime(2015, 1, 1),
    Key='string',
    Range='string',
    ResponseCacheControl='string',
    ResponseContentDisposition='string',
    ResponseContentEncoding='string',
    ResponseContentLanguage='string',
    ResponseContentType='string',
    ResponseExpires=datetime(2015, 1, 1),
    VersionId='string',
    SSECustomerAlgorithm='string',
    SSECustomerKey='string',
    SSECustomerKeyMD5='string',
    RequestPayer='requester',
    PartNumber=123
)
type Bucket:

string

param Bucket:

[REQUIRED]

type IfMatch:

string

param IfMatch:

Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).

type IfModifiedSince:

datetime

param IfModifiedSince:

Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).

type IfNoneMatch:

string

param IfNoneMatch:

Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).

type IfUnmodifiedSince:

datetime

param IfUnmodifiedSince:

Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).

type Key:

string

param Key:

[REQUIRED]

type Range:

string

param Range:

Downloads the specified range bytes of an object. For more information about the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.

type ResponseCacheControl:

string

param ResponseCacheControl:

Sets the Cache-Control header of the response.

type ResponseContentDisposition:

string

param ResponseContentDisposition:

Sets the Content-Disposition header of the response

type ResponseContentEncoding:

string

param ResponseContentEncoding:

Sets the Content-Encoding header of the response.

type ResponseContentLanguage:

string

param ResponseContentLanguage:

Sets the Content-Language header of the response.

type ResponseContentType:

string

param ResponseContentType:

Sets the Content-Type header of the response.

type ResponseExpires:

datetime

param ResponseExpires:

Sets the Expires header of the response.

type VersionId:

string

param VersionId:

VersionId used to reference a specific version of the object.

type SSECustomerAlgorithm:

string

param SSECustomerAlgorithm:

Specifies the algorithm to use to when encrypting the object (e.g., AES256).

type SSECustomerKey:

string

param SSECustomerKey:

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.

type SSECustomerKeyMD5:

string

param SSECustomerKeyMD5:

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.

type RequestPayer:

string

param RequestPayer:

Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html

type PartNumber:

integer

param PartNumber:

Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified. Useful for downloading just a part of an object.

rtype:

dict

returns:

Response Syntax

{
    'Body': StreamingBody(),
    'DeleteMarker': True|False,
    'AcceptRanges': 'string',
    'Expiration': 'string',
    'Restore': 'string',
    'LastModified': datetime(2015, 1, 1),
    'ContentLength': 123,
    'ETag': 'string',
    'MissingMeta': 123,
    'VersionId': 'string',
    'CacheControl': 'string',
    'ContentDisposition': 'string',
    'ContentEncoding': 'string',
    'ContentLanguage': 'string',
    'ContentRange': 'string',
    'ContentType': 'string',
    'Expires': datetime(2015, 1, 1),
    'WebsiteRedirectLocation': 'string',
    'ServerSideEncryption': 'AES256'|'aws:kms',
    'Metadata': {
        'string': 'string'
    },
    'SSECustomerAlgorithm': 'string',
    'SSECustomerKeyMD5': 'string',
    'SSEKMSKeyId': 'string',
    'StorageClass': 'STANDARD'|'REDUCED_REDUNDANCY'|'STANDARD_IA',
    'RequestCharged': 'requester',
    'ReplicationStatus': 'COMPLETE'|'PENDING'|'FAILED'|'REPLICA',
    'PartsCount': 123,
    'TagCount': 123
}

Response Structure

  • (dict) --

    • Body (:class:`.StreamingBody`) -- Object data.

    • DeleteMarker (boolean) -- Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.

    • AcceptRanges (string) --

    • Expiration (string) -- If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded.

    • Restore (string) -- Provides information about object restoration operation and expiration time of the restored object copy.

    • LastModified (datetime) -- Last modified date of the object

    • ContentLength (integer) -- Size of the body in bytes.

    • ETag (string) -- An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL

    • MissingMeta (integer) -- This is 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.

    • VersionId (string) -- Version of the object.

    • CacheControl (string) -- Specifies caching behavior along the request/reply chain.

    • ContentDisposition (string) -- Specifies presentational information for the object.

    • ContentEncoding (string) -- 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.

    • ContentLanguage (string) -- The language the content is in.

    • ContentRange (string) -- The portion of the object returned in the response.

    • ContentType (string) -- A standard MIME type describing the format of the object data.

    • Expires (datetime) -- The date and time at which the object is no longer cacheable.

    • WebsiteRedirectLocation (string) -- If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

    • ServerSideEncryption (string) -- The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

    • Metadata (dict) -- A map of metadata to store with the object in S3.

      • (string) --

        • (string) --

    • SSECustomerAlgorithm (string) -- If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

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

    • SSEKMSKeyId (string) -- If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

    • StorageClass (string) --

    • RequestCharged (string) -- If present, indicates that the requester was successfully charged for the request.

    • ReplicationStatus (string) --

    • PartsCount (integer) -- The count of parts this object has.

    • TagCount (integer) -- The number of tags, if any, on the object.

PutBucketLifecycleConfiguration (updated) Link ¶
Changes (request)
{'LifecycleConfiguration': {'Rules': {'Filter': {'And': {'Prefix': 'string',
                                                         'Tags': [{'Key': 'string',
                                                                   'Value': 'string'}]},
                                                 'Prefix': 'string',
                                                 'Tag': {'Key': 'string',
                                                         'Value': 'string'}}}}}

Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, it replaces it.

See also: AWS API Documentation

Request Syntax

client.put_bucket_lifecycle_configuration(
    Bucket='string',
    LifecycleConfiguration={
        'Rules': [
            {
                'Expiration': {
                    'Date': datetime(2015, 1, 1),
                    'Days': 123,
                    'ExpiredObjectDeleteMarker': True|False
                },
                'ID': 'string',
                'Prefix': 'string',
                'Filter': {
                    'Prefix': 'string',
                    'Tag': {
                        'Key': 'string',
                        'Value': 'string'
                    },
                    'And': {
                        'Prefix': 'string',
                        'Tags': [
                            {
                                'Key': 'string',
                                'Value': 'string'
                            },
                        ]
                    }
                },
                'Status': 'Enabled'|'Disabled',
                'Transitions': [
                    {
                        'Date': datetime(2015, 1, 1),
                        'Days': 123,
                        'StorageClass': 'GLACIER'|'STANDARD_IA'
                    },
                ],
                'NoncurrentVersionTransitions': [
                    {
                        'NoncurrentDays': 123,
                        'StorageClass': 'GLACIER'|'STANDARD_IA'
                    },
                ],
                'NoncurrentVersionExpiration': {
                    'NoncurrentDays': 123
                },
                'AbortIncompleteMultipartUpload': {
                    'DaysAfterInitiation': 123
                }
            },
        ]
    }
)
type Bucket:

string

param Bucket:

[REQUIRED]

type LifecycleConfiguration:

dict

param LifecycleConfiguration:
  • Rules (list) -- [REQUIRED]

    • (dict) --

      • Expiration (dict) --

        • Date (datetime) -- Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.

        • Days (integer) -- Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.

        • ExpiredObjectDeleteMarker (boolean) -- Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to true, the delete marker will be expired; if set to false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.

      • ID (string) -- Unique identifier for the rule. The value cannot be longer than 255 characters.

      • Prefix (string) -- Prefix identifying one or more objects to which the rule applies. This is deprecated; use Filter instead.

      • Filter (dict) -- The Filter is used to identify objects that a Lifecycle Rule applies to. A Filter must have exactly one of Prefix, Tag, or And specified.

        • Prefix (string) -- Prefix identifying one or more objects to which the rule applies.

        • Tag (dict) -- This tag must exist in the object's tag set in order for the rule to apply.

          • Key (string) -- [REQUIRED] Name of the tag.

          • Value (string) -- [REQUIRED] Value of the tag.

        • And (dict) -- This is used in a Lifecycle Rule Filter to apply a logical AND to two or more predicates. The Lifecycle Rule will apply to any object matching all of the predicates configured inside the And operator.

          • Prefix (string) --

          • Tags (list) -- All of these tags must exist in the object's tag set in order for the rule to apply.

            • (dict) --

              • Key (string) -- [REQUIRED] Name of the tag.

              • Value (string) -- [REQUIRED] Value of the tag.

      • Status (string) -- [REQUIRED] If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.

      • Transitions (list) --

        • (dict) --

          • Date (datetime) -- Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.

          • Days (integer) -- Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.

          • StorageClass (string) -- The class of storage used to store the object.

      • NoncurrentVersionTransitions (list) --

        • (dict) -- Container for the transition rule that describes when noncurrent objects transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime.

          • NoncurrentDays (integer) -- Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple Storage Service Developer Guide.

          • StorageClass (string) -- The class of storage used to store the object.

      • NoncurrentVersionExpiration (dict) -- Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime.

        • NoncurrentDays (integer) -- Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple Storage Service Developer Guide.

      • AbortIncompleteMultipartUpload (dict) -- Specifies the days since the initiation of an Incomplete Multipart Upload that Lifecycle will wait before permanently removing all parts of the upload.

        • DaysAfterInitiation (integer) -- Indicates the number of days that must pass since initiation for Lifecycle to abort an Incomplete Multipart Upload.

returns:

None

PutObject (updated) Link ¶
Changes (request)
{'Tagging': 'string'}

Adds an object to a bucket.

See also: AWS API Documentation

Request Syntax

client.put_object(
    ACL='private'|'public-read'|'public-read-write'|'authenticated-read'|'aws-exec-read'|'bucket-owner-read'|'bucket-owner-full-control',
    Body=b'bytes'|file,
    Bucket='string',
    CacheControl='string',
    ContentDisposition='string',
    ContentEncoding='string',
    ContentLanguage='string',
    ContentLength=123,
    ContentMD5='string',
    ContentType='string',
    Expires=datetime(2015, 1, 1),
    GrantFullControl='string',
    GrantRead='string',
    GrantReadACP='string',
    GrantWriteACP='string',
    Key='string',
    Metadata={
        'string': 'string'
    },
    ServerSideEncryption='AES256'|'aws:kms',
    StorageClass='STANDARD'|'REDUCED_REDUNDANCY'|'STANDARD_IA',
    WebsiteRedirectLocation='string',
    SSECustomerAlgorithm='string',
    SSECustomerKey='string',
    SSECustomerKeyMD5='string',
    SSEKMSKeyId='string',
    RequestPayer='requester',
    Tagging='string'
)
type ACL:

string

param ACL:

The canned ACL to apply to the object.

type Body:

bytes or seekable file-like object

param Body:

Object data.

type Bucket:

string

param Bucket:

[REQUIRED] Name of the bucket to which the PUT operation was initiated.

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:

Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically.

type ContentMD5:

string

param ContentMD5:

The base64-encoded 128-bit MD5 digest of the part data.

type ContentType:

string

param ContentType:

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

type Expires:

datetime

param Expires:

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

type GrantFullControl:

string

param GrantFullControl:

Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.

type GrantRead:

string

param GrantRead:

Allows grantee to read the object data and its metadata.

type GrantReadACP:

string

param GrantReadACP:

Allows grantee to read the object ACL.

type GrantWriteACP:

string

param GrantWriteACP:

Allows grantee to write the ACL for the applicable object.

type Key:

string

param Key:

[REQUIRED] Object key for which the PUT operation was initiated.

type Metadata:

dict

param Metadata:

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

  • (string) --

    • (string) --

type ServerSideEncryption:

string

param ServerSideEncryption:

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

type StorageClass:

string

param StorageClass:

The type of storage to use for the object. Defaults to 'STANDARD'.

type WebsiteRedirectLocation:

string

param WebsiteRedirectLocation:

If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

type SSECustomerAlgorithm:

string

param SSECustomerAlgorithm:

Specifies the algorithm to use to when encrypting the object (e.g., AES256).

type SSECustomerKey:

string

param SSECustomerKey:

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.

type SSECustomerKeyMD5:

string

param SSECustomerKeyMD5:

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.

type SSEKMSKeyId:

string

param SSEKMSKeyId:

Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version

type RequestPayer:

string

param RequestPayer:

Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html

type Tagging:

string

param Tagging:

The tag-set for the object. The tag-set must be encoded as URL Query parameters

rtype:

dict

returns:

Response Syntax

{
    'Expiration': 'string',
    'ETag': 'string',
    'ServerSideEncryption': 'AES256'|'aws:kms',
    'VersionId': 'string',
    'SSECustomerAlgorithm': 'string',
    'SSECustomerKeyMD5': 'string',
    'SSEKMSKeyId': 'string',
    'RequestCharged': 'requester'
}

Response Structure

  • (dict) --

    • Expiration (string) -- If the object expiration is configured, this will contain the expiration date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.

    • ETag (string) -- Entity tag for the uploaded object.

    • ServerSideEncryption (string) -- The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

    • VersionId (string) -- Version of the object.

    • SSECustomerAlgorithm (string) -- If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

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

    • SSEKMSKeyId (string) -- If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

    • RequestCharged (string) -- If present, indicates that the requester was successfully charged for the request.