2016/03/17 - Amazon Simple Storage Service - 6 updated api methods
{'AbortDate': 'timestamp', 'AbortRuleId': 'string'}
Initiates a multipart upload and returns an upload ID.
Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.
Request Syntax
client.create_multipart_upload( 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', 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=b'bytes', SSECustomerKeyMD5='string', SSEKMSKeyId='string', RequestPayer='requester' )
string
The canned ACL to apply to the object.
string
[REQUIRED]
string
Specifies caching behavior along the request/reply chain.
string
Specifies presentational information for the object.
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.
string
The language the content is in.
string
A standard MIME type describing the format of the object data.
datetime
The date and time at which the object is no longer cacheable.
string
Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
string
Allows grantee to read the object data and its metadata.
string
Allows grantee to read the object ACL.
string
Allows grantee to write the ACL for the applicable object.
string
[REQUIRED]
dict
A map of metadata to store with the object in S3.
(string) --
(string) --
string
The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).
string
The type of storage to use for the object. Defaults to 'STANDARD'.
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.
string
Specifies the algorithm to use to when encrypting the object (e.g., AES256).
bytes
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.
string
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.
string
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
string
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
dict
Response Syntax
{ 'AbortDate': datetime(2015, 1, 1), 'AbortRuleId': 'string', 'Bucket': 'string', 'Key': 'string', 'UploadId': 'string', 'ServerSideEncryption': 'AES256'|'aws:kms', 'SSECustomerAlgorithm': 'string', 'SSECustomerKeyMD5': 'string', 'SSEKMSKeyId': 'string', 'RequestCharged': 'requester' }
Response Structure
(dict) --
AbortDate (datetime) -- Date when multipart upload will become eligible for abort operation by lifecycle.
AbortRuleId (string) -- Id of the lifecycle rule that makes a multipart upload eligible for abort operation.
Bucket (string) -- Name of the bucket to which the multipart upload was initiated.
Key (string) -- Object key for which the multipart upload was initiated.
UploadId (string) -- ID for the initiated multipart upload.
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.
{'Rules': {'AbortIncompleteMultipartUpload': {'DaysAfterInitiation': 'integer'}, 'Expiration': {'ExpiredObjectDeleteMarker': 'boolean'}}}
Deprecated, see the GetBucketLifecycleConfiguration operation.
!DANGER!
This operation is deprecated and may not function as expected. This operation should not be used going forward and is only kept for the purpose of backwards compatiblity.
Request Syntax
client.get_bucket_lifecycle( Bucket='string' )
string
[REQUIRED]
dict
Response Syntax
{ 'Rules': [ { 'Expiration': { 'Date': datetime(2015, 1, 1), 'Days': 123, 'ExpiredObjectDeleteMarker': True|False }, 'ID': 'string', 'Prefix': 'string', 'Status': 'Enabled'|'Disabled', 'Transition': { 'Date': datetime(2015, 1, 1), 'Days': 123, 'StorageClass': 'GLACIER'|'STANDARD_IA' }, 'NoncurrentVersionTransition': { '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.
Status (string) -- If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.
Transition (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.
NoncurrentVersionTransition (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.
{'Rules': {'AbortIncompleteMultipartUpload': {'DaysAfterInitiation': 'integer'}, 'Expiration': {'ExpiredObjectDeleteMarker': 'boolean'}}}
Returns the lifecycle configuration information set on the bucket.
Request Syntax
client.get_bucket_lifecycle_configuration( Bucket='string' )
string
[REQUIRED]
dict
Response Syntax
{ 'Rules': [ { 'Expiration': { 'Date': datetime(2015, 1, 1), 'Days': 123, 'ExpiredObjectDeleteMarker': True|False }, 'ID': 'string', 'Prefix': '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.
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.
{'AbortDate': 'timestamp', 'AbortRuleId': 'string'}
Lists the parts that have been uploaded for a specific multipart upload.
Request Syntax
client.list_parts( Bucket='string', Key='string', MaxParts=123, PartNumberMarker=123, UploadId='string', RequestPayer='requester' )
string
[REQUIRED]
string
[REQUIRED]
integer
Sets the maximum number of parts to return.
integer
Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.
string
[REQUIRED] Upload ID identifying the multipart upload whose parts are being listed.
string
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
dict
Response Syntax
{ 'AbortDate': datetime(2015, 1, 1), 'AbortRuleId': 'string', 'Bucket': 'string', 'Key': 'string', 'UploadId': 'string', 'PartNumberMarker': 123, 'NextPartNumberMarker': 123, 'MaxParts': 123, 'IsTruncated': True|False, 'Parts': [ { 'PartNumber': 123, 'LastModified': datetime(2015, 1, 1), 'ETag': 'string', 'Size': 123 }, ], 'Initiator': { 'ID': 'string', 'DisplayName': 'string' }, 'Owner': { 'DisplayName': 'string', 'ID': 'string' }, 'StorageClass': 'STANDARD'|'REDUCED_REDUNDANCY'|'STANDARD_IA', 'RequestCharged': 'requester' }
Response Structure
(dict) --
AbortDate (datetime) -- Date when multipart upload will become eligible for abort operation by lifecycle.
AbortRuleId (string) -- Id of the lifecycle rule that makes a multipart upload eligible for abort operation.
Bucket (string) -- Name of the bucket to which the multipart upload was initiated.
Key (string) -- Object key for which the multipart upload was initiated.
UploadId (string) -- Upload ID identifying the multipart upload whose parts are being listed.
PartNumberMarker (integer) -- Part number after which listing begins.
NextPartNumberMarker (integer) -- When a list is truncated, this element specifies the last part in the list, as well as the value to use for the part-number-marker request parameter in a subsequent request.
MaxParts (integer) -- Maximum number of parts that were allowed in the response.
IsTruncated (boolean) -- Indicates whether the returned list of parts is truncated.
Parts (list) --
(dict) --
PartNumber (integer) -- Part number identifying the part. This is a positive integer between 1 and 10,000.
LastModified (datetime) -- Date and time at which the part was uploaded.
ETag (string) -- Entity tag returned when the part was uploaded.
Size (integer) -- Size of the uploaded part data.
Initiator (dict) -- Identifies who initiated the multipart upload.
ID (string) -- If the principal is an AWS account, it provides the Canonical User ID. If the principal is an IAM User, it provides a user ARN value.
DisplayName (string) -- Name of the Principal.
Owner (dict) --
DisplayName (string) --
ID (string) --
StorageClass (string) -- The class of storage used to store the object.
RequestCharged (string) -- If present, indicates that the requester was successfully charged for the request.
{'LifecycleConfiguration': {'Rules': {'AbortIncompleteMultipartUpload': {'DaysAfterInitiation': 'integer'}, 'Expiration': {'ExpiredObjectDeleteMarker': 'boolean'}}}}
Deprecated, see the PutBucketLifecycleConfiguration operation.
!DANGER!
This operation is deprecated and may not function as expected. This operation should not be used going forward and is only kept for the purpose of backwards compatiblity.
Request Syntax
client.put_bucket_lifecycle( Bucket='string', ContentMD5='string', LifecycleConfiguration={ 'Rules': [ { 'Expiration': { 'Date': datetime(2015, 1, 1), 'Days': 123, 'ExpiredObjectDeleteMarker': True|False }, 'ID': 'string', 'Prefix': 'string', 'Status': 'Enabled'|'Disabled', 'Transition': { 'Date': datetime(2015, 1, 1), 'Days': 123, 'StorageClass': 'GLACIER'|'STANDARD_IA' }, 'NoncurrentVersionTransition': { 'NoncurrentDays': 123, 'StorageClass': 'GLACIER'|'STANDARD_IA' }, 'NoncurrentVersionExpiration': { 'NoncurrentDays': 123 }, 'AbortIncompleteMultipartUpload': { 'DaysAfterInitiation': 123 } }, ] } )
string
[REQUIRED]
string
dict
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) -- [REQUIRED] Prefix identifying one or more objects to which the rule applies.
Status (string) -- [REQUIRED] If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.
Transition (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.
NoncurrentVersionTransition (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.
None
{'LifecycleConfiguration': {'Rules': {'AbortIncompleteMultipartUpload': {'DaysAfterInitiation': 'integer'}, 'Expiration': {'ExpiredObjectDeleteMarker': 'boolean'}}}}
Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, it replaces it.
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', '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 } }, ] } )
string
[REQUIRED]
dict
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) -- [REQUIRED] Prefix identifying one or more objects to which the rule applies.
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.
None