S3 class

Constructors

S3({required String region, AwsClientCredentials? credentials, AwsClientCredentialsProvider? credentialsProvider, Client? client, String? endpointUrl})

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

abortMultipartUpload({required String bucket, required String key, required String uploadId, String? expectedBucketOwner, DateTime? ifMatchInitiatedTime, RequestPayer? requestPayer}) Future<AbortMultipartUploadOutput>
This operation aborts a multipart upload. After a multipart upload is aborted, no additional parts can be uploaded using that upload ID. The storage consumed by any previously uploaded parts will be freed. However, if any part uploads are currently in progress, those part uploads might or might not succeed. As a result, it might be necessary to abort a given multipart upload multiple times in order to completely free all storage consumed by all parts.
close() → void
Closes the internal HTTP client if none was provided at creation. If a client was passed as a constructor argument, this becomes a noop.
completeMultipartUpload({required String bucket, required String key, required String uploadId, String? checksumCRC32, String? checksumCRC32C, String? checksumCRC64NVME, String? checksumMD5, String? checksumSHA1, String? checksumSHA256, String? checksumSHA512, ChecksumType? checksumType, String? checksumXXHASH128, String? checksumXXHASH3, String? checksumXXHASH64, String? expectedBucketOwner, String? ifMatch, String? ifNoneMatch, int? mpuObjectSize, CompletedMultipartUpload? multipartUpload, RequestPayer? requestPayer, String? sSECustomerAlgorithm, String? sSECustomerKey, String? sSECustomerKeyMD5}) Future<CompleteMultipartUploadOutput>
Completes a multipart upload by assembling previously uploaded parts.
copyObject({required String bucket, required String copySource, required String key, ObjectCannedACL? acl, bool? bucketKeyEnabled, String? cacheControl, ChecksumAlgorithm? checksumAlgorithm, String? contentDisposition, String? contentEncoding, String? contentLanguage, String? contentType, String? copySourceIfMatch, DateTime? copySourceIfModifiedSince, String? copySourceIfNoneMatch, DateTime? copySourceIfUnmodifiedSince, String? copySourceSSECustomerAlgorithm, String? copySourceSSECustomerKey, String? copySourceSSECustomerKeyMD5, String? expectedBucketOwner, String? expectedSourceBucketOwner, String? expires, String? grantFullControl, String? grantRead, String? grantReadACP, String? grantWriteACP, String? ifMatch, String? ifNoneMatch, Map<String, String>? metadata, MetadataDirective? metadataDirective, ObjectLockLegalHoldStatus? objectLockLegalHoldStatus, ObjectLockMode? objectLockMode, DateTime? objectLockRetainUntilDate, RequestPayer? requestPayer, String? sSECustomerAlgorithm, String? sSECustomerKey, String? sSECustomerKeyMD5, String? sSEKMSEncryptionContext, String? sSEKMSKeyId, ServerSideEncryption? serverSideEncryption, StorageClass? storageClass, String? tagging, TaggingDirective? taggingDirective, String? websiteRedirectLocation}) Future<CopyObjectOutput>
Creates a copy of an object that is already stored in Amazon S3.
createBucket({required String bucket, BucketCannedACL? acl, BucketNamespace? bucketNamespace, CreateBucketConfiguration? createBucketConfiguration, String? grantFullControl, String? grantRead, String? grantReadACP, String? grantWrite, String? grantWriteACP, bool? objectLockEnabledForBucket, ObjectOwnership? objectOwnership}) Future<CreateBucketOutput>
There are two types of buckets: general purpose buckets and directory buckets. For more information about these bucket types, see Creating, configuring, and working with Amazon S3 buckets in the Amazon S3 User Guide.
createBucketMetadataConfiguration({required String bucket, required MetadataConfiguration metadataConfiguration, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner}) Future<void>
Creates an S3 Metadata V2 metadata configuration for a general purpose bucket. For more information, see Accelerating data discovery with S3 Metadata in the Amazon S3 User Guide.
createBucketMetadataTableConfiguration({required String bucket, required MetadataTableConfiguration metadataTableConfiguration, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner}) Future<void>
createMultipartUpload({required String bucket, required String key, ObjectCannedACL? acl, bool? bucketKeyEnabled, String? cacheControl, ChecksumAlgorithm? checksumAlgorithm, ChecksumType? checksumType, String? contentDisposition, String? contentEncoding, String? contentLanguage, String? contentType, String? expectedBucketOwner, String? expires, String? grantFullControl, String? grantRead, String? grantReadACP, String? grantWriteACP, Map<String, String>? metadata, ObjectLockLegalHoldStatus? objectLockLegalHoldStatus, ObjectLockMode? objectLockMode, DateTime? objectLockRetainUntilDate, RequestPayer? requestPayer, String? sSECustomerAlgorithm, String? sSECustomerKey, String? sSECustomerKeyMD5, String? sSEKMSEncryptionContext, String? sSEKMSKeyId, ServerSideEncryption? serverSideEncryption, StorageClass? storageClass, String? tagging, String? websiteRedirectLocation}) Future<CreateMultipartUploadOutput>
createSession({required String bucket, bool? bucketKeyEnabled, String? sSEKMSEncryptionContext, String? sSEKMSKeyId, ServerSideEncryption? serverSideEncryption, SessionMode? sessionMode}) Future<CreateSessionOutput>
Creates a session that establishes temporary security credentials to support fast authentication and authorization for the Zonal endpoint API operations on directory buckets. For more information about Zonal endpoint API operations that include the Availability Zone in the request endpoint, see S3 Express One Zone APIs in the Amazon S3 User Guide.
deleteBucket({required String bucket, String? expectedBucketOwner}) Future<void>
Deletes the S3 bucket. All objects (including all object versions and delete markers) in the bucket must be deleted before the bucket itself can be deleted.
deleteBucketAnalyticsConfiguration({required String bucket, required String id, String? expectedBucketOwner}) Future<void>
To use this operation, you must have permissions to perform the s3:PutAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.
deleteBucketCors({required String bucket, String? expectedBucketOwner}) Future<void>
cors
deleteBucketEncryption({required String bucket, String? expectedBucketOwner}) Future<void>
This implementation of the DELETE action resets the default encryption for the bucket as server-side encryption with Amazon S3 managed keys (SSE-S3).
deleteBucketIntelligentTieringConfiguration({required String bucket, required String id, String? expectedBucketOwner}) Future<void>
The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.
deleteBucketInventoryConfiguration({required String bucket, required String id, String? expectedBucketOwner}) Future<void>
Deletes an S3 Inventory configuration (identified by the inventory ID) from the bucket.
deleteBucketLifecycle({required String bucket, String? expectedBucketOwner}) Future<void>
Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all the lifecycle configuration rules in the lifecycle subresource associated with the bucket. Your objects never expire, and Amazon S3 no longer automatically deletes any objects on the basis of rules contained in the deleted lifecycle configuration.
deleteBucketMetadataConfiguration({required String bucket, String? expectedBucketOwner}) Future<void>
Deletes an S3 Metadata configuration from a general purpose bucket. For more information, see Accelerating data discovery with S3 Metadata in the Amazon S3 User Guide.
deleteBucketMetadataTableConfiguration({required String bucket, String? expectedBucketOwner}) Future<void>
deleteBucketMetricsConfiguration({required String bucket, required String id, String? expectedBucketOwner}) Future<void>
Deletes a metrics configuration for the Amazon CloudWatch request metrics (specified by the metrics configuration ID) from the bucket. Note that this doesn't include the daily storage metrics.
deleteBucketOwnershipControls({required String bucket, String? expectedBucketOwner}) Future<void>
OwnershipControls
deleteBucketPolicy({required String bucket, String? expectedBucketOwner}) Future<void>
Deletes the policy of a specified bucket.
deleteBucketReplication({required String bucket, String? expectedBucketOwner}) Future<void>
To use this operation, you must have permissions to perform the s3:PutReplicationConfiguration action. The bucket owner has these permissions by default and can grant it to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. For information about replication configuration, see Replication in the Amazon S3 User Guide.
deleteBucketTagging({required String bucket, String? expectedBucketOwner}) Future<void>
enable ABAC for a general purpose bucket
deleteBucketWebsite({required String bucket, String? expectedBucketOwner}) Future<void>
200 OK
deleteObject({required String bucket, required String key, bool? bypassGovernanceRetention, String? expectedBucketOwner, String? ifMatch, DateTime? ifMatchLastModifiedTime, int? ifMatchSize, String? mfa, RequestPayer? requestPayer, String? versionId}) Future<DeleteObjectOutput>
Removes an object from a bucket. The behavior depends on the bucket's versioning state:
deleteObjects({required String bucket, required Delete delete, bool? bypassGovernanceRetention, ChecksumAlgorithm? checksumAlgorithm, String? expectedBucketOwner, String? mfa, RequestPayer? requestPayer}) Future<DeleteObjectsOutput>
This operation enables you to delete multiple objects from a bucket using a single HTTP request. If you know the object keys that you want to delete, then this operation provides a suitable alternative to sending individual delete requests, reducing per-request overhead.
deleteObjectTagging({required String bucket, required String key, String? expectedBucketOwner, String? versionId}) Future<DeleteObjectTaggingOutput>
Object Tagging
deletePublicAccessBlock({required String bucket, String? expectedBucketOwner}) Future<void>
PublicAccessBlock
getBucketAbac({required String bucket, String? expectedBucketOwner}) Future<GetBucketAbacOutput>
Returns the attribute-based access control (ABAC) property of the general purpose bucket. If ABAC is enabled on your bucket, you can use tags on the bucket for access control. For more information, see Enabling ABAC in general purpose buckets.
getBucketAccelerateConfiguration({required String bucket, String? expectedBucketOwner, RequestPayer? requestPayer}) Future<GetBucketAccelerateConfigurationOutput>
accelerate
getBucketAcl({required String bucket, String? expectedBucketOwner}) Future<GetBucketAclOutput>
GET
getBucketAnalyticsConfiguration({required String bucket, required String id, String? expectedBucketOwner}) Future<GetBucketAnalyticsConfigurationOutput>
To use this operation, you must have permissions to perform the s3:GetAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.
getBucketCors({required String bucket, String? expectedBucketOwner}) Future<GetBucketCorsOutput>
To use this operation, you must have permission to perform the s3:GetBucketCORS action. By default, the bucket owner has this permission and can grant it to others.
getBucketEncryption({required String bucket, String? expectedBucketOwner}) Future<GetBucketEncryptionOutput>
Returns the default encryption configuration for an Amazon S3 bucket. By default, all buckets have a default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). This operation also returns the BucketKeyEnabled and BlockedEncryptionTypes statuses.
getBucketIntelligentTieringConfiguration({required String bucket, required String id, String? expectedBucketOwner}) Future<GetBucketIntelligentTieringConfigurationOutput>
The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.
getBucketInventoryConfiguration({required String bucket, required String id, String? expectedBucketOwner}) Future<GetBucketInventoryConfigurationOutput>
Returns an S3 Inventory configuration (identified by the inventory configuration ID) from the bucket.
getBucketLifecycleConfiguration({required String bucket, String? expectedBucketOwner}) Future<GetBucketLifecycleConfigurationOutput>
Returns the lifecycle configuration information set on the bucket. For information about lifecycle configuration, see Object Lifecycle Management.
getBucketLocation({required String bucket, String? expectedBucketOwner}) Future<GetBucketLocationOutput>
LocationConstraint
getBucketLogging({required String bucket, String? expectedBucketOwner}) Future<GetBucketLoggingOutput>
The following operations are related to GetBucketLogging:
getBucketMetadataConfiguration({required String bucket, String? expectedBucketOwner}) Future<GetBucketMetadataConfigurationOutput>
Retrieves the S3 Metadata configuration for a general purpose bucket. For more information, see Accelerating data discovery with S3 Metadata in the Amazon S3 User Guide.
getBucketMetadataTableConfiguration({required String bucket, String? expectedBucketOwner}) Future<GetBucketMetadataTableConfigurationOutput>
getBucketMetricsConfiguration({required String bucket, required String id, String? expectedBucketOwner}) Future<GetBucketMetricsConfigurationOutput>
Gets a metrics configuration (specified by the metrics configuration ID) from the bucket. Note that this doesn't include the daily storage metrics.
getBucketNotificationConfiguration({required String bucket, String? expectedBucketOwner}) Future<NotificationConfiguration>
If notifications are not enabled on the bucket, the action returns an empty NotificationConfiguration element.
getBucketOwnershipControls({required String bucket, String? expectedBucketOwner}) Future<GetBucketOwnershipControlsOutput>
OwnershipControls
getBucketPolicy({required String bucket, String? expectedBucketOwner}) Future<GetBucketPolicyOutput>
Returns the policy of a specified bucket.
getBucketPolicyStatus({required String bucket, String? expectedBucketOwner}) Future<GetBucketPolicyStatusOutput>
s3:GetBucketPolicyStatus
getBucketReplication({required String bucket, String? expectedBucketOwner}) Future<GetBucketReplicationOutput>
Replication
getBucketRequestPayment({required String bucket, String? expectedBucketOwner}) Future<GetBucketRequestPaymentOutput>
Requester Pays Buckets
getBucketTagging({required String bucket, String? expectedBucketOwner}) Future<GetBucketTaggingOutput>
To use this operation, you must have permission to perform the s3:GetBucketTagging action. By default, the bucket owner has this permission and can grant this permission to others.
getBucketVersioning({required String bucket, String? expectedBucketOwner}) Future<GetBucketVersioningOutput>
To retrieve the versioning state of a bucket, you must be the bucket owner.
getBucketWebsite({required String bucket, String? expectedBucketOwner}) Future<GetBucketWebsiteOutput>
Hosting Websites on Amazon S3
getObject({required String bucket, required String key, ChecksumMode? checksumMode, String? expectedBucketOwner, String? ifMatch, DateTime? ifModifiedSince, String? ifNoneMatch, DateTime? ifUnmodifiedSince, int? partNumber, String? range, RequestPayer? requestPayer, String? responseCacheControl, String? responseContentDisposition, String? responseContentEncoding, String? responseContentLanguage, String? responseContentType, DateTime? responseExpires, String? sSECustomerAlgorithm, String? sSECustomerKey, String? sSECustomerKeyMD5, String? versionId}) Future<GetObjectOutput>
Retrieves an object from Amazon S3.
getObjectAcl({required String bucket, required String key, String? expectedBucketOwner, RequestPayer? requestPayer, String? versionId}) Future<GetObjectAclOutput>
s3:GetObjectAcl
getObjectAttributes({required String bucket, required String key, required List<ObjectAttributes> objectAttributes, String? expectedBucketOwner, int? maxParts, String? partNumberMarker, RequestPayer? requestPayer, String? sSECustomerAlgorithm, String? sSECustomerKey, String? sSECustomerKeyMD5, String? versionId}) Future<GetObjectAttributesOutput>
Retrieves all of the metadata from an object without returning the object itself. This operation is useful if you're interested only in an object's metadata.
getObjectLegalHold({required String bucket, required String key, String? expectedBucketOwner, RequestPayer? requestPayer, String? versionId}) Future<GetObjectLegalHoldOutput>
Locking Objects
getObjectLockConfiguration({required String bucket, String? expectedBucketOwner}) Future<GetObjectLockConfigurationOutput>
Locking Objects
getObjectRetention({required String bucket, required String key, String? expectedBucketOwner, RequestPayer? requestPayer, String? versionId}) Future<GetObjectRetentionOutput>
Locking Objects
getObjectTagging({required String bucket, required String key, String? expectedBucketOwner, RequestPayer? requestPayer, String? versionId}) Future<GetObjectTaggingOutput>
To use this operation, you must have permission to perform the s3:GetObjectTagging action. By default, the GET action returns information about current version of an object. For a versioned bucket, you can have multiple versions of an object in your bucket. To retrieve tags of any other version, use the versionId query parameter. You also need permission for the s3:GetObjectVersionTagging action.
getObjectTorrent({required String bucket, required String key, String? expectedBucketOwner, RequestPayer? requestPayer}) Future<GetObjectTorrentOutput>
This functionality is not supported for Amazon S3 on Outposts.
getPublicAccessBlock({required String bucket, String? expectedBucketOwner}) Future<GetPublicAccessBlockOutput>
PublicAccessBlock
headBucket({required String bucket, String? expectedBucketOwner}) Future<HeadBucketOutput>
You can use this operation to determine if a bucket exists and if you have permission to access it. The action returns a 200 OK HTTP status code if the bucket exists and you have permission to access it. You can make a HeadBucket call on any bucket name to any Region in the partition, and regardless of the permissions on the bucket, you will receive a response header with the correct bucket location so that you can then make a proper, signed request to the appropriate Regional endpoint.
headObject({required String bucket, required String key, ChecksumMode? checksumMode, String? expectedBucketOwner, String? ifMatch, DateTime? ifModifiedSince, String? ifNoneMatch, DateTime? ifUnmodifiedSince, int? partNumber, String? range, RequestPayer? requestPayer, String? responseCacheControl, String? responseContentDisposition, String? responseContentEncoding, String? responseContentLanguage, String? responseContentType, DateTime? responseExpires, String? sSECustomerAlgorithm, String? sSECustomerKey, String? sSECustomerKeyMD5, String? versionId}) Future<HeadObjectOutput>
The HEAD operation retrieves metadata from an object without returning the object itself. This operation is useful if you're interested only in an object's metadata. Request headers are limited to 8 KB in size. For more information, see Common Request Headers.
listBucketAnalyticsConfigurations({required String bucket, String? continuationToken, String? expectedBucketOwner}) Future<ListBucketAnalyticsConfigurationsOutput>
This action supports list pagination and does not return more than 100 configurations at a time. You should always check the IsTruncated element in the response. If there are no more configurations to list, IsTruncated is set to false. If there are more configurations to list, IsTruncated is set to true, and there will be a value in NextContinuationToken. You use the NextContinuationToken value to continue the pagination of the list by passing the value in continuation-token in the request to GET the next page.
listBucketIntelligentTieringConfigurations({required String bucket, String? continuationToken, String? expectedBucketOwner}) Future<ListBucketIntelligentTieringConfigurationsOutput>
The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.
listBucketInventoryConfigurations({required String bucket, String? continuationToken, String? expectedBucketOwner}) Future<ListBucketInventoryConfigurationsOutput>
Returns a list of S3 Inventory configurations for the bucket. You can have up to 1,000 inventory configurations per bucket.
listBucketMetricsConfigurations({required String bucket, String? continuationToken, String? expectedBucketOwner}) Future<ListBucketMetricsConfigurationsOutput>
Lists the metrics configurations for the bucket. The metrics configurations are only for the request metrics of the bucket and do not provide information on daily storage metrics. You can have up to 1,000 configurations per bucket. This action supports list pagination and does not return more than 100 configurations at a time. Always check the IsTruncated element in the response. If there are no more configurations to list, IsTruncated is set to false. If there are more configurations to list, IsTruncated is set to true, and there is a value in NextContinuationToken. You use the NextContinuationToken value to continue the pagination of the list by passing the value in continuation-token in the request to GET the next page.
listBuckets({String? bucketRegion, String? continuationToken, int? maxBuckets, String? prefix}) Future<ListBucketsOutput>
s3:ListAllMyBuckets
listDirectoryBuckets({String? continuationToken, int? maxDirectoryBuckets}) Future<ListDirectoryBucketsOutput>
Returns a list of all Amazon S3 directory buckets owned by the authenticated sender of the request. For more information about directory buckets, see Directory buckets in the Amazon S3 User Guide.
listMultipartUploads({required String bucket, String? delimiter, EncodingType? encodingType, String? expectedBucketOwner, String? keyMarker, int? maxUploads, String? prefix, RequestPayer? requestPayer, String? uploadIdMarker}) Future<ListMultipartUploadsOutput>
This operation lists in-progress multipart uploads in a bucket. An in-progress multipart upload is a multipart upload that has been initiated by the CreateMultipartUpload request, but has not yet been completed or aborted. The ListMultipartUploads operation returns a maximum of 1,000 multipart uploads in the response. The limit of 1,000 multipart uploads is also the default value. You can further limit the number of uploads in a response by specifying the max-uploads request parameter. If there are more than 1,000 multipart uploads that satisfy your ListMultipartUploads request, the response returns an IsTruncated element with the value of true, a NextKeyMarker element, and a NextUploadIdMarker element. To list the remaining multipart uploads, you need to make subsequent ListMultipartUploads requests. In these requests, include two query parameters: key-marker and upload-id-marker. Set the value of key-marker to the NextKeyMarker value from the previous response. Similarly, set the value of upload-id-marker to the NextUploadIdMarker value from the previous response. For more information about multipart uploads, see Uploading Objects Using Multipart Upload in the Amazon S3 User Guide.
listObjects({required String bucket, String? delimiter, EncodingType? encodingType, String? expectedBucketOwner, String? marker, int? maxKeys, List<OptionalObjectAttributes>? optionalObjectAttributes, String? prefix, RequestPayer? requestPayer}) Future<ListObjectsOutput>
ListObjects
listObjectsV2({required String bucket, String? continuationToken, String? delimiter, EncodingType? encodingType, String? expectedBucketOwner, bool? fetchOwner, int? maxKeys, List<OptionalObjectAttributes>? optionalObjectAttributes, String? prefix, RequestPayer? requestPayer, String? startAfter}) Future<ListObjectsV2Output>
Returns some or all (up to 1,000) of the objects in a bucket with each request. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately. For more information about listing objects, see Listing object keys programmatically in the Amazon S3 User Guide. To get a list of your buckets, see ListBuckets.
listObjectVersions({required String bucket, String? delimiter, EncodingType? encodingType, String? expectedBucketOwner, String? keyMarker, int? maxKeys, List<OptionalObjectAttributes>? optionalObjectAttributes, String? prefix, RequestPayer? requestPayer, String? versionIdMarker}) Future<ListObjectVersionsOutput>
The following operations are related to ListObjectVersions:
listParts({required String bucket, required String key, required String uploadId, String? expectedBucketOwner, int? maxParts, String? partNumberMarker, RequestPayer? requestPayer, String? sSECustomerAlgorithm, String? sSECustomerKey, String? sSECustomerKeyMD5}) Future<ListPartsOutput>
Lists the parts that have been uploaded for a specific multipart upload.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
putBucketAbac({required AbacStatus abacStatus, required String bucket, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner}) Future<void>
Sets the attribute-based access control (ABAC) property of the general purpose bucket. You must have s3:PutBucketABAC permission to perform this action. When you enable ABAC, you can use tags for access control on your buckets. Additionally, when ABAC is enabled, you must use the TagResource and UntagResource actions to manage tags on your buckets. You can nolonger use the PutBucketTagging and DeleteBucketTagging actions to tag your bucket. For more information, see Enabling ABAC in general purpose buckets.
putBucketAccelerateConfiguration({required AccelerateConfiguration accelerateConfiguration, required String bucket, ChecksumAlgorithm? checksumAlgorithm, String? expectedBucketOwner}) Future<void>
To use this operation, you must have permission to perform the s3:PutAccelerateConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.
putBucketAcl({required String bucket, BucketCannedACL? acl, AccessControlPolicy? accessControlPolicy, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner, String? grantFullControl, String? grantRead, String? grantReadACP, String? grantWrite, String? grantWriteACP}) Future<void>
putBucketAnalyticsConfiguration({required AnalyticsConfiguration analyticsConfiguration, required String bucket, required String id, String? expectedBucketOwner}) Future<void>
You can choose to have storage class analysis export analysis reports sent to a comma-separated values (CSV) flat file. See the DataExport request element. Reports are updated daily and are based on the object filters that you configure. When selecting data export, you specify a destination bucket and an optional destination prefix where the file is written. You can export the data to a destination bucket in a different account. However, the destination bucket must be in the same Region as the bucket that you are making the PUT analytics configuration to. For more information, see Amazon S3 Analytics – Storage Class Analysis. To use this operation, you must have permissions to perform the s3:PutAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.
putBucketCors({required String bucket, required CORSConfiguration cORSConfiguration, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner}) Future<void>
cors
putBucketEncryption({required String bucket, required ServerSideEncryptionConfiguration serverSideEncryptionConfiguration, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner}) Future<void>
This operation configures default encryption and Amazon S3 Bucket Keys for an existing bucket. You can also block encryption types using this operation. By default, all buckets have a default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3).
putBucketIntelligentTieringConfiguration({required String bucket, required String id, required IntelligentTieringConfiguration intelligentTieringConfiguration, String? expectedBucketOwner}) Future<void>
The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.
putBucketInventoryConfiguration({required String bucket, required String id, required InventoryConfiguration inventoryConfiguration, String? expectedBucketOwner}) Future<void>
This implementation of the PUT action adds an S3 Inventory configuration (identified by the inventory ID) to the bucket. You can have up to 1,000 inventory configurations per bucket.
putBucketLifecycleConfiguration({required String bucket, ChecksumAlgorithm? checksumAlgorithm, String? expectedBucketOwner, BucketLifecycleConfiguration? lifecycleConfiguration, TransitionDefaultMinimumObjectSize? transitionDefaultMinimumObjectSize}) Future<PutBucketLifecycleConfigurationOutput>
Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle configuration. Keep in mind that this will overwrite an existing lifecycle configuration, so if you want to retain any configuration details, they must be included in the new lifecycle configuration. For information about lifecycle configuration, see Managing your storage lifecycle.
putBucketLogging({required String bucket, required BucketLoggingStatus bucketLoggingStatus, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner}) Future<void>
putBucketMetricsConfiguration({required String bucket, required String id, required MetricsConfiguration metricsConfiguration, String? expectedBucketOwner}) Future<void>
Sets a metrics configuration (specified by the metrics configuration ID) for the bucket. You can have up to 1,000 metrics configurations per bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased.
putBucketNotificationConfiguration({required String bucket, required NotificationConfiguration notificationConfiguration, String? expectedBucketOwner, bool? skipDestinationValidation}) Future<void>
Configuring Event Notifications
putBucketOwnershipControls({required String bucket, required OwnershipControls ownershipControls, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner}) Future<void>
OwnershipControls
putBucketPolicy({required String bucket, required String policy, ChecksumAlgorithm? checksumAlgorithm, bool? confirmRemoveSelfBucketAccess, String? contentMD5, String? expectedBucketOwner}) Future<void>
Applies an Amazon S3 bucket policy to an Amazon S3 bucket.
putBucketReplication({required String bucket, required ReplicationConfiguration replicationConfiguration, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner, String? token}) Future<void>
Replication
putBucketRequestPayment({required String bucket, required RequestPaymentConfiguration requestPaymentConfiguration, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner}) Future<void>
Requester Pays Buckets
putBucketTagging({required String bucket, required Tagging tagging, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner}) Future<void>
enable ABAC for a general purpose bucket
putBucketVersioning({required String bucket, required VersioningConfiguration versioningConfiguration, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner, String? mfa}) Future<void>
You can set the versioning state with one of the following values:
putBucketWebsite({required String bucket, required WebsiteConfiguration websiteConfiguration, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner}) Future<void>
website
putObject({required String bucket, required String key, ObjectCannedACL? acl, Uint8List? body, bool? bucketKeyEnabled, String? cacheControl, ChecksumAlgorithm? checksumAlgorithm, String? checksumCRC32, String? checksumCRC32C, String? checksumCRC64NVME, String? checksumMD5, String? checksumSHA1, String? checksumSHA256, String? checksumSHA512, String? checksumXXHASH128, String? checksumXXHASH3, String? checksumXXHASH64, String? contentDisposition, String? contentEncoding, String? contentLanguage, int? contentLength, String? contentMD5, String? contentType, String? expectedBucketOwner, String? expires, String? grantFullControl, String? grantRead, String? grantReadACP, String? grantWriteACP, String? ifMatch, String? ifNoneMatch, Map<String, String>? metadata, ObjectLockLegalHoldStatus? objectLockLegalHoldStatus, ObjectLockMode? objectLockMode, DateTime? objectLockRetainUntilDate, RequestPayer? requestPayer, String? sSECustomerAlgorithm, String? sSECustomerKey, String? sSECustomerKeyMD5, String? sSEKMSEncryptionContext, String? sSEKMSKeyId, ServerSideEncryption? serverSideEncryption, StorageClass? storageClass, String? tagging, String? websiteRedirectLocation, int? writeOffsetBytes}) Future<PutObjectOutput>
putObjectAcl({required String bucket, required String key, ObjectCannedACL? acl, AccessControlPolicy? accessControlPolicy, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner, String? grantFullControl, String? grantRead, String? grantReadACP, String? grantWrite, String? grantWriteACP, RequestPayer? requestPayer, String? versionId}) Future<PutObjectAclOutput>
putObjectLegalHold({required String bucket, required String key, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner, ObjectLockLegalHold? legalHold, RequestPayer? requestPayer, String? versionId}) Future<PutObjectLegalHoldOutput>
Locking Objects
putObjectLockConfiguration({required String bucket, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner, ObjectLockConfiguration? objectLockConfiguration, RequestPayer? requestPayer, String? token}) Future<PutObjectLockConfigurationOutput>
Locking Objects
putObjectRetention({required String bucket, required String key, bool? bypassGovernanceRetention, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner, RequestPayer? requestPayer, ObjectLockRetention? retention, String? versionId}) Future<PutObjectRetentionOutput>
Locking Objects
putObjectTagging({required String bucket, required String key, required Tagging tagging, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner, RequestPayer? requestPayer, String? versionId}) Future<PutObjectTaggingOutput>
Object Tagging
putPublicAccessBlock({required String bucket, required PublicAccessBlockConfiguration publicAccessBlockConfiguration, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner}) Future<void>
PublicAccessBlock
renameObject({required String bucket, required String key, required String renameSource, String? clientToken, String? destinationIfMatch, DateTime? destinationIfModifiedSince, String? destinationIfNoneMatch, DateTime? destinationIfUnmodifiedSince, String? sourceIfMatch, DateTime? sourceIfModifiedSince, String? sourceIfNoneMatch, DateTime? sourceIfUnmodifiedSince}) Future<void>
Renames an existing object in a directory bucket that uses the S3 Express One Zone storage class. You can use RenameObject by specifying an existing object’s name as the source and the new name of the object as the destination within the same directory bucket. To prevent overwriting an object, you can use the If-None-Match conditional header.
restoreObject({required String bucket, required String key, ChecksumAlgorithm? checksumAlgorithm, String? expectedBucketOwner, RequestPayer? requestPayer, RestoreRequest? restoreRequest, String? versionId}) Future<RestoreObjectOutput>
This functionality is not supported for Amazon S3 on Outposts.
selectObjectContent({required String bucket, required String expression, required ExpressionType expressionType, required InputSerialization inputSerialization, required String key, required OutputSerialization outputSerialization, String? expectedBucketOwner, RequestProgress? requestProgress, String? sSECustomerAlgorithm, String? sSECustomerKey, String? sSECustomerKeyMD5, ScanRange? scanRange}) Future<SelectObjectContentOutput>
This functionality is not supported for Amazon S3 on Outposts.
toString() String
A string representation of this object.
inherited
updateBucketMetadataInventoryTableConfiguration({required String bucket, required InventoryTableConfigurationUpdates inventoryTableConfiguration, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner}) Future<void>
Enables or disables a live inventory table for an S3 Metadata configuration on a general purpose bucket. For more information, see Accelerating data discovery with S3 Metadata in the Amazon S3 User Guide.
updateBucketMetadataJournalTableConfiguration({required String bucket, required JournalTableConfigurationUpdates journalTableConfiguration, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner}) Future<void>
Enables or disables journal table record expiration for an S3 Metadata configuration on a general purpose bucket. For more information, see Accelerating data discovery with S3 Metadata in the Amazon S3 User Guide.
updateObjectEncryption({required String bucket, required String key, required ObjectEncryption objectEncryption, ChecksumAlgorithm? checksumAlgorithm, String? contentMD5, String? expectedBucketOwner, RequestPayer? requestPayer, String? versionId}) Future<UpdateObjectEncryptionResponse>
UpdateObjectEncryption
uploadPart({required String bucket, required String key, required int partNumber, required String uploadId, Uint8List? body, ChecksumAlgorithm? checksumAlgorithm, String? checksumCRC32, String? checksumCRC32C, String? checksumCRC64NVME, String? checksumMD5, String? checksumSHA1, String? checksumSHA256, String? checksumSHA512, String? checksumXXHASH128, String? checksumXXHASH3, String? checksumXXHASH64, int? contentLength, String? contentMD5, String? expectedBucketOwner, RequestPayer? requestPayer, String? sSECustomerAlgorithm, String? sSECustomerKey, String? sSECustomerKeyMD5}) Future<UploadPartOutput>
Uploads a part in a multipart upload. You must initiate a multipart upload (see CreateMultipartUpload) before you can upload any part. In response to your initiate request, Amazon S3 returns an upload ID, a unique identifier that you must include in your upload part request.
uploadPartCopy({required String bucket, required String copySource, required String key, required int partNumber, required String uploadId, String? copySourceIfMatch, DateTime? copySourceIfModifiedSince, String? copySourceIfNoneMatch, DateTime? copySourceIfUnmodifiedSince, String? copySourceRange, String? copySourceSSECustomerAlgorithm, String? copySourceSSECustomerKey, String? copySourceSSECustomerKeyMD5, String? expectedBucketOwner, String? expectedSourceBucketOwner, RequestPayer? requestPayer, String? sSECustomerAlgorithm, String? sSECustomerKey, String? sSECustomerKeyMD5}) Future<UploadPartCopyOutput>
Uploads a part by copying data from an existing object as data source. To specify the data source, you add the request header x-amz-copy-source in your request. To specify a byte range, you add the request header x-amz-copy-source-range in your request.
writeGetObjectResponse({required String requestRoute, required String requestToken, String? acceptRanges, Uint8List? body, bool? bucketKeyEnabled, String? cacheControl, String? checksumCRC32, String? checksumCRC32C, String? checksumCRC64NVME, String? checksumMD5, String? checksumSHA1, String? checksumSHA256, String? checksumSHA512, String? checksumXXHASH128, String? checksumXXHASH3, String? checksumXXHASH64, String? contentDisposition, String? contentEncoding, String? contentLanguage, int? contentLength, String? contentRange, String? contentType, bool? deleteMarker, String? eTag, String? errorCode, String? errorMessage, String? expiration, String? expires, DateTime? lastModified, Map<String, String>? metadata, int? missingMeta, ObjectLockLegalHoldStatus? objectLockLegalHoldStatus, ObjectLockMode? objectLockMode, DateTime? objectLockRetainUntilDate, int? partsCount, ReplicationStatus? replicationStatus, RequestCharged? requestCharged, String? restore, String? sSECustomerAlgorithm, String? sSECustomerKeyMD5, String? sSEKMSKeyId, ServerSideEncryption? serverSideEncryption, int? statusCode, StorageClass? storageClass, int? tagCount, String? versionId}) Future<void>
GetObject

Operators

operator ==(Object other) bool
The equality operator.
inherited