/* * Copyright 2010-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the s3-2006-03-01.normal.json service model. */ using System; using System.Collections.Generic; using Amazon.Runtime; using Amazon.S3.Model; namespace Amazon.S3 { /// /// Interface for accessing S3 /// /// /// public partial interface IAmazonS3 : IAmazonService, IDisposable { #region AbortMultipartUpload /// /// 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. /// /// /// /// To verify that all parts have been removed, so you don't get charged for the part /// storage, you should call the ListParts operation and ensure that the parts /// list is empty. /// /// /// /// For information about permissions required to use the multipart upload API, see Multipart /// Upload API and Permissions. /// /// /// /// The following operations are related to AbortMultipartUpload: /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// The bucket name to which the upload was taking place. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide. /// Key of the object for which the multipart upload was initiated. /// Upload ID that identifies the multipart upload. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the AbortMultipartUpload service method, as returned by S3. void AbortMultipartUploadAsync(string bucketName, string key, string uploadId, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the AbortMultipartUpload operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the AbortMultipartUpload operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void AbortMultipartUploadAsync(AbortMultipartUploadRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region CompleteMultipartUpload /// /// Initiates the asynchronous execution of the CompleteMultipartUpload operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the CompleteMultipartUpload operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void CompleteMultipartUploadAsync(CompleteMultipartUploadRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region CopyObject /// /// Creates a copy of an object that is already stored in Amazon S3. /// /// /// /// You can store individual objects of up to 5 TB in Amazon S3. You create a copy of /// your object up to 5 GB in size in a single atomic operation using this API. However, /// for copying an object greater than 5 GB, you must use the multipart upload Upload /// Part - Copy API. For more information, see Copy /// Object Using the REST Multipart Upload API. /// /// /// /// When copying an object, you can preserve all metadata (default) or specify new metadata. /// However, the ACL is not preserved and is set to private for the user making the request. /// To override the default ACL setting, specify a new ACL when generating a copy request. /// For more information, see Using /// ACLs. /// /// /// /// Amazon S3 transfer acceleration does not support cross-region copies. If you request /// a cross-region copy using a transfer acceleration endpoint, you get a 400 Bad /// Request error. For more information about transfer acceleration, see Transfer /// Acceleration. /// /// /// /// All copy requests must be authenticated. Additionally, you must have read access /// to the source object and write access to the destination bucket. For more information, /// see REST /// Authentication. Both the Region that you want to copy the object from and the /// Region that you want to copy the object to must be enabled for your account. /// /// /// /// To only copy an object under certain conditions, such as whether the Etag /// matches or whether the object was modified before or after a specified date, use the /// request parameters x-amz-copy-source-if-match, x-amz-copy-source-if-none-match, /// x-amz-copy-source-if-unmodified-since, or x-amz-copy-source-if-modified-since. /// /// /// /// All headers with the x-amz- prefix, including x-amz-copy-source, /// must be signed. /// /// /// /// You can use this operation to change the storage class of an object that is already /// stored in Amazon S3 using the StorageClass parameter. For more information, /// see Storage /// Classes. /// /// /// /// The source object that you are copying can be encrypted or unencrypted. If the source /// object is encrypted, it can be encrypted by server-side encryption using AWS managed /// encryption keys or by using a customer-provided encryption key. When copying an object, /// you can request that Amazon S3 encrypt the target object by using either the AWS managed /// encryption keys or by using your own encryption key. You can do this regardless of /// the form of server-side encryption that was used to encrypt the source, or even if /// the source object was not encrypted. For more information about server-side encryption, /// see Using /// Server-Side Encryption. /// /// /// /// A copy request might return an error when Amazon S3 receives the copy request or while /// Amazon S3 is copying the files. If the error occurs before the copy operation starts, /// you receive a standard Amazon S3 error. If the error occurs during the copy operation, /// the error response is embedded in the 200 OK response. This means that /// a 200 OK response can contain either a success or an error. Design your /// application to parse the contents of the response and handle it appropriately. /// /// /// /// If the copy is successful, you receive a response with information about the copied /// object. /// /// /// /// If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not, /// it would not contain the content-length, and you would need to read the entire body. /// /// /// /// Consider the following when using request headers: /// ///
  • /// /// Consideration 1 – If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since /// headers are present in the request and evaluate as follows, Amazon S3 returns 200 /// OK and copies the data: /// ///
    • /// /// x-amz-copy-source-if-match condition evaluates to true /// ///
    • /// /// x-amz-copy-source-if-unmodified-since condition evaluates to false /// ///
  • /// /// Consideration 2 – If both of the x-amz-copy-source-if-none-match and /// x-amz-copy-source-if-modified-since headers are present in the request /// and evaluate as follows, Amazon S3 returns the 412 Precondition Failed /// response code: /// ///
    • /// /// x-amz-copy-source-if-none-match condition evaluates to false /// ///
    • /// /// x-amz-copy-source-if-modified-since condition evaluates to true /// ///
/// /// The copy request charge is based on the storage class and Region you specify for the /// destination object. For pricing information, see Amazon /// S3 Pricing. /// /// /// /// Following are other considerations when using CopyObject: /// ///
Versioning
/// /// By default, x-amz-copy-source identifies the current version of an object /// to copy. (If the current version is a delete marker, Amazon S3 behaves as if the object /// was deleted.) To copy a different version, use the versionId subresource. /// /// /// /// If you enable versioning on the target bucket, Amazon S3 generates a unique version /// ID for the object being copied. This version ID is different from the version ID of /// the source object. Amazon S3 returns the version ID of the copied object in the x-amz-version-id /// response header in the response. /// /// /// /// If you do not enable versioning or suspend it on the target bucket, the version ID /// that Amazon S3 generates is always null. /// /// /// /// If the source object's storage class is GLACIER, you must restore a copy of this object /// before you can use it as a source object for the copy operation. For more information, /// see . /// ///
Access Permissions
/// /// When copying an object, you can optionally specify the accounts or groups that should /// be granted specific permissions on the new object. There are two ways to grant the /// permissions using the request headers: /// ///
  • /// /// Specify a canned ACL with the x-amz-acl request header. For more information, /// see Canned /// ACL. /// ///
  • /// /// Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, /// x-amz-grant-write-acp, and x-amz-grant-full-control headers. /// These parameters map to the set of permissions that Amazon S3 supports in an ACL. /// For more information, see Access /// Control List (ACL) Overview. /// ///
/// /// You can use either a canned ACL or specify access permissions explicitly. You cannot /// do both. /// ///
Server-Side- Encryption-Specific Request Headers
/// /// To encrypt the target object, you must provide the appropriate encryption-related /// request headers. The one you use depends on whether you want to use AWS managed encryption /// keys or provide your own encryption key. /// ///
  • /// /// To encrypt the target object using server-side encryption with an AWS managed encryption /// key, provide the following request headers, as appropriate. /// ///
    • /// /// x-amz-server-side​-encryption /// ///
    • /// /// x-amz-server-side-encryption-aws-kms-key-id /// ///
    • /// /// x-amz-server-side-encryption-context /// ///
    /// /// If you specify x-amz-server-side-encryption:aws:kms, but don't provide /// x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the AWS managed /// CMK in AWS KMS to protect the data. If you want to use a customer managed AWS KMS /// CMK, you must provide the x-amz-server-side-encryption-aws-kms-key-id /// of the symmetric customer managed CMK. Amazon S3 only supports symmetric CMKs and /// not asymmetric CMKs. For more information, see Using /// Symmetric and Asymmetric Keys in the AWS Key Management Service Developer Guide. /// /// /// /// All GET and PUT requests for an object protected by AWS KMS fail if you don't make /// them with SSL or by using SigV4. /// /// /// /// For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), /// see Protecting /// Data Using Server-Side Encryption with CMKs stored in KMS. /// ///
  • /// /// To encrypt the target object using server-side encryption with an encryption key that /// you provide, use the following headers. /// ///
    • /// /// x-amz-server-side​-encryption​-customer-algorithm /// ///
    • /// /// x-amz-server-side​-encryption​-customer-key /// ///
    • /// /// x-amz-server-side​-encryption​-customer-key-MD5 /// ///
  • /// /// If the source object is encrypted using server-side encryption with customer-provided /// encryption keys, you must use the following headers. /// ///
    • /// /// x-amz-copy-source​-server-side​-encryption​-customer-algorithm /// ///
    • /// /// x-amz-copy-source​-server-side​-encryption​-customer-key /// ///
    • /// /// x-amz-copy-source-​server-side​-encryption​-customer-key-MD5 /// ///
    /// /// For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), /// see Protecting /// Data Using Server-Side Encryption with CMKs stored in Amazon KMS. /// ///
Access-Control-List (ACL)-Specific Request Headers
/// /// /// You also can use the following access control–related headers with this operation. /// By default, all objects are private. Only the owner has full access control. When /// adding a new object, you can grant permissions to individual AWS accounts or to predefined /// groups defined by Amazon S3. These permissions are then added to the access control /// list (ACL) on the object. For more information, see Using /// ACLs. With this operation, you can grant access permissions using one of the following /// two methods: /// ///
  • /// /// Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of predefined /// ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees /// and permissions. For more information, see Canned /// ACL. /// ///
  • /// /// Specify access permissions explicitly — To explicitly grant access permissions to /// specific AWS accounts or groups, use the following headers. Each header maps to specific /// permissions that Amazon S3 supports in an ACL. For more information, see Access /// Control List (ACL) Overview. In the header, you specify a list of grantees who /// get the specific permission. To grant permissions explicitly, use: /// ///
    • /// /// x-amz-grant-read /// ///
    • /// /// x-amz-grant-write /// ///
    • /// /// x-amz-grant-read-acp /// ///
    • /// /// x-amz-grant-write-acp /// ///
    • /// /// x-amz-grant-full-control /// ///
    /// /// You specify each grantee as a type=value pair, where the type is one of the following: /// ///
    • /// /// emailAddress – if the value specified is the email address of an AWS /// account /// ///
    • /// /// id – if the value specified is the canonical user ID of an AWS account /// ///
    • /// /// uri – if you are granting permissions to a predefined group /// ///
    /// /// For example, the following x-amz-grant-read header grants the AWS accounts /// identified by email addresses permissions to read object data and its metadata: /// /// /// /// x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" /// /// ///
/// /// The following operations are related to CopyObject: /// /// /// /// For more information, see Copying /// Objects. /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW ///
/// A property of CopyObjectRequest used to execute the CopyObject service method. /// A property of CopyObjectRequest used to execute the CopyObject service method. /// A property of CopyObjectRequest used to execute the CopyObject service method. /// A property of CopyObjectRequest used to execute the CopyObject service method. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the CopyObject service method, as returned by S3. void CopyObjectAsync(string sourceBucket, string sourceKey, string destinationBucket, string destinationKey, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Creates a copy of an object that is already stored in Amazon S3. /// /// /// /// You can store individual objects of up to 5 TB in Amazon S3. You create a copy of /// your object up to 5 GB in size in a single atomic operation using this API. However, /// for copying an object greater than 5 GB, you must use the multipart upload Upload /// Part - Copy API. For more information, see Copy /// Object Using the REST Multipart Upload API. /// /// /// /// When copying an object, you can preserve all metadata (default) or specify new metadata. /// However, the ACL is not preserved and is set to private for the user making the request. /// To override the default ACL setting, specify a new ACL when generating a copy request. /// For more information, see Using /// ACLs. /// /// /// /// Amazon S3 transfer acceleration does not support cross-region copies. If you request /// a cross-region copy using a transfer acceleration endpoint, you get a 400 Bad /// Request error. For more information about transfer acceleration, see Transfer /// Acceleration. /// /// /// /// All copy requests must be authenticated. Additionally, you must have read access /// to the source object and write access to the destination bucket. For more information, /// see REST /// Authentication. Both the Region that you want to copy the object from and the /// Region that you want to copy the object to must be enabled for your account. /// /// /// /// To only copy an object under certain conditions, such as whether the Etag /// matches or whether the object was modified before or after a specified date, use the /// request parameters x-amz-copy-source-if-match, x-amz-copy-source-if-none-match, /// x-amz-copy-source-if-unmodified-since, or x-amz-copy-source-if-modified-since. /// /// /// /// All headers with the x-amz- prefix, including x-amz-copy-source, /// must be signed. /// /// /// /// You can use this operation to change the storage class of an object that is already /// stored in Amazon S3 using the StorageClass parameter. For more information, /// see Storage /// Classes. /// /// /// /// The source object that you are copying can be encrypted or unencrypted. If the source /// object is encrypted, it can be encrypted by server-side encryption using AWS managed /// encryption keys or by using a customer-provided encryption key. When copying an object, /// you can request that Amazon S3 encrypt the target object by using either the AWS managed /// encryption keys or by using your own encryption key. You can do this regardless of /// the form of server-side encryption that was used to encrypt the source, or even if /// the source object was not encrypted. For more information about server-side encryption, /// see Using /// Server-Side Encryption. /// /// /// /// A copy request might return an error when Amazon S3 receives the copy request or while /// Amazon S3 is copying the files. If the error occurs before the copy operation starts, /// you receive a standard Amazon S3 error. If the error occurs during the copy operation, /// the error response is embedded in the 200 OK response. This means that /// a 200 OK response can contain either a success or an error. Design your /// application to parse the contents of the response and handle it appropriately. /// /// /// /// If the copy is successful, you receive a response with information about the copied /// object. /// /// /// /// If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not, /// it would not contain the content-length, and you would need to read the entire body. /// /// /// /// Consider the following when using request headers: /// ///
  • /// /// Consideration 1 – If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since /// headers are present in the request and evaluate as follows, Amazon S3 returns 200 /// OK and copies the data: /// ///
    • /// /// x-amz-copy-source-if-match condition evaluates to true /// ///
    • /// /// x-amz-copy-source-if-unmodified-since condition evaluates to false /// ///
  • /// /// Consideration 2 – If both of the x-amz-copy-source-if-none-match and /// x-amz-copy-source-if-modified-since headers are present in the request /// and evaluate as follows, Amazon S3 returns the 412 Precondition Failed /// response code: /// ///
    • /// /// x-amz-copy-source-if-none-match condition evaluates to false /// ///
    • /// /// x-amz-copy-source-if-modified-since condition evaluates to true /// ///
/// /// The copy request charge is based on the storage class and Region you specify for the /// destination object. For pricing information, see Amazon /// S3 Pricing. /// /// /// /// Following are other considerations when using CopyObject: /// ///
Versioning
/// /// By default, x-amz-copy-source identifies the current version of an object /// to copy. (If the current version is a delete marker, Amazon S3 behaves as if the object /// was deleted.) To copy a different version, use the versionId subresource. /// /// /// /// If you enable versioning on the target bucket, Amazon S3 generates a unique version /// ID for the object being copied. This version ID is different from the version ID of /// the source object. Amazon S3 returns the version ID of the copied object in the x-amz-version-id /// response header in the response. /// /// /// /// If you do not enable versioning or suspend it on the target bucket, the version ID /// that Amazon S3 generates is always null. /// /// /// /// If the source object's storage class is GLACIER, you must restore a copy of this object /// before you can use it as a source object for the copy operation. For more information, /// see . /// ///
Access Permissions
/// /// When copying an object, you can optionally specify the accounts or groups that should /// be granted specific permissions on the new object. There are two ways to grant the /// permissions using the request headers: /// ///
  • /// /// Specify a canned ACL with the x-amz-acl request header. For more information, /// see Canned /// ACL. /// ///
  • /// /// Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, /// x-amz-grant-write-acp, and x-amz-grant-full-control headers. /// These parameters map to the set of permissions that Amazon S3 supports in an ACL. /// For more information, see Access /// Control List (ACL) Overview. /// ///
/// /// You can use either a canned ACL or specify access permissions explicitly. You cannot /// do both. /// ///
Server-Side- Encryption-Specific Request Headers
/// /// To encrypt the target object, you must provide the appropriate encryption-related /// request headers. The one you use depends on whether you want to use AWS managed encryption /// keys or provide your own encryption key. /// ///
  • /// /// To encrypt the target object using server-side encryption with an AWS managed encryption /// key, provide the following request headers, as appropriate. /// ///
    • /// /// x-amz-server-side​-encryption /// ///
    • /// /// x-amz-server-side-encryption-aws-kms-key-id /// ///
    • /// /// x-amz-server-side-encryption-context /// ///
    /// /// If you specify x-amz-server-side-encryption:aws:kms, but don't provide /// x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the AWS managed /// CMK in AWS KMS to protect the data. If you want to use a customer managed AWS KMS /// CMK, you must provide the x-amz-server-side-encryption-aws-kms-key-id /// of the symmetric customer managed CMK. Amazon S3 only supports symmetric CMKs and /// not asymmetric CMKs. For more information, see Using /// Symmetric and Asymmetric Keys in the AWS Key Management Service Developer Guide. /// /// /// /// All GET and PUT requests for an object protected by AWS KMS fail if you don't make /// them with SSL or by using SigV4. /// /// /// /// For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), /// see Protecting /// Data Using Server-Side Encryption with CMKs stored in KMS. /// ///
  • /// /// To encrypt the target object using server-side encryption with an encryption key that /// you provide, use the following headers. /// ///
    • /// /// x-amz-server-side​-encryption​-customer-algorithm /// ///
    • /// /// x-amz-server-side​-encryption​-customer-key /// ///
    • /// /// x-amz-server-side​-encryption​-customer-key-MD5 /// ///
  • /// /// If the source object is encrypted using server-side encryption with customer-provided /// encryption keys, you must use the following headers. /// ///
    • /// /// x-amz-copy-source​-server-side​-encryption​-customer-algorithm /// ///
    • /// /// x-amz-copy-source​-server-side​-encryption​-customer-key /// ///
    • /// /// x-amz-copy-source-​server-side​-encryption​-customer-key-MD5 /// ///
    /// /// For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), /// see Protecting /// Data Using Server-Side Encryption with CMKs stored in Amazon KMS. /// ///
Access-Control-List (ACL)-Specific Request Headers
/// /// /// You also can use the following access control–related headers with this operation. /// By default, all objects are private. Only the owner has full access control. When /// adding a new object, you can grant permissions to individual AWS accounts or to predefined /// groups defined by Amazon S3. These permissions are then added to the access control /// list (ACL) on the object. For more information, see Using /// ACLs. With this operation, you can grant access permissions using one of the following /// two methods: /// ///
  • /// /// Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of predefined /// ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees /// and permissions. For more information, see Canned /// ACL. /// ///
  • /// /// Specify access permissions explicitly — To explicitly grant access permissions to /// specific AWS accounts or groups, use the following headers. Each header maps to specific /// permissions that Amazon S3 supports in an ACL. For more information, see Access /// Control List (ACL) Overview. In the header, you specify a list of grantees who /// get the specific permission. To grant permissions explicitly, use: /// ///
    • /// /// x-amz-grant-read /// ///
    • /// /// x-amz-grant-write /// ///
    • /// /// x-amz-grant-read-acp /// ///
    • /// /// x-amz-grant-write-acp /// ///
    • /// /// x-amz-grant-full-control /// ///
    /// /// You specify each grantee as a type=value pair, where the type is one of the following: /// ///
    • /// /// emailAddress – if the value specified is the email address of an AWS /// account /// ///
    • /// /// id – if the value specified is the canonical user ID of an AWS account /// ///
    • /// /// uri – if you are granting permissions to a predefined group /// ///
    /// /// For example, the following x-amz-grant-read header grants the AWS accounts /// identified by email addresses permissions to read object data and its metadata: /// /// /// /// x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" /// /// ///
/// /// The following operations are related to CopyObject: /// /// /// /// For more information, see Copying /// Objects. /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW ///
/// A property of CopyObjectRequest used to execute the CopyObject service method. /// A property of CopyObjectRequest used to execute the CopyObject service method. /// A property of CopyObjectRequest used to execute the CopyObject service method. /// A property of CopyObjectRequest used to execute the CopyObject service method. /// A property of CopyObjectRequest used to execute the CopyObject service method. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the CopyObject service method, as returned by S3. void CopyObjectAsync(string sourceBucket, string sourceKey, string sourceVersionId, string destinationBucket, string destinationKey, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the CopyObject operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the CopyObject operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void CopyObjectAsync(CopyObjectRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region CopyPart /// /// Uploads a part by copying data from an existing object as data source. You specify /// the data source by adding the request header x-amz-copy-source in your /// request and a byte range by adding the request header x-amz-copy-source-range /// in your request. /// /// /// /// The minimum allowable part size for a multipart upload is 5 MB. For more information /// about multipart upload limits, go to Quick /// Facts in the Amazon Simple Storage Service Developer Guide. /// /// /// /// Instead of using an existing object as part data, you might use the UploadPart /// operation and provide data in your request. /// /// /// /// You must initiate a multipart upload before you can upload any part. In response to /// your initiate request. Amazon S3 returns a unique identifier, the upload ID, that /// you must include in your upload part request. /// /// /// /// For more information about using the UploadPartCopy operation, see the /// following: /// ///
  • /// /// For conceptual information about multipart uploads, see Uploading /// Objects Using Multipart Upload in the Amazon Simple Storage Service Developer /// Guide. /// ///
  • /// /// For information about permissions required to use the multipart upload API, see Multipart /// Upload API and Permissions in the Amazon Simple Storage Service Developer Guide. /// ///
  • /// /// For information about copying objects using a single atomic operation vs. the multipart /// upload, see Operations /// on Objects in the Amazon Simple Storage Service Developer Guide. /// ///
  • /// /// For information about using server-side encryption with customer-provided encryption /// keys with the UploadPartCopy operation, see CopyObject and UploadPart. /// ///
/// /// Note the following additional considerations about the request headers x-amz-copy-source-if-match, /// x-amz-copy-source-if-none-match, x-amz-copy-source-if-unmodified-since, /// and x-amz-copy-source-if-modified-since: /// /// /// /// /// ///
  • /// /// Consideration 1 - If both of the x-amz-copy-source-if-match and /// x-amz-copy-source-if-unmodified-since headers are present in the request /// as follows: /// /// /// /// x-amz-copy-source-if-match condition evaluates to true, /// and; /// /// /// /// x-amz-copy-source-if-unmodified-since condition evaluates to false; /// /// /// /// Amazon S3 returns 200 OK and copies the data. /// ///
  • /// /// Consideration 2 - If both of the x-amz-copy-source-if-none-match /// and x-amz-copy-source-if-modified-since headers are present in the request /// as follows: /// /// /// /// x-amz-copy-source-if-none-match condition evaluates to false, /// and; /// /// /// /// x-amz-copy-source-if-modified-since condition evaluates to true; /// /// /// /// Amazon S3 returns 412 Precondition Failed response code. /// ///
/// /// Versioning /// /// /// /// If your bucket has versioning enabled, you could have multiple versions of the same /// object. By default, x-amz-copy-source identifies the current version /// of the object to copy. If the current version is a delete marker and you don't specify /// a versionId in the x-amz-copy-source, Amazon S3 returns a 404 error, /// because the object does not exist. If you specify versionId in the x-amz-copy-source /// and the versionId is a delete marker, Amazon S3 returns an HTTP 400 error, because /// you are not allowed to specify a delete marker as a version for the x-amz-copy-source. /// /// /// /// /// You can optionally specify a specific version of the source object to copy by adding /// the versionId subresource as shown in the following example: /// /// /// /// x-amz-copy-source: /bucket/object?versionId=version id /// ///

Special Errors /// ///

  • /// ///

    • /// /// Code: NoSuchUpload /// ///
    • /// /// Cause: The specified multipart upload does not exist. The upload ID might be invalid, /// or the multipart upload might have been aborted or completed. /// ///
    • /// /// HTTP Status Code: 404 Not Found /// ///
  • /// ///

    • /// /// Code: InvalidRequest /// ///
    • /// /// Cause: The specified copy source is not supported as a byte-range copy source. /// /// ///
    • /// /// HTTP Status Code: 400 Bad Request /// ///

Related Resources /// ///

/// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW ///
/// A property of CopyPartRequest used to execute the CopyPart service method. /// A property of CopyPartRequest used to execute the CopyPart service method. /// A property of CopyPartRequest used to execute the CopyPart service method. /// A property of CopyPartRequest used to execute the CopyPart service method. /// Upload ID identifying the multipart upload whose part is being copied. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the CopyPart service method, as returned by S3. void CopyPartAsync(string sourceBucket, string sourceKey, string destinationBucket, string destinationKey, string uploadId, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Uploads a part by copying data from an existing object as data source. You specify /// the data source by adding the request header x-amz-copy-source in your /// request and a byte range by adding the request header x-amz-copy-source-range /// in your request. /// /// /// /// The minimum allowable part size for a multipart upload is 5 MB. For more information /// about multipart upload limits, go to Quick /// Facts in the Amazon Simple Storage Service Developer Guide. /// /// /// /// Instead of using an existing object as part data, you might use the UploadPart /// operation and provide data in your request. /// /// /// /// You must initiate a multipart upload before you can upload any part. In response to /// your initiate request. Amazon S3 returns a unique identifier, the upload ID, that /// you must include in your upload part request. /// /// /// /// For more information about using the UploadPartCopy operation, see the /// following: /// ///
  • /// /// For conceptual information about multipart uploads, see Uploading /// Objects Using Multipart Upload in the Amazon Simple Storage Service Developer /// Guide. /// ///
  • /// /// For information about permissions required to use the multipart upload API, see Multipart /// Upload API and Permissions in the Amazon Simple Storage Service Developer Guide. /// ///
  • /// /// For information about copying objects using a single atomic operation vs. the multipart /// upload, see Operations /// on Objects in the Amazon Simple Storage Service Developer Guide. /// ///
  • /// /// For information about using server-side encryption with customer-provided encryption /// keys with the UploadPartCopy operation, see CopyObject and UploadPart. /// ///
/// /// Note the following additional considerations about the request headers x-amz-copy-source-if-match, /// x-amz-copy-source-if-none-match, x-amz-copy-source-if-unmodified-since, /// and x-amz-copy-source-if-modified-since: /// /// /// /// /// ///
  • /// /// Consideration 1 - If both of the x-amz-copy-source-if-match and /// x-amz-copy-source-if-unmodified-since headers are present in the request /// as follows: /// /// /// /// x-amz-copy-source-if-match condition evaluates to true, /// and; /// /// /// /// x-amz-copy-source-if-unmodified-since condition evaluates to false; /// /// /// /// Amazon S3 returns 200 OK and copies the data. /// ///
  • /// /// Consideration 2 - If both of the x-amz-copy-source-if-none-match /// and x-amz-copy-source-if-modified-since headers are present in the request /// as follows: /// /// /// /// x-amz-copy-source-if-none-match condition evaluates to false, /// and; /// /// /// /// x-amz-copy-source-if-modified-since condition evaluates to true; /// /// /// /// Amazon S3 returns 412 Precondition Failed response code. /// ///
/// /// Versioning /// /// /// /// If your bucket has versioning enabled, you could have multiple versions of the same /// object. By default, x-amz-copy-source identifies the current version /// of the object to copy. If the current version is a delete marker and you don't specify /// a versionId in the x-amz-copy-source, Amazon S3 returns a 404 error, /// because the object does not exist. If you specify versionId in the x-amz-copy-source /// and the versionId is a delete marker, Amazon S3 returns an HTTP 400 error, because /// you are not allowed to specify a delete marker as a version for the x-amz-copy-source. /// /// /// /// /// You can optionally specify a specific version of the source object to copy by adding /// the versionId subresource as shown in the following example: /// /// /// /// x-amz-copy-source: /bucket/object?versionId=version id /// ///

Special Errors /// ///

  • /// ///

    • /// /// Code: NoSuchUpload /// ///
    • /// /// Cause: The specified multipart upload does not exist. The upload ID might be invalid, /// or the multipart upload might have been aborted or completed. /// ///
    • /// /// HTTP Status Code: 404 Not Found /// ///
  • /// ///

    • /// /// Code: InvalidRequest /// ///
    • /// /// Cause: The specified copy source is not supported as a byte-range copy source. /// /// ///
    • /// /// HTTP Status Code: 400 Bad Request /// ///

Related Resources /// ///

/// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW ///
/// A property of CopyPartRequest used to execute the CopyPart service method. /// A property of CopyPartRequest used to execute the CopyPart service method. /// A property of CopyPartRequest used to execute the CopyPart service method. /// A property of CopyPartRequest used to execute the CopyPart service method. /// A property of CopyPartRequest used to execute the CopyPart service method. /// Upload ID identifying the multipart upload whose part is being copied. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the CopyPart service method, as returned by S3. void CopyPartAsync(string sourceBucket, string sourceKey, string sourceVersionId, string destinationBucket, string destinationKey, string uploadId, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the CopyPart operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the CopyPart operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void CopyPartAsync(CopyPartRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region DeleteBucket /// /// Deletes the bucket. All objects (including all object versions and delete markers) /// in the bucket must be deleted before the bucket itself can be deleted. /// ///

Related Resources /// ///

  • /// /// /// ///
  • /// /// /// ///
/// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW ///
/// Specifies the bucket being deleted. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the DeleteBucket service method, as returned by S3. void DeleteBucketAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the DeleteBucket operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the DeleteBucket operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void DeleteBucketAsync(DeleteBucketRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region DeleteBucketAnalyticsConfiguration /// /// Initiates the asynchronous execution of the DeleteBucketAnalyticsConfiguration operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the DeleteBucketAnalyticsConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void DeleteBucketAnalyticsConfigurationAsync(DeleteBucketAnalyticsConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region DeleteBucketEncryption /// /// Initiates the asynchronous execution of the DeleteBucketEncryption operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the DeleteBucketEncryption operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void DeleteBucketEncryptionAsync(DeleteBucketEncryptionRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region DeleteBucketInventoryConfiguration /// /// Initiates the asynchronous execution of the DeleteBucketInventoryConfiguration operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the DeleteBucketInventoryConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void DeleteBucketInventoryConfigurationAsync(DeleteBucketInventoryConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region DeleteBucketMetricsConfiguration /// /// Initiates the asynchronous execution of the DeleteBucketMetricsConfiguration operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the DeleteBucketMetricsConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void DeleteBucketMetricsConfigurationAsync(DeleteBucketMetricsConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region DeleteBucketPolicy /// /// This implementation of the DELETE operation uses the policy subresource to delete /// the policy of a specified bucket. If you are using an identity other than the root /// user of the AWS account that owns the bucket, the calling identity must have the DeleteBucketPolicy /// permissions on the specified bucket and belong to the bucket owner's account to use /// this operation. /// /// /// /// If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a /// 403 Access Denied error. If you have the correct permissions, but you're /// not using an identity that belongs to the bucket owner's account, Amazon S3 returns /// a 405 Method Not Allowed error. /// /// /// /// As a security precaution, the root user of the AWS account that owns a bucket can /// always use this operation, even if the policy explicitly denies the root user the /// ability to perform this action. /// /// /// /// For more information about bucket policies, see Using /// Bucket Policies and UserPolicies. /// /// /// /// The following operations are related to DeleteBucketPolicy /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// The bucket name. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the DeleteBucketPolicy service method, as returned by S3. void DeleteBucketPolicyAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the DeleteBucketPolicy operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the DeleteBucketPolicy operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void DeleteBucketPolicyAsync(DeleteBucketPolicyRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region DeleteBucketReplication /// /// Initiates the asynchronous execution of the DeleteBucketReplication operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the DeleteBucketReplication operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void DeleteBucketReplicationAsync(DeleteBucketReplicationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region DeleteBucketTagging /// /// Deletes the tags from the bucket. /// /// /// /// To use this operation, you must have permission to perform the s3:PutBucketTagging /// action. By default, the bucket owner has this permission and can grant this permission /// to others. /// /// /// /// The following operations are related to DeleteBucketTagging: /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// The bucket that has the tag set to be removed. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the DeleteBucketTagging service method, as returned by S3. void DeleteBucketTaggingAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the DeleteBucketTagging operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the DeleteBucketTagging operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void DeleteBucketTaggingAsync(DeleteBucketTaggingRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region DeleteBucketWebsite /// /// This operation removes the website configuration for a bucket. Amazon S3 returns a /// 200 OK response upon successfully deleting a website configuration on /// the specified bucket. You will get a 200 OK response if the website configuration /// you are trying to delete does not exist on the bucket. Amazon S3 returns a 404 /// response if the bucket specified in the request does not exist. /// /// /// /// This DELETE operation requires the S3:DeleteBucketWebsite permission. /// By default, only the bucket owner can delete the website configuration attached to /// a bucket. However, bucket owners can grant other users permission to delete the website /// configuration by writing a bucket policy granting them the S3:DeleteBucketWebsite /// permission. /// /// /// /// For more information about hosting websites, see Hosting /// Websites on Amazon S3. /// /// /// /// The following operations are related to DeleteBucketWebsite: /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// The bucket name for which you want to remove the website configuration. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the DeleteBucketWebsite service method, as returned by S3. void DeleteBucketWebsiteAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the DeleteBucketWebsite operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the DeleteBucketWebsite operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void DeleteBucketWebsiteAsync(DeleteBucketWebsiteRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region DeleteCORSConfiguration /// /// Deletes the cors configuration information set for the bucket. /// /// /// /// To use this operation, you must have permission to perform the s3:PutBucketCORS /// action. The bucket owner has this permission by default and can grant this permission /// to others. /// /// /// /// For information about cors, see Enabling /// Cross-Origin Resource Sharing in the Amazon Simple Storage Service Developer /// Guide. /// ///

Related Resources: /// ///

/// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW ///
/// Specifies the bucket whose cors configuration is being deleted. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the DeleteCORSConfiguration service method, as returned by S3. void DeleteCORSConfigurationAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the DeleteCORSConfiguration operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the DeleteCORSConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void DeleteCORSConfigurationAsync(DeleteCORSConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region DeleteLifecycleConfiguration /// /// 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. /// /// /// /// To use this operation, you must have permission to perform the s3:PutLifecycleConfiguration /// action. By default, the bucket owner has this permission and the bucket owner can /// grant this permission to others. /// /// /// /// There is usually some time lag before lifecycle configuration deletion is fully propagated /// to all the Amazon S3 systems. /// /// /// /// For more information about the object expiration, see Elements /// to Describe Lifecycle Actions. /// /// /// /// Related actions include: /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// The bucket name of the lifecycle to delete. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the DeleteLifecycleConfiguration service method, as returned by S3. void DeleteLifecycleConfigurationAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the DeleteLifecycleConfiguration operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the DeleteLifecycleConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void DeleteLifecycleConfigurationAsync(DeleteLifecycleConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region DeleteObject /// /// Removes the null version (if there is one) of an object and inserts a delete marker, /// which becomes the latest version of the object. If there isn't a null version, Amazon /// S3 does not remove any objects. /// /// /// /// To remove a specific version, you must be the bucket owner and you must use the version /// Id subresource. Using this subresource permanently deletes the version. If the object /// deleted is a delete marker, Amazon S3 sets the response header, x-amz-delete-marker, /// to true. /// /// /// /// If the object you want to delete is in a bucket where the bucket versioning configuration /// is MFA Delete enabled, you must include the x-amz-mfa request header /// in the DELETE versionId request. Requests that include x-amz-mfa /// must use HTTPS. /// /// /// /// For more information about MFA Delete, see Using /// MFA Delete. To see sample requests that use versioning, see Sample /// Request. /// /// /// /// You can delete objects by explicitly calling the DELETE Object API or configure its /// lifecycle (PutBucketLifecycle) to enable Amazon S3 to remove them for you. /// If you want to block users or accounts from removing or deleting objects from your /// bucket, you must deny them the s3:DeleteObject, s3:DeleteObjectVersion, /// and s3:PutLifeCycleConfiguration actions. /// /// /// /// The following operation is related to DeleteObject: /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// The bucket name of the bucket containing the object. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide. /// Key name of the object to delete. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the DeleteObject service method, as returned by S3. void DeleteObjectAsync(string bucketName, string key, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Removes the null version (if there is one) of an object and inserts a delete marker, /// which becomes the latest version of the object. If there isn't a null version, Amazon /// S3 does not remove any objects. /// /// /// /// To remove a specific version, you must be the bucket owner and you must use the version /// Id subresource. Using this subresource permanently deletes the version. If the object /// deleted is a delete marker, Amazon S3 sets the response header, x-amz-delete-marker, /// to true. /// /// /// /// If the object you want to delete is in a bucket where the bucket versioning configuration /// is MFA Delete enabled, you must include the x-amz-mfa request header /// in the DELETE versionId request. Requests that include x-amz-mfa /// must use HTTPS. /// /// /// /// For more information about MFA Delete, see Using /// MFA Delete. To see sample requests that use versioning, see Sample /// Request. /// /// /// /// You can delete objects by explicitly calling the DELETE Object API or configure its /// lifecycle (PutBucketLifecycle) to enable Amazon S3 to remove them for you. /// If you want to block users or accounts from removing or deleting objects from your /// bucket, you must deny them the s3:DeleteObject, s3:DeleteObjectVersion, /// and s3:PutLifeCycleConfiguration actions. /// /// /// /// The following operation is related to DeleteObject: /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// The bucket name of the bucket containing the object. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide. /// Key name of the object to delete. /// VersionId used to reference a specific version of the object. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the DeleteObject service method, as returned by S3. void DeleteObjectAsync(string bucketName, string key, string versionId, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the DeleteObject operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the DeleteObject operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void DeleteObjectAsync(DeleteObjectRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region DeleteObjects /// /// Initiates the asynchronous execution of the DeleteObjects operation. /// /// /// Container for the necessary parameters to execute the DeleteObjects operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void DeleteObjectsAsync(DeleteObjectsRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region DeleteObjectTagging /// /// Initiates the asynchronous execution of the DeleteObjectTagging operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the DeleteObjectTagging operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void DeleteObjectTaggingAsync(DeleteObjectTaggingRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region DeletePublicAccessBlock /// /// Initiates the asynchronous execution of the DeletePublicAccessBlock operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the DeletePublicAccessBlock operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void DeletePublicAccessBlockAsync(DeletePublicAccessBlockRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetACL /// /// This implementation of the GET operation uses the acl subresource /// to return the access control list (ACL) of a bucket. To use GET to return /// the ACL of the bucket, you must have READ_ACP access to the bucket. If /// READ_ACP permission is granted to the anonymous user, you can return /// the ACL of the bucket without using an authorization header. /// ///

Related Resources /// ///

  • /// /// /// ///
///
/// Specifies the S3 bucket whose ACL is being requested. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the GetACL service method, as returned by S3. void GetACLAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the GetACL operation. /// /// /// Container for the necessary parameters to execute the GetACL operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetACLAsync(GetACLRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetBucketAccelerateConfiguration /// /// This implementation of the GET operation uses the accelerate subresource /// to return the Transfer Acceleration state of a bucket, which is either Enabled /// or Suspended. Amazon S3 Transfer Acceleration is a bucket-level feature /// that enables you to perform faster data transfers to and from Amazon S3. /// /// /// /// To use this operation, you must have permission to perform the s3:GetAccelerateConfiguration /// 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 Simple Storage /// Service Developer Guide. /// /// /// /// You set the Transfer Acceleration state of an existing bucket to Enabled /// or Suspended by using the PutBucketAccelerateConfiguration operation. /// /// /// /// /// A GET accelerate request does not return a state value for a bucket that /// has no transfer acceleration state. A bucket has no Transfer Acceleration state if /// a state has never been set on the bucket. /// /// /// /// For more information about transfer acceleration, see Transfer /// Acceleration in the Amazon Simple Storage Service Developer Guide. /// ///

Related Resources /// ///

///
/// Name of the bucket for which the accelerate configuration is retrieved. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the GetBucketAccelerateConfiguration service method, as returned by S3. void GetBucketAccelerateConfigurationAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the GetBucketAccelerateConfiguration operation. /// /// /// Container for the necessary parameters to execute the GetBucketAccelerateConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetBucketAccelerateConfigurationAsync(GetBucketAccelerateConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetBucketAnalyticsConfiguration /// /// Initiates the asynchronous execution of the GetBucketAnalyticsConfiguration operation. /// /// /// Container for the necessary parameters to execute the GetBucketAnalyticsConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetBucketAnalyticsConfigurationAsync(GetBucketAnalyticsConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetBucketEncryption /// /// Initiates the asynchronous execution of the GetBucketEncryption operation. /// /// /// Container for the necessary parameters to execute the GetBucketEncryption operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetBucketEncryptionAsync(GetBucketEncryptionRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetBucketInventoryConfiguration /// /// Initiates the asynchronous execution of the GetBucketInventoryConfiguration operation. /// /// /// Container for the necessary parameters to execute the GetBucketInventoryConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetBucketInventoryConfigurationAsync(GetBucketInventoryConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetBucketLocation /// /// Returns the Region the bucket resides in. You set the bucket's Region using the LocationConstraint /// request parameter in a CreateBucket request. For more information, see /// CreateBucket. /// /// /// /// To use this implementation of the operation, you must be the bucket owner. /// /// /// /// The following operations are related to GetBucketLocation: /// /// /// /// The name of the bucket for which to get the location. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the GetBucketLocation service method, as returned by S3. void GetBucketLocationAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the GetBucketLocation operation. /// /// /// Container for the necessary parameters to execute the GetBucketLocation operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetBucketLocationAsync(GetBucketLocationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetBucketLogging /// /// Returns the logging status of a bucket and the permissions users have to view and /// modify that status. To use GET, you must be the bucket owner. /// /// /// /// The following operations are related to GetBucketLogging: /// /// /// /// The bucket name for which to get the logging information. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the GetBucketLogging service method, as returned by S3. void GetBucketLoggingAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the GetBucketLogging operation. /// /// /// Container for the necessary parameters to execute the GetBucketLogging operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetBucketLoggingAsync(GetBucketLoggingRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetBucketMetricsConfiguration /// /// Initiates the asynchronous execution of the GetBucketMetricsConfiguration operation. /// /// /// Container for the necessary parameters to execute the GetBucketMetricsConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetBucketMetricsConfigurationAsync(GetBucketMetricsConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetBucketNotification /// /// Returns the notification configuration of a bucket. /// /// /// /// If notifications are not enabled on the bucket, the operation returns an empty NotificationConfiguration /// element. /// /// /// /// By default, you must be the bucket owner to read the notification configuration of /// a bucket. However, the bucket owner can use a bucket policy to grant permission to /// other users to read this configuration with the s3:GetBucketNotification /// permission. /// /// /// /// For more information about setting and reading the notification configuration on a /// bucket, see Setting /// Up Notification of Bucket Events. For more information about bucket policies, /// see Using /// Bucket Policies. /// /// /// /// The following operation is related to GetBucketNotification: /// /// /// /// Name of the bucket for which to get the notification configuration /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the GetBucketNotification service method, as returned by S3. void GetBucketNotificationAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the GetBucketNotification operation. /// /// /// Container for the necessary parameters to execute the GetBucketNotification operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetBucketNotificationAsync(GetBucketNotificationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetBucketPolicy /// /// Returns the policy of a specified bucket. If you are using an identity other than /// the root user of the AWS account that owns the bucket, the calling identity must have /// the GetBucketPolicy permissions on the specified bucket and belong to /// the bucket owner's account in order to use this operation. /// /// /// /// If you don't have GetBucketPolicy permissions, Amazon S3 returns a 403 /// Access Denied error. If you have the correct permissions, but you're not using /// an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 /// Method Not Allowed error. /// /// /// /// As a security precaution, the root user of the AWS account that owns a bucket can /// always use this operation, even if the policy explicitly denies the root user the /// ability to perform this action. /// /// /// /// For more information about bucket policies, see Using /// Bucket Policies and User Policies. /// /// /// /// The following operation is related to GetBucketPolicy: /// /// /// /// The bucket name for which to get the bucket policy. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the GetBucketPolicy service method, as returned by S3. void GetBucketPolicyAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the GetBucketPolicy operation. /// /// /// Container for the necessary parameters to execute the GetBucketPolicy operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetBucketPolicyAsync(GetBucketPolicyRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetBucketPolicyStatus /// /// Initiates the asynchronous execution of the GetBucketPolicyStatus operation. /// /// /// Container for the necessary parameters to execute the GetBucketPolicyStatus operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetBucketPolicyStatusAsync(GetBucketPolicyStatusRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetBucketReplication /// /// Initiates the asynchronous execution of the GetBucketReplication operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the GetBucketReplication operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetBucketReplicationAsync(GetBucketReplicationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetBucketRequestPayment /// /// Returns the request payment configuration of a bucket. To use this version of the /// operation, you must be the bucket owner. For more information, see Requester /// Pays Buckets. /// /// /// /// The following operations are related to GetBucketRequestPayment: /// /// /// /// The name of the bucket for which to get the payment request configuration /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the GetBucketRequestPayment service method, as returned by S3. void GetBucketRequestPaymentAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the GetBucketRequestPayment operation. /// /// /// Container for the necessary parameters to execute the GetBucketRequestPayment operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetBucketRequestPaymentAsync(GetBucketRequestPaymentRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetBucketTagging /// /// Initiates the asynchronous execution of the GetBucketTagging operation. /// /// /// Container for the necessary parameters to execute the GetBucketTagging operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetBucketTaggingAsync(GetBucketTaggingRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetBucketVersioning /// /// Returns the versioning state of a bucket. /// /// /// /// To retrieve the versioning state of a bucket, you must be the bucket owner. /// /// /// /// This implementation also returns the MFA Delete status of the versioning state. If /// the MFA Delete status is enabled, the bucket owner must use an authentication /// device to change the versioning state of the bucket. /// /// /// /// The following operations are related to GetBucketVersioning: /// /// /// /// The name of the bucket for which to get the versioning information. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the GetBucketVersioning service method, as returned by S3. void GetBucketVersioningAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the GetBucketVersioning operation. /// /// /// Container for the necessary parameters to execute the GetBucketVersioning operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetBucketVersioningAsync(GetBucketVersioningRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetBucketWebsite /// /// Returns the website configuration for a bucket. To host website on Amazon S3, you /// can configure a bucket as website by adding a website configuration. For more information /// about hosting websites, see Hosting /// Websites on Amazon S3. /// /// /// /// This GET operation requires the S3:GetBucketWebsite permission. By default, /// only the bucket owner can read the bucket website configuration. However, bucket owners /// can allow other users to read the website configuration by writing a bucket policy /// granting them the S3:GetBucketWebsite permission. /// /// /// /// The following operations are related to DeleteBucketWebsite: /// /// /// /// The bucket name for which to get the website configuration. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the GetBucketWebsite service method, as returned by S3. void GetBucketWebsiteAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the GetBucketWebsite operation. /// /// /// Container for the necessary parameters to execute the GetBucketWebsite operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetBucketWebsiteAsync(GetBucketWebsiteRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetCORSConfiguration /// /// Returns the cors configuration information set for the bucket. /// /// /// /// 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. /// /// /// /// For more information about cors, see /// Enabling Cross-Origin Resource Sharing. /// /// /// /// The following operations are related to GetBucketCors: /// /// /// /// The bucket name for which to get the cors configuration. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the GetCORSConfiguration service method, as returned by S3. void GetCORSConfigurationAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the GetCORSConfiguration operation. /// /// /// Container for the necessary parameters to execute the GetCORSConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetCORSConfigurationAsync(GetCORSConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetLifecycleConfiguration /// /// /// /// Bucket lifecycle configuration now supports specifying a lifecycle rule using an object /// key name prefix, one or more object tags, or a combination of both. Accordingly, this /// section describes the latest API. The response describes the new filter element that /// you can use to specify a filter to select a subset of objects to which the rule applies. /// If you are still using previous version of the lifecycle configuration, it works. /// For the earlier API description, see GetBucketLifecycle. /// /// /// /// Returns the lifecycle configuration information set on the bucket. For information /// about lifecycle configuration, see Object /// Lifecycle Management. /// /// /// /// To use this operation, you must have permission to perform the s3:GetLifecycleConfiguration /// 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. /// /// /// /// GetBucketLifecycleConfiguration has the following special error: /// ///
  • /// /// Error code: NoSuchLifecycleConfiguration /// ///
    • /// /// Description: The lifecycle configuration does not exist. /// ///
    • /// /// HTTP Status Code: 404 Not Found /// ///
    • /// /// SOAP Fault Code Prefix: Client /// ///
/// /// The following operations are related to DeleteBucketMetricsConfiguration: /// /// ///
/// The name of the bucket for which to get the lifecycle information. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the GetLifecycleConfiguration service method, as returned by S3. void GetLifecycleConfigurationAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the GetLifecycleConfiguration operation. /// /// /// Container for the necessary parameters to execute the GetLifecycleConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetLifecycleConfigurationAsync(GetLifecycleConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetObject /// /// Retrieves objects from Amazon S3. To use GET, you must have READ /// access to the object. If you grant READ access to the anonymous user, /// you can return the object without using an authorization header. /// /// /// /// An Amazon S3 bucket has no directory hierarchy such as you would find in a typical /// computer file system. You can, however, create a logical hierarchy by using object /// key names that imply a folder structure. For example, instead of naming an object /// sample.jpg, you can name it photos/2006/February/sample.jpg. /// /// /// /// To get an object from such a logical hierarchy, specify the full key name for the /// object in the GET operation. For a virtual hosted-style request example, /// if you have the object photos/2006/February/sample.jpg, specify the resource /// as /photos/2006/February/sample.jpg. For a path-style request example, /// if you have the object photos/2006/February/sample.jpg in the bucket /// named examplebucket, specify the resource as /examplebucket/photos/2006/February/sample.jpg. /// For more information about request types, see HTTP /// Host Header Bucket Specification. /// /// /// /// To distribute large files to many people, you can save bandwidth costs by using BitTorrent. /// For more information, see Amazon /// S3 Torrent. For more information about returning the ACL of an object, see GetObjectAcl. /// /// /// /// If the object you are retrieving is stored in the GLACIER or DEEP_ARCHIVE storage /// classes, before you can retrieve the object you must first restore a copy using . /// Otherwise, this operation returns an InvalidObjectStateError error. For /// information about restoring archived objects, see Restoring /// Archived Objects. /// /// /// /// Encryption request headers, like x-amz-server-side-encryption, should /// not be sent for GET requests if your object uses server-side encryption with CMKs /// stored in AWS KMS (SSE-KMS) or server-side encryption with Amazon S3–managed encryption /// keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 /// BadRequest error. /// /// /// /// If you encrypt an object by using server-side encryption with customer-provided encryption /// keys (SSE-C) when you store the object in Amazon S3, then when you GET the object, /// you must use the following headers: /// ///
  • /// /// x-amz-server-side​-encryption​-customer-algorithm /// ///
  • /// /// x-amz-server-side​-encryption​-customer-key /// ///
  • /// /// x-amz-server-side​-encryption​-customer-key-MD5 /// ///
/// /// For more information about SSE-C, see Server-Side /// Encryption (Using Customer-Provided Encryption Keys). /// /// /// /// Assuming you have permission to read object tags (permission for the s3:GetObjectVersionTagging /// action), the response also returns the x-amz-tagging-count header that /// provides the count of number of tags associated with the object. You can use GetObjectTagging /// to retrieve the tag set associated with an object. /// /// /// /// Permissions /// /// /// /// You need the s3:GetObject permission for this operation. For more information, /// see Specifying /// Permissions in a Policy. If the object you request does not exist, the error Amazon /// S3 returns depends on whether you also have the s3:ListBucket permission. /// ///
  • /// /// If you have the s3:ListBucket permission on the bucket, Amazon S3 will /// return an HTTP status code 404 ("no such key") error. /// ///
  • /// /// If you don’t have the s3:ListBucket permission, Amazon S3 will return /// an HTTP status code 403 ("access denied") error. /// ///
/// /// Versioning /// /// /// /// By default, the GET operation returns the current version of an object. To return /// a different version, use the versionId subresource. /// /// /// /// If the current version of the object is a delete marker, Amazon S3 behaves as if the /// object was deleted and includes x-amz-delete-marker: true in the response. /// /// /// /// For more information about versioning, see PutBucketVersioning. /// /// /// /// Overriding Response Header Values /// /// /// /// There are times when you want to override certain response header values in a GET /// response. For example, you might override the Content-Disposition response header /// value in your GET request. /// /// /// /// You can override values for a set of response headers using the following query parameters. /// These response header values are sent only on a successful request, that is, when /// status code 200 OK is returned. The set of headers you can override using these parameters /// is a subset of the headers that Amazon S3 accepts when you create an object. The response /// headers that you can override for the GET response are Content-Type, /// Content-Language, Expires, Cache-Control, Content-Disposition, /// and Content-Encoding. To override these header values in the GET response, /// you use the following request parameters. /// /// /// /// You must sign the request, either using an Authorization header or a presigned URL, /// when using these parameters. They cannot be used with an unsigned (anonymous) request. /// ///
  • /// /// response-content-type /// ///
  • /// /// response-content-language /// ///
  • /// /// response-expires /// ///
  • /// /// response-cache-control /// ///
  • /// /// response-content-disposition /// ///
  • /// /// response-content-encoding /// ///
/// /// Additional Considerations about Request Headers /// /// /// /// If both of the If-Match and If-Unmodified-Since headers /// are present in the request as follows: If-Match condition evaluates to /// true, and; If-Unmodified-Since condition evaluates to false; /// then, S3 returns 200 OK and the data requested. /// /// /// /// If both of the If-None-Match and If-Modified-Since headers /// are present in the request as follows: If-None-Match condition evaluates /// to false, and; If-Modified-Since condition evaluates to /// true; then, S3 returns 304 Not Modified response code. /// /// /// /// For more information about conditional requests, see RFC /// 7232. /// /// /// /// The following operations are related to GetObject: /// /// ///
/// The bucket name containing the object. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide. /// Key of the object to get. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the GetObject service method, as returned by S3. void GetObjectAsync(string bucketName, string key, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Retrieves objects from Amazon S3. To use GET, you must have READ /// access to the object. If you grant READ access to the anonymous user, /// you can return the object without using an authorization header. /// /// /// /// An Amazon S3 bucket has no directory hierarchy such as you would find in a typical /// computer file system. You can, however, create a logical hierarchy by using object /// key names that imply a folder structure. For example, instead of naming an object /// sample.jpg, you can name it photos/2006/February/sample.jpg. /// /// /// /// To get an object from such a logical hierarchy, specify the full key name for the /// object in the GET operation. For a virtual hosted-style request example, /// if you have the object photos/2006/February/sample.jpg, specify the resource /// as /photos/2006/February/sample.jpg. For a path-style request example, /// if you have the object photos/2006/February/sample.jpg in the bucket /// named examplebucket, specify the resource as /examplebucket/photos/2006/February/sample.jpg. /// For more information about request types, see HTTP /// Host Header Bucket Specification. /// /// /// /// To distribute large files to many people, you can save bandwidth costs by using BitTorrent. /// For more information, see Amazon /// S3 Torrent. For more information about returning the ACL of an object, see GetObjectAcl. /// /// /// /// If the object you are retrieving is stored in the GLACIER or DEEP_ARCHIVE storage /// classes, before you can retrieve the object you must first restore a copy using . /// Otherwise, this operation returns an InvalidObjectStateError error. For /// information about restoring archived objects, see Restoring /// Archived Objects. /// /// /// /// Encryption request headers, like x-amz-server-side-encryption, should /// not be sent for GET requests if your object uses server-side encryption with CMKs /// stored in AWS KMS (SSE-KMS) or server-side encryption with Amazon S3–managed encryption /// keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 /// BadRequest error. /// /// /// /// If you encrypt an object by using server-side encryption with customer-provided encryption /// keys (SSE-C) when you store the object in Amazon S3, then when you GET the object, /// you must use the following headers: /// ///
  • /// /// x-amz-server-side​-encryption​-customer-algorithm /// ///
  • /// /// x-amz-server-side​-encryption​-customer-key /// ///
  • /// /// x-amz-server-side​-encryption​-customer-key-MD5 /// ///
/// /// For more information about SSE-C, see Server-Side /// Encryption (Using Customer-Provided Encryption Keys). /// /// /// /// Assuming you have permission to read object tags (permission for the s3:GetObjectVersionTagging /// action), the response also returns the x-amz-tagging-count header that /// provides the count of number of tags associated with the object. You can use GetObjectTagging /// to retrieve the tag set associated with an object. /// /// /// /// Permissions /// /// /// /// You need the s3:GetObject permission for this operation. For more information, /// see Specifying /// Permissions in a Policy. If the object you request does not exist, the error Amazon /// S3 returns depends on whether you also have the s3:ListBucket permission. /// ///
  • /// /// If you have the s3:ListBucket permission on the bucket, Amazon S3 will /// return an HTTP status code 404 ("no such key") error. /// ///
  • /// /// If you don’t have the s3:ListBucket permission, Amazon S3 will return /// an HTTP status code 403 ("access denied") error. /// ///
/// /// Versioning /// /// /// /// By default, the GET operation returns the current version of an object. To return /// a different version, use the versionId subresource. /// /// /// /// If the current version of the object is a delete marker, Amazon S3 behaves as if the /// object was deleted and includes x-amz-delete-marker: true in the response. /// /// /// /// For more information about versioning, see PutBucketVersioning. /// /// /// /// Overriding Response Header Values /// /// /// /// There are times when you want to override certain response header values in a GET /// response. For example, you might override the Content-Disposition response header /// value in your GET request. /// /// /// /// You can override values for a set of response headers using the following query parameters. /// These response header values are sent only on a successful request, that is, when /// status code 200 OK is returned. The set of headers you can override using these parameters /// is a subset of the headers that Amazon S3 accepts when you create an object. The response /// headers that you can override for the GET response are Content-Type, /// Content-Language, Expires, Cache-Control, Content-Disposition, /// and Content-Encoding. To override these header values in the GET response, /// you use the following request parameters. /// /// /// /// You must sign the request, either using an Authorization header or a presigned URL, /// when using these parameters. They cannot be used with an unsigned (anonymous) request. /// ///
  • /// /// response-content-type /// ///
  • /// /// response-content-language /// ///
  • /// /// response-expires /// ///
  • /// /// response-cache-control /// ///
  • /// /// response-content-disposition /// ///
  • /// /// response-content-encoding /// ///
/// /// Additional Considerations about Request Headers /// /// /// /// If both of the If-Match and If-Unmodified-Since headers /// are present in the request as follows: If-Match condition evaluates to /// true, and; If-Unmodified-Since condition evaluates to false; /// then, S3 returns 200 OK and the data requested. /// /// /// /// If both of the If-None-Match and If-Modified-Since headers /// are present in the request as follows: If-None-Match condition evaluates /// to false, and; If-Modified-Since condition evaluates to /// true; then, S3 returns 304 Not Modified response code. /// /// /// /// For more information about conditional requests, see RFC /// 7232. /// /// /// /// The following operations are related to GetObject: /// /// ///
/// The bucket name containing the object. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide. /// Key of the object to get. /// VersionId used to reference a specific version of the object. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the GetObject service method, as returned by S3. void GetObjectAsync(string bucketName, string key, string versionId, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the GetObject operation. /// /// /// Container for the necessary parameters to execute the GetObject operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetObjectAsync(GetObjectRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetObjectLegalHold /// /// Initiates the asynchronous execution of the GetObjectLegalHold operation. /// /// /// Container for the necessary parameters to execute the GetObjectLegalHold operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetObjectLegalHoldAsync(GetObjectLegalHoldRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetObjectLockConfiguration /// /// Initiates the asynchronous execution of the GetObjectLockConfiguration operation. /// /// /// Container for the necessary parameters to execute the GetObjectLockConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetObjectLockConfigurationAsync(GetObjectLockConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetObjectMetadata /// /// The HEAD operation retrieves metadata from an object without returning the object /// itself. This operation is useful if you're only interested in an object's metadata. /// To use HEAD, you must have READ access to the object. /// /// /// /// A HEAD request has the same options as a GET operation on /// an object. The response is identical to the GET response except that /// there is no response body. /// /// /// /// If you encrypt an object by using server-side encryption with customer-provided encryption /// keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata /// from the object, you must use the following headers: /// ///
  • /// /// x-amz-server-side​-encryption​-customer-algorithm /// ///
  • /// /// x-amz-server-side​-encryption​-customer-key /// ///
  • /// /// x-amz-server-side​-encryption​-customer-key-MD5 /// ///
/// /// For more information about SSE-C, see Server-Side /// Encryption (Using Customer-Provided Encryption Keys). /// /// /// /// Encryption request headers, like x-amz-server-side-encryption, should /// not be sent for GET requests if your object uses server-side encryption with CMKs /// stored in AWS KMS (SSE-KMS) or server-side encryption with Amazon S3–managed encryption /// keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 /// BadRequest error. /// /// /// /// Request headers are limited to 8 KB in size. For more information, see Common /// Request Headers. /// /// /// /// Consider the following when using request headers: /// ///
  • /// /// Consideration 1 – If both of the If-Match and If-Unmodified-Since /// headers are present in the request as follows: /// ///
    • /// /// If-Match condition evaluates to true, and; /// ///
    • /// /// If-Unmodified-Since condition evaluates to false; /// ///
    /// /// Then Amazon S3 returns 200 OK and the data requested. /// ///
  • /// /// Consideration 2 – If both of the If-None-Match and If-Modified-Since /// headers are present in the request as follows: /// ///
    • /// /// If-None-Match condition evaluates to false, and; /// ///
    • /// /// If-Modified-Since condition evaluates to true; /// ///
    /// /// Then Amazon S3 returns the 304 Not Modified response code. /// ///
/// /// For more information about conditional requests, see RFC /// 7232. /// /// /// /// Permissions /// /// /// /// You need the s3:GetObject permission for this operation. For more information, /// see Specifying /// Permissions in a Policy. If the object you request does not exist, the error Amazon /// S3 returns depends on whether you also have the s3:ListBucket permission. /// ///
  • /// /// If you have the s3:ListBucket permission on the bucket, Amazon S3 returns /// an HTTP status code 404 ("no such key") error. /// ///
  • /// /// If you don’t have the s3:ListBucket permission, Amazon S3 returns an /// HTTP status code 403 ("access denied") error. /// ///
/// /// The following operation is related to HeadObject: /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW ///
/// The name of the bucket containing the object. /// The object key. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the GetObjectMetadata service method, as returned by S3. void GetObjectMetadataAsync(string bucketName, string key, AmazonServiceCallback callback, AsyncOptions options = null); /// /// The HEAD operation retrieves metadata from an object without returning the object /// itself. This operation is useful if you're only interested in an object's metadata. /// To use HEAD, you must have READ access to the object. /// /// /// /// A HEAD request has the same options as a GET operation on /// an object. The response is identical to the GET response except that /// there is no response body. /// /// /// /// If you encrypt an object by using server-side encryption with customer-provided encryption /// keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata /// from the object, you must use the following headers: /// ///
  • /// /// x-amz-server-side​-encryption​-customer-algorithm /// ///
  • /// /// x-amz-server-side​-encryption​-customer-key /// ///
  • /// /// x-amz-server-side​-encryption​-customer-key-MD5 /// ///
/// /// For more information about SSE-C, see Server-Side /// Encryption (Using Customer-Provided Encryption Keys). /// /// /// /// Encryption request headers, like x-amz-server-side-encryption, should /// not be sent for GET requests if your object uses server-side encryption with CMKs /// stored in AWS KMS (SSE-KMS) or server-side encryption with Amazon S3–managed encryption /// keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 /// BadRequest error. /// /// /// /// Request headers are limited to 8 KB in size. For more information, see Common /// Request Headers. /// /// /// /// Consider the following when using request headers: /// ///
  • /// /// Consideration 1 – If both of the If-Match and If-Unmodified-Since /// headers are present in the request as follows: /// ///
    • /// /// If-Match condition evaluates to true, and; /// ///
    • /// /// If-Unmodified-Since condition evaluates to false; /// ///
    /// /// Then Amazon S3 returns 200 OK and the data requested. /// ///
  • /// /// Consideration 2 – If both of the If-None-Match and If-Modified-Since /// headers are present in the request as follows: /// ///
    • /// /// If-None-Match condition evaluates to false, and; /// ///
    • /// /// If-Modified-Since condition evaluates to true; /// ///
    /// /// Then Amazon S3 returns the 304 Not Modified response code. /// ///
/// /// For more information about conditional requests, see RFC /// 7232. /// /// /// /// Permissions /// /// /// /// You need the s3:GetObject permission for this operation. For more information, /// see Specifying /// Permissions in a Policy. If the object you request does not exist, the error Amazon /// S3 returns depends on whether you also have the s3:ListBucket permission. /// ///
  • /// /// If you have the s3:ListBucket permission on the bucket, Amazon S3 returns /// an HTTP status code 404 ("no such key") error. /// ///
  • /// /// If you don’t have the s3:ListBucket permission, Amazon S3 returns an /// HTTP status code 403 ("access denied") error. /// ///
/// /// The following operation is related to HeadObject: /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW ///
/// The name of the bucket containing the object. /// The object key. /// VersionId used to reference a specific version of the object. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the GetObjectMetadata service method, as returned by S3. void GetObjectMetadataAsync(string bucketName, string key, string versionId, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the GetObjectMetadata operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the GetObjectMetadata operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetObjectMetadataAsync(GetObjectMetadataRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetObjectRetention /// /// Initiates the asynchronous execution of the GetObjectRetention operation. /// /// /// Container for the necessary parameters to execute the GetObjectRetention operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetObjectRetentionAsync(GetObjectRetentionRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetObjectTagging /// /// Initiates the asynchronous execution of the GetObjectTagging operation. /// /// /// Container for the necessary parameters to execute the GetObjectTagging operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetObjectTaggingAsync(GetObjectTaggingRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetObjectTorrent /// /// Return torrent files from a bucket. BitTorrent can save you bandwidth when you're /// distributing large files. For more information about BitTorrent, see Amazon /// S3 Torrent. /// /// /// /// You can get torrent only for objects that are less than 5 GB in size and that are /// not encrypted using server-side encryption with customer-provided encryption key. /// /// /// /// To use GET, you must have READ access to the object. /// /// /// /// The following operation is related to GetObjectTorrent: /// /// /// /// The name of the bucket containing the object for which to get the torrent files. /// The object key for which to get the information. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the GetObjectTorrent service method, as returned by S3. void GetObjectTorrentAsync(string bucketName, string key, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the GetObjectTorrent operation. /// /// /// Container for the necessary parameters to execute the GetObjectTorrent operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetObjectTorrentAsync(GetObjectTorrentRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region GetPublicAccessBlock /// /// Initiates the asynchronous execution of the GetPublicAccessBlock operation. /// /// /// Container for the necessary parameters to execute the GetPublicAccessBlock operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void GetPublicAccessBlockAsync(GetPublicAccessBlockRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region InitiateMultipartUpload /// /// This operation initiates a multipart upload and returns an upload ID. This upload /// ID is used to associate all of the parts in the specific multipart upload. You specify /// this upload ID in each of your subsequent upload part requests (see UploadPart). /// You also include this upload ID in the final request to either complete or abort the /// multipart upload request. /// /// /// /// For more information about multipart uploads, see Multipart /// Upload Overview. /// /// /// /// If you have configured a lifecycle rule to abort incomplete multipart uploads, the /// upload must complete within the number of days specified in the bucket lifecycle configuration. /// Otherwise, the incomplete multipart upload becomes eligible for an abort operation /// and Amazon S3 aborts the multipart upload. For more information, see Aborting /// Incomplete Multipart Uploads Using a Bucket Lifecycle Policy. /// /// /// /// For information about the permissions required to use the multipart upload API, see /// Multipart /// Upload API and Permissions. /// /// /// /// For request signing, multipart upload is just a series of regular requests. You initiate /// a multipart upload, send one or more requests to upload parts, and then complete the /// multipart upload process. You sign each request individually. There is nothing special /// about signing multipart upload requests. For more information about signing, see Authenticating /// Requests (AWS Signature Version 4). /// /// /// /// After you initiate a multipart upload and upload one or more parts, to stop being /// charged for storing the uploaded parts, you must either complete or abort the multipart /// upload. Amazon S3 frees up the space used to store the parts and stop charging you /// for storing them only after you either complete or abort a multipart upload. /// /// /// /// You can optionally request server-side encryption. For server-side encryption, Amazon /// S3 encrypts your data as it writes it to disks in its data centers and decrypts it /// when you access it. You can provide your own encryption key, or use AWS Key Management /// Service (AWS KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys. /// If you choose to provide your own encryption key, the request headers you provide /// in UploadPart) and UploadPartCopy) requests must match the headers you /// used in the request to initiate the upload by using CreateMultipartUpload. /// /// /// /// /// To perform a multipart upload with encryption using an AWS KMS CMK, the requester /// must have permission to the kms:Encrypt, kms:Decrypt, kms:ReEncrypt*, /// kms:GenerateDataKey*, and kms:DescribeKey actions on the /// key. These permissions are required because Amazon S3 must decrypt and read data from /// the encrypted file parts before it completes the multipart upload. /// /// /// /// If your AWS Identity and Access Management (IAM) user or role is in the same AWS account /// as the AWS KMS CMK, then you must have these permissions on the key policy. If your /// IAM user or role belongs to a different account than the key, then you must have the /// permissions on both the key policy and your IAM user or role. /// /// /// /// For more information, see Protecting /// Data Using Server-Side Encryption. /// ///
Access Permissions
/// /// When copying an object, you can optionally specify the accounts or groups that should /// be granted specific permissions on the new object. There are two ways to grant the /// permissions using the request headers: /// ///
  • /// /// Specify a canned ACL with the x-amz-acl request header. For more information, /// see Canned /// ACL. /// ///
  • /// /// Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, /// x-amz-grant-write-acp, and x-amz-grant-full-control headers. /// These parameters map to the set of permissions that Amazon S3 supports in an ACL. /// For more information, see Access /// Control List (ACL) Overview. /// ///
/// /// You can use either a canned ACL or specify access permissions explicitly. You cannot /// do both. /// ///
Server-Side- Encryption-Specific Request Headers
/// /// You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption. /// Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data /// as it writes it to disks in its data centers and decrypts it when you access it. The /// option you use depends on whether you want to use AWS managed encryption keys or provide /// your own encryption key. /// ///
  • /// /// Use encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in /// AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used to /// encrypt data, specify the following headers in the request. /// ///
    • /// /// x-amz-server-side​-encryption /// ///
    • /// /// x-amz-server-side-encryption-aws-kms-key-id /// ///
    • /// /// x-amz-server-side-encryption-context /// ///
    /// /// If you specify x-amz-server-side-encryption:aws:kms, but don't provide /// x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the AWS managed /// CMK in AWS KMS to protect the data. /// /// /// /// All GET and PUT requests for an object protected by AWS KMS fail if you don't make /// them with SSL or by using SigV4. /// /// /// /// For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), /// see Protecting /// Data Using Server-Side Encryption with CMKs stored in AWS KMS. /// ///
  • /// /// Use customer-provided encryption keys – If you want to manage your own encryption /// keys, provide all the following headers in the request. /// ///
    • /// /// x-amz-server-side​-encryption​-customer-algorithm /// ///
    • /// /// x-amz-server-side​-encryption​-customer-key /// ///
    • /// /// x-amz-server-side​-encryption​-customer-key-MD5 /// ///
    /// /// For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), /// see Protecting /// Data Using Server-Side Encryption with CMKs stored in AWS KMS. /// ///
Access-Control-List (ACL)-Specific Request Headers
/// /// /// You also can use the following access control–related headers with this operation. /// By default, all objects are private. Only the owner has full access control. When /// adding a new object, you can grant permissions to individual AWS accounts or to predefined /// groups defined by Amazon S3. These permissions are then added to the access control /// list (ACL) on the object. For more information, see Using /// ACLs. With this operation, you can grant access permissions using one of the following /// two methods: /// ///
  • /// /// Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of predefined /// ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees /// and permissions. For more information, see Canned /// ACL. /// ///
  • /// /// Specify access permissions explicitly — To explicitly grant access permissions to /// specific AWS accounts or groups, use the following headers. Each header maps to specific /// permissions that Amazon S3 supports in an ACL. For more information, see Access /// Control List (ACL) Overview. In the header, you specify a list of grantees who /// get the specific permission. To grant permissions explicitly, use: /// ///
    • /// /// x-amz-grant-read /// ///
    • /// /// x-amz-grant-write /// ///
    • /// /// x-amz-grant-read-acp /// ///
    • /// /// x-amz-grant-write-acp /// ///
    • /// /// x-amz-grant-full-control /// ///
    /// /// You specify each grantee as a type=value pair, where the type is one of the following: /// ///
    • /// /// emailAddress – if the value specified is the email address of an AWS /// account /// ///
    • /// /// id – if the value specified is the canonical user ID of an AWS account /// ///
    • /// /// uri – if you are granting permissions to a predefined group /// ///
    /// /// For example, the following x-amz-grant-read header grants the AWS accounts /// identified by email addresses permissions to read object data and its metadata: /// /// /// /// x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" /// /// ///
/// /// The following operations are related to CreateMultipartUpload: /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW ///
/// The name of the bucket to which to initiate the upload /// Object key for which the multipart upload is to be initiated. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the InitiateMultipartUpload service method, as returned by S3. void InitiateMultipartUploadAsync(string bucketName, string key, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the InitiateMultipartUpload operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the InitiateMultipartUpload operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void InitiateMultipartUploadAsync(InitiateMultipartUploadRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region ListBucketAnalyticsConfigurations /// /// Initiates the asynchronous execution of the ListBucketAnalyticsConfigurations operation. /// /// /// Container for the necessary parameters to execute the ListBucketAnalyticsConfigurations operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void ListBucketAnalyticsConfigurationsAsync(ListBucketAnalyticsConfigurationsRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region ListBucketInventoryConfigurations /// /// Initiates the asynchronous execution of the ListBucketInventoryConfigurations operation. /// /// /// Container for the necessary parameters to execute the ListBucketInventoryConfigurations operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void ListBucketInventoryConfigurationsAsync(ListBucketInventoryConfigurationsRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region ListBucketMetricsConfigurations /// /// Initiates the asynchronous execution of the ListBucketMetricsConfigurations operation. /// /// /// Container for the necessary parameters to execute the ListBucketMetricsConfigurations operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void ListBucketMetricsConfigurationsAsync(ListBucketMetricsConfigurationsRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region ListBuckets /// /// Initiates the asynchronous execution of the ListBuckets operation. /// /// /// Container for the necessary parameters to execute the ListBuckets operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void ListBucketsAsync(ListBucketsRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region ListMultipartUploads /// /// This operation lists in-progress multipart uploads. An in-progress multipart upload /// is a multipart upload that has been initiated using the Initiate Multipart Upload /// request, but has not yet been completed or aborted. /// /// /// /// This operation returns at most 1,000 multipart uploads in the response. 1,000 multipart /// uploads is the maximum number of uploads a response can include, which is also the /// default value. You can further limit the number of uploads in a response by specifying /// the max-uploads parameter in the response. If additional multipart uploads /// satisfy the list criteria, the response will contain an IsTruncated element /// with the value true. To list the additional multipart uploads, use the key-marker /// and upload-id-marker request parameters. /// /// /// /// In the response, the uploads are sorted by key. If your application has initiated /// more than one multipart upload using the same object key, then uploads in the response /// are first sorted by key. Additionally, uploads are sorted in ascending order within /// each key by the upload initiation time. /// /// /// /// For more information on multipart uploads, see Uploading /// Objects Using Multipart Upload. /// /// /// /// For information on permissions required to use the multipart upload API, see Multipart /// Upload API and Permissions. /// /// /// /// The following operations are related to ListMultipartUploads: /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// Name of the bucket to which the multipart upload was initiated. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the ListMultipartUploads service method, as returned by S3. void ListMultipartUploadsAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// This operation lists in-progress multipart uploads. An in-progress multipart upload /// is a multipart upload that has been initiated using the Initiate Multipart Upload /// request, but has not yet been completed or aborted. /// /// /// /// This operation returns at most 1,000 multipart uploads in the response. 1,000 multipart /// uploads is the maximum number of uploads a response can include, which is also the /// default value. You can further limit the number of uploads in a response by specifying /// the max-uploads parameter in the response. If additional multipart uploads /// satisfy the list criteria, the response will contain an IsTruncated element /// with the value true. To list the additional multipart uploads, use the key-marker /// and upload-id-marker request parameters. /// /// /// /// In the response, the uploads are sorted by key. If your application has initiated /// more than one multipart upload using the same object key, then uploads in the response /// are first sorted by key. Additionally, uploads are sorted in ascending order within /// each key by the upload initiation time. /// /// /// /// For more information on multipart uploads, see Uploading /// Objects Using Multipart Upload. /// /// /// /// For information on permissions required to use the multipart upload API, see Multipart /// Upload API and Permissions. /// /// /// /// The following operations are related to ListMultipartUploads: /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// Name of the bucket to which the multipart upload was initiated. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide. /// Lists in-progress uploads only for those keys that begin with the specified prefix. You can use prefixes to separate a bucket into different grouping of keys. (You can think of using prefix to make groups in the same way you'd use a folder in a file system.) /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the ListMultipartUploads service method, as returned by S3. void ListMultipartUploadsAsync(string bucketName, string prefix, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the ListMultipartUploads operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the ListMultipartUploads operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void ListMultipartUploadsAsync(ListMultipartUploadsRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region ListObjects /// /// Returns some or all (up to 1,000) of the objects in a bucket. 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. Be sure to design your application /// to parse the contents of the response and handle it appropriately. /// /// /// /// This API has been revised. We recommend that you use the newer version, ListObjectsV2, /// when developing applications. For backward compatibility, Amazon S3 continues to support /// ListObjects. /// /// /// /// The following operations are related to ListObjects: /// /// /// /// The name of the bucket containing the objects. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the ListObjects service method, as returned by S3. void ListObjectsAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Returns some or all (up to 1,000) of the objects in a bucket. 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. Be sure to design your application /// to parse the contents of the response and handle it appropriately. /// /// /// /// This API has been revised. We recommend that you use the newer version, ListObjectsV2, /// when developing applications. For backward compatibility, Amazon S3 continues to support /// ListObjects. /// /// /// /// The following operations are related to ListObjects: /// /// /// /// The name of the bucket containing the objects. /// Limits the response to keys that begin with the specified prefix. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the ListObjects service method, as returned by S3. void ListObjectsAsync(string bucketName, string prefix, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the ListObjects operation. /// /// /// Container for the necessary parameters to execute the ListObjects operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void ListObjectsAsync(ListObjectsRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region ListObjectsV2 /// /// Initiates the asynchronous execution of the ListObjectsV2 operation. /// /// /// Container for the necessary parameters to execute the ListObjectsV2 operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void ListObjectsV2Async(ListObjectsV2Request request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region ListParts /// /// Lists the parts that have been uploaded for a specific multipart upload. This operation /// must include the upload ID, which you obtain by sending the initiate multipart upload /// request (see CreateMultipartUpload). This request returns a maximum of 1,000 /// uploaded parts. The default number of parts returned is 1,000 parts. You can restrict /// the number of parts returned by specifying the max-parts request parameter. /// If your multipart upload consists of more than 1,000 parts, the response returns an /// IsTruncated field with the value of true, and a NextPartNumberMarker /// element. In subsequent ListParts requests you can include the part-number-marker /// query string parameter and set its value to the NextPartNumberMarker /// field value from the previous response. /// /// /// /// For more information on multipart uploads, see Uploading /// Objects Using Multipart Upload. /// /// /// /// For information on permissions required to use the multipart upload API, see Multipart /// Upload API and Permissions. /// /// /// /// The following operations are related to ListParts: /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// Name of the bucket to which the parts are being uploaded. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide. /// Object key for which the multipart upload was initiated. /// Upload ID identifying the multipart upload whose parts are being listed. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the ListParts service method, as returned by S3. void ListPartsAsync(string bucketName, string key, string uploadId, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the ListParts operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the ListParts operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void ListPartsAsync(ListPartsRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region ListVersions /// /// Returns metadata about all of the versions of objects in a bucket. You can also use /// request parameters as selection criteria to return metadata about a subset of all /// the object versions. /// /// /// /// 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. /// /// /// /// To use this operation, you must have READ access to the bucket. /// /// /// /// The following operations are related to ListObjectVersions: /// /// /// /// The bucket name that contains the objects. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the ListVersions service method, as returned by S3. void ListVersionsAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Returns metadata about all of the versions of objects in a bucket. You can also use /// request parameters as selection criteria to return metadata about a subset of all /// the object versions. /// /// /// /// 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. /// /// /// /// To use this operation, you must have READ access to the bucket. /// /// /// /// The following operations are related to ListObjectVersions: /// /// /// /// The bucket name that contains the objects. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide. /// Use this parameter to select only those keys that begin with the specified prefix. You can use prefixes to separate a bucket into different groupings of keys. (You can think of using prefix to make groups in the same way you'd use a folder in a file system.) You can use prefix with delimiter to roll up numerous objects into a single result under CommonPrefixes. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the ListVersions service method, as returned by S3. void ListVersionsAsync(string bucketName, string prefix, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the ListVersions operation. /// /// /// Container for the necessary parameters to execute the ListVersions operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void ListVersionsAsync(ListVersionsRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutACL /// /// Initiates the asynchronous execution of the PutACL operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutACL operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutACLAsync(PutACLRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutBucket /// /// Creates a new bucket. To create a bucket, you must register with Amazon S3 and have /// a valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed /// to create buckets. By creating the bucket, you become the bucket owner. /// /// /// /// Not every string is an acceptable bucket name. For information on bucket naming restrictions, /// see Working /// with Amazon S3 Buckets. /// /// /// /// By default, the bucket is created in the US East (N. Virginia) Region. You can optionally /// specify a Region in the request body. You might choose a Region to optimize latency, /// minimize costs, or address regulatory requirements. For example, if you reside in /// Europe, you will probably find it advantageous to create buckets in the EU (Ireland) /// Region. For more information, see How /// to Select a Region for Your Buckets. /// /// /// /// If you send your create bucket request to the s3.amazonaws.com endpoint, /// the request goes to the us-east-1 Region. Accordingly, the signature calculations /// in Signature Version 4 must use us-east-1 as the Region, even if the location constraint /// in the request specifies another Region where the bucket is to be created. If you /// create a bucket in a Region other than US East (N. Virginia), your application must /// be able to handle 307 redirect. For more information, see Virtual /// Hosting of Buckets. /// /// /// /// When creating a bucket using this operation, you can optionally specify the accounts /// or groups that should be granted specific permissions on the bucket. There are two /// ways to grant the appropriate permissions using the request headers. /// ///
  • /// /// Specify a canned ACL using the x-amz-acl request header. Amazon S3 supports /// a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined /// set of grantees and permissions. For more information, see Canned /// ACL. /// ///
  • /// /// Specify access permissions explicitly using the x-amz-grant-read, x-amz-grant-write, /// x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control /// headers. These headers map to the set of permissions Amazon S3 supports in an ACL. /// For more information, see Access /// Control List (ACL) Overview. /// /// /// /// You specify each grantee as a type=value pair, where the type is one of the following: /// ///
    • /// /// emailAddress – if the value specified is the email address of an AWS /// account /// ///
    • /// /// id – if the value specified is the canonical user ID of an AWS account /// ///
    • /// /// uri – if you are granting permissions to a predefined group /// ///
    /// /// For example, the following x-amz-grant-read header grants the AWS accounts /// identified by email addresses permissions to read object data and its metadata: /// /// /// /// x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" /// /// ///
/// /// You can use either a canned ACL or specify access permissions explicitly. You cannot /// do both. /// /// /// /// The following operations are related to CreateBucket: /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW ///
/// The name of the bucket to create. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the PutBucket service method, as returned by S3. void PutBucketAsync(string bucketName, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the PutBucket operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutBucket operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutBucketAsync(PutBucketRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutBucketAccelerateConfiguration /// /// Initiates the asynchronous execution of the PutBucketAccelerateConfiguration operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutBucketAccelerateConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutBucketAccelerateConfigurationAsync(PutBucketAccelerateConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutBucketAnalyticsConfiguration /// /// Initiates the asynchronous execution of the PutBucketAnalyticsConfiguration operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutBucketAnalyticsConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutBucketAnalyticsConfigurationAsync(PutBucketAnalyticsConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutBucketEncryption /// /// Initiates the asynchronous execution of the PutBucketEncryption operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutBucketEncryption operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutBucketEncryptionAsync(PutBucketEncryptionRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutBucketInventoryConfiguration /// /// Initiates the asynchronous execution of the PutBucketInventoryConfiguration operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutBucketInventoryConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutBucketInventoryConfigurationAsync(PutBucketInventoryConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutBucketLogging /// /// Initiates the asynchronous execution of the PutBucketLogging operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutBucketLogging operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutBucketLoggingAsync(PutBucketLoggingRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutBucketMetricsConfiguration /// /// Initiates the asynchronous execution of the PutBucketMetricsConfiguration operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutBucketMetricsConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutBucketMetricsConfigurationAsync(PutBucketMetricsConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutBucketNotification /// /// Initiates the asynchronous execution of the PutBucketNotification operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutBucketNotification operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutBucketNotificationAsync(PutBucketNotificationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutBucketPolicy /// /// Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity /// other than the root user of the AWS account that owns the bucket, the calling identity /// must have the PutBucketPolicy permissions on the specified bucket and /// belong to the bucket owner's account in order to use this operation. /// /// /// /// If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403 /// Access Denied error. If you have the correct permissions, but you're not using /// an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 /// Method Not Allowed error. /// /// /// /// As a security precaution, the root user of the AWS account that owns a bucket can /// always use this operation, even if the policy explicitly denies the root user the /// ability to perform this action. /// /// /// /// For more information about bucket policies, see Using /// Bucket Policies and User Policies. /// /// /// /// The following operations are related to PutBucketPolicy: /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// The name of the bucket. /// The bucket policy as a JSON document. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the PutBucketPolicy service method, as returned by S3. void PutBucketPolicyAsync(string bucketName, string policy, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity /// other than the root user of the AWS account that owns the bucket, the calling identity /// must have the PutBucketPolicy permissions on the specified bucket and /// belong to the bucket owner's account in order to use this operation. /// /// /// /// If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403 /// Access Denied error. If you have the correct permissions, but you're not using /// an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 /// Method Not Allowed error. /// /// /// /// As a security precaution, the root user of the AWS account that owns a bucket can /// always use this operation, even if the policy explicitly denies the root user the /// ability to perform this action. /// /// /// /// For more information about bucket policies, see Using /// Bucket Policies and User Policies. /// /// /// /// The following operations are related to PutBucketPolicy: /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// The name of the bucket. /// The bucket policy as a JSON document. /// The MD5 hash of the request body. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the PutBucketPolicy service method, as returned by S3. void PutBucketPolicyAsync(string bucketName, string policy, string contentMD5, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the PutBucketPolicy operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutBucketPolicy operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutBucketPolicyAsync(PutBucketPolicyRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutBucketReplication /// /// Initiates the asynchronous execution of the PutBucketReplication operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutBucketReplication operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutBucketReplicationAsync(PutBucketReplicationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutBucketRequestPayment /// /// Sets the request payment configuration for a bucket. By default, the bucket owner /// pays for downloads from the bucket. This configuration parameter enables the bucket /// owner (only) to specify that the person requesting the download will be charged for /// the download. For more information, see Requester /// Pays Buckets. /// /// /// /// The following operations are related to PutBucketRequestPayment: /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// The bucket name. /// Container for Payer. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the PutBucketRequestPayment service method, as returned by S3. void PutBucketRequestPaymentAsync(string bucketName, RequestPaymentConfiguration requestPaymentConfiguration, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the PutBucketRequestPayment operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutBucketRequestPayment operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutBucketRequestPaymentAsync(PutBucketRequestPaymentRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutBucketTagging /// /// Sets the tags for a bucket. /// /// /// /// Use tags to organize your AWS bill to reflect your own cost structure. To do this, /// sign up to get your AWS account bill with tag key values included. Then, to see the /// cost of combined resources, organize your billing information according to resources /// with the same tag key values. For example, you can tag several resources with a specific /// application name, and then organize your billing information to see the total cost /// of that application across several services. For more information, see Cost /// Allocation and Tagging. /// /// /// /// Within a bucket, if you add a tag that has the same key as an existing tag, the new /// value overwrites the old value. For more information, see Using /// Cost Allocation in Amazon S3 Bucket Tags. /// /// /// /// To use this operation, you must have permissions to perform the s3:PutBucketTagging /// action. The bucket owner has this permission by default and 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. /// /// /// /// PutBucketTagging has the following special errors: /// ///
  • /// /// Error code: InvalidTagError /// ///
  • /// /// Error code: MalformedXMLError /// ///
    • /// /// Description: The XML provided does not match the schema. /// ///
  • /// /// Error code: OperationAbortedError /// ///
    • /// /// Description: A conflicting conditional operation is currently in progress against /// this resource. Please try again. /// ///
  • /// /// Error code: InternalError /// ///
    • /// /// Description: The service was unable to apply the provided tag to the bucket. /// ///
/// /// The following operations are related to PutBucketTagging: /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW ///
/// The bucket name. /// A property of PutBucketTaggingRequest used to execute the PutBucketTagging service method. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the PutBucketTagging service method, as returned by S3. void PutBucketTaggingAsync(string bucketName, List tagSet, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the PutBucketTagging operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutBucketTagging operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutBucketTaggingAsync(PutBucketTaggingRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutBucketVersioning /// /// Initiates the asynchronous execution of the PutBucketVersioning operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutBucketVersioning operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutBucketVersioningAsync(PutBucketVersioningRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutBucketWebsite /// /// Sets the configuration of the website that is specified in the website /// subresource. To configure a bucket as a website, you can add this subresource on the /// bucket with website configuration information such as the file name of the index document /// and any redirect rules. For more information, see Hosting /// Websites on Amazon S3. /// /// /// /// This PUT operation requires the S3:PutBucketWebsite permission. By default, /// only the bucket owner can configure the website attached to a bucket; however, bucket /// owners can allow other users to set the website configuration by writing a bucket /// policy that grants them the S3:PutBucketWebsite permission. /// /// /// /// To redirect all website requests sent to the bucket's website endpoint, you add a /// website configuration with the following elements. Because all requests are sent to /// another website, you don't need to provide index document name for the bucket. /// ///
  • /// /// WebsiteConfiguration /// ///
  • /// /// RedirectAllRequestsTo /// ///
  • /// /// HostName /// ///
  • /// /// Protocol /// ///
/// /// If you want granular control over redirects, you can use the following elements to /// add routing rules that describe conditions for redirecting requests and information /// about the redirect destination. In this case, the website configuration must provide /// an index document for the bucket, because some requests might not be redirected. /// ///
  • /// /// WebsiteConfiguration /// ///
  • /// /// IndexDocument /// ///
  • /// /// Suffix /// ///
  • /// /// ErrorDocument /// ///
  • /// /// Key /// ///
  • /// /// RoutingRules /// ///
  • /// /// RoutingRule /// ///
  • /// /// Condition /// ///
  • /// /// HttpErrorCodeReturnedEquals /// ///
  • /// /// KeyPrefixEquals /// ///
  • /// /// Redirect /// ///
  • /// /// Protocol /// ///
  • /// /// HostName /// ///
  • /// /// ReplaceKeyPrefixWith /// ///
  • /// /// ReplaceKeyWith /// ///
  • /// /// HttpRedirectCode /// ///
/// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW ///
/// The bucket name. /// Container for the request. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the PutBucketWebsite service method, as returned by S3. void PutBucketWebsiteAsync(string bucketName, WebsiteConfiguration websiteConfiguration, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the PutBucketWebsite operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutBucketWebsite operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutBucketWebsiteAsync(PutBucketWebsiteRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutCORSConfiguration /// /// Sets the cors configuration for your bucket. If the configuration exists, /// Amazon S3 replaces it. /// /// /// /// To use this operation, you must be allowed to perform the s3:PutBucketCORS /// action. By default, the bucket owner has this permission and can grant it to others. /// /// /// /// You set this configuration on a bucket so that the bucket can service cross-origin /// requests. For example, you might want to enable a request whose origin is http://www.example.com /// to access your Amazon S3 bucket at my.example.bucket.com by using the /// browser's XMLHttpRequest capability. /// /// /// /// To enable cross-origin resource sharing (CORS) on a bucket, you add the cors /// subresource to the bucket. The cors subresource is an XML document in /// which you configure rules that identify origins and the HTTP methods that can be executed /// on your bucket. The document is limited to 64 KB in size. /// /// /// /// When Amazon S3 receives a cross-origin request (or a pre-flight OPTIONS request) against /// a bucket, it evaluates the cors configuration on the bucket and uses /// the first CORSRule rule that matches the incoming browser request to /// enable a cross-origin request. For a rule to match, the following conditions must /// be met: /// ///
  • /// /// The request's Origin header must match AllowedOrigin elements. /// ///
  • /// /// The request method (for example, GET, PUT, HEAD, and so on) or the Access-Control-Request-Method /// header in case of a pre-flight OPTIONS request must be one of the AllowedMethod /// elements. /// ///
  • /// /// Every header specified in the Access-Control-Request-Headers request /// header of a pre-flight request must match an AllowedHeader element. /// ///
/// /// For more information about CORS, go to Enabling /// Cross-Origin Resource Sharing in the Amazon Simple Storage Service Developer /// Guide. /// ///

Related Resources /// ///

/// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW ///
/// Specifies the bucket impacted by the corsconfiguration. /// Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing in the Amazon Simple Storage Service Developer Guide. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the PutCORSConfiguration service method, as returned by S3. void PutCORSConfigurationAsync(string bucketName, CORSConfiguration configuration, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the PutCORSConfiguration operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutCORSConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutCORSConfigurationAsync(PutCORSConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutLifecycleConfiguration /// /// Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle /// configuration. For information about lifecycle configuration, see Managing /// Access Permissions to Your Amazon S3 Resources. /// /// /// /// Bucket lifecycle configuration now supports specifying a lifecycle rule using an object /// key name prefix, one or more object tags, or a combination of both. Accordingly, this /// section describes the latest API. The previous version of the API supported filtering /// based only on an object key name prefix, which is supported for backward compatibility. /// For the related API description, see PutBucketLifecycle. /// /// /// /// Rules /// /// /// /// You specify the lifecycle configuration in your request body. The lifecycle configuration /// is specified as XML consisting of one or more rules. Each rule consists of the following: /// ///
  • /// /// Filter identifying a subset of objects to which the rule applies. The filter can be /// based on a key name prefix, object tags, or a combination of both. /// ///
  • /// /// Status whether the rule is in effect. /// ///
  • /// /// One or more lifecycle transition and expiration actions that you want Amazon S3 to /// perform on the objects identified by the filter. If the state of your bucket is versioning-enabled /// or versioning-suspended, you can have many versions of the same object (one current /// version and zero or more noncurrent versions). Amazon S3 provides predefined actions /// that you can specify for current and noncurrent object versions. /// ///
/// /// For more information, see Object /// Lifecycle Management and Lifecycle /// Configuration Elements. /// /// /// /// Permissions /// /// /// /// By default, all Amazon S3 resources are private, including buckets, objects, and related /// subresources (for example, lifecycle configuration and website configuration). Only /// the resource owner (that is, the AWS account that created it) can access the resource. /// The resource owner can optionally grant access permissions to others by writing an /// access policy. For this operation, a user must get the s3:PutLifecycleConfiguration /// permission. /// /// /// /// You can also explicitly deny permissions. Explicit deny also supersedes any other /// permissions. If you want to block users or accounts from removing or deleting objects /// from your bucket, you must deny them permissions for the following actions: /// ///
  • /// /// s3:DeleteObject /// ///
  • /// /// s3:DeleteObjectVersion /// ///
  • /// /// s3:PutLifecycleConfiguration /// ///
/// /// For more information about permissions, see Managing /// Access Permissions to Your Amazon S3 Resources. /// /// /// /// The following are related to PutBucketLifecycleConfiguration: /// /// /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value of this configuration option is AWSConfigs.HttpClientOption.UnityWWW ///
/// The name of the bucket for which to set the configuration. /// A property of PutLifecycleConfigurationRequest used to execute the PutLifecycleConfiguration service method. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the PutLifecycleConfiguration service method, as returned by S3. void PutLifecycleConfigurationAsync(string bucketName, LifecycleConfiguration configuration, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the PutLifecycleConfiguration operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutLifecycleConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutLifecycleConfigurationAsync(PutLifecycleConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutObject /// /// Initiates the asynchronous execution of the PutObject operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutObject operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutObjectAsync(PutObjectRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutObjectLegalHold /// /// Initiates the asynchronous execution of the PutObjectLegalHold operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutObjectLegalHold operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutObjectLegalHoldAsync(PutObjectLegalHoldRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutObjectLockConfiguration /// /// Initiates the asynchronous execution of the PutObjectLockConfiguration operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutObjectLockConfiguration operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutObjectLockConfigurationAsync(PutObjectLockConfigurationRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutObjectRetention /// /// Initiates the asynchronous execution of the PutObjectRetention operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutObjectRetention operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutObjectRetentionAsync(PutObjectRetentionRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutObjectTagging /// /// Initiates the asynchronous execution of the PutObjectTagging operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutObjectTagging operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutObjectTaggingAsync(PutObjectTaggingRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region PutPublicAccessBlock /// /// Initiates the asynchronous execution of the PutPublicAccessBlock operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the PutPublicAccessBlock operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void PutPublicAccessBlockAsync(PutPublicAccessBlockRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region RestoreObject /// /// Restores an archived copy of an object back into Amazon S3 /// /// /// /// This operation performs the following types of requests: /// ///
  • /// /// select - Perform a select query on an archived object /// ///
  • /// /// restore an archive - Restore an archived object /// ///
/// /// To use this operation, you must have permissions to perform the s3:RestoreObject /// and s3:GetObject actions. The bucket owner has this permission by default /// and 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 Simple Storage /// Service Developer Guide. /// /// /// /// Querying Archives with Select Requests /// /// /// /// You use a select type of request to perform SQL queries on archived objects. The archived /// objects that are being queried by the select request must be formatted as uncompressed /// comma-separated values (CSV) files. You can run queries and custom analytics on your /// archived data without having to restore your data to a hotter Amazon S3 tier. For /// an overview about select requests, see Querying /// Archived Objects in the Amazon Simple Storage Service Developer Guide. /// /// /// /// When making a select request, do the following: /// ///
  • /// /// Define an output location for the select query's output. This must be an Amazon S3 /// bucket in the same AWS Region as the bucket that contains the archive object that /// is being queried. The AWS account that initiates the job must have permissions to /// write to the S3 bucket. You can specify the storage class and encryption for the output /// objects stored in the bucket. For more information about output, see Querying /// Archived Objects in the Amazon Simple Storage Service Developer Guide. /// /// /// /// For more information about the S3 structure in the request body, see /// the following: /// ///
  • /// /// Define the SQL expression for the SELECT type of restoration for your /// query in the request body's SelectParameters structure. You can use expressions /// like the following examples. /// ///
    • /// /// The following expression returns all records from the specified object. /// /// /// /// SELECT * FROM Object /// ///
    • /// /// Assuming that you are not using any headers for data stored in the object, you can /// specify columns with positional headers. /// /// /// /// SELECT s._1, s._2 FROM Object s WHERE s._3 > 100 /// ///
    • /// /// If you have headers and you set the fileHeaderInfo in the CSV /// structure in the request body to USE, you can specify headers in the /// query. (If you set the fileHeaderInfo field to IGNORE, the /// first row is skipped for the query.) You cannot mix ordinal positions with header /// column names. /// /// /// /// SELECT s.Id, s.FirstName, s.SSN FROM S3Object s /// ///
/// /// For more information about using SQL with Glacier Select restore, see SQL /// Reference for Amazon S3 Select and Glacier Select in the Amazon Simple Storage /// Service Developer Guide. /// /// /// /// When making a select request, you can also do the following: /// ///
  • /// /// To expedite your queries, specify the Expedited tier. For more information /// about tiers, see "Restoring Archives," later in this topic. /// ///
  • /// /// Specify details about the data serialization format of both the input object that /// is being queried and the serialization of the CSV-encoded query results. /// ///
/// /// The following are additional important facts about the select feature: /// ///
  • /// /// The output results are new Amazon S3 objects. Unlike archive retrievals, they are /// stored until explicitly deleted-manually or through a lifecycle policy. /// ///
  • /// /// You can issue more than one select request on the same Amazon S3 object. Amazon S3 /// doesn't deduplicate requests, so avoid issuing duplicate requests. /// ///
  • /// /// Amazon S3 accepts a select request even if the object has already been restored. /// A select request doesn’t return error response 409. /// ///
/// /// Restoring Archives /// /// /// /// Objects in the GLACIER and DEEP_ARCHIVE storage classes are archived. To access an /// archived object, you must first initiate a restore request. This restores a temporary /// copy of the archived object. In a restore request, you specify the number of days /// that you want the restored copy to exist. After the specified period, Amazon S3 deletes /// the temporary copy but the object remains archived in the GLACIER or DEEP_ARCHIVE /// storage class that object was restored from. /// /// /// /// To restore a specific object version, you can provide a version ID. If you don't provide /// a version ID, Amazon S3 restores the current version. /// /// /// /// The time it takes restore jobs to finish depends on which storage class the object /// is being restored from and which data access tier you specify. /// /// /// /// When restoring an archived object (or using a select request), you can specify one /// of the following data access tier options in the Tier element of the /// request body: /// ///
  • /// /// Expedited - Expedited retrievals allow you to quickly access /// your data stored in the GLACIER storage class when occasional urgent requests for /// a subset of archives are required. For all but the largest archived objects (250 MB+), /// data accessed using Expedited retrievals are typically made available within 1–5 minutes. /// Provisioned capacity ensures that retrieval capacity for Expedited retrievals is available /// when you need it. Expedited retrievals and provisioned capacity are not available /// for the DEEP_ARCHIVE storage class. /// ///
  • /// /// Standard - Standard retrievals allow you to access any of your /// archived objects within several hours. This is the default option for the GLACIER /// and DEEP_ARCHIVE retrieval requests that do not specify the retrieval option. Standard /// retrievals typically complete within 3-5 hours from the GLACIER storage class and /// typically complete within 12 hours from the DEEP_ARCHIVE storage class. /// ///
  • /// /// Bulk - Bulk retrievals are Amazon S3 Glacier’s lowest-cost /// retrieval option, enabling you to retrieve large amounts, even petabytes, of data /// inexpensively in a day. Bulk retrievals typically complete within 5-12 hours from /// the GLACIER storage class and typically complete within 48 hours from the DEEP_ARCHIVE /// storage class. /// ///
/// /// For more information about archive retrieval options and provisioned capacity for /// Expedited data access, see Restoring /// Archived Objects in the Amazon Simple Storage Service Developer Guide. /// /// /// /// /// You can use Amazon S3 restore speed upgrade to change the restore speed to a faster /// speed while it is in progress. You upgrade the speed of an in-progress restoration /// by issuing another restore request to the same object, setting a new Tier /// request element. When issuing a request to upgrade the restore tier, you must choose /// a tier that is faster than the tier that the in-progress restore is using. You must /// not change any other parameters, such as the Days request element. For /// more information, see /// Upgrading the Speed of an In-Progress Restore in the Amazon Simple Storage /// Service Developer Guide. /// /// /// /// To get the status of object restoration, you can send a HEAD request. /// Operations return the x-amz-restore header, which provides information /// about the restoration status, in the response. You can use Amazon S3 event notifications /// to notify you when a restore is initiated or completed. For more information, see /// Configuring /// Amazon S3 Event Notifications in the Amazon Simple Storage Service Developer /// Guide. /// /// /// /// After restoring an archived object, you can update the restoration period by reissuing /// the request with a new period. Amazon S3 updates the restoration period relative to /// the current time and charges only for the request-there are no data transfer charges. /// You cannot update the restoration period when Amazon S3 is actively processing your /// current restore request for the object. /// /// /// /// If your bucket has a lifecycle configuration with a rule that includes an expiration /// action, the object expiration overrides the life span that you specify in a restore /// request. For example, if you restore an object copy for 10 days, but the object is /// scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information /// about lifecycle configuration, see PutBucketLifecycleConfiguration and Object /// Lifecycle Management in Amazon Simple Storage Service Developer Guide. /// /// /// /// Responses /// /// /// /// A successful operation returns either the 200 OK or 202 Accepted /// status code. /// ///
  • /// /// If the object copy is not previously restored, then Amazon S3 returns 202 Accepted /// in the response. /// ///
  • /// /// If the object copy is previously restored, Amazon S3 returns 200 OK in /// the response. /// ///

Special Errors /// ///

  • /// ///

    • /// /// Code: RestoreAlreadyInProgress /// ///
    • /// /// Cause: Object restore is already in progress. (This error does not apply to SELECT /// type requests.) /// ///
    • /// /// HTTP Status Code: 409 Conflict /// ///
    • /// /// SOAP Fault Code Prefix: Client /// ///
  • /// ///

    • /// /// Code: GlacierExpeditedRetrievalNotAvailable /// ///
    • /// /// Cause: Glacier expedited retrievals are currently not available. Try again later. /// (Returned if there is insufficient capacity to process the Expedited request. This /// error applies only to Expedited retrievals and not to Standard or Bulk retrievals.) /// /// ///
    • /// /// HTTP Status Code: 503 /// ///
    • /// /// SOAP Fault Code Prefix: N/A /// ///

Related Resources /// ///

///
/// The bucket name or containing the object to restore. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide. /// Object key for which the operation was initiated. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the RestoreObject service method, as returned by S3. void RestoreObjectAsync(string bucketName, string key, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Restores an archived copy of an object back into Amazon S3 /// /// /// /// This operation performs the following types of requests: /// ///
  • /// /// select - Perform a select query on an archived object /// ///
  • /// /// restore an archive - Restore an archived object /// ///
/// /// To use this operation, you must have permissions to perform the s3:RestoreObject /// and s3:GetObject actions. The bucket owner has this permission by default /// and 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 Simple Storage /// Service Developer Guide. /// /// /// /// Querying Archives with Select Requests /// /// /// /// You use a select type of request to perform SQL queries on archived objects. The archived /// objects that are being queried by the select request must be formatted as uncompressed /// comma-separated values (CSV) files. You can run queries and custom analytics on your /// archived data without having to restore your data to a hotter Amazon S3 tier. For /// an overview about select requests, see Querying /// Archived Objects in the Amazon Simple Storage Service Developer Guide. /// /// /// /// When making a select request, do the following: /// ///
  • /// /// Define an output location for the select query's output. This must be an Amazon S3 /// bucket in the same AWS Region as the bucket that contains the archive object that /// is being queried. The AWS account that initiates the job must have permissions to /// write to the S3 bucket. You can specify the storage class and encryption for the output /// objects stored in the bucket. For more information about output, see Querying /// Archived Objects in the Amazon Simple Storage Service Developer Guide. /// /// /// /// For more information about the S3 structure in the request body, see /// the following: /// ///
  • /// /// Define the SQL expression for the SELECT type of restoration for your /// query in the request body's SelectParameters structure. You can use expressions /// like the following examples. /// ///
    • /// /// The following expression returns all records from the specified object. /// /// /// /// SELECT * FROM Object /// ///
    • /// /// Assuming that you are not using any headers for data stored in the object, you can /// specify columns with positional headers. /// /// /// /// SELECT s._1, s._2 FROM Object s WHERE s._3 > 100 /// ///
    • /// /// If you have headers and you set the fileHeaderInfo in the CSV /// structure in the request body to USE, you can specify headers in the /// query. (If you set the fileHeaderInfo field to IGNORE, the /// first row is skipped for the query.) You cannot mix ordinal positions with header /// column names. /// /// /// /// SELECT s.Id, s.FirstName, s.SSN FROM S3Object s /// ///
/// /// For more information about using SQL with Glacier Select restore, see SQL /// Reference for Amazon S3 Select and Glacier Select in the Amazon Simple Storage /// Service Developer Guide. /// /// /// /// When making a select request, you can also do the following: /// ///
  • /// /// To expedite your queries, specify the Expedited tier. For more information /// about tiers, see "Restoring Archives," later in this topic. /// ///
  • /// /// Specify details about the data serialization format of both the input object that /// is being queried and the serialization of the CSV-encoded query results. /// ///
/// /// The following are additional important facts about the select feature: /// ///
  • /// /// The output results are new Amazon S3 objects. Unlike archive retrievals, they are /// stored until explicitly deleted-manually or through a lifecycle policy. /// ///
  • /// /// You can issue more than one select request on the same Amazon S3 object. Amazon S3 /// doesn't deduplicate requests, so avoid issuing duplicate requests. /// ///
  • /// /// Amazon S3 accepts a select request even if the object has already been restored. /// A select request doesn’t return error response 409. /// ///
/// /// Restoring Archives /// /// /// /// Objects in the GLACIER and DEEP_ARCHIVE storage classes are archived. To access an /// archived object, you must first initiate a restore request. This restores a temporary /// copy of the archived object. In a restore request, you specify the number of days /// that you want the restored copy to exist. After the specified period, Amazon S3 deletes /// the temporary copy but the object remains archived in the GLACIER or DEEP_ARCHIVE /// storage class that object was restored from. /// /// /// /// To restore a specific object version, you can provide a version ID. If you don't provide /// a version ID, Amazon S3 restores the current version. /// /// /// /// The time it takes restore jobs to finish depends on which storage class the object /// is being restored from and which data access tier you specify. /// /// /// /// When restoring an archived object (or using a select request), you can specify one /// of the following data access tier options in the Tier element of the /// request body: /// ///
  • /// /// Expedited - Expedited retrievals allow you to quickly access /// your data stored in the GLACIER storage class when occasional urgent requests for /// a subset of archives are required. For all but the largest archived objects (250 MB+), /// data accessed using Expedited retrievals are typically made available within 1–5 minutes. /// Provisioned capacity ensures that retrieval capacity for Expedited retrievals is available /// when you need it. Expedited retrievals and provisioned capacity are not available /// for the DEEP_ARCHIVE storage class. /// ///
  • /// /// Standard - Standard retrievals allow you to access any of your /// archived objects within several hours. This is the default option for the GLACIER /// and DEEP_ARCHIVE retrieval requests that do not specify the retrieval option. Standard /// retrievals typically complete within 3-5 hours from the GLACIER storage class and /// typically complete within 12 hours from the DEEP_ARCHIVE storage class. /// ///
  • /// /// Bulk - Bulk retrievals are Amazon S3 Glacier’s lowest-cost /// retrieval option, enabling you to retrieve large amounts, even petabytes, of data /// inexpensively in a day. Bulk retrievals typically complete within 5-12 hours from /// the GLACIER storage class and typically complete within 48 hours from the DEEP_ARCHIVE /// storage class. /// ///
/// /// For more information about archive retrieval options and provisioned capacity for /// Expedited data access, see Restoring /// Archived Objects in the Amazon Simple Storage Service Developer Guide. /// /// /// /// /// You can use Amazon S3 restore speed upgrade to change the restore speed to a faster /// speed while it is in progress. You upgrade the speed of an in-progress restoration /// by issuing another restore request to the same object, setting a new Tier /// request element. When issuing a request to upgrade the restore tier, you must choose /// a tier that is faster than the tier that the in-progress restore is using. You must /// not change any other parameters, such as the Days request element. For /// more information, see /// Upgrading the Speed of an In-Progress Restore in the Amazon Simple Storage /// Service Developer Guide. /// /// /// /// To get the status of object restoration, you can send a HEAD request. /// Operations return the x-amz-restore header, which provides information /// about the restoration status, in the response. You can use Amazon S3 event notifications /// to notify you when a restore is initiated or completed. For more information, see /// Configuring /// Amazon S3 Event Notifications in the Amazon Simple Storage Service Developer /// Guide. /// /// /// /// After restoring an archived object, you can update the restoration period by reissuing /// the request with a new period. Amazon S3 updates the restoration period relative to /// the current time and charges only for the request-there are no data transfer charges. /// You cannot update the restoration period when Amazon S3 is actively processing your /// current restore request for the object. /// /// /// /// If your bucket has a lifecycle configuration with a rule that includes an expiration /// action, the object expiration overrides the life span that you specify in a restore /// request. For example, if you restore an object copy for 10 days, but the object is /// scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information /// about lifecycle configuration, see PutBucketLifecycleConfiguration and Object /// Lifecycle Management in Amazon Simple Storage Service Developer Guide. /// /// /// /// Responses /// /// /// /// A successful operation returns either the 200 OK or 202 Accepted /// status code. /// ///
  • /// /// If the object copy is not previously restored, then Amazon S3 returns 202 Accepted /// in the response. /// ///
  • /// /// If the object copy is previously restored, Amazon S3 returns 200 OK in /// the response. /// ///

Special Errors /// ///

  • /// ///

    • /// /// Code: RestoreAlreadyInProgress /// ///
    • /// /// Cause: Object restore is already in progress. (This error does not apply to SELECT /// type requests.) /// ///
    • /// /// HTTP Status Code: 409 Conflict /// ///
    • /// /// SOAP Fault Code Prefix: Client /// ///
  • /// ///

    • /// /// Code: GlacierExpeditedRetrievalNotAvailable /// ///
    • /// /// Cause: Glacier expedited retrievals are currently not available. Try again later. /// (Returned if there is insufficient capacity to process the Expedited request. This /// error applies only to Expedited retrievals and not to Standard or Bulk retrievals.) /// /// ///
    • /// /// HTTP Status Code: 503 /// ///
    • /// /// SOAP Fault Code Prefix: N/A /// ///

Related Resources /// ///

///
/// The bucket name or containing the object to restore. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide. /// Object key for which the operation was initiated. /// A property of RestoreObjectRequest used to execute the RestoreObject service method. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the RestoreObject service method, as returned by S3. void RestoreObjectAsync(string bucketName, string key, int days, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Restores an archived copy of an object back into Amazon S3 /// /// /// /// This operation performs the following types of requests: /// ///
  • /// /// select - Perform a select query on an archived object /// ///
  • /// /// restore an archive - Restore an archived object /// ///
/// /// To use this operation, you must have permissions to perform the s3:RestoreObject /// and s3:GetObject actions. The bucket owner has this permission by default /// and 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 Simple Storage /// Service Developer Guide. /// /// /// /// Querying Archives with Select Requests /// /// /// /// You use a select type of request to perform SQL queries on archived objects. The archived /// objects that are being queried by the select request must be formatted as uncompressed /// comma-separated values (CSV) files. You can run queries and custom analytics on your /// archived data without having to restore your data to a hotter Amazon S3 tier. For /// an overview about select requests, see Querying /// Archived Objects in the Amazon Simple Storage Service Developer Guide. /// /// /// /// When making a select request, do the following: /// ///
  • /// /// Define an output location for the select query's output. This must be an Amazon S3 /// bucket in the same AWS Region as the bucket that contains the archive object that /// is being queried. The AWS account that initiates the job must have permissions to /// write to the S3 bucket. You can specify the storage class and encryption for the output /// objects stored in the bucket. For more information about output, see Querying /// Archived Objects in the Amazon Simple Storage Service Developer Guide. /// /// /// /// For more information about the S3 structure in the request body, see /// the following: /// ///
  • /// /// Define the SQL expression for the SELECT type of restoration for your /// query in the request body's SelectParameters structure. You can use expressions /// like the following examples. /// ///
    • /// /// The following expression returns all records from the specified object. /// /// /// /// SELECT * FROM Object /// ///
    • /// /// Assuming that you are not using any headers for data stored in the object, you can /// specify columns with positional headers. /// /// /// /// SELECT s._1, s._2 FROM Object s WHERE s._3 > 100 /// ///
    • /// /// If you have headers and you set the fileHeaderInfo in the CSV /// structure in the request body to USE, you can specify headers in the /// query. (If you set the fileHeaderInfo field to IGNORE, the /// first row is skipped for the query.) You cannot mix ordinal positions with header /// column names. /// /// /// /// SELECT s.Id, s.FirstName, s.SSN FROM S3Object s /// ///
/// /// For more information about using SQL with Glacier Select restore, see SQL /// Reference for Amazon S3 Select and Glacier Select in the Amazon Simple Storage /// Service Developer Guide. /// /// /// /// When making a select request, you can also do the following: /// ///
  • /// /// To expedite your queries, specify the Expedited tier. For more information /// about tiers, see "Restoring Archives," later in this topic. /// ///
  • /// /// Specify details about the data serialization format of both the input object that /// is being queried and the serialization of the CSV-encoded query results. /// ///
/// /// The following are additional important facts about the select feature: /// ///
  • /// /// The output results are new Amazon S3 objects. Unlike archive retrievals, they are /// stored until explicitly deleted-manually or through a lifecycle policy. /// ///
  • /// /// You can issue more than one select request on the same Amazon S3 object. Amazon S3 /// doesn't deduplicate requests, so avoid issuing duplicate requests. /// ///
  • /// /// Amazon S3 accepts a select request even if the object has already been restored. /// A select request doesn’t return error response 409. /// ///
/// /// Restoring Archives /// /// /// /// Objects in the GLACIER and DEEP_ARCHIVE storage classes are archived. To access an /// archived object, you must first initiate a restore request. This restores a temporary /// copy of the archived object. In a restore request, you specify the number of days /// that you want the restored copy to exist. After the specified period, Amazon S3 deletes /// the temporary copy but the object remains archived in the GLACIER or DEEP_ARCHIVE /// storage class that object was restored from. /// /// /// /// To restore a specific object version, you can provide a version ID. If you don't provide /// a version ID, Amazon S3 restores the current version. /// /// /// /// The time it takes restore jobs to finish depends on which storage class the object /// is being restored from and which data access tier you specify. /// /// /// /// When restoring an archived object (or using a select request), you can specify one /// of the following data access tier options in the Tier element of the /// request body: /// ///
  • /// /// Expedited - Expedited retrievals allow you to quickly access /// your data stored in the GLACIER storage class when occasional urgent requests for /// a subset of archives are required. For all but the largest archived objects (250 MB+), /// data accessed using Expedited retrievals are typically made available within 1–5 minutes. /// Provisioned capacity ensures that retrieval capacity for Expedited retrievals is available /// when you need it. Expedited retrievals and provisioned capacity are not available /// for the DEEP_ARCHIVE storage class. /// ///
  • /// /// Standard - Standard retrievals allow you to access any of your /// archived objects within several hours. This is the default option for the GLACIER /// and DEEP_ARCHIVE retrieval requests that do not specify the retrieval option. Standard /// retrievals typically complete within 3-5 hours from the GLACIER storage class and /// typically complete within 12 hours from the DEEP_ARCHIVE storage class. /// ///
  • /// /// Bulk - Bulk retrievals are Amazon S3 Glacier’s lowest-cost /// retrieval option, enabling you to retrieve large amounts, even petabytes, of data /// inexpensively in a day. Bulk retrievals typically complete within 5-12 hours from /// the GLACIER storage class and typically complete within 48 hours from the DEEP_ARCHIVE /// storage class. /// ///
/// /// For more information about archive retrieval options and provisioned capacity for /// Expedited data access, see Restoring /// Archived Objects in the Amazon Simple Storage Service Developer Guide. /// /// /// /// /// You can use Amazon S3 restore speed upgrade to change the restore speed to a faster /// speed while it is in progress. You upgrade the speed of an in-progress restoration /// by issuing another restore request to the same object, setting a new Tier /// request element. When issuing a request to upgrade the restore tier, you must choose /// a tier that is faster than the tier that the in-progress restore is using. You must /// not change any other parameters, such as the Days request element. For /// more information, see /// Upgrading the Speed of an In-Progress Restore in the Amazon Simple Storage /// Service Developer Guide. /// /// /// /// To get the status of object restoration, you can send a HEAD request. /// Operations return the x-amz-restore header, which provides information /// about the restoration status, in the response. You can use Amazon S3 event notifications /// to notify you when a restore is initiated or completed. For more information, see /// Configuring /// Amazon S3 Event Notifications in the Amazon Simple Storage Service Developer /// Guide. /// /// /// /// After restoring an archived object, you can update the restoration period by reissuing /// the request with a new period. Amazon S3 updates the restoration period relative to /// the current time and charges only for the request-there are no data transfer charges. /// You cannot update the restoration period when Amazon S3 is actively processing your /// current restore request for the object. /// /// /// /// If your bucket has a lifecycle configuration with a rule that includes an expiration /// action, the object expiration overrides the life span that you specify in a restore /// request. For example, if you restore an object copy for 10 days, but the object is /// scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information /// about lifecycle configuration, see PutBucketLifecycleConfiguration and Object /// Lifecycle Management in Amazon Simple Storage Service Developer Guide. /// /// /// /// Responses /// /// /// /// A successful operation returns either the 200 OK or 202 Accepted /// status code. /// ///
  • /// /// If the object copy is not previously restored, then Amazon S3 returns 202 Accepted /// in the response. /// ///
  • /// /// If the object copy is previously restored, Amazon S3 returns 200 OK in /// the response. /// ///

Special Errors /// ///

  • /// ///

    • /// /// Code: RestoreAlreadyInProgress /// ///
    • /// /// Cause: Object restore is already in progress. (This error does not apply to SELECT /// type requests.) /// ///
    • /// /// HTTP Status Code: 409 Conflict /// ///
    • /// /// SOAP Fault Code Prefix: Client /// ///
  • /// ///

    • /// /// Code: GlacierExpeditedRetrievalNotAvailable /// ///
    • /// /// Cause: Glacier expedited retrievals are currently not available. Try again later. /// (Returned if there is insufficient capacity to process the Expedited request. This /// error applies only to Expedited retrievals and not to Standard or Bulk retrievals.) /// /// ///
    • /// /// HTTP Status Code: 503 /// ///
    • /// /// SOAP Fault Code Prefix: N/A /// ///

Related Resources /// ///

///
/// The bucket name or containing the object to restore. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide. /// Object key for which the operation was initiated. /// VersionId used to reference a specific version of the object. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the RestoreObject service method, as returned by S3. void RestoreObjectAsync(string bucketName, string key, string versionId, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Restores an archived copy of an object back into Amazon S3 /// /// /// /// This operation performs the following types of requests: /// ///
  • /// /// select - Perform a select query on an archived object /// ///
  • /// /// restore an archive - Restore an archived object /// ///
/// /// To use this operation, you must have permissions to perform the s3:RestoreObject /// and s3:GetObject actions. The bucket owner has this permission by default /// and 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 Simple Storage /// Service Developer Guide. /// /// /// /// Querying Archives with Select Requests /// /// /// /// You use a select type of request to perform SQL queries on archived objects. The archived /// objects that are being queried by the select request must be formatted as uncompressed /// comma-separated values (CSV) files. You can run queries and custom analytics on your /// archived data without having to restore your data to a hotter Amazon S3 tier. For /// an overview about select requests, see Querying /// Archived Objects in the Amazon Simple Storage Service Developer Guide. /// /// /// /// When making a select request, do the following: /// ///
  • /// /// Define an output location for the select query's output. This must be an Amazon S3 /// bucket in the same AWS Region as the bucket that contains the archive object that /// is being queried. The AWS account that initiates the job must have permissions to /// write to the S3 bucket. You can specify the storage class and encryption for the output /// objects stored in the bucket. For more information about output, see Querying /// Archived Objects in the Amazon Simple Storage Service Developer Guide. /// /// /// /// For more information about the S3 structure in the request body, see /// the following: /// ///
  • /// /// Define the SQL expression for the SELECT type of restoration for your /// query in the request body's SelectParameters structure. You can use expressions /// like the following examples. /// ///
    • /// /// The following expression returns all records from the specified object. /// /// /// /// SELECT * FROM Object /// ///
    • /// /// Assuming that you are not using any headers for data stored in the object, you can /// specify columns with positional headers. /// /// /// /// SELECT s._1, s._2 FROM Object s WHERE s._3 > 100 /// ///
    • /// /// If you have headers and you set the fileHeaderInfo in the CSV /// structure in the request body to USE, you can specify headers in the /// query. (If you set the fileHeaderInfo field to IGNORE, the /// first row is skipped for the query.) You cannot mix ordinal positions with header /// column names. /// /// /// /// SELECT s.Id, s.FirstName, s.SSN FROM S3Object s /// ///
/// /// For more information about using SQL with Glacier Select restore, see SQL /// Reference for Amazon S3 Select and Glacier Select in the Amazon Simple Storage /// Service Developer Guide. /// /// /// /// When making a select request, you can also do the following: /// ///
  • /// /// To expedite your queries, specify the Expedited tier. For more information /// about tiers, see "Restoring Archives," later in this topic. /// ///
  • /// /// Specify details about the data serialization format of both the input object that /// is being queried and the serialization of the CSV-encoded query results. /// ///
/// /// The following are additional important facts about the select feature: /// ///
  • /// /// The output results are new Amazon S3 objects. Unlike archive retrievals, they are /// stored until explicitly deleted-manually or through a lifecycle policy. /// ///
  • /// /// You can issue more than one select request on the same Amazon S3 object. Amazon S3 /// doesn't deduplicate requests, so avoid issuing duplicate requests. /// ///
  • /// /// Amazon S3 accepts a select request even if the object has already been restored. /// A select request doesn’t return error response 409. /// ///
/// /// Restoring Archives /// /// /// /// Objects in the GLACIER and DEEP_ARCHIVE storage classes are archived. To access an /// archived object, you must first initiate a restore request. This restores a temporary /// copy of the archived object. In a restore request, you specify the number of days /// that you want the restored copy to exist. After the specified period, Amazon S3 deletes /// the temporary copy but the object remains archived in the GLACIER or DEEP_ARCHIVE /// storage class that object was restored from. /// /// /// /// To restore a specific object version, you can provide a version ID. If you don't provide /// a version ID, Amazon S3 restores the current version. /// /// /// /// The time it takes restore jobs to finish depends on which storage class the object /// is being restored from and which data access tier you specify. /// /// /// /// When restoring an archived object (or using a select request), you can specify one /// of the following data access tier options in the Tier element of the /// request body: /// ///
  • /// /// Expedited - Expedited retrievals allow you to quickly access /// your data stored in the GLACIER storage class when occasional urgent requests for /// a subset of archives are required. For all but the largest archived objects (250 MB+), /// data accessed using Expedited retrievals are typically made available within 1–5 minutes. /// Provisioned capacity ensures that retrieval capacity for Expedited retrievals is available /// when you need it. Expedited retrievals and provisioned capacity are not available /// for the DEEP_ARCHIVE storage class. /// ///
  • /// /// Standard - Standard retrievals allow you to access any of your /// archived objects within several hours. This is the default option for the GLACIER /// and DEEP_ARCHIVE retrieval requests that do not specify the retrieval option. Standard /// retrievals typically complete within 3-5 hours from the GLACIER storage class and /// typically complete within 12 hours from the DEEP_ARCHIVE storage class. /// ///
  • /// /// Bulk - Bulk retrievals are Amazon S3 Glacier’s lowest-cost /// retrieval option, enabling you to retrieve large amounts, even petabytes, of data /// inexpensively in a day. Bulk retrievals typically complete within 5-12 hours from /// the GLACIER storage class and typically complete within 48 hours from the DEEP_ARCHIVE /// storage class. /// ///
/// /// For more information about archive retrieval options and provisioned capacity for /// Expedited data access, see Restoring /// Archived Objects in the Amazon Simple Storage Service Developer Guide. /// /// /// /// /// You can use Amazon S3 restore speed upgrade to change the restore speed to a faster /// speed while it is in progress. You upgrade the speed of an in-progress restoration /// by issuing another restore request to the same object, setting a new Tier /// request element. When issuing a request to upgrade the restore tier, you must choose /// a tier that is faster than the tier that the in-progress restore is using. You must /// not change any other parameters, such as the Days request element. For /// more information, see /// Upgrading the Speed of an In-Progress Restore in the Amazon Simple Storage /// Service Developer Guide. /// /// /// /// To get the status of object restoration, you can send a HEAD request. /// Operations return the x-amz-restore header, which provides information /// about the restoration status, in the response. You can use Amazon S3 event notifications /// to notify you when a restore is initiated or completed. For more information, see /// Configuring /// Amazon S3 Event Notifications in the Amazon Simple Storage Service Developer /// Guide. /// /// /// /// After restoring an archived object, you can update the restoration period by reissuing /// the request with a new period. Amazon S3 updates the restoration period relative to /// the current time and charges only for the request-there are no data transfer charges. /// You cannot update the restoration period when Amazon S3 is actively processing your /// current restore request for the object. /// /// /// /// If your bucket has a lifecycle configuration with a rule that includes an expiration /// action, the object expiration overrides the life span that you specify in a restore /// request. For example, if you restore an object copy for 10 days, but the object is /// scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information /// about lifecycle configuration, see PutBucketLifecycleConfiguration and Object /// Lifecycle Management in Amazon Simple Storage Service Developer Guide. /// /// /// /// Responses /// /// /// /// A successful operation returns either the 200 OK or 202 Accepted /// status code. /// ///
  • /// /// If the object copy is not previously restored, then Amazon S3 returns 202 Accepted /// in the response. /// ///
  • /// /// If the object copy is previously restored, Amazon S3 returns 200 OK in /// the response. /// ///

Special Errors /// ///

  • /// ///

    • /// /// Code: RestoreAlreadyInProgress /// ///
    • /// /// Cause: Object restore is already in progress. (This error does not apply to SELECT /// type requests.) /// ///
    • /// /// HTTP Status Code: 409 Conflict /// ///
    • /// /// SOAP Fault Code Prefix: Client /// ///
  • /// ///

    • /// /// Code: GlacierExpeditedRetrievalNotAvailable /// ///
    • /// /// Cause: Glacier expedited retrievals are currently not available. Try again later. /// (Returned if there is insufficient capacity to process the Expedited request. This /// error applies only to Expedited retrievals and not to Standard or Bulk retrievals.) /// /// ///
    • /// /// HTTP Status Code: 503 /// ///
    • /// /// SOAP Fault Code Prefix: N/A /// ///

Related Resources /// ///

///
/// The bucket name or containing the object to restore. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide. /// Object key for which the operation was initiated. /// VersionId used to reference a specific version of the object. /// A property of RestoreObjectRequest used to execute the RestoreObject service method. /// An Action delegate that is invoked when the operation completes. /// /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// /// The response from the RestoreObject service method, as returned by S3. void RestoreObjectAsync(string bucketName, string key, string versionId, int days, AmazonServiceCallback callback, AsyncOptions options = null); /// /// Initiates the asynchronous execution of the RestoreObject operation. /// /// /// Container for the necessary parameters to execute the RestoreObject operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void RestoreObjectAsync(RestoreObjectRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region SelectObjectContent /// /// Initiates the asynchronous execution of the SelectObjectContent operation. /// /// /// Container for the necessary parameters to execute the SelectObjectContent operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void SelectObjectContentAsync(SelectObjectContentRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion #region UploadPart /// /// Initiates the asynchronous execution of the UploadPart operation. /// This API is supported only when AWSConfigs.HttpClient is set to AWSConfigs.HttpClientOption.UnityWebRequest, the default value for this configuration option is AWSConfigs.HttpClientOption.UnityWWW /// /// /// Container for the necessary parameters to execute the UploadPart operation on AmazonS3Client. /// An Action delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. void UploadPartAsync(UploadPartRequest request, AmazonServiceCallback callback, AsyncOptions options = null); #endregion } }