0% found this document useful (0 votes)
2 views150 pages

ActiveScale Management S3 API

The ActiveScale Management S3 API guide provides reference information on the API, including compatibility with AWS S3, supported hardware, and operations such as bucket and object management. It outlines request and response headers, authentication methods, and specific commands for managing buckets and objects. The document also details error handling and permissions required for various operations.

Uploaded by

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views150 pages

ActiveScale Management S3 API

The ActiveScale Management S3 API guide provides reference information on the API, including compatibility with AWS S3, supported hardware, and operations such as bucket and object management. It outlines request and response headers, authentication methods, and specific commands for managing buckets and objects. The document also details error handling and permissions required for various operations.

Uploaded by

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

20:24 25/5/26 ActiveScale Management S3 API

Operate > S3 API > S3 API Commands

ActiveScale Management S3 API

1.0 Overview
This guide provides reference information about the ActiveScale S3 API.

1.1 What’s New in this Release


Common request headers
No changes.
Common response headers
No changes.
Special request/response headers
No changes.
Authentication
No changes.
close section

1.2 AWS S3 API Compatibility


ActiveScale OS now sends 400 Bad Request (IllegalLocationConstraint) replies when you
attempt to create a bucket (PUT Bucket) with an incompatible zone constraint for a region-specific
endpoint.
ActiveScale OS now sends 403 Forbidden (QuotaExceeded) replies when you attempt to put a new
object (PUT object, PUT object copy, or INIT object) in a bucket that has exceeded its capacity quota.
For more information on differences between this version and previous versions, see ActiveScale
Management S3 API
close section

1.3 Document Conventions


Typography

Element Sample typography

Command line input/output or user input to the graphical user interface Type admin.

Command line input longer than one line is split with the continuation s3cmd \
character (\) --dump-config

User-supplied values siteName or <siteName>

File and directory names [Link]

Graphical user interface elements Click OK.

[Link] 1/150
20:24 25/5/26 ActiveScale Management S3 API

Element Sample typography

Graphical user interface menu navigation Click Configuration > System.

To cancel the operation, press


Keyboard keys or sequences
Ctrl+c.

Storage notations

Convention Prefix Examples Usage

1GB = 1 gigabyte =
xB (base 10 SI prefix: (kilo, mega, giga, 1,000,000,000 bytes
Disk sizes
notation) tera, peta, exa, zetta, yotta) 1TB = 1 terabyte =
1,000,000,000,000 bytes

1GiB = 1 gibibyte =
xiB (base 2 Binary prefixes (kibi, mebi, 1,073,741,824 bytes Storage space, and sizes of
notation) gibi, tebi, pebi, exbi, zebi, yobi) 1TiB = 1 tebibyte = partitions or file systems
1,099,511,627,776 bytes

This document uses a comma (",") for digit grouping; for example, 1,000 is one thousand. This document
uses a period (".") as a decimal mark; for example, 12.5%.
Notes and Warnings

Element Sample notation

Note: Indicates extra information that has no specific hazardous or damaging consequences.

Tip: Indicates a faster or more efficient way to do something.

Caution: Indicates an action that, if taken or avoided, may result in hazardous or damaging consequences.

Warning: Indicates an action that, if taken or avoided, may result in data loss or unavailability.

close section

1.4 Supported Hardware


This document supports the following hardware:
ActiveScale P100 base unit
ActiveScale P100 + one scale up kits
ActiveScale P100 + two scale up kits
ActiveScale P100 E3
ActiveScale X100
ActiveScale X200
ActiveScale P200
ActiiveScale Z200
close section

[Link] 2/150
20:24 25/5/26 ActiveScale Management S3 API

2.0 S3 Operations
2.1 About Parameter and Element Tables
The following sections explains how to interpret the values in the columns of parameter and element
tables.

2.1.1 Request Parameters Tables


A value of Yes in the Supported column means that the parameter will work with an ActiveScale
API [Link] there are limitations or caveats for use, they are described in the Notescolumn.
A value of No in the Supported column means that the parameter will not work with a ActiveScale
API request. If the Notes column explicitly indicates that the header is ignored, it is ignored.
Otherwise, specifying the header will result in a 501 Not Implemented response.
close section

2.1.2 Request Headers Tables


A value of Yes in the Supported column means that the header will work with an ActiveScale API
request. If there are limitations or caveats for use, they are described in the Notes column.
A value of No in the Supported column means that the header will not work with a ActiveScale API
request. If the Notes column explicitly indicates that the header is ignored, it is ignored. Otherwise,
specifying the header will result in a 501 Not Implemented response.
close section

2.1.3 Response Elements Tables


A value of Yes in the Supported column means that the header will work with an ActiveScale API
request. If there are limitations or caveats for use, they are described in the Notes column.
A value of No in the Supported column means that the element will not will not be in an ActiveScale
API response, and it is not returned.
A value of N/A in the Supported column indicates that the element cannot be set.
Restriction: If a life cycle action is not supported by the PUT Bucket lifecycle operation, the
corresponding response element will never be returned.
close section

2.1.4 Response Headers Table


A value of Yes in the Supported column means that the header will work with an ActiveScale API
request. If there are limitations or caveats for use, they are described in the Notes column.
A value of No in the Supported column means that the element will not will not be in an ActiveScale
API response, and it is not returned.
A value of N/A in the Supported column indicates that the element cannot be set.
close section

close section

2.2 About Authentication


The ActiveScale S3 API supports authentication using both AWS Signature Version 2 and AWS Signature
Version 4 signing.
Further information about AWS Signature Version 2 and AWS Signature Version 4 version signing is found
on the following Amazon API Reference pages.
[Link]
[Link]
close section

[Link] 3/150
20:24 25/5/26 ActiveScale Management S3 API

2.3 About Bucket and Object Owners


An authenticated user can create up to 100 buckets. The user who created the bucket is the owner of the
bucket. The owner of the bucket can perform all bucket operations, as described in this document. You
must have the proper permissions and authentication credentials to perform operations on buckets owned
by other users. Buckets are privately owned by their creator unless ACLs are given to other S3 users.
For operations on an object, the object owner must have the same identity as the bucket owner.
Additionally, object owners are not registered with each object. The GET Bucket (ListObjects)
Version 1 and GET Bucket (ListObjects) Version2 operations return the bucket owner as the object
owner. Permission checks for object operations takes only the bucket owner and the bucket ACL into
account.
close section

2.4 Client Timeouts and Retries


When a Virtual IP is used as an S3 endpoint, the client timeout and retries should be configured to
accommodate the Virtual IP failover/failback time to get uninterrupted service in case of Virtual IP failover.
For more information, refer to the ActiveScale OS Administrator Guide.
close section

2.5 DELETE Bucket Operations


2.5.1 DELETE Bucket
Delete the bucket named in the URI. Before deleting the bucket you must delete all the objects in it.
Permissions
The s3:DeleteBucket permission is needed to delete buckets.
Requests
Syntax
DELETE /HTTP/1.1

Host: [Link]

Date: date
Authorization: authorization string

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements
None.
Sample request and response
The following tables show a request example and a response example for the
DELETEBucketoperation.

[Link] 4/150
20:24 25/5/26 ActiveScale Management S3 API
The request deletes the images bucket. The response returns a 204NoContent, which means the
request was successful, and the images in the bucket no longer exists.
Request

DELETE / HTTP/1.1
Host: [Link]
Date: Wed, 01 Mar 2006 12:00:00 GMT
Authorization: authorization string

Response

HTTP/1.1 204 No Content


x-amz-id-2: JuKZqmXuiwFeDQxhD7M8KtsKobSzWA1QEjLbTMTagkKdBX2z7Il/jGhDeJ3j6s80
x-amz-request-id: 32FE2CEB32F5EE25
Date: Wed, 01 Mar 2006 12:00:00 GMT
Connection: close
Server: AmazonS3

Special errors
None.
Related operations
2.9.1 PUT Bucket
2.10.2 DELETE Object
close section

2.5.2 DELETE Bucket Analytics


This operation is not supported in the ActiveScale S3 API.
Further information about the DELETE Bucket analytics operation is found on the following Amazon
API Reference page.
[Link]
close section

2.5.3 DELETE Bucket Cors


Delete the cors configuration from a bucket. This operation returns a dummy response compatible with
Amazon S3.
Permissions
The s3:PutBucketCORS permission is needed to delete CORS config for a bucket.
Requests
Syntax

DELETE /?cors HTTP/1.1


Host: bucket [Link]
Date: date
[Link] 5/150
20:24 25/5/26 ActiveScale Management S3 API
Authorization: authorization string (see Authenticating Requests (AWS Signature
Version 4))

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements
None.
Sample request and response
This example deletes the cors sub-resource from the specified bucket. This action removes the cors
configuration that is stored in the sub-resource.
Request

DELETE /?cors HTTP/1.1


Host: [Link]
Date: Tue, 13 Dec 2011 19:14:42 GMT
Authorization: signatureValue

Response

HTTP/1.1 204 No Content


x-amz-id-2: 0FmFIWsh/PpBuzZ0JFRC55ZGVmQW4SHJ7xVDqKwhEdJmf3q63RtrvH8ZuxW1Bol5
x-amz-request-id: 0CF038E9BCF63097
Date: Tue, 13 Dec 2011 19:14:42 GMT
Server: AmazonS3
Content-Length: 0

Special errors
None.
Related operations
2.6.4 GET Bucket Cors
2.9.5 PUT Bucket Cors
2.13.1 OPTIONS Object
close section

[Link] 6/150
20:24 25/5/26 ActiveScale Management S3 API

2.5.4 DELETE Bucket Inventory


This operation is not supported in the ActiveScale S3 API.
Further information about the DELETE Bucket inventory operation is found on the following Amazon
API Reference page.
[Link]
close section

2.5.5 DELETE Bucket Lifecycle


Delete the bucket life cycle settings.
Permissions
The s3:PutLifecycleConfiguration permissions is needed to delete lifecycle configuration for a
bucket.
Requests
Syntax

DELETE /?lifecycle HTTP/1.1


Host: bucket [Link]
Date: date
Authorization: authorization string

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements
None.
Sample request and response
This example deletes the life cycle configuration for the images bucket. The response returns a
204NoContent, which means the request was successful and the life cycle configuration for the
images bucket no longer exists.
Request

DELETE /?lifecycle HTTP/1.1


Host: [Link]
Content-Length: 0
Date: Mon, 11 Jul 2016 12:08:57 GMT

[Link] 7/150
20:24 25/5/26 ActiveScale Management S3 API
Authorization: authorization string

Response

HTTP/1.1 204 No Content


x-amz-id-2: ab799629-d4f1-486a-84de-4e6bf12145bfdae08038-4452-4c45-b7f6-
c6ff91a961ff x-amz-request-id: 3FC40A223112AD8F
Date: Mon, 11 Jul 2016 12:08:57 GMT
Server: Himalaya

Special errors
None.
Related operations
2.9.7 PUT Bucket Lifecycle
2.6.6 GET Bucket Lifecycle
close section

2.5.6 DELETE Bucket Metrics


This operation is not supported in the ActiveScale S3 API.
Further information about the DELETE Bucket metrics operation is found on the following Amazon
API Reference page.
[Link]
close section

2.5.7 DELETE Bucket Policy


Delete the bucket policy for an existing bucket.
Permissions
These permissions are needed to delete bucket policies for a bucket :
s3:DeleteBucketPolicy
Must be bucket owner (account) or user under that account.
Requests
Syntax

DELETE /?policy HTTP/1.1


Host: [Link]
Authorization: authorization string

Parameters
None.
Headers

[Link] 8/150
20:24 25/5/26 ActiveScale Management S3 API
Table 1: DELETE Bucket policy response headers

Header Supported Notes


x-amz-expected-bucket-owner No None

Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements
None.
Sample request and response
This example deletes the bucket policy for the examplebucket bucket. The response returns a 204 No
Content, which means the request was successful.
Request

DELETE /?policy HTTP/1.1


Host: [Link]
Date: 20240302T123525Z
Authorization: authorization string

Response

HTTP/1.1 204 No Content


Date: Sat, 02 Mar 2024 12:35:27 GMT
Server: AmazonS3
x-amz-id-2:
H8ukJQMRRXP9GkJfvYcB7cyIFYQan+XXFwyoak+ZPxfH24PSkm2ZrFdef21PT1Oc5P5xkB6O1rk=
x-amz-request-id: 1WFWT9Q5A51ZB7VR

Special errors

Note: When no bucket policy is configured the response returns a 204 No Content.

Related operations
2.6.15 GET Bucket Policy
2.9.11 PUT Bucket Policy
close section

2.5.8 DELETE Bucket Replication


Delete the sub-resource that is associated with the bucket and is replicated in the bucket.
Permissions

[Link] 9/150
20:24 25/5/26 ActiveScale Management S3 API
The s3:PutReplicationConfiguration permission is needed to delete replication configuration for a
bucket.
Requests
Syntax

DELETE /?replication HTTP/1.1


Host: bucket [Link]
Date: date
Authorization: authorization string

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements
None.
Sample request and response
This example deletes the sub-resource that is associated with and replicated in the images bucket.
The response returns a 204 No Content, which means the request was successful and the sub-
resource in the images bucket no longer exists.
Request

DELETE /?replication HTTP/1.1


Host: [Link]
Content-Length: 0
Date: Mon, 11 Jul 2016 12:08:57 GMT
Authorization: authorization string

Response

HTTP/1.1 204 No Content


x-amz-id-2: Uuag1LuByRx9e6j5OnimrSAMPLEtRPfTaOAa==
x-amz-request-id: 656c76696e672example
Date: Wed, 11 Feb 2015 05:37:16 GMT
Connection: keep-alive
Server: AmazonS3

[Link] 10/150
20:24 25/5/26 ActiveScale Management S3 API
Special errors
None.
Related operations
2.6.16 GET Bucket Replication
2.9.13 PUT Bucket Replication
close section

2.5.9 DELETE Bucket Tagging


Remove a tag set from the specified bucket. This operation returns a dummy response compatible with
Amazon S3.
Permissions
The s3:PutBucketTagging permission is needed to delete tagging configuration for a bucket.
Requests
Syntax

DELETE /?tagging HTTP/1.1


Host: bucket [Link]
Date: date
Authorization: authorization string (see Authenticating Requests (AWS Signature
Version 4))

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements
None.
Sample request and response
This example request deletes the tag set from a specified bucket.
Request

DELETE /?tagging HTTP/1.1


Host: [Link]
Date: Mon, 11 Jul 2016 11:34:37 GMT
Authorization: authorization string

Response
[Link] 11/150
20:24 25/5/26 ActiveScale Management S3 API

HTTP/1.1 204 No Content x-amz-id-2:


0FmFIWsh/PpBuzZ0JFRC55ZGVmQW4SHJ7xVDqKwhEdJmf3q63RtrvH8ZuxW1Bol5
x-amz-request-id: 0CF038E9BCF63097
Date: Mon, 11 Jul 2016 11:34:37 GMT
Server: AmazonS3
Content-Length: 0

Special errors
None.
Related operations
2.6.18 GET Bucket Tagging
2.9.15 PUT Bucket Tagging
close section

2.5.10 DELETE Bucket Website


Delete the website configuration in a bucket.
Permissions
The s3:DeleteBucketWebsite permission is needed to delete website configuration for a bucket.
Requests
Syntax

DELETE /?website HTTP/1.1


Host: bucket [Link]
Date: date
Authorization: authorization string

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements
None.
Sample request and response
The following tables show a request example and a response example.
Request

[Link] 12/150
20:24 25/5/26 ActiveScale Management S3 API

DELETE /?website HTTP/1.1


Host: [Link]
Date: Mon, 11 Jul 2016 11:34:37 GMT
Authorization: authorization string

Response

HTTP/1.1 204 No Content


x-amz-id-2: 0FmFIWsh/PpBuzZ0JFRC55ZGVmQW4SHJ7xVDqKwhEdJmf3q63RtrvH8ZuxW1Bol5 x-
amz-request-id: 0CF038E9BCF63097
Date: Mon, 11 Jul 2016 11:34:37
GMT Server: AmazonS3
Content-Length: 0

Special errors
None.
Related operations
2.6.20 GET Bucket Website
2.9.17 PUT Bucket Website
close section

close section

2.6 GET Bucket Operations


2.6.1 GET Bucket Accelerate
This operation is not supported in the ActiveScale S3 API.
Further information about the GET Bucket accelerate operation is found on the following Amazon
API Reference page.
[Link]
close section

2.6.2 GET Bucket ACL


Get the access control list (ACL) of a bucket.
Permissions
The s3:GetBucketAcl (or READ_ACP ACL) permission is needed to get bucket ACL.
Requests
Syntax

GET /?acl HTTP/1.1


Host: bucket [Link]
Date: date
Authorization: authorization string

[Link] 13/150
20:24 25/5/26 ActiveScale Management S3 API
Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements

Table 2: GET Bucket acl response elements

Element Supported Notes

AccessControList Yes None

AccesControlPolicy Yes None

DisplayName Yes None

Grant Yes None

Grantee Yes None

ID Yes None

Owner Yes None

Permission Yes None

Sample request and response


The following tables show a request example and a response example for the GET Bucket ACL
operation.
The request retrieves the access control configuration from the images bucket. The response returns a
200 OK, which means the request was successful. The response also returns the access control
configuration.
Request

GET ?acl HTTP/1.1


Host: bucket [Link]
Date: Wed, 28 Oct 2009 22:32:00 GMT
Authorization: authorization string

Response

HTTP/1.1 200 OK

[Link] 14/150
20:24 25/5/26 ActiveScale Management S3 API
x-amz-id-2: eftixk72aD6Ap51TnqcoF8eFidJG9Z/2mkiDFu8yU9AS1ed4OpIszj7UDNEHGran x-
amz-request-id: 318BC8BC148832E5
Date: Wed, 28 Oct 2009 22:32:00 GMT
Last-Modified: Sun, 1 Jan 2006 12:00:00 GMT
Content-Length: 124Content-Type: text/plain Connection: close Server: Himalaya

<AccessControlPolicy>
<Owner>
<ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
<DisplayName>CustomersName@[Link]</DisplayName>
</Owner>
<AccessControlList>
<Grant>
<Grantee xmlns:xsi="[Link]
xsi:type="CanonicalUser">
<ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</
<DisplayName>CustomersName@[Link]</DisplayName>
</Grantee>
<Permission>FULL_CONTROL</Permission>
</Grant>
</AccessControlList>
</AccessControlPolicy>

Special errors
None.
Related operations
2.9.1 PUT Bucket
2.9.3 PUT Bucket ACL
close section

2.6.3 GET Bucket Analytics


This operation is not supported in the ActiveScale S3 API.
Further information about the GET Bucket analytics operation is found on the following Amazon API
Reference page.
[Link]
close section

2.6.4 GET Bucket Cors


Get the cross-origin resource sharing (cors) configuration information set for the bucket. This operation
returns a dummy response compatible with Amazon S3.
Permissions
The s3:GetBucketCORS permission is needed to get CORS config for a bucket.
Requests
Syntax

GET /?cors HTTP/1.1

[Link] 15/150
20:24 25/5/26 ActiveScale Management S3 API
Host: [Link]
Date: date
Authorization: authorization string

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
Not applicable, because a NoSuchCORSConfiguration error response is returned.
Elements
Not applicable, because a NoSuchCORSConfiguration error response is returned.
Sample request and response
Request

GET /?cors HTTP/1.1


Host: [Link]
x-amz-date: 20180126T011603Z
Authorization: authorization string

Response

HTTP/1.1 404 Not Found


x-amz-request-id: D3E4AEDA2CC4B7B1
x-amz-id-2: 37004c82-8320-4d61-a845-9456e2c842035b692ddd-9d7f-4b0b-b412-
25c727896984
Content-Type: application/xml
Date: Fri, 26 Jan 2018 01:16:03 GMT
Server: ActiveScale
<Error>
<Code>NoSuchCORSConfiguration</Code>
<Message>The CORS configuration does not exist</Message>
<BucketName>s3test</BucketName>
<RequestId>D3E4AEDA2CC4B7B1</RequestId>
<HostId>37004c82-8320-4d61-a845-9456e2c842035b692ddd-9d7f-4b0b-b412-
25c727896984</HostId>
</Error>

Special errors

[Link] 16/150
20:24 25/5/26 ActiveScale Management S3 API
None.
Related operations
2.5.3 DELETE Bucket Cors
2.9.5 PUT Bucket Cors
close section

2.6.5 GET Bucket Inventory


This operation is not supported in the ActiveScale S3 API.
Further information about the GET Bucket inventory operation is found on the following Amazon API
Reference page.
[Link]
close section

2.6.6 GET Bucket Lifecycle


Get the life cycle configuration for a bucket.
Permissions
The s3:GetLifecycleConfiguration permission is needed to get lifecycle configuration for a bucket.
.Requests
Syntax

GET /?lifecycle HTTP/1.1


Host: bucket [Link]
Date: date
Authorization: authorization string

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements

Table 3: GET Bucket lifecycle response elements

Element Supported Notes

And Yes None

AbortIncompleteMultipartUp N/A None

[Link] 17/150
20:24 25/5/26 ActiveScale Management S3 API

Element Supported Notes

Date Yes None

Days Yes None

DayAfterInitiation N/A None

Expiration Yes None

ExpiredObjectDeleteMarker Yes None

ID Yes None

LifecycleConfiguration Yes None

NonCurrentDays Yes None

NewerNoncurrentVersion No None

NoncurrentVersionExpiration Yes None

NoncurrentVersionTransition Yes None

Prefix Yes None

Rule Yes None

Status Yes None

StorageClass Yes None

Tag Yes None

Transition Yes None

Value Yes None

And Yes None

Sample request and response


This example retrieves the lifecycle configuration from the files bucket. The response returns a 200
OK, which means the request was successful. The response also returns the life cycle configuration.
Request

GET /?lifecycle HTTP/1.1


Host: [Link] Content-Length: 0
Date: Mon, 11 Jul 2016 12:19:18 GMT
Authorization: authorization string

Response

HTTP/1.1 200 OK

[Link] 18/150
20:24 25/5/26 ActiveScale Management S3 API
x-amz-id-2: ab799629-d4f1-486a-84de-4e6bf12145bfdae08038-4452-4c45-b7f6-
c6ff91a961ff x-amz-request-id: CAE0056F80DB6B53
Date: Mon, 11 Jul 2016 12:19:18 GMT
Transfer-Encoding: chunked Server: Himalaya

<LifecycleConfiguration xmlns="[Link]
<Rule>
<ID>Expire logs after 100 days</ID>
<Prefix>logs/</Prefix>
<Status>Enabled</Status>
<Expiration>
<Days>100</Days>
</Expiration>
</Rule>
</LifecycleConfiguration>

Special errors

Table 4: GET Bucket lifecycle special errors

Error code Description HTTP status code

NoSuchLifecycle The life cycle configuration does 404 Not Found


Configuration not exist.

Related operations
2.9.7 PUT Bucket Lifecycle
2.5.5 DELETE Bucket Lifecycle
close section

2.6.7 GET Bucket Location


Get the region a bucket is in.
Permissions
The s3:GetBucketLocation permission is needed to get bucket location.
Requests
Syntax
GET /?location HTTP/1.1

Host: [Link]

Date: date

Authorization: authorization string

Parameters
None.
Headers
This operation uses common request headers only.

[Link] 19/150
20:24 25/5/26 ActiveScale Management S3 API
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements

Table 5: GET Bucket location response elements

Element Supported Notes


LocationConstraint Yes None

Sample request and response


This example retrieves the bucket location from the files bucket. The response returns a 200 OK,
which means the request was successful. The response also returns the location; in this case, EU.
Request

GET /?location HTTP/1.1


Host: [Link]
Date: Tue, 09 Oct 2007 20:26:04 +0000
Authorization: signatureValue

Response

<LocationConstraint xmlns="[Link]
EU</LocationConstraint>

Special errors
None.
Related operations
2.6.14 GET Bucket Object Versions
2.6.9 GET Bucket (list objects) v1
2.6.10 GET Bucket (list objects) v2
2.9.1 PUT Bucket
close section

2.6.8 GET Bucket Logging


Get the logging status of a bucket. This operation returns a dummy response compatible with Amazon
S3.
Permissions
The s3:GetBucketLogging permission is needed to get logging info for a bucket.
Requests

[Link] 20/150
20:24 25/5/26 ActiveScale Management S3 API
Syntax

GET /?logging HTTP/1.1


Host: bucket [Link]
Date: date
Authorization: authorization string

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements

Table 6: GET Bucket logging response elements

Element Supported Notes


BucketLoggingStatus Yes None

EmailAddress N/A None

Grant N/A None

Grantee N/A None

LoggingEnabled N/A None

Permission N/A None

TargetBucket N/A None

TargetGrants N/A None

TargetPrefix N/A None

Sample request and response


The following tables show a request example and a response example for the GET Bucket logging
operation.
The request retrieves the logging status from the mybucket bucket. The response returns a 200 OK,
which means the request was successful. The response also returns the logging status.
Request

GET ?logging HTTP/1.1

[Link] 21/150
20:24 25/5/26 ActiveScale Management S3 API
Host: [Link]
Date: Wed, 25 Nov 2009 12:00:00 GMT
Authorization: authorization string

Response

HTTP/1.1 200 OK
Date: Wed, 25 Nov 2009 12:00:00 GMT
Connection: close Server: Himalaya

<BucketLoggingStatus xmlns="[Link]
<LoggingEnabled>
<TargetBucket>mybucketlogs</TargetBucket>
<TargetPrefix>mybucket-access_log-/</TargetPrefix>
<TargetGrants>
<Grant>
<Grantee xmlns:xsi="[Link]
xsi:type="AmazonCustomerByEmail">
<EmailAddress>user@[Link]</EmailAddress>
</Grantee>
<Permission>READ</Permission>
</Grant>
</TargetGrants>
</LoggingEnabled>
</BucketLoggingStatus>

Special errors
None.
Related operations
2.9.9 PUT Bucket Logging
close section

2.6.9 GET Bucket (list objects) v1


Get some or all of the objects in a bucket.
Permissions
The s3:ListBucket (or READ ACL) permission is needed to list objects.
Requests
Syntax

GET / HTTP/1.1
Host: [Link]
Date: date
Authorization: authorization string

Parameters

[Link] 22/150
20:24 25/5/26 ActiveScale Management S3 API
Table 7: GET Bucket (list objects) v1 request parameters

Parameter Supported Notes


delimiter Yes None

encoding-type Yes None

marker Yes None

max-keys Yes None

prefix Yes None

Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements

Table 8: GET Bucket (list objects) v1 response elements

Element Supported Notes


Contents Yes None

Common Prefixes Yes None

Delimiter Yes None

DisplayName Yes None

Encoding-Type Yes None

ETag Yes None

ID Yes None

IsTruncated Yes None

Key Yes None

LastModified Yes None

MaxKeys Yes None

Element Yes None

Name Yes None

Marker Yes None

[Link] 23/150
20:24 25/5/26 ActiveScale Management S3 API

Element Supported Notes

NextMarker Yes None

Owner Yes None

Prefix Yes None

Size Yes None

StorageClass Yes None

Sample request and response


This example retrieves the names of the objects that are in the BucketName bucket. The response
returns a 200 OK, which means the request was successful. The response also returns a list of the
names of the objects.
Request

GET / HTTP/1.1
Host: bucket [Link]
Date: Wed, 12 Oct 2009 17:50:00 GMT
Authorization: authorization string
Content-Type: text/plain

Response

<?xml version="1.0" encoding="UTF-8"?>


<ListBucketResult xmlns="[Link]
<Name>bucket</Name>
<Prefix/>
<Marker/>
<MaxKeys>1000</MaxKeys>
<IsTruncated>false</IsTruncated>
<Contents>
<Key>[Link]</Key>
<LastModified>2009-10-12T17:50:30.000Z</LastModified>
<ETag>&quot;fba9dede5f27731c9771645a39863328&quot;</ETag>
<Size>434234</Size>
<StorageClass>STANDARD</StorageClass>
<Owner>
<ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
<DisplayName>mtd@[Link]</DisplayName>
</Owner>
</Contents>
[Link] 24/150
20:24 25/5/26 ActiveScale Management S3 API
<Contents>
<Key>[Link]</Key>
<LastModified>2009-10-12T17:50:30.000Z</LastModified>
<ETag>&quot;1b2cf535f27731c974343645a3985328&quot;</ETag>
<Size>64994</Size>
<StorageClass>STANDARD_IA</StorageClass></Owner>
</Contents>
</ListBucketResult>

Special errors

Table 9: GET Bucket (list objects) v1 special errors

Error code Description HTTP status code


InvalidArgument An invalid delimiter has been
400 Bad Request
found.

Related operations
2.6.10 GET Bucket (list objects) v2
2.6.14 GET Bucket Object Versions
2.16.4 List Multipart Uploads
2.16.5 List Parts
close section

2.6.10 GET Bucket (list objects) v2


Get the number of the objects in a bucket.
Permissions
The s3:ListBucket (or READ ACL) permission is needed to list objects.
Requests
Syntax

GET /?list-type=2 HTTP/1.1


Host: [Link]
Date: date
Authorization: authorization string

Parameters

Table 10: GET Bucket (list objects) v2 request parameters


>

Parameter Supported Notes


delimiter Yes None

[Link] 25/150
20:24 25/5/26 ActiveScale Management S3 API

Parameter Supported Notes

encoding-type Yes None

max-keys Yes None

prefix Yes None

list-type Yes None

continuation-token Yes None

fetch-after Yes None

start-after Yes None

Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements

Table 11: GET Bucket (list objects) v2 response elements

Element Supported Notes


Contents Yes None

Common Prefixes Yes None

Delimiter Yes None

DisplayName Yes None

Encoding-Type Yes None

ETag Yes None

ID Yes None

IsTruncated Yes None

Key Yes None

LastModified Yes None

MaxKeys Yes None

Name Yes None

Owner Yes None

[Link] 26/150
20:24 25/5/26 ActiveScale Management S3 API

Element Supported Notes

Prefix Yes None

Size Yes None

StorageClass Yes None

ContinuationToken Yes None

KeyCount Yes None

NextContinuationToken Yes None

StartAfter Yes None

Sample request and response


This example retrieves the names of the objects that are in the quotes bucket. The response returns a
200 OK, which means the operation on the quotes bucket was a success. The response also contains
a list of the names of the objects.
Request

GET /?list-type=2&max-keys=3&prefix=E&start-after=[Link] HTTP/1.1


Host: [Link]
x-amz-date: 20160430T232933Z
Authorization: authorization string

Response

HTTP/1.1 200 OK
x-amz-id-2: gyB+3jRPnrkN98ZajxHXr3u7EFM67bNgSAxexeEHndCX/7GRnfTXxReKUQF28IfP x-
amz-request-id: 3B3C7C725673C630
Date: Sat, 30 Apr 2016 23:29:37 GMT
Content-Type: application/xml Content-Length: length Connection: close
Server: Himalaya

<ListBucketResult xmlns="[Link]
<Name>quotes</Name>
<Prefix>E</Prefix>
<StartAfter>[Link]</StartAfter>
<KeyCount>1</KeyCount>
<MaxKeys>3</MaxKeys>
<IsTruncated>false</IsTruncated>
<Contents>
<Key>[Link]</Key>
<LastModified>2013-09-17T18:07:53.000Z</LastModified>

[Link] 27/150
20:24 25/5/26 ActiveScale Management S3 API
<ETag>"599bab3ed2c697f1d26842727561fd94"</ETag>
<Size>857</Size>
<StorageClass>REDUCED_REDUNDANCY</StorageClass>
</Contents>
</ListBucketResult>

Special errors

Table 12: GET Bucket (list objects) v2 special errors

Error Code Description HTTP Status Code


InvalidArgument An invalid delimiter has been 400 Bad Request
found.

Related operations
2.6.9 GET Bucket (list objects) v1
2.6.14 GET Bucket Object Versions
2.16.4 List Multipart Uploads
2.16.5 List Parts
close section

2.6.11 GET Bucket Metrics


This operation is not supported in the ActiveScale S3 API.
Further information about the GET Bucket metrics operation is found on the following Amazon API
Reference page.
[Link]
close section

2.6.12 GET Bucket Notification


The ActiveScale GET Bucket notification operation is used to return the notification configuration for the
bucket.
Permissions
The s3:GetBucketNotification permission is needed to get notification configuration for a bucket.
Requests
Syntax

GET /?notification HTTP/1.1


Host: [Link]
Date: date
Authorization: authorization string

Parameters
None.
Headers

[Link] 28/150
20:24 25/5/26 ActiveScale Management S3 API
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements
None
Response

HTTP/1.1 200 OK
x-amz-id-2: YgIPIfBiKa2bj0KMgUAdQkf3ShJTOOpXUueF6QKo
x-amz-request-id: 236A8905248E5A02
Date: Wed, 15 May 2019 16:59:04 GMT
Server: AmazonS3
<?xml version="1.0" encoding="UTF-8"?>
{
"TopicConfigurations": [
{
"Id": "nJXWQObDvvs9VtaY81yItqVlN2XTskTFEgINhTJr4mor2Jhg", "TopicArn":
"arn:aws:sns:us-east-1:1:testons",
"Events": [
"s3:ObjectCreated:Put",
"s3:ObjectCreated:Copy",
"s3:ObjectCreated:CompleteMultipartUpload",
"s3:ObjectRemoved:Delete",
"s3:ObjectRemoved:DeleteMarkerCreated"
]
}
]
}

Special errors
This implementation of the operation does not return special errors.
Related operations
2.6.9 GET Bucket (list objects) v1
2.6.10 GET Bucket (list objects) v2
2.6.14 GET Bucket Object Versions
close section

[Link] 29/150
20:24 25/5/26 ActiveScale Management S3 API

2.6.13 GET Bucket Object Lock Configuration


Get the object lock configuration of a bucket. Further information about the GET Bucket object lock
configuration operation is found on the following Amazon API Reference page.
[Link]
Permissions
The s3:GetBucketObjectLockConfiguration permission is needed to get object lock configuration
for a bucket.
Requests
Syntax

GET /?object-lock HTTP/1.1


Host: bucket [Link]
Date: date
Authorization: authorization string

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements

Table 13: GET Bucket Object Lock Configuration response elements

Element Supported Notes


ObjectLockConfiguration Yes None

ObjectLockEnabled Yes None

Rule Yes None

DefaultRetention Yes None

Mode Yes None

Years Yes None

Days Yes None

Sample request and response


The following tables show a request example and a response example for this operation.
[Link] 30/150
20:24 25/5/26 ActiveScale Management S3 API
The request retrieves the Object Lock Configuration of a bucket. The response returns an HTTP 200,
which means the request was successful. The response also returns the object lock configuration.
Request

GET /?object-lock HTTP/1.1


Host: [Link]
Content-Length: 0
Date: 20201029T103439Z
x-amz-content-sha256:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\r
Authorization: AWS4-HMAC-SHA256 Credential=AK0B7YPKCQAAJIXNPPU7/20201029/us-
east-1/s3/aws4_request,SignedHeaders=content-length;date;host;x-amz-content-
sha256,Signature=ba0344d0aa8eb6b7a57d368d2bd514cb49c5a06525e6bb9b4f2aaf427ab8bdf7

Response

HTTP/1.1 200 OK
x-amz-id-2: 9933c1f7-b288-434e-9bcb-de3fee9872b2c5260c0a-714c-4fc9-a94f-
b0ba092e8367
x-amz-request-id: E0A1C59B087CE4C6
Date: Thu, 29 Oct 2020 10:34:39 GMT
Transfer-Encoding: chunked
Server: Quantum-ActiveScale

<?xml version="1.0" encoding="UTF-8"?>


<ObjectLockConfiguration xmlns="[Link]
<ObjectLockEnabled>Enabled</ObjectLockEnabled>
<Rule>
<DefaultRetention>
<Mode>COMPLIANCE</Mode>
<Years>1</Years>
</DefaultRetention>
</Rule>
</ObjectLockConfiguration>

Special errors
None.
Related operations
2.9.1 PUT Bucket
2.9.8 PUT Bucket Object Lock Configuration
close section

2.6.14 GET Bucket Object Versions


Get a metadata list about all of the versions of objects in a bucket.

[Link] 31/150
20:24 25/5/26 ActiveScale Management S3 API
Permissions
The s3:ListBucketVersions (or READ ACL) permission is needed to list object versions.
Requests
Syntax

GET /?versions HTTP/1.1


Host: [Link]
Date: date
Authorization: authorization string

Parameters

Table 14: GET Bucket Object versions request parameters

Parameter Supported Notes


delimiter Yes None

encoding-type Yes None

key-marker Yes None

max-keys Yes None

prefix Yes None

version-id-marker Yes None

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements

Table 15: GET Object versions response elements

Element Supported Notes

CommonPrefixes Yes None

Delimiter Yes None

DeleteMarker Yes None

[Link] 32/150
20:24 25/5/26 ActiveScale Management S3 API

Element Supported Notes

DisplayName Yes None

Encoding-Type Yes None

ETag Yes None

ID Yes None

IsLatest Yes None

IsTruncated Yes None

Key Yes None

KeyMarker Yes None

LastModified Yes None

ListVersionsResult Yes None

MaxKeys Yes None

Name Yes None

NextKeyMarker Yes None

NextVersionIdMarker Yes None

Owner Yes None

Prefix Yes None

Size Yes None

StorageClass Yes None

Sample request and response


This example compiles a list of metadata about all of the versions of objects in the BucketName
bucket. The response returns the list.
Request

GET /?versions HTTP/1.1


Host: [Link]
Date: Wed, 28 Oct 2009 22:32:00 +0000
Authorization: authorization string

Response

<?xml version="1.0"?>
<ListVersionsResult xmlns="[Link]
<Name>bucket</Name>

[Link] 33/150
20:24 25/5/26 ActiveScale Management S3 API
<Prefix>my</Prefix>
<KeyMarker/>
<VersionIdMarker/>
<MaxKeys>5</MaxKeys>
<IsTruncated>false</IsTruncated>
<Version>
<Key>[Link]</Key>
<VersionId>3/L4kqtJl40Nr8X8gdRQBpUMLUo</VersionId>
<IsLatest>true</IsLatest>
<LastModified>2009-10-12T17:50:30.000Z</LastModified>
<ETag>"fba9dede5f27731c9771645a39863328"</ETag>
<Size>434234</Size>
<StorageClass>STANDARD</StorageClass>
<Owner>
<ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
<DisplayName>mtd@[Link]</DisplayName>
</Owner>
</Version>
<DeleteMarker>
<Key>[Link]</Key>
<VersionId>03jpff543dhffds434rfdsFDN943fdsFkdmqnh892</VersionId>
<IsLatest>true
</IsLatest>
<LastModified>2009-11-12T17:50:30.000Z</LastModified>
<Owner>
<ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
<DisplayName>mtd@[Link]</DisplayName>
</Owner>
</DeleteMarker>
<Version>
<Key>[Link]</Key>
<VersionId>QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</VersionId>
<IsLatest>false</IsLatest>
<LastModified>2009-10-10T17:50:30.000Z</LastModified>
<ETag>"9b2cf535f27731c974343645a3985328"</ETag>
<Size>166434</Size>
<StorageClass>STANDARD</StorageClass>
<Owner>
<ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
<DisplayName>mtd@[Link]</DisplayName>
</Owner>
</Version>
[Link] 34/150
20:24 25/5/26 ActiveScale Management S3 API
<DeleteMarker>
<Key>[Link]</Key>
<VersionId>03jpff543dhffds434rfdsFDN943fdsFkdmqnh892</VersionId>
<IsLatest>true</IsLatest>
<LastModified>2009-10-15T17:50:30.000Z</LastModified>
<Owner>
<ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
<DisplayName>mtd@[Link]</DisplayName>
</Owner>
</DeleteMarker>
<Version>
<Key>[Link]</Key>
<VersionId>UIORUnfndfhnw89493jJFJ</VersionId>
<IsLatest>false</IsLatest>
<LastModified>2009-10-11T12:50:30.000Z</LastModified>
<ETag>"772cf535f27731c974343645a3985328"</ETag>
<Size>64</Size>
<StorageClass>STANDARD</StorageClass>
<Owner>
<ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
<DisplayName>mtd@[Link]</DisplayName>
</Owner>
</Version>
</ListVersionsResult>

Special errors

Table 16: GET Bucket Object versions special errors

Error code Description HTTP status code


InvalidArgument An invalid delimiter was found. 404 Not Found

Related operations
2.11.1 GET Object
2.15.1 PUT Object
close section

2.6.15 GET Bucket Policy


Get the bucket policy for an existing bucket and show other identities allowed permissions.
Permissions
These permissions are needed to get bucket policies for a bucket :
s3:GetBucketPolicy
Must be bucket owner (account) or user under that account.
Requests
Syntax

[Link] 35/150
20:24 25/5/26 ActiveScale Management S3 API

GET /?policy HTTP/1.1


Host: [Link]
Authorization: authorization string

Parameters
None.
Headers

Table 17: GET Bucket policy request headers

Header Supported Notes

x-amz-expected-bucket-owner No None

Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements

Table 18: GET Bucket policy response elements


>

Header Supported Notes


Only version “2012-10-17” is
supported by ActiveScale IAM. For
Version Yes
more information on IAM version
refer to the AWS documentation.
Id Yes (optional) Policy Identifier
Multiple statements ([ {..}, {..} ]) or a
Statement Yes
single statement ({..}).
Allow or Deny the actions in the
[Link] Yes
statement.

Supported principal types:


*: all principals (including
anonymous)

[Link] Yes AWS: account root user by arn


(no wildcards), IAM user by arn
(no wildcards), account
identifier, *

CanonicalUser: account root


user by account canonical id
[Link] Yes Refer to [Link]
[Link] Yes Policy Statement Identifier

[Link] 36/150
20:24 25/5/26 ActiveScale Management S3 API

Header Supported Notes

*
[Link] Yes
An action in Supported Actions
(may include wildcards)
[Link] Yes Refer to Action

Supported resource types :

S3 bucket ARN: needs to be for


the bucket to which the bucket
policy is applied - ie.
"arn:aws:s3:::{{bucket_name}}"
S3 object ARN: needs to be
[Link] Yes scoped to the bucket to which
the bucket policy is applied - ie.
"arn:aws:s3:::
{{bucket_name}}/{{object_path}}"
(the object path can contain
wildcards)
Note: Policy Variables are
supported from ActiveScale
7.1 and above.
[Link] Yes Refer to Resource
Supported from ActiveScale 7.1
[Link] Yes
and above.

Sample request and response


This example gets the permissions for the examplebucket bucket and shows that the account with
identifier 391107088064 can perform put and get object operations. The response returns a 200 OK,
which means the request was successful.
Request

GET /?policy HTTP/1.1


Host: [Link]
Date: 20240302T123525Z
Authorization: authorization string

Response

HTTP/1.1 200 OK
Content-Type: application/json
Date: Sat, 02 Mar 2024 12:35:27 GMT
Server: AmazonS3
x-amz-id-2:
rEv+tE9zORXMHysTPJeUeqF/oUnLAvXdks58wcVulrd5lXdVXAfEm5qQvxrx/UnEiVF1yelROeU=
x-amz-request-id: 6V3C914H7DGK8E7Z
{
"Version": "2012-10-17",
[Link] 37/150
20:24 25/5/26 ActiveScale Management S3 API
"Statement": {
"Effect":"Allow",
"Principal": {
"AWS":"391107088064"
},
"Action":["s3:PutObject","s3:GetObject"],
"Resource":"arn:aws:s3:::examplebucket/*"
}
}

Special errors

Table 19: GET Bucket policy special errors

Error code Description HTTP Status code


NoSuchBucketPolicy The bucket policy cannot be 404 Not Found
found.

Related operations
2.9.11 PUT Bucket Policy
2.5.7 DELETE Bucket Policy
close section

2.6.16 GET Bucket Replication


Get the replication configuration of a bucket.
Permissions
The s3:GetReplicationConfiguration permission is needed to get replication configuration for a
bucket.
Requests
Syntax

GET /?replication HTTP/1.1


Host: [Link]
Date: date
Authorization: authorization string

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.

[Link] 38/150
20:24 25/5/26 ActiveScale Management S3 API
Responses
Headers
This operation uses common response headers only.
Elements

Table 20: GET Bucket replication response elements

Name Supported Notes

ReplicationConfiguration N/A None

Role N/A None

Rule N/A None

ID N/A None

Status N/A None

Prefix N/A None

Destination N/A None

Bucket N/A None

StorageClass N/A None

Sample request and response


The following tables show a request example and a response example for the GET Bucket
replication operation.
The request retrieves the replication configuration from the examplebucket bucket. The response
returns a 200 OK, which means the request was successful. The response also lists the replication
configuration details.
Request

GET /?replication HTTP/1.1


Host: [Link]
x-amz-date: Tue, 10 Feb 2015 00:17:21 GMT
Authorization: signatureValue

Response

HTTP/1.1 200 OK
x-amz-id-2: ITnGT1y4RyTmXa3rPi4hklTXouTf0hccUjo0iCPjz6FnfIutBj3M7fPGlWO2SEWp x-
amz-request-id: 51991C342example
Date: Tue, 10 Feb 2015 00:17:23 GMT
Server: AmazonS3
Content-Length: contentlength
<?xml version="1.0" encoding="UTF-8"?>
[Link] 39/150
20:24 25/5/26 ActiveScale Management S3 API
<ReplicationConfiguration xmlns="[Link]
<Rule>
<ID>rule1</ID>
<Status>Enabled</Status>
<Prefix/>
<Destination>
<Bucket>arn:aws:s3:::exampletargetbucket</Bucket>
<StorageClass>STANDARD_IA</StorageClass>
</Destination>
</Rule>
<Role>arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3</Role>
</ReplicationConfiguration>

Special errors

Table 21: GET Bucket replication special errors

Error code Description HTTP Status code


NoSuchReplication The replicated subsource was 404 Not Found
not located.

Related operations
2.9.13 PUT Bucket Replication
2.5.8 DELETE Bucket Replication
close section

2.6.17 GET Bucket requestPayment


Get the request payment configuration of a bucket.
Permissions
The s3:GetBucketRequestPayment permission is needed to get request payment info for a bucket.
Requests
Syntax

GET ?requestPayment HTTP/1.1


Host: [Link]
Date: date
Authorization: authorization string

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
[Link] 40/150
20:24 25/5/26 ActiveScale Management S3 API
Responses
Headers
This operation uses common response headers only.
Elements

Table 22: GET Bucket requestPayment response elements

Name Supported Notes

Payer Yes None

RequestPaymentConfiguration Yes None

Sample request and response


The following tables show a request example and a response example for the GET Bucket
requestPayment operation.
The request retrieves the request payment configuration from the colorpictures bucket. The response
returns a 200 OK, which means the request was successful. The response also lists the request
payment configuration details.
Request

GET ?requestPayment HTTP/1.1


Host: [Link]
Date: Wed, 01 Mar 2009 12:00:00 GMT
Authorization: authorization string

Response

HTTP/1.1 200 OK
x-amz-id-2: YgIPIfBiKa2bj0KMg95r/0zo3emzU4dzsD4rcKCHQUAdQkf3ShJTOOpXUueF6QKo x-
amz-request-id: 236A8905248E5A01
Date: Wed, 01 Mar 2009 12:00:00 GMT
Content-Type: [type] Content-Length: 0 Connection: close Server: Himalaya

<?xml version="1.0" encoding="UTF-8"?>


<RequestPaymentConfiguration xmlns="[Link]
<Payer>Requester</Payer>
</RequestPaymentConfiguration>

Special errors
None.
Related operations
2.9.14 PUT Bucket requestPayment
close section

[Link] 41/150
20:24 25/5/26 ActiveScale Management S3 API

2.6.18 GET Bucket Tagging


Get the tag set associated with a bucket.
Permissions
The s3:GetBucketTagging permission is needed to get tagging configuration for a bucket.
Requests
Syntax

GET /?tagging HTTP/1.1


Host: [Link]
Date: date
Authorization: authorization string

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
Not applicable, because a NoSuchTagSet error response is returned.
Elements
Not applicable, because a NoSuchTagSet error response is returned.
Sample request and response
Request

GET /?tagging HTTP/1.1


Host: [Link]
x-amz-date: 20180126T012243Z
Authorization: authorization string

Response

HTTP/1.1 404 Not Found


x-amz-request-id: 6680995ADA9A3BE2
x-amz-id-2: 37004c82-8320-4d61-a845-9456e2c842035b692ddd-9d7f-4b0b-b412-
25c727896984
Content-Type: application/xml
Date: Fri, 26 Jan 2018 01:22:43 GMT
Server: ActiveScale
[Link] 42/150
20:24 25/5/26 ActiveScale Management S3 API
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>NoSuchTagSet</Code>
<Message>The TagSet does not exist</Message>
<BucketName>s3test</BucketName>
<RequestId>6680995ADA9A3BE2</RequestId>
<HostId>37004c82-8320-4d61-a845-9456e2c842035b692ddd-9d7f-4b0b-b412-
25c727896984</HostId>
</Error>

Special errors
None.
Related operations
2.5.9 DELETE Bucket Tagging
2.9.15 PUT Bucket Tagging
close section

2.6.19 GET Bucket Versioning


Get the versioning state of a bucket.
Permissions
The s3:GetBucketVersioning permission is needed to get versioning configuration for a bucket.
Requests
Syntax

GET /?versioning HTTP/1.1


Host: [Link]
Date: date
Authorization: authorization string

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements

[Link] 43/150
20:24 25/5/26 ActiveScale Management S3 API
Table 23: GET Bucket versioning response elements

Element Supported Notes


MfaDelete N/A MFA is not
supported.

Status Yes None

VersioningConfiguration Yes None

Sample request and response


This example retrieves the versioning configuration from the myBucket bucket. The response returns
the versioning status of the myBucket bucket.
Request

GET /?versioning HTTP/1.1


Host: [Link]
Date: Wed, 12 Oct 2009 17:50:00 GMT
Authorization: authorization string
Content-Type: text/plain

Response

<VersioningConfiguration xmlns="[Link]
<Status>Enabled</Status>
</VersioningConfiguration>

Special errors
None.
Related operations
2.9.16 PUT Bucket Versioning
close section

2.6.20 GET Bucket Website


Get the website configuration associated with a bucket.
Permissions
The s3:GetBucketWebsite permission is needed to get website configuration for a bucket.
Requests
Syntax

GET /?website HTTP/1.1


Host: [Link]
Date: date

[Link] 44/150
20:24 25/5/26 ActiveScale Management S3 API
Authorization: authorization string (see Authenticating Requests (AWS Signature
Version 4))

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements
The response elements include the same elements that were uploaded when you configured the
bucket as a website.
Sample request and response
Request

GET /?website HTTP/1.1


Host: [Link]
x-amz-date: 20180126T012403Z
Authorization: authorization string

Response

HTTP/1.1 404 Not Found


x-amz-request-id: 1A7D2CD465B2E64A
x-amz-id-2: 37004c82-8320-4d61-a845-9456e2c842035b692ddd-9d7f-4b0b-b412-
25c727896984
Content-Type: application/xml
Date: Fri, 26 Jan 2018 01:24:03 GMT
Server: ActiveScale
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>NoSuchWebsiteConfiguration</Code>
<Message>The specified bucket does not have a website configuration</Message>
<BucketName>s3test</BucketName>
<RequestId>1A7D2CD465B2E64A</RequestId>
<HostId>37004c82-8320-4d61-a845-9456e2c842035b692ddd-9d7f-4b0b-b412-
25c727896984</HostId>
</Error>

Special errors

[Link] 45/150
20:24 25/5/26 ActiveScale Management S3 API
None.
Related operations
2.5.10 DELETE Bucket Website
2.9.17 PUT Bucket Website
close section

close section

2.7 HEAD Bucket Operations


2.7.1 HEAD Bucket
Determine if a bucket exists and that you have permission to access it.
Permissions
The s3:ListBucket permission is needed to head buckets.
Requests
Syntax

HEAD / HTTP/1.1
Host: [Link]
Date: date
Authorization: authorization string

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
None.
Elements
None.
Sample request and response
This example pings the myawsbucket bucket to determine if it exists. The response returns a 200 OK,
which means the operation on the myawsbucket bucket was a success and that the bucket exists.
Request

HEAD / HTTP/1.1
Date: Fri, 10 Feb 2012 21:34:55 GMT
Authorization: authorization string
Host: [Link]

[Link] 46/150
20:24 25/5/26 ActiveScale Management S3 API
Connection: Keep-Alive

Response

HTTP/1.1 200 OK
x-amz-id-2: JuKZqmXuiwFeDQxhD7M8KtsKobSzWA1QEjLbTMTagkKdBX2z7Il/jGhDeJ3j6s80 x-
amz-request-id: 32FE2CEB32F5EE25
Date: Fri, 10 2012 21:34:56 GMT
Server: AmazonS3

Special errors
The operation returns a 200 OK if the bucket exists and you have permission to access it. Otherwise,
the operation might return responses such as 404 Not Found or 403 Forbidden.
Related operations
2.6.19 GET Bucket Versioning
close section

close section

2.8 List Bucket Operations


2.8.1 List Bucket Analytics Configurations
This operation is not supported in the ActiveScale S3 API.
Further information about the List Bucket Analytics Configurations operation is found on the
following Amazon API Reference page.
[Link] [Link]
close section

2.8.2 List Bucket Inventory Configurations


This operation is not supported in the ActiveScale S3 API.
Further information about the List Bucket Inventory Configurations operation is found on the
following Amazon API Reference page.
[Link] [Link]
close section

2.8.3 List Bucket Metrics Configurations


This operation is not supported in the ActiveScale S3 API.
Further information about the List Bucket Metrics Configurations operation is found on the
following Amazon API Reference page.
[Link] [Link]
close section

close section

2.9 PUT Bucket Operations


2.9.1 PUT Bucket
Create a new bucket.
Permissions
[Link] 47/150
20:24 25/5/26 ActiveScale Management S3 API
These permissions are needed to create buckets:
s3:CreateBucket
s3:PutBucketAcl (or WRITE_ACP ACL) for x-amz-acl and x-amz-grant-* headers
s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning for enabling object lock
via the x-amz-bucket-object-lock-enabled header.
Must be an authenticated identity (not anonymous).
Requests
Syntax

PUT / HTTP/1.1
Host: [Link]
Date: date
Authorization: authorization string
<?xml version="1.0" encoding="UTF-8"?>
<CreateBucketConfiguration xmlns="[Link]
...
</CreateBucketConfiguration>

Note: The xml portion of the preceding operation is not required.

Parameters
None.
Headers

Table 24: PUT Bucket request headers


>

Header Supported Notes

x-amz-acl Yes None

x-amz-bucket-object-lock-
enabled Yes None

EmailAddress, ID, and URI are fully supported.


x-amz-grant-read Yes [Link]
is not supported.

EmailAddress, ID, and URI are fully supported.


x-amz-grant-write Yes [Link]
is not supported.

.EmailAddress, ID, and URI are fully


x-amz-grant-read-acp supported.
Yes
[Link]
is not supported.

EmailAddress, ID, and URI are fully supported.


x-amz-grant-write-acp Yes [Link]
is not supported.
[Link] 48/150
20:24 25/5/26 ActiveScale Management S3 API

Header Supported Notes

EmailAddress, ID, and URI are fully supported.


x-amz-grant-full-control Yes [Link]
is not supported.
Only CRC32, CRC32C, SHA1, SHA256 are
x-amz-checksum-* Yes
supported.

Elements

Table 25: PUT Bucket request elements

Element Supported Notes

CreateBucketConfiguration Yes None

LocationConstraint The LocationConstraint


Yes
element is ignored.

Responses
Headers
None.
Elements
None.
Sample request and response
This example creates the colorpictures bucket. The response returns a 200 OK, which means the
request was successful. The response also lists the location of the bucket.
Request

PUT / HTTP/1.1
Host: [Link] Content-Length: 0
Date: Wed, 01 Mar 2006 12:00:00 GMT
Authorization: authorization string

Response

HTTP/1.1 200 OK
x-amz-id-2: YgIPIfBiKa2bj0KMg95r/0zo3emzU4dzsD4rcKCHQUAdQkf3ShJTOOpXUueF6QKo x-
amz-request-id: 236A8905248E5A01
Date: Wed, 01 Mar 2006 12:00:00 GMT
Location: /colorpictures
Content-Length: 0
Connection: close
Server: AmazonS3

[Link] 49/150
20:24 25/5/26 ActiveScale Management S3 API
Special errors
For buckets in region us-east-1, Amazon S3 allows the use of PUT Bucket to change the ACL of an
existing bucket owned by you. For buckets in different regions, Amazon S3 responds with HTTP 409
Conflict and the S3 error code BucketAlreadyOwnedByYou. Only the latter response is supported.
Related operations
2.15.1 PUT Object
2.5.1 DELETE Bucket
close section

2.9.2 PUT Bucket Accelerate


This operation is not supported in the ActiveScale S3 API.
Further information about the PUT Bucket accelerate operation is found on the following Amazon
API Reference page.
[Link]
close section

2.9.3 PUT Bucket ACL


Set the permissions for an existing bucket using the ACL.
Permissions
The s3:PutBucketAcl (or WRITE_ACP ACL) permission is needed to put bucket ACL.
Requests
Syntax

PUT /?acl HTTP/1.1


Host: bucket [Link]
Date: date
Authorization: authorization string
<AccessControlPolicy>
<Owner>
<ID>ID</ID>
<DisplayName>EmailAddress</DisplayName>
</Owner>
<AccessControlList>
<Grant>
<Grantee xmlns:xsi="[Link]
xsi:type="CanonicalUser">
<ID>ID</ID>
<DisplayName>EmailAddress</DisplayName>
</Grantee>
<Permission>Permission</Permission>
</Grant>
</AccessControlList>

[Link] 50/150
20:24 25/5/26 ActiveScale Management S3 API
</AccessControlPolicy>

Parameters
None.
Headers

Table 26: PUT Bucket acl request headers

Header Supported Notes

x-amz-acl Yes None

EmailAddress, ID, and URI are fully supported.


x-amz-grant-read Yes [Link] is not
supported.

x-amz-grant- EmailAddress, ID, and URI are fully supported.


write Yes [Link] is not
supported.

x-amz-grant- EmailAddress, ID, and URI are fully supported.


read-acp Yes [Link] is not
supported.

x-amz-grant- EmailAddress, ID, and URI are fully supported.


write-acp Yes [Link] is not
supported.

x-amz-grant- EmailAddress, ID, and URI are fully supported.


full-control Yes [Link] is not
supported.

x-amz-checksum-* Yes Only CRC32, CRC32C, SHA1, SHA256 are supported.

Elements

Table 27: PUT Bucket acl request elements

Element Supported Notes

AccessControlList Yes None

AccessControlPolicy Yes None

DisplayName Yes None

Grant Yes None

Grantee URI at [Link]


Yes
LogDelivery is not supported.

ID Yes None

Owner Yes None

Permission Yes None

[Link] 51/150
20:24 25/5/26 ActiveScale Management S3 API
Responses
Headers
None.
Elements
None.
Sample request and response
This example sets the permissions for the examplebucket bucket. The response returns a 200 OK,
which means the request was successful.
Request

PUT ?acl HTTP/1.1


Host: [Link]
x-amz-date: Sun, 29 Apr 2012 22:00:57 GMT
x-amz-grant-write: uri="[Link]
emailAddress="xyz@[Link]"
x-amz-grant-read: uri="[Link] Accept:
*/*
Authorization: authorization string

Response

HTTP/1.1 200 OK
x-amz-id-2: 0w9iImt23VF9s6QofOTDzelF7mrryz7d04Mw23FQCi4O205Zw28Zn+d340/RytoQ x-
amz-request-id: A6A8F01A38EC7138
Date: Sun, 29 Apr 2012 22:01:10 GMT
Content-Length: 0
Server: AmazonS3

Special errors
None.
Related operations
2.9.1 PUT Bucket
2.5.1 DELETE Bucket
close section

2.9.4 PUT Bucket Analytics


This operation is not supported in the ActiveScale S3 API.
Further information about the PUT Bucket analytics operation is found on the following Amazon API
Reference page.
[Link]
close section

2.9.5 PUT Bucket Cors


This operation is not supported in the ActiveScale S3 API.
[Link] 52/150
20:24 25/5/26 ActiveScale Management S3 API
Further information about the PUT Bucket cors operation is found on the following Amazon API
Reference page.
[Link]
close section

2.9.6 PUT Bucket Inventory


This operation is not supported in the ActiveScale S3 API.
Further information about the PUT Bucket inventory operation is found on the following Amazon API
Reference page.
[Link]
close section

2.9.7 PUT Bucket Lifecycle


Create a new life cycle configuration on the bucket or replaces an existing life cycle configuration.
Permissions
The s3:PutLifecycleConfiguration permission is needed to put lifecycle configuration for a bucket.
Requests
Syntax

PUT /?lifecycle HTTP/1.1


Host: bucket [Link]
Content-Length: length
Date: date
Authorization: authorization string
Content-MD5: MD5Lifecycle configuration in the request body

Parameters
None.
Headers

Table 28: PUT Bucket lifecycle request headers

Header Supported Notes


Content-MD5 Yes This header is required.

x-amz-checksum-* Yes Only CRC32, CRC32C, SHA1, SHA256


are supported.

Elements

Table 29: PUT Bucket lifecycle request elements

Element Supported Notes

AbortIncompleteMultipartUpload No None

[Link] 53/150
20:24 25/5/26 ActiveScale Management S3 API

Element Supported Notes

And No None

Date Yes None

Days Yes None

DaysAfterInitiation No None

This element requires a Days value


Expiration and on a Dates value with an
Yes
ExpiredObjectDeleteMarker
element specified.

ExpiredObjectDeleteMarker Yes None

Filter No None

ID Yes None

Key No None

LifecycleConfiguration Yes None

NewerNoncurrentVersions No None

NoncurrentDays Yes None

NoncurrentVersionExpiration This element requires a


Yes
NoncurrentDays value.

This element requires


NoncurrentDays and
NoncurrentVersionTransition Yes StorageClass value.

Prefix Yes None

Rule Yes None

Status Yes None

StorageClass GLACIER and DEEP_ARCHIVE storage


Yes
classes are only supported in ASCS

Tag No None

Transition This element requires either a Days or


Yes
Date value and StorageClass value
Value No None

Responses
Headers
None.
Elements
None.
[Link] 54/150
20:24 25/5/26 ActiveScale Management S3 API
Limitations
The maximum permissible year value is 9999, which implies maximum allowed Date value is: 9999-
12-31T00:00:00.000.
Addition of time zones after the date is not supported. A date format like
2016-08-18T04:00:00.000+04 is invalid.
Example of Expiration of objects
This sample request creates a life cycle configuration with a rule defined for log expiry. It expires all the
objects that have a prefix “logs/” after 100 days:
Request

PUT /?lifecycle HTTP/1.1


Host: [Link]
Content-Length: 295
Content-MD5: VASqcc61rAZBrn+m2F0z1A==
Date: Mon, 11 Jul 2016 11:34:37 GMT
Authorization: <authorization string>

<?xml version="1.0"?>
<LifecycleConfiguration xmlns="[Link]
<Rule>
<ID>Expire logs after 100 days</ID>
<Prefix>logs/</Prefix>
<Status>Enabled</Status>
<Expiration>
<Days>100</Days>
</Expiration>
</Rule>
</LifecycleConfiguration>

Response

HTTP/1.1 200 OK
x-amz-id-2: ab799629-d4f1-486a-84de-4e6bf12145bfdae08038-4452-4c45-b7f6-
c6ff91a961ff
x-amz-request-id: 04D5996F47C53ECB
Date: Mon, 11 Jul 2016 11:34:37 GMT
Content-Length: 0
Server: Himalaya

Example of Non-Current Version Expiration


When versioning is enabled, objects that are overwritten are not deleted. Instead, the old version is
kept on the system and the new version becomes the current visible version.
To clean up old versions, set a Lifecycle Policy for expiration of non-current versions on the bucket. In
the following example, the policy sets an expiration of 5 days for non-current versions. This means that

[Link] 55/150
20:24 25/5/26 ActiveScale Management S3 API
any 'old' versions will be retained for 5 days and automatically deleted after 5 days have passed. The
'current' (i.e. the newest) version remains untouched.
Request

PUT /?lifecycle HTTP/1.1


Host: <bucket-name>.<host-name>

<?xml version="1.0" encoding="UTF-8"?>


<LifecycleConfiguration xmlns="[Link]
<Rule>
<Status>Enabled</Status>
<Prefix />
<NoncurrentVersionExpiration>
<NoncurrentDays>5</NoncurrentDays>
</NoncurrentVersionExpiration>
<Expiration>
<ExpiredObjectDeleteMarker>true</ExpiredObjectDeleteMarker>
</Expiration>
<ID>5days-noncurrent-object-expiration</ID>
</Rule>
</LifecycleConfiguration>

Response

HTTP/1.1 200 OK
x-amz-id-2: 7d76fa62-59a7-4060-8fa3-a7ba3bf2b523b9225ccc-e647-4e7f-983a-
bf7ea03465f9
Date: Tue, 28 Jul 2020 15:13:57 GMT
Transfer-Encoding: chunked
x-amz-request-id: 68DD2DEBE106C9C2
Server: Quantum-ActiveScale

Example of Transition of Objects


This sample request creates a life cycle configuration with a rule defined for transitioning objects to
Cold Storage. The rule will ensure that all object that have a prefix “cold_storage/” will have their
storage class changed to DEEP_ARCHIVE after 150 days.
Request

PUT /?lifecycle HTTP/1.1


Host: <bucket-name>.<host-name>

<?xml version="1.0" encoding="UTF-8"?>


<LifecycleConfiguration xmlns="[Link]
<Rule>
<Status>Enabled</Status>
[Link] 56/150
20:24 25/5/26 ActiveScale Management S3 API
<Prefix>cold_storage/</Prefix>
<Transition>
<Days>150</Days>
<StorageClass>DEEP_ARCHIVE</StorageClass>
</Transition>
<ID>150days-deep-archive-transition</ID>
</Rule>
</LifecycleConfiguration>

Response

HTTP/1.1 200 OK
Content-Length: 0
Date: Wed, 02 Mar 2022 23:19:11 GMT
Server: Quantum-ActiveScale
x-amz-id-2: 81be954e-cf8a-450d-91cc-b0579a5e4f72f9fe6f8b-1648-47c7-81e8-
8f8e24a31803
x-amz-request-id: 1383DC93CE0B735C

Special errors
None.
Related operations
2.6.6 GET Bucket Lifecycle
2.14.2 POST Object Restore
close section

2.9.8 PUT Bucket Object Lock Configuration


Sets the default lock for a bucket. Further information about the PUT Bucket object lock configuration
operation is found on the following Amazon API Reference page.
[Link]
Permissions
The s3:PutBucketObjectLockConfiguration permission is needed to put object lock configuration
for a bucket.
Requests
Syntax

PUT /?object-lock HTTP/1.1


Host: [Link]
Content-MD5: ContentMD5

<?xml version="1.0" encoding="UTF-8"?>


<ObjectLockConfiguration xmlns="[Link]
<ObjectLockEnabled>string</ObjectLockEnabled>
<Rule>
[Link] 57/150
20:24 25/5/26 ActiveScale Management S3 API
<DefaultRetention>
<Days>integer</Days>
<Mode>string</Mode>
<Years>integer</Years>
</DefaultRetention>
</Rule>
</ObjectLockConfiguration>

Parameters
None.
Headers

Table 30: PUT Bucket object lock configuration request headers

Header Supported Notes

x-amz-checksum-* Yes Only CRC32, CRC32C, SHA1, SHA256


are supported.

Elements

Table 31: PUT Bucket object lock configuration request elements

Element Supported Notes

ObjectLockConfiguration Yes None

ObjectLockEnabled Yes None

Rule Yes None

DefaultRetention Yes None

Days The request must include either the Days or


Yes
Years element, but not both

Years The request must include either the Days or


Yes
Years element, but not both

Mode ActiveScale only supports COMPLIANCE


Yes
mode

Responses
Headers
None.
Elements
None.
Sample request and response
This example sets the default retention period for a bucket. The response returns a 200, which means
the request was successful.
Request

[Link] 58/150
20:24 25/5/26 ActiveScale Management S3 API

PUT /?object-lock HTTP/1.1


Host: [Link]
Content-Length: 220
Content-MD5: uyytnogu94pAxmcZIGcX7g==
Date: 20201029T103439Z
x-amz-content-sha256:
4958e4b8102fc8d1e99912e9ad9e38772351822bc607a4272b9fc82c2dd290ca\rAuthorization:
AWS4-HMAC-SHA256 Credential=AK0B7YPKCQAAJIXNPPU7/20201029/us-east-
1/s3/aws4_request,SignedHeaders=content-length;content-md5;date;host;x-amz-
content-
sha256,Signature=855beaf23051bc866521282b9c35f33d77c387d32d76350a264a19cd41e2f558

<ObjectLockConfiguration>
<ObjectLockEnabled>Enabled</ObjectLockEnabled>
<Rule>
<DefaultRetention>
<Mode>COMPLIANCE</Mode>
<Years>1</Years>
</DefaultRetention>
</Rule>
</ObjectLockConfiguration>

Response

HTTP/1.1 200 OKx-amz-id-2: 9933c1f7-b288-434e-9bcb-de3fee9872b2c5260c0a-714c-


4fc9-a94f-b0ba092e8367
x-amz-request-id: 6B3A0E6B677AF460
Date: Thu, 29 Oct 2020 10:34:39 GMT
Content-Length: 0
Server: Quantum-ActiveScale

Special errors
ActiveScale returns an error if the retention mode is something other than COMPLIANCE.
Related operations
2.9.1 PUT Bucket
2.6.13 GET Bucket Object Lock Configuration
close section

2.9.9 PUT Bucket Logging


This operation is not supported in the ActiveScale S3 API.
Further information about the PUT Bucket logging operation is found on the following Amazon API
Reference page.
[Link]
close section

[Link] 59/150
20:24 25/5/26 ActiveScale Management S3 API

2.9.10 PUT Bucket Metrics


This operation is not supported in the ActiveScale S3 API.
Further information about the PUT Bucket metrics operation is found on the following Amazon API
Reference page.
[Link]
close section

2.9.11 PUT Bucket Policy


Set the permissions for an existing bucket using the bucket policy.
Permissions
These permissions are needed to put bucket policies for a bucket:
s3:PutBucketPolicy
Must be bucket owner (account) or user under that account.
Syntax

PUT /?notification HTTP/1.1


PUT /?policy HTTP/1.1
Host: [Link]
Content-MD5: ContentMD5
Content-Length: ContentLength
Authorization: authorization string
{
"Version": "2012-10-17",
"Statement": {
"Effect":"Allow",
"Principal": {
"AWS":"{{ account_id }}"
},
"Action":"*",
"Resource":"arn:aws:s3:::{{ [Link] }}/*"
}
}

Note: The bucket policy size cannot exceed 20480 bytes.

Parameters
None.
Headers

Table 32: PUT Bucket policy request headers


>

[Link] 60/150
20:24 25/5/26 ActiveScale Management S3 API

Supported Notes
This header is not required,
Content-MD5 Yes
but recommended to be set.
In ActiveScale the bucket
x-amz-confirm-remove-self-bucket-
No access cannot be revoked
access
from the owner account.

x-amz-expected-bucket-owner No None.

Only CRC32, CRC32C, SHA1,


x-amz-checksum-* Yes
SHA256 are supported.

Elements

Table 33: PUT Bucket policy request elements


>

Header Supported Notes


Only version “2012-10-17” is
supported by ActiveScale IAM. For
Version Yes
more information on IAM version
refer to the AWS documentation.
Id Yes (optional) Policy Identifier
Multiple statements ([ {..}, {..} ]) or a
Statement Yes
single statement ({..}).
Allow or Deny the actions in the
[Link] Yes
statement.

Supported principal types:


*: all principals (including
anonymous)

[Link] Yes AWS: account root user by arn


(no wildcards), IAM user by arn
(no wildcards), account
identifier, *

CanonicalUser: account root


user by account canonical id
[Link] Yes Refer to [Link]
(optional) Policy Statement
[Link] Yes
Identifier

*
[Link] Yes
An action in Supported Actions
(may include wildcards)
[Link] Yes Refer to Action

[Link] 61/150
20:24 25/5/26 ActiveScale Management S3 API

Header Supported Notes

Supported resource types :


S3 bucket ARN: needs to be for
the bucket to which the bucket
policy is applied - ie.
"arn:aws:s3:::{{bucket_name}}"

S3 object ARN: needs to be


[Link] Yes scoped to the bucket to which
the bucket policy is applied - ie.
"arn:aws:s3:::
{{bucket_name}}/{{object_path}}"
(the object path can contain
wildcards)
Note: Policy Variables are
supported from ActiveScale
7.1
[Link] Yes Refer to Resource
Supported from ActiveScale 7.1
[Link] Yes
and above.

Responses
Headers
None.
Elements
None.
Sample request and response
This example sets the permissions for the examplebucket bucket and allows the account with
identifier 391107088064 to put and get objects. The response returns a 204 No Content, which
means the request was successful.
Request

PUT /?policy HTTP/1.1


Host: [Link]
Content-MD5: tpu0L/pNnFeBq4KdxwkOSA==
Content-Length: 248
Date: 20240302T123525Z
x-amz-content-sha256:
fae0b1bacc4702b16ad4acebdd670d1a4d47925a18b07d4556603aeec691899e\r
Authorization: authorization string
{
"Version": "2012-10-17",
"Statement": {
"Effect":"Allow",
"Principal": {
"AWS":"391107088064"

[Link] 62/150
20:24 25/5/26 ActiveScale Management S3 API
},
"Action":["s3:PutObject","s3:GetObject"],
"Resource":"arn:aws:s3:::examplebucket/*"
}
}

Response

HTTP/1.1 204 No Content


Date: Sat, 02 Mar 2024 12:35:27 GMT
Server: AmazonS3
x-amz-id-2:
q3jSYIqYT8erIKiTVCDC4Hl1ggK2+Hl8RBxBWcM5pqnEQgaIl0N2Ap90ds2pxjLVAzCvgUg1hEo=
x-amz-request-id: KSYSZKJ1MQZNS613

Special errors

Error Code Description HTTP Status


Code
Normalized policy document exceeds the maximum allowed size of 400 Bad
MalformedPolicy 20480 bytes. Request

Policies must be valid JSON and the first byte must be '{'. 400 Bad
MalformedPolicy
Request

This policy contains invalid Json. 400 Bad


MalformedPolicy
Request

The policy must contain a valid version string. 400 Bad


MalformedPolicy
Request

Could not parse the policy: Statement is empty! 400 Bad


MalformedPolicy
Request

Missing required field <instance_name>

Instance names:
Action 400 Bad
MalformedPolicy
Principal Request

Statement
Resource

Could not parse the policy: Statement is not well formatted. 400 Bad
MalformedPolicy
Request

Invalid policy syntax. 400 Bad


MalformedPolicy
Request

Invalid effect: <effect>. 400 Bad


MalformedPolicy
Request

[Link] 63/150
20:24 25/5/26 ActiveScale Management S3 API

Error Code Description HTTP Status


Code

Missing required field <instance_name> cannot be empty

Instance names:
400 Bad
MalformedPolicy Principal
Request
Action

Resource

Statement/policy already has instance of <instance_name>

Instance names:

Version
Id

Effect 400 Bad


MalformedPolicy
Statement Request

Sid

Principal

Action
Resource
400 Bad
MalformedPolicy Invalid principal in policy.
Request

Policy has invalid <instance_name>

Instance names: 400 Bad


MalformedPolicy
Action Request

Resource

Action does not apply to any resource(s) in statement. 400 Bad


MalformedPolicy
Request
400 Bad
MalformedPolicy Allow with NotPrincipal is not allowed.
Request
Conditions do not apply to combination of actions and resources in 400 Bad
MalformedPolicy
statement. Request
Unsatisfiable combination of condition keys for combination of action 400 Bad
MalformedPolicy
and resource(s) in statement. Request
400 Bad
MalformedPolicy Policy has an invalid condition key.
Request
400 Bad
MalformedPolicy Invalid condition prefix: <condition_operator_qualifier>
Request
400 Bad
MalformedPolicy Invalid Condition type : <condition_operator>
Request
400 Bad
MalformedPolicy Policy contains one or more invalid variable declarations.
Request
400 Bad
MalformedPolicy Invalid IP address in Conditions.
Request
Value used for ARN condition is incorrect type: STRING string: " 400 Bad
MalformedPolicy
<arn_condition_value>”. Request

[Link] 64/150
20:24 25/5/26 ActiveScale Management S3 API
Related operations
2.6.15 GET Bucket Policy
2.5.7 DELETE Bucket Policy
close section

2.9.12 PUT Bucket Notification


Create a new notification configuration or replace an existing one.
Permissions
The s3:PutBucketNotification permission is needed to put notification configuration for a bucket.
Syntax

PUT /?notification HTTP/1.1


Host: [Link]
Date: date
Authorization: authorization string

<NotificationConfiguration>
<TopicConfiguration>
<Id>TopicId</Id>
<Event>EventType</Event>
<Topic>TopicARN</Topic>
</TopicConfiguration>
</NotificationConfiguration>

The format of <Topic> tag in ActiveScale is as follows: arn:aws:sns:<region>:


<KafkadestinationId>:<topic name>. The default region for ActiveScale is us-east-1.
Parameters
None.
Headers

Table 34: PUT Bucket notification request headers


>

Header Supported Notes


Only CRC32, CRC32C, SHA1,
x-amz-checksum-* Yes
SHA256 are supported.

Elements
None.
Sample Request and Response
Request

<NotificationConfiguration>
<TopicConfiguration>

[Link] 65/150
20:24 25/5/26 ActiveScale Management S3 API
<Id>TopicId</Id>
<Event>s3:ObjectCreated:*</Event>
<Topic>arn:aws:sns:us-east-1:1:TopicName</Topic>
</TopicConfiguration>
</NotificationConfiguration>

Response

HTTP/1.1 200 OK
x-amz-id-2: r+qR7+nhXtJDDIJ0JJYcd+1j5nM/rUFiiiZ/fNbDOsd3JUE8NWMLNHXmvPfwMpdc x-
amz-request-id: 9E26D08072A8EF9E
Date: Wed, 24 Jun 2019 02:11:22 GMT
Content-Length: 0
Server: AmazonS3

Differences with AWS


A system-wide notification policy is required with appropriate topic destination information with
status ENABLED, in order to be able to put a new bucket notification configuration. This should be
done with the ASCLI.
Only Notification configurations with Topic Configurations are supported. Cloud function
configurations (CloudFunctionConfiguration) and/or queue configurations (QueueConfiguration) are
not supported.
If filter rules are specified in a topic configuration, only the empty prefix and/or empty suffix are
allowed.
Related operations
2.6.12 GET Bucket Notification
close section

2.9.13 PUT Bucket Replication


Create a new replication configuration or to replace an existing one.
The configuration is stored in a replication sub-resource associated with the bucket. If a replication sub-
resource does not exist, it is created. If it does exist, the new configuration replaces the configuration
that is currently stored in the sub-resource.
ActiveScale cannot validate the destination bucket.
ActiveScale cannot compare the access control translation account with the account of the
destination bucket owner.
ActiveScale does not support access control translation.
ActiveScale does not support replication of encrypted objects with AWS KMS-managed encryption
keys.
ActiveScale only supports one replication configuration rule.
ActiveScale only allows empty rule prefixes.
Permissions
The s3:PutReplicationConfiguration permission is needed to put replication configuration for a
bucket.
Requests
Syntax

[Link] 66/150
20:24 25/5/26 ActiveScale Management S3 API

PUT /?replication HTTP/1.1


Host: bucket [Link]
Content-Length: length
Date: date
Authorization: authorization string
Content-MD5: MD5

Parameters
None.
Headers

Table 35: PUT Bucket replication request headers


>

Header Supported Notes


Only CRC32, CRC32C, SHA1,
x-amz-checksum-* Yes
SHA256 are supported.

Elements
None.
Responses
Headers
None.
Elements
None.
Sample request and response
Request

PUT /?replication HTTP/1.1


Host: [Link]
Date: Wed, 11 Jun 2019 02:11:21 GMT
Content-MD5: q6yJDlIkcBaGGfb3QLY69A==
Authorization: authorization string
Content-Length: 406
<ReplicationConfiguration>
<Role>arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3</Role>
<Rule>
<ID>rule1</ID>
<Prefix>TaxDocs</Prefix>
<Status>Enabled</Status>
<Destination>
<Bucket>arn:aws:s3:::exampletargetbucket</Bucket>
</Destination>
[Link] 67/150
20:24 25/5/26 ActiveScale Management S3 API
</Rule>
</ReplicationConfiguration>

Response

HTTP/1.1 200 OK
x-amz-id-2: r+qR7+nhXtJDDIJ0JJYcd+1j5nM/rUFiiiZ/fNbDOsd3JUE8NWMLNHXmvPfwMpdc
x-amz-request-id: 9E26D08072A8EF9E
Date: Wed, 11 Jun 2019 02:11:22 GMT
Content-Length: 0
Server: AmazonS3

Special errors
ActiveScale returns a special error if replication is not enabled.
Related operations
2.6.16 GET Bucket Replication
2.5.8 DELETE Bucket Replication
close section

2.9.14 PUT Bucket requestPayment


This operation is not supported in the ActiveScale S3 API.
Further information about the PUT Bucket requestPayment operation is found on the following
Amazon API Reference page.
[Link]
close section

2.9.15 PUT Bucket Tagging


This operation is not supported in the ActiveScale S3 API.
Further information about the PUT Bucket tagging operation is found on the following Amazon API
Reference page.
[Link]
close section

2.9.16 PUT Bucket Versioning


Set the versioning state of an existing bucket.
Permissions
The s3:PutBucketVersioning permission is needed to put versioning configuration for a bucket.
Requests
Syntax

PUT /?versioning HTTP/1.1


Host: [Link]
Date: date

[Link] 68/150
20:24 25/5/26 ActiveScale Management S3 API
Authorization: authorization string
<VersioningConfiguration xmlns="[Link]
...
</VersioningConfiguration>

Parameters
None.
Headers

Table 36: PUT Bucket versioning request headers

Header Supported Notes


x-amz-mfa No This header is not supported.

x-amz-checksum-* Yes Only CRC32, CRC32C, SHA1, SHA256 are


supported.

Elements

Table 37: PUT Bucket versioning request elements

Element Supported Notes


VersioningConfiguration Yes None

Status Yes None

MfaDelete No None

Responses
Headers
None.
Elements
None.
Sample request and response
This example sets the versioning status of the bucket to suspended. The response returns a 200 OK,
which means the request was successful and the versioning status has been set to suspended.
Request

PUT /?versioning HTTP/1.1 Host: [Link]


Date: Wed, 12 Oct 2009 17:50:00 GMT
Authorization: authorization string
Content-Type: text/plain
Content-Length: 124
<VersioningConfiguration xmlns="[Link]

[Link] 69/150
20:24 25/5/26 ActiveScale Management S3 API
<Status>Suspended</Status>
</VersioningConfiguration>

Response

HTTP/1.1 200 OK
x-amz-id-2: YgIPIfBiKa2bj0KMg95r/0zo3emzU4dzsD4rcKCHQUAdQkf3ShJTOOpXUueF6QKo x-
amz-request-id: 236A8905248E5A01
Date: Wed, 01 March 2006 12:00:00 GMTSpecialerrors

None.
Related operations
2.5.1 DELETE Bucket
2.9.1 PUT Bucket
close section

2.9.17 PUT Bucket Website


This operation is not supported in the ActiveScale S3 API.
Further information about the PUT Bucket website operation is found on the following Amazon API
Reference page.
[Link]
close section

close section

2.10 DELETE Object Operations


2.10.1 DELETE Multiple Objects
Delete multiple objects from a bucket.
Permissions
These permissions are needed to delete objects:
s3:DeleteObject (or WRITE ACL) for each object for which [Link] is not
provided.
s3:DeleteObjectVersion for each object for which [Link] is provided.
Requests
Syntax

POST /?delete HTTP/1.1


Host: [Link] Date: date
Authorization: authorization string
Content-Length: length
Content-MD5: content-md5
<?xml version="1.0" encoding="UTF-8"?>
<Delete>

[Link] 70/150
20:24 25/5/26 ActiveScale Management S3 API
...
</Delete>

Parameters

Table 38: DELETE Multiple Objects request parameters

Parameter Supported Notes

delete Yes None

Headers

Table 39: DELETE Multiple Objects request headers

Parameter Supported Notes

Content-MD5 Yes This header is required.

Content-Length Yes This header is required.

x-amz-mfa No This header is not supported.


Only CRC32, CRC32C, SHA1,
x-amz-checksum-* Yes
SHA256 are supported.

Elements

Table 40: DELETE Multiple Objects request elements

Parameter Supported Notes


Delete Yes None

Quiet Yes None

Object Yes None

Key Yes None

VersionId Yes None

Responses
Headers
None.
Elements

Table 41: DELETE Multiple Objects response elements

Parameter Supported Notes

DeleteResult Yes None

[Link] 71/150
20:24 25/5/26 ActiveScale Management S3 API

Parameter Supported Notes

Deleted Yes None

Key Yes None

VersionId Yes None

DeleteMarker Yes None

DeleteMarkerVersionId Yes None

Error Yes None

Code Yes None

Message Yes None

Sample request and response


This example deletes the [Link] and [Link] files from the bucketname bucket. The
response returns a 204 No Content, which means the request was successful and the two files are
deleted out of the bucketname bucket.
Request

POST /?delete HTTP/1.1


Host: [Link] Accept: */*
x-amz-date: Wed, 30 Nov 2011 03:39:05 GMT Content-MD5: p5/WA/oEr30qrEEl21PAqw==
Authorization: AWS AKIAIOSFODNN7EXAMPLE:W0qPYCLe6JwkZAD1ei6hp9XZIee= Content-
Length: 125
Connection: Keep-Alive
<Delete>
<Object>
<Key>[Link]</Key>
</Object>
<Object>
<Key>[Link]</Key>
</Object>
</Delete>

Response

HTTP/1.1 200 OK
x-amz-id-2: 5h4FxSNCUS7wP5z92eGCWDshNpMnRuXvETa4HH3LvvH6VAIr0jU7tH9kM7X+njXx x-
amz-request-id: A437B3B641629AEE
Date: Fri, 02 Dec 2011 01:53:42 GMT
Content-Type: application/xml Server: Himalaya
Content-Length: 251
[Link] 72/150
20:24 25/5/26 ActiveScale Management S3 API
<?xml version="1.0" encoding="UTF-8"?>
<DeleteResult xmlns="[Link]
<Deleted>

Special errors
None.
Related operations
2.16.3 Initiate Multipart Upload
2.16.6 Upload Part
2.16.2 Complete Multipart Upload
close section

2.10.2 DELETE Object


Delete a single object.
Options
To remove a specific version, you must use the versionId sub-resource. Using this subresource
permanently deletes the version. If the object deleted is a delete marker, S3 sets the response header
x-amz-delete-marker to true.
Permissions
These permissions are needed to delete objects:
s3:DeleteObject (or WRITE ACL) if versionId is not provided.
s3:DeleteObjectVersion if versionId is provided.
Requests
Syntax

DELETE /objectname HTTP/1.1


Host: [Link]
Date: date
Authorization: authorization string

Parameters
None.
Headers

Table 42: DELETE Object request headers

Header Supported Notes


x-amz-mfa No This header is not supported.

Elements
None.
Responses

[Link] 73/150
20:24 25/5/26 ActiveScale Management S3 API
Headers

Table 43: DELETE Object response headers

Header Supported Notes

x-amz-delete-marker Yes None

x-amz-version-id Yes None

Elements
None.
Sample request and response
This example deletes the [Link] file from the bucket bucket. The response returns a
204 No Content, which means the request was successful and the file are deleted out of the bucket
bucket.
Request

DELETE /[Link] HTTP/1.1


Host: [Link]
Date: Wed, 12 Oct 2009 17:50:00 GMT
Authorization: authorization string
Content-Type: text/plain

Response

HTTP/1.1 204
x-amz-id-2: LriYPLdmOdAiIfgSm/F1YsViT1LW94/xUQxMsF7xiEb1a0wiIOIxl+zbwZ163pt7 x-
amz-request-id: 0A49CE4060975EAC
Date: Wed, 12 Oct 2009 17:50:00 GMT
Content-Length: 0
Connection: close
Server: Himalaya

Special errors
None.
Related operations
2.15.1 PUT Object
2.10.1 DELETE Multiple Objects
close section

2.10.3 DELETE Object Tagging


This operation is not supported in the ActiveScale S3 API.
Further information about the DELETE Object tagging operation is found on the following Amazon
API Reference page.
[Link] 74/150
20:24 25/5/26 ActiveScale Management S3 API
[Link]
close section

close section

2.11 GET Object Operations


2.11.1 GET Object
Get the current version number of an object.
Options
By default, the GET Object operation returns the current version of an object. To return a different
version, use the versionId subresource.
Permissions
These permissions are needed to get objects:
s3:GetObject (or READ ACL) if versionId is not provided.
s3:GetObjectVersion (or READ ACL) if versionId is provided.
Optional : s3:ListBucket (or READ ACL) to get a 404 instead of 403 if the object isn't found.
Optional : s3:GetObjectRetention to return object lock info in x-amz-object-lock-* headers.
Optional : s3:GetObjectversion (or READ ACL) if versionId is not provided to return x-amz-
version-id header.
Requests
Syntax

GET /objectname HTTP/1.1


Host: [Link]
Date: date
Authorization: authorization string

Parameters

Table 44: GET Object request parameters

Parameter Supported Notes

This parameter is stored and


response-cache-control returned in a response header for
Yes
the GET Object and HEAD
Object operations.

This parameter is stored and


response-content-disposition returned in a response header for
Yes
the GET Object and HEAD
Object operations.

This parameter is stored and


response-content-encoding returned in a response header for
Yes
the GET Object and HEAD
Object operations.

[Link] 75/150
20:24 25/5/26 ActiveScale Management S3 API

Parameter Supported Notes

This parameter is stored and


response-content-language returned in a response header for
Yes
the GET Object and HEAD
Object operations.

This parameter is stored and


response-content-type returned in a response header for
Yes
the GET Object and HEAD
Object operations.

This parameter is stored and


response-expires returned in a response header for
Yes
the GET Object and HEAD
Object operations.

This parameter is stored and


versionId returned in a response header for
Yes
the GET Object and HEAD
Object operations.

Headers

Table 45: GET Object request headers

Header Supported Notes

If-Modified-Since Yes None

If-Unmodified-Since Yes None

If-Match Yes None

If-None-Match Yes None

The object is always considered to


be changed. The message 200 OK
If-Range with full content is returned.
Partially
Ignoring this header could cause an
incorrect 206 Partial content
response.

Range Yes None

x-amz-server-side-encryption- This header is not allowed by default.


customer-algorithm No Customer-provided encryption keys
are not supported.

x-amz-server-side-encryption- This header is not allowed by default.


customer-key No Customer-provided encryption keys
are not supported.

x-amz-server-side-encryption- This header is not allowed by default.


customer-key-MD5 No Customer-provided encryption keys
are not supported.
This parameter is allowed, but
x-amz-te x-amz-transfer-encoding No
ignored.

x-amz-checksum-mode Yes None.

[Link] 76/150
20:24 25/5/26 ActiveScale Management S3 API
Elements
None.
Responses
Headers

Table 46: GET Object response headers

Headers Supported Notes

Cache-Control Yes None

Content-Disposition Yes None

Content-Encoding Yes None

Content-Language Yes None

Content-Type Yes None

Expires Yes None

x-amz-delete-marker Yes None

None
x-amz-expiration Yes

x-amz-object-lock-mode Yes None

x-amz-object-lock-retain-until-
date Yes None

None
x-amz-meta-* Yes

x-amz-replication-status Yes None

Requires
x-amz-restore-expiry-days None
Cold Storage

Requires
x-amz-restore-request-date None.
Cold Storage

Requires
x-amz-restore-tier None
Cold Storage

Requires
x-amz-restore None
Cold Storage

x-amz-server-side-encryption The value AES256 is supported. The


Yes
value aws:kms is not supported.

x-amz-server-side-encryption- The encryption algorithm aws:kms is


aws-kms-key-id N/A
not supported.

[Link] 77/150
20:24 25/5/26 ActiveScale Management S3 API

Headers Supported Notes

x-amz-server-side-encryption- Customer-provided encryption keys


customer-algorithm N/A
are not supported.

x-amz-server-side-encryption- Customer-provided encryption keys


customer-key-MD5 N/A
are not supported.

x-amz-storage-class Yes None

x-amz-tagging-count N/A Object tagging is not supported

x-amz-version-id Yes None

x-amz-website-redirect-location Yes None

x-amz-te The header will not be returned, even


No if the x-amzte request header was
x-amz-transfer-encoding set.

x-amz-checksum-* Yes None

x-amz-checksum-type No None

Elements

Table 47: GET Object response elements

Element Supported Notes


Cache-Control
Yes None
Content-Disposition
Yes None
Key
Yes None
VersionID
Yes None
DeleteMarker
Yes None
DeleteMarkerVersionId
Yes None
Error
Yes None
Code
Yes None
Message
Yes None

Sample request and response


This example retrieves the version number of [Link] in the bucket bucket. The response
returns a 200OK, which means the request was successful. The response also returns the version
number.
Request

GET /[Link] HTTP/1.1


Host: [Link]

[Link] 78/150
20:24 25/5/26 ActiveScale Management S3 API
Date: Mon, 3 Oct 2016 22:32:00 GMT
Authorization: authorization string

Response

HTTP/1.1 200 OK
x-amz-id-2: eftixk72aD6Ap51TnqcoF8eFidJG9Z/2mkiDFu8yU9AS1ed4OpIszj7UDNEHGran x-
amz-request-id: 318BC8BC148832E5
Date: Mon, 3 Oct 2016 22:32:00 GMT
Last-Modified: Wed, 12 Oct 2009 17:50:00 GMT
ETag: "fba9dede5f27731c9771645a39863328"
Content-Length: 434234 [434234 bytes of object data]

Special errors

Error code Description HTTP Status code

The object is stored on Cold


Storage and must be
InvalidObjectState restored (see 2.14.2 POST 403 Forbidden
Object Restore) before GET
requests can be issued.

Related operations
2.17.1 GET Service
2.11.2 GET Object ACL
close section

2.11.2 GET Object ACL


Get the access control list (ACL) of an object.
Because object owners and object ACLs are not supported, this operation maps to GET Bucket acl
and returns the bucket owner and the bucket ACL. The bucket owner and the bucket ACL are
effectively the object owner and the object ACL.
Permissions
These permissions are needed to get object ACL:
s3:GetObjectAcl (or READ_ACP ACL) if versionId is not provided.
s3:GetObjectVersionAcl (or READ_ACP ACL) if versionId is provided.
Optional : s3:ListBucket (or READ ACL) to get a 404 instead of 403 if the object isn't found.
Requests
Syntax

GET /objectname?acl HTTP/1.1


Host: [Link]
Date: date

[Link] 79/150
20:24 25/5/26 ActiveScale Management S3 API
Authorization: authorization string

Parameters

Table 48: GET Object acl request parameters

Parameter Supported Notes

versionID This parameter is stored and returned in a response


Yes
header for GET Objectand HEAD Objectoperations.

Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements

Table 49: Object acl response elements

Element Supported Notes

AccessControlList Yes None

AccessControlPolicy Yes None

DisplayName Yes None

Grant Yes None

Grantee Yes None

ID Yes None

Owner Yes None

Permission Yes None

Sample request and response


This request retrieves the access control list for [Link] in the bucket bucket. The response
returns a 200 OK, which means the request was successful. The response also returns the access
control list details.
Request

GET /[Link]?acl HTTP/1.1


Host: [Link]
Date: Wed, 28 Oct 2009 22:32:00 GMT

[Link] 80/150
20:24 25/5/26 ActiveScale Management S3 API
Authorization: authorization string

Response

HTTP/1.1 200 OK
x-amz-id-2: eftixk72aD6Ap51TnqcoF8eFidJG9Z/2mkiDFu8yU9AS1ed4OpIszj7UDNEHGran x-
amz-request-id: 318BC8BC148832E5

x-amz-version-id: 4HL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nrjfkd Date:


Wed, 28 Oct 2009 22:32:00 GMT

Last-Modified: Sun, 1 Jan 2006 12:00:00 GMT


Content-Length: 124 Content-Type: text/plain Connection: close Server: Himalaya

<AccessControlPolicy>
<Owner>

<ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>

<DisplayName>mtd@[Link]</DisplayName>
</Owner>

<AccessControlList>

<Grant>
<Grantee xmlns:xsi="[Link]
xsi:type="CanonicalUser">

<ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>

<DisplayName>mtd@[Link]</DisplayName>
</Grantee>

<Permission>FULL_CONTROL</Permission>
</Grant>

</AccessControlList>

</AccessControlPolicy>

Special errors
None.
Related operations
2.11.1 GET Object
2.15.1 PUT Object
2.10.2 DELETE Object
close section

2.11.3 GET Object Retention


Requests to an object’s retention settings. Further information about the GET Object retention
operation is found on the following Amazon API Reference page.
[Link]
Permissions

[Link] 81/150
20:24 25/5/26 ActiveScale Management S3 API
These permissions are needed to get object retention:
s3:GetObjectRetention
Optional : s3:ListBucket (or READ ACL) to get a 404 instead of 403 if the object isn't found.
Requests
Syntax

GET /objectname?retention&versionId=versionID HTTP/1.1


Host: [Link]
Date: date
Authorization: authorization string

Parameters

Table 50: GET Object retention request parameters

Parameter Supported Notes


VersionID Yes Optional

Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements

Table 51: GET Object retention response elements

Element Supported Notes

Retention Yes None

Mode Yes None

RetainUntilDate Yes None

Sample request and response


This example requests the default retention period for a bucket. The response returns a 200, which
means the request was successful.
Request

GET /objectname?retention HTTP/1.1


Host: [Link]

[Link] 82/150
20:24 25/5/26 ActiveScale Management S3 API
Content-Length: 0
Date: 20201029T102545Z
x-amz-content-sha256:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Authorization: AWS4-HMAC-SHA256 Credential=AK0B7YPKCQAAJIXNPPU7/20201029/us-
east-1/s3/aws4_request,SignedHeaders=content-length;date;host;x-amz-content-
sha256,Signature=92192e28c486c113f2ab593e446edc6cd5aaf023a4a5eb8a4c0c6cd121f039f3

Response

HTTP/1.1 200 OKx-amz-id-2: 9933c1f7-b288-434e-9bcb-de3fee9872b2c5260c0a-714c-


4fc9-a94f-b0ba092e8367
x-amz-request-id: A74F26F74FB9CA4A
Date: Thu, 29 Oct 2020 10:25:45 GMT
Transfer-Encoding: chunked
Server: Quantum-ActiveScale

<?xml version="1.0" encoding="UTF-8"?>


<Retention xmlns="[Link]
<Mode>COMPLIANCE</Mode>
<RetainUntilDate>2030-07-16T12:34:56.000Z</RetainUntilDate>
</Retention>

Special errors
None.
Related operations
ActiveScale Management S3 API
close section

2.11.4 GET Object Tagging


This operation is not supported in the ActiveScale S3 API.
Further information about the GET Object tagging operation is found on the following Amazon API
Reference page.
[Link]
close section

2.11.5 GET Object Torrent


This operation is not supported in the ActiveScale S3 API.
Further information about the GET Object torrent operation is found on the following Amazon API
Reference page.
[Link]
close section

close section

[Link] 83/150
20:24 25/5/26 ActiveScale Management S3 API

2.12 HEAD Object Operations


2.12.1 HEAD Object
Get the current version of an object.
Options
By default, the HEAD Object operation returns the current version of an object. To return a different
version, use the versionId subresource.
Permissions
These permissions are needed to head objects:
s3:GetObject (or READ ACL) if versionId is not provided.
s3:GetObjectVersion (or READ ACL) if versionId is provided.
Optional : s3:ListBucket (or READ ACL) to get a 404 instead of 403 if the object isn't found.
Optional : s3:GetObjectRetention to return object lock info in x-amz-object-lock-* headers.
Optional : s3:GetObjectversion (or READ ACL) if versionId is not provided to return x-amz-
version-id header.
Requests
Syntax

HEAD /objectname HTTP/1.1


Host: bucket [Link]
Date: date
Authorization: authorization string

Parameters

Table 52: HEAD Object request parameters

Parameter Supported Notes

This parameter is stored and returned in


response-cache-control Yes a response header for GET Object and
HEAD Object operations.

This parameter is stored and returned in


response-content-disposition Yes a response header for GET Object and
HEAD Object operations.

This parameter is stored and returned in


response-content-encoding Yes a response header for GET Object and
HEAD Object operations.

This parameter is stored and returned in


response-content-language Yes a response header for GET Object and
HEAD Object operations.

This parameter is stored and returned in


response-content-type Yes a response header for GET Object and
HEAD Object operations.

[Link] 84/150
20:24 25/5/26 ActiveScale Management S3 API

Parameter Supported Notes

This parameter is stored and returned in


response-expires Yes a response header for GET Object and
HEAD Object operations.

This parameter is stored and returned in


versionId Yes a response header for GET Object and
HEAD Object operations.

Headers

Table 53: HEAD Object request headers

Header Supported Notes

If-Modified-Since Yes None

If-Unmodified-Since Yes None

If-Match Yes None

If-None-Match Yes None

If-Range Partially None

This object is always considered as


changed.
Range Yes 200 OK with full content is
returned. Ignoring this header could
cause an incorrect 206 Partial
Content response.
x-amz-server-side-encryption-
customer-algorithm No None

x-amz-server-side-encryption- By default, this header is not allowed.


customer-key No Customer-provided encryption keys are
not allowed. supported.

x-amz-server-side-encryption- By default, this header is not allowed.


customer-key-MD5 No Customer-provided encryption keys are
not allowed. supported.

x-amz-checksum-mode Yes None

Elements
None.
Responses
Headers

[Link] 85/150
20:24 25/5/26 ActiveScale Management S3 API
Table 54: HEAD Object response headers

Header Supported Notes

Cache-Control Yes None

Content-Disposition Yes None

Content-Encoding Yes None

Content-Language Yes None

Content-Type Yes None

Expires Yes None

x-amz-delete-marker Yes None

x-amz-expiration Yes None

x-amz-meta-* Yes Some limitations apply.

x-amz-missing-meta N/A The SOAP API is not supported.

x-amz-object-lock-mode Yes None

x-amz-object-lock-retain-until-date Yes None

x-amz-replication-status Yes None

Requires
x-amz-restore-expiry-days None
Cold Storage

Requires
x-amz-restore-request-date None
Cold Storage

Requires
x-amz-restore-tier None
Cold Storage

Requires
x-amz-restore None
Cold Storage

The value AES256 is supported.


x-amz-server-side-encryption Yes The value aws:kms is not
supported.

x-amz-server-side-encryption-aws-kms- The encryption algorithm


key-id N/A
aws:kms is not supported.
x-amz-server-side-encryption- Customer-provided encryption
customer-algorithm N/A
keys are not supported.

x-amz-server-side-encryption- Customer-provided encryption


customer-key-MD5 N/A
keys are not supported.

x-amz-storage-class Yes None

x-amz-restore N/A None

[Link] 86/150
20:24 25/5/26 ActiveScale Management S3 API

Header Supported Notes

x-amz-tagging-count N/A Object tagging is not supported.

x-amz-version-id Yes None

x-amz-website-redirect-location Yes None

x-amz-checksum-* Yes None

x-amz-checksum-type No None

Elements
None.
Sample request and response
The request retrieves the version number of [Link] in the bucket bucket. The response returns
a 200 OK, which means the request was successful. The response also returns the version number.
Request

GET /[Link] HTTP/1.1


Host: [Link]
Date: Mon, 3 Oct 2016 22:32:00 GMT
Authorization: authorization string

Response

HTTP/1.1 200 OK
x-amz-id-2: eftixk72aD6Ap51TnqcoF8eFidJG9Z/2mkiDFu8yU9AS1ed4OpIszj7UDNEHGran x-
amz-request-id: 318BC8BC148832E5
Date: Mon, 3 Oct 2016 22:32:00 GMT
Last-Modified: Wed, 12 Oct 2009 17:50:00 GMT ETag:
"fba9dede5f27731c9771645a39863328"
Content-Length: 434234 [434234 bytes of object data]

Special errors
None.
Related operations
2.17.1 GET Service
2.11.2 GET Object ACL
close section

close section

2.13 OPTIONS Object Operations


2.13.1 OPTIONS Object
This operation is not supported in the ActiveScale S3 API.

[Link] 87/150
20:24 25/5/26 ActiveScale Management S3 API
Further information about the OPTIONS Object operation is found on the following Amazon API
Reference page.
[Link]
close section

close section

2.14 POST Object Operations


2.14.1 POST Object
This operation is not supported in the ActiveScale S3 API.
Further information about the POST Object operation is found on the following Amazon API Reference
page.
http:// [Link]/AmazonS3/latest/API/[Link]
close section

2.14.2 POST Object Restore


Request an object stored on ActiveScale Cold Storage (ASCS) to be restored back in ActiveScale as a
temporary copy on disk storage, the original object remains on tape. Refer to the Cold Storage
documentation for more information on the difference between Cold Storage and ActiveScale. Once
this call successfully completes, the object will be scheduled for restore in a background job. When the
background jobs finish, the object will be available for GET Object calls like other regular objects.
Permissions
These permissions are needed to restore objects:
s3:RestoreObject
Optional : s3:ListBucket (or READ ACL) to get a 404 instead of 403 if the object isn't found.
Requests
Syntax

POST /object-name?restore HTTP/1.1


Host: [Link]
Content-Length: content length
Date: date
Range: bytes=42-9000
Authorization: authorization string
<?xml version="1.0" encoding="UTF-8"?>
<RestoreRequest xmlns="[Link]
<Days>1</Days>
<GlacierJobParameters>
<Tier>STANDARD</Tier>
</GlacierJobParameters>
</RestoreRequest>

Parameters
None.
Headers

[Link] 88/150
20:24 25/5/26 ActiveScale Management S3 API
ActiveScale 7.1 and above adds support for the Range header in addition to the common request
headers. See the section Quantum Extensions for more information.

Table 55: POST Object restore request headers


>

Supported Notes
Only CRC32, CRC32C, SHA1,
x-amz-checksum-* Yes
SHA256 are supported.

Elements

Element Supported Notes

RestoreRequest Requires Cold Storage None

Days Requires Cold Storage None

GlacierJobParameters Requires Cold Storage None

Supported values:
Tier Requires Cold Storage Standard, Bulk,
Expedited

Note: The call is only permitted for objects with storage class GLACIER or DEEP_ARCHIVE
which are not currently restoring. Refer to the Cold Storage documentation for more information.
Responses
Headers
This operation uses common response headers only.
Sample request and response
The following tables show a request example and a response example for the POST Object restore
operation. This sample will restore the object with object name object-name in a bucket called bucket-
name from Cold Storage for one day on the disk storage. The response returns a 202 Accepted,
meaning that the request has been successfully accepted; the actual restore will happen at some point
in the future.
Requests

POST /object-name?restore HTTP/1.1


Host: [Link]
Content-Length: content length
Date: date
Authorization: authorization string

<?xml version="1.0" encoding="UTF-8"?>


<RestoreRequest xmlns="[Link]
<Days>1</Days>
</RestoreRequest>

[Link] 89/150
20:24 25/5/26 ActiveScale Management S3 API
Response

HTTP/1.1 202 Accepted


Content-Length: 0
Date: date
Server: Quantum-ActiveScale
x-amz-id-2: host identifier
x-amz-request-id: request ID

Elements

Element Supported Notes


RestoreAlreadyInProgress The object has already been 409
scheduled for restore Conflict

Quantum Extensions
ActiveScale 7.1 and above adds a Quantum extension to the S3 Post Object Restore API. ActiveScale
ASCS systems now support the Range header allowing S3 clients to specify they only want to partially
restore an object.
Amazon AWS also accepts this range header, but ignores it and always restores the full object. When
restoring multipart object with a range header specified ActiveScale will restore the minimal parts
needed that contain the specified byte range instead of restoring the full object. This enables S3 clients
to have a lower time to first byte for large cold storage objects, if they are only interested in reading a
part of the object.
For single part objects ActiveScale will keep restoring the full object. Once restored only the restored
parts will be available for GET requests while trying to get the non-restored parts will result in a
InvalidObjectState error.
Multiple ranges can be restored at the same time, the last processed restore will determine the retain
until date for all restored parts.
close section

close section

2.15 PUT Object Operations


2.15.1 PUT Object
Add an object to a bucket.
Permissions
The s3:PutObject (or WRITE ACL) permission is needed to put objects.
Requests
Syntax

PUT /objectname HTTP/1.1


Host: bucket [Link]
Date: date
Authorization: authorization string

[Link] 90/150
20:24 25/5/26 ActiveScale Management S3 API
Content-Length: lengthcontent

Parameters

Table 56: PUT Object request parameters

Parameter Supported Notes

x-amz-acl No Allowed, but ignored.

x-amz-grant-* No Allowed, but ignored.

x-amz-meta-* Some limitations


Yes
apply.

The value AES256 is


x-amz-server-side-encryption
supported. The value
Yes
aws:kms is not
supported.

GLACIER and
x-amz-storage-class DEEP_ARCHIVE are
Yes
only supported in
Cold Storage.

Headers

Table 57: PUT Object request headers

Header Supported Notes

This information is stored


and returned in a response
Cache-Control Yes header for the GET Objec
and HEAD Object
operations.

This information is stored


and returned in a response
Content-Disposition Yes header for the GET Objec
and HEAD Object
operations.

This information is stored


and returned in a response
Content-Encoding Yes header for the GET Objec
and HEAD Object
operations.

This information is stored


and returned in a response
Content-Language Yes header for the GET Objec
and HEAD Object
operations.

[Link] 91/150
20:24 25/5/26 ActiveScale Management S3 API

Header Supported Notes

This information is stored


and returned in a response
Content-MD5 Yes header for the GET Objec
and HEAD Object
operations.

The information is stored


Content-Type and returned in a response
Yes
header for GET Object
and HEAD Object.

Expect The value for Expect must


Yes
be 100-continue.

The information is stored


Expires and returned in a response
Yes
header for GET Object
and HEAD Object.

x-amz-acl This parameter is allowed,


No
but ignored.

x-amz-grant-* This parameter is allowed,


No
but ignored.

x-amz-meta-* Yes Some limitations apply.

x-amz-object-lock-legal-hold No Ignored if the value is OFF.

x-amz-object-lock-mode ActiveScale only supports


Yes
COMPLIANCE mode.

x-amz-object-lock-retain-until-date Yes None

The value AES256 is


supported. The value
x-amz-server-side-encryption Yes aws:kms is not
supported.

By default, this parameter is


x-amz-server-side-encryption-aws-kms-key-id not allowed because the
No
encryption algorithm
aws:kms is not supported.

By default, this parameter is


x-amz-server-side-encryption-context not allowed because the
No
encryption algorithm
aws:kms is not supported.

By default, this parameter is


x-amz-server-side-encryption-customer- not allowed because
algorithm No customer-provided
encryption keys are not
supported.

By default, this parameter is


not allowed because
x-amz-server-side-encryption-customer-key No customer-provided
encryption keys are not
supported.

[Link] 92/150
20:24 25/5/26 ActiveScale Management S3 API

Header Supported Notes

By default, this parameter is


not allowed because
x-amz-server-side-encryption-customer-key-MD5 No customer-provided
encryption keys are not
supported.

x-amz-storage-class Yes None


Only CRC32, CRC32C,
x-amz-checksum-* Yes SHA1, SHA256 are
supported.

Elements
None.
Response elements
There are no response elements that are associated with the PUT Object operation.
Responses
Headers

Table 58: PUT Object response headers

Header Supported Notes

x-amz-expiration Yes None

The value AES256 is


x-amz-server-side-encryption supported. The value
Yes
aws:kms is not
supported.

x-amz-server-side-encryption-aws-kms-key- The encryption algorithm


id N/A aws:kms is not
supported.

x-amz-server-side-encryption-customer- Customer-provided
algorithm N/A encryption keys are not
supported.

x-amz-server-side-encryption-customer- Customer-provided
key-MD5 N/A encryption keys are not
supported.

x-amz-storage-class Yes None

x-amz-version-id Yes None

x-amz-checksum-* Yes None

x-amz-checksum-type No None

Elements
None.
Sample request and response

[Link] 93/150
20:24 25/5/26 ActiveScale Management S3 API
This example adds the file [Link] to the myBucket bucket. The response returns a 200 OK,
which means the request was successful.
Request

PUT [Link] HTTP/1.1


Host: [Link]
x-amz-date: Fri, 13 Apr 2012 05:40:14 GMT
Authorization: authorization string
x-amz-grant-write-acp:
id=8a6925ce4adf588a4532142d3f74dd8c71fa124ExampleCanonicalUserID x-amz-grant-
full-control: emailAddress="ExampleUser@[Link]"
x-amz-grant-write: emailAddress="ExampleUser1@[Link]",
emailAddress="ExampleUser2@[Link]"

Response

HTTP/1.1 200 OK
x-amz-id-2: RUxG2sZJUfS+ezeAS2i0Xj6w/ST6xqF/8pFNHjTjTrECW56SCAUWGg+7QLVoj1GH x-
amz-request-id: 8D017A90827290BA
Date: Fri, 13 Apr 2012 05:40:25 GMT ETag: "dd038b344cf9553547f8b395a814b274"
Content-Length: 0 Server: Himalaya
Content-Length: 300 Expect: 100-continue Connection: Keep-Alive
...Object data in the body...

Special errors
None.
Related operations
2.15.3 PUT Object-Copy
2.11.1 GET Object
close section

2.15.2 PUT Object ACL


This operation is not supported in the ActiveScale S3 API.
Further information about the PUT Object acl operation is found on the following Amazon API
Reference page.
[Link]
close section

2.15.3 PUT Object-Copy


Create a copy of an object that is already stored in a bucket.
Permissions
These permissions are needed to copy objects:
s3:PutObject (or WRITE ACL) for the destination object.

[Link] 94/150
20:24 25/5/26 ActiveScale Management S3 API
s3:GetObject (or READ ACL) for the source object if x-amz-copy-source does not include a
version id.
s3:GetObjectVersion (or READ ACL) for the source object if x-amz-copy-source does include a
version id.
Optional : s3:ListBucket (or READ ACL) for the source bucket to get a 404 instead of 403 if the
source object isn't found.
Requests
Syntax

PUT /objectname HTTP/1.1


Host: bucket [Link]
Date: date
Authorization: authorization string
x-amz-copy-source: /sourcebucketname/sourceobjectname

Parameters

Table 59: PUT Object-Copy

Parameter Supported Notes

x-amz-acl No None

x-amz-grant-* No None

x-amz-meta-* Some limitations


Yes
apply.

The value AES256 is


x-amz-server-side-encryption supported. The value
Yes
aws:kms is not
supported.

GLACIER and
x-amz-storage-class DEEP_ARCHIVE are
Yes
only supported in
ASCS

Headers

Table 60: PUT Object-Copy request headers

Header Supported Notes

x-amz-acl No None

x-amz-grant-* No None

x-amz-copy-source Yes None

x-amz-copy-source-if-match Yes None

[Link] 95/150
20:24 25/5/26 ActiveScale Management S3 API

Header Supported Notes

x-amz-copy-source-if-modified-since Yes None

x-amz-copy-source-if-none-match Yes None

x-amz-copy-source-if-unmodified-since Yes None

x-amz-copy-source-server-side-encryption- Customer-provided
customer-algorithm No encryption keys are
not supported.

x-amz-copy-source-server-side-encryption- Customer-provided
customer-key No encryption keys are
not supported.

x-amz-copy-source-server-side-encryption- Customer-provided
customer-key-MD5 No encryption keys are
not supported.

x-amz-meta-* Some limitations


Yes
apply.

x-amz-metadata-directive Yes None

The value AES256 is


x-amz-server-side-encryption supported. The value
Yes
aws:kms is not
supported.

The encryption
x-amz-server-side-encryption-aws-kms-key-id No algorithm aws:kms is
not supported.

The encryption
x-amz-server-side-encryption-context No algorithm aws:kms
is not supported.

Customer-provided
x-amz-server-side-encryption-customer- No encryption keys are
not supported.

Customer-provided
x-amz-server-side-encryption-customer-key No encryption keys are
not supported.

Customer-provided
x-amz-server-side-encryption-customer-key-MD5 No encryption keys are
not supported.

x-amz-storage-class Yes None

x-amz-tagging-directive Object tagging is not


No
supported.

The information is
stored and returned
x-amz-website-redirect-location Yes in a response header
for GET Object
and HEAD Object.

x-amz-acl No None

[Link] 96/150
20:24 25/5/26 ActiveScale Management S3 API

Header Supported Notes


Only CRC32,
CRC32C, SHA1,
x-amz-checksum-algorithm Yes
SHA256 are
supported.

Elements
None.
Responses
Headers

Table 61: PUT Object-Copy response headers

Header Supported Notes

x-amz-copy-source-version-id Yes None

x-amz-expiration Yes None

The value AES256 is


x-amz-server-side-encryption supported. The value
Yes
aws:kms is not
supported.

The encryption
x-amz-server-side-encryption-aws-kms-key-id N/A algorithm aws:kms is
not supported.

x-amz-server-side-encryption-customer- Customer-provided
algorithm N/A encryption keys are
not supported.

Customer-provided
x-amz-server-side-encryption-customer-key-MD5 N/A encryption keys are
not supported.

x-amz-storage-class Yes None

x-amz-version-id Yes None

Elements

Table 62: PUT Object-Copy response elements

Element Supported Notes

CopyObjectResult Yes None

ETag Yes None

LastModified Yes None

Checksum* Yes None

ChecksumType No None

[Link] 97/150
20:24 25/5/26 ActiveScale Management S3 API
Sample request and response
This example adds the file [Link] to the bucket bucket. The response returns a 200
OK, which means the request was successful.
Request

PUT /[Link] HTTP/1.1


Host: [Link]
Date: Wed, 28 Oct 2009 22:32:00 GMT
x-amz-copy-source: /bucket/[Link]
Authorization: authorization string

Response

HTTP/1.1 200 OK
x-amz-id-2: eftixk72aD6Ap51TnqcoF8eFidJG9Z/2mkiDFu8yU9AS1ed4OpIszj7UDNEHGran x-
amz-request-id: 318BC8BC148832E5
x-amz-copy-source-version-id:
3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo
x-amz-version-id: QUpfdndhfd8438MNFDN93jdnJFkdmqnh893 Date: Wed, 28 Oct 2009
22:32:00 GMT
Connection: close Server: AmazonS3
<CopyObjectResult>
<LastModified>2009-10-28T22:32:00</LastModified>
<ETag>"9b2cf535f27731c974343645a3985328"</ETag>
</CopyObjectResult>

Special errors
None.
Related operations
2.15.1 PUT Object
2.11.1 GET Object
close section

2.15.4 PUT Object Retention


Places an Object Retention Configuration on an object. Further information about the PUT Object
retention operation is found on the following Amazon API Reference page.
[Link]
Permissions
These permissions are needed to put object retention:
s3:PutObjectRetention
Optional : s3:ListBucket (or READ ACL) to get a 404 instead of 403 if the object isn't found.
Requests
Syntax
[Link] 98/150
20:24 25/5/26 ActiveScale Management S3 API

PUT /objectname?retention&versionId=VersionId HTTP/1.1


Host: [Link]
Content-MD5: ContentMD5

<?xml version="1.0" encoding="UTF-8"?>


<Retention xmlns="[Link]
<Mode>string</Mode>
<RetainUntilDate>timestamp</RetainUntilDate>
</Retention>

Parameters

Table 63: PUT Object retention parameters

Parameter Supported Notes


Content-MD5 Yes

versionId Yes Optional

Headers

Table 64: PUT Object retention request headers

Header Supported Notes


Only CRC32,
CRC32C, SHA1,
x-amz-checksum-* Yes
SHA256 are
supported.

Elements
The PUT Object retention request should contain the following elements:

Table 65: PUT Object retention elements

Element Supported Notes

Mode Yes None

RetainUntilDate Yes None

Retention Yes None

Sample request and response


Request

PUT /objectname?retention HTTP/1.1


[Link] 99/150
20:24 25/5/26 ActiveScale Management S3 API
Host: [Link]
Content-Length: 108
Content-MD5: emc4mTn/Y8FvMdM+TKNBAQ==
Date: 20201029T100902Z
x-amz-content-sha256:
69e6713da0bbf7f43dbd883a1ccde7ce64b8ba3abc12749df865f25013125187
Authorization: AWS4-HMAC-SHA256 Credential=AK0B7YPKCQAAJIXNPPU7/20201029/us-
east-1/s3/aws4_request,SignedHeaders=content-length;content-md5;date;host;x-amz-
content-
sha256,Signature=0ec2570d2fcb87f8dc52e41573d63b634b2dc617f769c0a73f64b9423de9e5ef

<Retention>
<Mode>COMPLIANCE</Mode>
<RetainUntilDate>2020-11-03T10:09:02Z</RetainUntilDate>
</Retention>

Response

HTTP/1.1 200 OK
x-amz-id-2: 9933c1f7-b288-434e-9bcb-de3fee9872b2c5260c0a-714c-4fc9-a94f-
b0ba092e8367
x-amz-request-id: EC753CEBEC5547E7
Date: Thu, 29 Oct 2020 10:09:02 GMT
x-amz-version-id: EYGazHnmAbNZkkdim2HqxY3VEsPCvx_VkKsnVtL3AR1DJ09.
Content-Length: 0
Server: Quantum-ActiveScale

Special errors
ActiveScale returns an error if the retention mode is something other than COMPLIANCE.
Related operations
2.11.3 GET Object Retention
close section

2.15.5 PUT Object Tagging


This operation is not supported in the ActiveScale S3 API.
Further information about the PUT Object tagging operation is found on the following Amazon API
Reference page.
[Link]
close section

close section

2.16 Part Operations


This section contains reference information about ActiveScale S3 API part operations.

[Link] 100/150
20:24 25/5/26 ActiveScale Management S3 API

2.16.1 Abort Multipart Upload


Stop a multipart upload.
Permissions
The s3:AbortMultipartUpload permission is needed to abort multipart uploads.
Requests
Syntax

DELETE /objectname?uploadId=uploadid HTTP/1.1


Host: bucket [Link]
Date: date
Authorization: authorization string

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements
This operation uses common response elements only.
Sample request and response
This example stops the example-object upload to the example-bucket bucket. The response returns
a 204 OK, which means the request was successful and that there is no additional content to send.
Request

DELETE /example-object?
uploadId=VXBsb2FkIElEIGZvciBlbHZpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZ HTTP/1.1
Host: [Link]
Date: Min, 1 Nov 2010 20:34:56 GMT
Authorization: authorization string

Response

HTTP/1.1 204 OK
x-amz-id-2: Weag1LuByRx9e6j5Onimru9pO4ZVKnJ2Qz7/C1NPcfTWAtRPfTaOFg== x-amz-
request-id: 996c76696e6727732072657175657374
Date: Mon, 1 Nov 2010 20:34:56 GMT

[Link] 101/150
20:24 25/5/26 ActiveScale Management S3 API
Content-Length: 0
Connection: keep-alive
Server: AmazonS3

Special errors
None.
Related operations
2.16.5 List Parts
2.16.6 Upload Part
2.16.7 Upload Part-Copy
close section

2.16.2 Complete Multipart Upload


Complete a multipart upload by assembling previously uploaded parts.
Permissions
The s3:PutObject (or WRITE ACL) permission is needed to complete multipart uploads.
Requests
Syntax

POST /objectname?uploadId=uploadid HTTP/1.1 Host: [Link]


Date: date
Authorization: authorization string
Content-Length: length
<?xml version="1.0" encoding="UTF-8"?>
<CompleteMultipartUpload>
...
</CompleteMultipartUpload>

Parameters
None.
Headers

Table 66: Complete Multipart Upload request headers

Header Supported Notes


Only CRC32,
CRC32C, SHA1,
x-amz-checksum-* Yes
SHA256 are
supported.
Not supported, but
x-amz-checksum-type No defaults to
COMPOSITE.

Elements

[Link] 102/150
20:24 25/5/26 ActiveScale Management S3 API
Table 67: Complete Multipart Upload request elements

Element Supported Notes


CompleteMultipartUpload Yes None

Part Yes None

PartNumber Yes None

ETag Yes None

Checksum* Yes Only CRC32,


CRC32C, SHA1,
SHA256 are
supported.

Responses
Headers

Table 68: Complete Multipart Upload response headers

Header Supported Notes

x-amz-expiration Yes None

The value AES256 is


x-amz-server-side-encryption supported. The value
Yes
aws:kms is not
supported.

The encryption
x-amz-server-side-encryption-aws-kms-key-id N/A algorithm aws:kms is
not supported.

x-amz-server-side-encryption-customer- Customer-provided
algorithm N/A encryption keys are
not supported.

Customer-provided
x-amz-server-side-encryption-customer-key-MD5 N/A encryption keys are
not supported.

x-amz-version-id Yes None

Elements

Table 69: Complete Multipart Upload response elements

Element Supported Notes

Complete MultipartUploadResult Yes None

None
Location Yes

[Link] 103/150
20:24 25/5/26 ActiveScale Management S3 API

Element Supported Notes

None
Bucket Yes

None
Key Yes

None
ETag Yes

Checksum* Yes None

ChecksumType No None

Sample request and response


This example completes the multipart upload by assembling parts 1, 2, and 3 to form a single object.
The response returns a 200 OK, which means the request was successful. It also returns the name of
the assembled object and the bucket it was assembled in.
Request

POST /example-object?
uploadId=AAAsb2FkIElEIGZvciBlbHZpbmcncyWeeS1tb3ZpZS5tMnRzIRRwbG9hZA HTTP/1.1
Host: [Link]
Date: Mon, 1 Nov 2010 20:34:56 GMT
Content-Length: 391
Authorization: authorization string
<CompleteMultipartUpload>
<Part>
<PartNumber>1</PartNumber>
<ETag>"a54357aff0632cce46d942af68356b38"</ETag>
</Part>
<Part>
<PartNumber>2</PartNumber>
<ETag>"0c78aef83f66abc1fa1e8477f296d394"</ETag>
</Part>
<Part>
<PartNumber>3</PartNumber>
<ETag>"acbd18db4cc2f85cedef654fccc4a4d8"</ETag>
</Part>
</<Bucket>Example-Bucket</Bucket>
<Key>Example-Object</Key>
<ETag>"3858f62230ac3c915f300c664312c11f-9"</ETag>
</CompleteMultipartUploadResult>

[Link] 104/150
20:24 25/5/26 ActiveScale Management S3 API
Response

HTTP/1.1 200 OK
x-amz-id-2: Uuag1LuByRx9e6j5Onimru9pO4ZVKnJ2Qz7/C1NPcfTWAtRPfTaOFg== x-amz-
request-id: 656c76696e6727732072657175657374
Date: Mon, 1 Nov 2010 20:34:56 GMT
Connection: close
Server: AmazonS3
<?xml version="1.0" encoding="UTF-8"?>
<CompleteMultipartUploadResult xmlns="[Link]
<Location>[Link]

Special errors

Table 70: Complete Multipart Upload special errors

Error Message Description HTTP Status Code SOAP Fault Code Prefix

The specified multipart


upload does not exist.
The upload ID might be
NoSuchUpload invalid, or the multipart 404 Not Found Client
upload might have
been aborted or
completed.

Related operations
2.16.1 Abort Multipart Upload
2.16.3 Initiate Multipart Upload
2.16.4 List Multipart Uploads
close section

2.16.3 Initiate Multipart Upload


Start a multipart upload and return an upload ID.
Permissions
The s3:PutObject (or WRITE ACL) permission is needed to initiate multipart uploads.
Requests
Syntax

POST /objectname?uploads HTTP/1.1


Host: bucket [Link]
Date: date
Authorization: authorization string

Parameters

[Link] 105/150
20:24 25/5/26 ActiveScale Management S3 API
Table 71: Initiate Multipart Upload request parameters

Parameter Supported Notes

x-amz-acl No None

x-amz-grant-* No None

x-amz-meta-* Some limitations


Yes
apply.

The value AES256 is


x-amz-server-side-encryption Yes supported. The value
aws:kms is not

GLACIER and
x-amz-storage-class DEEP_ARCHIVE are
Yes
only supported in
Cold Storage.

Headers

Table 72: Initiate Multipart Upload request headers

Header Supported Notes

The information is
stored and returned
Cache-Control Yes in a response header
for GET Object and
HEAD Object.

The information is
stored and returned
Content-Disposition Yes in a response header
for GET Object and
HEAD Object.

The information is
stored and returned
Content-Encoding Yes in a response header
for GET Object and
HEAD Object.

The information is
stored and returned
Content-Language Yes in a response header
for GET Object and
HEAD Object.

The information is
stored and returned
Content-Type Yes in a response header
for GET Object and
HEAD Object.

[Link] 106/150
20:24 25/5/26 ActiveScale Management S3 API

Header Supported Notes

The information is
stored and returned
Expires Yes in a response header
for GET Object and
HEAD Object.
x-amz-acl No None

Customer-provided
x-amz-grant-* No encryption keys are
not supported.

x-amz-meta-* Some limitations


Yes
apply.

The value AES256 is


x-amz-server-side-encryption supported. The value
Yes
aws:kms is not
supported.

The encryption
x-amz-server-side-encryption-aws-kms-key-id No algorithm aws:kms
is not supported.

The encryption
x-amz-server-side-encryption-context No algorithm aws:kms is
not supported.

x-amz-server-side-encryption-customer- Customer-provided
algorithm No encryption keys are
not supported.

Customer-provided
x-amz-server-side-encryption-customer-key No encryption keys are
not supported.

x-amz-server-side-encryption-customer-key- Customer-provided
MD5 No encryption keys are
not supported.

x-amz-storage-class Yes None

The information is
stored and returned
x-amz-website-redirect-location Yes in a response header
for GET Object and
HEAD Object.
Only CRC32,
CRC32C, SHA1,
x-amz-checksum-algorithm Yes
SHA256 are
supported.
Not supported, but
x-amz-checksum-type No defaults to
COMPOSITE.

Elements
None.
Responses
[Link] 107/150
20:24 25/5/26 ActiveScale Management S3 API
Headers

Table 73: Initiate Multipart Upload response headers

Header Supported Notes

The lifecycle action


Abort
x-amz-abort-date Incomplete
N/A
Multipart
Upload is not
supported.

The lifecycle action


Abort
x-amz-abort-rule-id Incomplete
N/A
Multipart
Upload is not
supported.

The encryption
x-amz-server-side-encryption-aws-kms-key-id N/A algorithm aws:kms
is not supported.

x-amz-server-side-encryption-customer- Customer-provided
algorithm N/A encryption keys are
not supported.

Customer-provided
x-amz-server-side-encryption-customer-key-MD5 N/A encryption keys are
not supported.

x-amz-version-id Versioning is not


Yes
supported.

x-amz-checksum-algorithm Yes None

x-amz-checksum-type No None

Elements

Table 74: Initiate Multipart Upload response elements

Element Supported Notes

InitiateMultipartUploadResult Yes None

Bucket Yes None

Key Yes None

UploadId Yes None

Sample request and response


This example starts a multipart upload. The response The response returns a 200 OK, which means
the request was successful. The response also returns an upload ID.
Request

[Link] 108/150
20:24 25/5/26 ActiveScale Management S3 API

POST /example-object?uploads HTTP/1.1


Host: [Link]
Date: Mon, 1 Nov 2010 20:34:56 GMT
Authorization: authorization string

Response

HTTP/1.1 200 OK
x-amz-id-2: Uuag1LuByRx9e6j5Onimru9pO4ZVKnJ2Qz7/C1NPcfTWAtRPfTaOFg== x-amz-
request-id: 656c76696e6727732072657175657374
Date: Mon, 1 Nov 2010 20:34:56 GMT
Content-Length: 197
Connection: keep-alive
Server: Himalaya
<?xml version="1.0" encoding="UTF-8"?>
<InitiateMultipartUploadResult xmlns="[Link]
<Bucket>example-bucket</Bucket>
<Key>example-object</Key>
<UploadId>VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA</UploadId>
</InitiateMultipartUploadResult>

Special errors
None.
Related operations
2.16.1 Abort Multipart Upload
2.16.2 Complete Multipart Upload
2.16.4 List Multipart Uploads
close section

2.16.4 List Multipart Uploads


List in-progress multipart uploads.
Permissions
The s3:ListBucketMultipartUploads (or READ ACL) permission is needed to list multipart uploads
for a bucket.
Requests
Syntax

GET /?uploads HTTP/1.1


Host: bucket [Link]
Date: date
Authorization: authorization string

[Link] 109/150
20:24 25/5/26 ActiveScale Management S3 API
Parameters

Table 75: List Multipart Upload request parameters

Parameters Supported Notes

delimiter Yes None

encoding-type Yes None

max-uploads Yes None

key-marker Yes None

prefix Yes None

upload-id-marker Yes None

Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
Elements

Table 76: List Multipart Upload response elements

Elements Supported Notes

ListMultipartUploadsResult Yes None

Bucket Yes None

KeyMarker Yes None

UploadIdMarker Yes None

NextKeyMarker Yes None

NextUploadIdMarker Yes None

Encoding-Type Yes None

MaxUploads Yes None

IsTruncated Yes None

Upload Yes None

Key Yes None

UploadId Yes None

[Link] 110/150
20:24 25/5/26 ActiveScale Management S3 API

Elements Supported Notes

Initiator Yes None

ID Yes None

DisplayName Yes None

Owner Yes None

StorageClass Yes None

Initiated Yes None

[Link] Yes None

Delimiter Yes None

CommonPrefixes Yes None

[Link] Yes None

ChecksumAlgorithm Yes None

ChecksumType No None

Sample request and response


The following tables show an example of the request and response operations for List Multipart
Upload.
The request compiles a list of in-progress multipart uploads. The response returns a 200 OK, which
means the request was successful.
Request

GET /?uploads&max-uploads=3 HTTP/1.1


Host: [Link]
Date: Mon, 1 Nov 2010 20:34:56 GMT
Authorization: authorization string

Response

HTTP/1.1 200 OK
x-amz-id-2: Uuag1LuByRx9e6j5Onimru9pO4ZVKnJ2Qz7/C1NPcfTWAtRPfTaOFg== x-amz-
request-id: 656c76696e6727732072657175657374

Date: Mon, 1 Nov 2010 20:34:56 GMT

Content-Length: 1330 Connection: keep-alive Server: Himalaya

<?xml version="1.0" encoding="UTF-8"?>


<ListMultipartUploadsResult xmlns="[Link]

<Bucket>bucket</Bucket>

[Link] 111/150
20:24 25/5/26 ActiveScale Management S3 API
<KeyMarker></KeyMarker>

<UploadIdMarker></UploadIdMarker>
<NextKeyMarker>my-movie.m2ts</NextKeyMarker>

<NextUploadIdMarker>YW55IGlkZWEgd2h5IGVsdmluZydzIHVwbG9hZCBmYWlsZWQ</
NextUploadIdMarker>

<MaxUploads>3</MaxUploads>
<IsTruncated>true</IsTruncated>

<Upload>
<Key>my-divisor</Key>
<UploadId>XMgbGlrZSBlbHZpbmcncyBub3QgaGF2aW5nIG11Y2ggbHVjaw</UploadId>

<Initiator>

<ID>arn:aws:iam::111122223333:user/user1-11111a31-17b5-4fb7-9df5-
b111111f13de</ID>
<DisplayName>user1-11111a31-17b5-4fb7-9df5-b111111f13de</DisplayName>

</Initiator>

<Owner>
<ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>

<DisplayName>OwnerDisplayName</DisplayName>

</Owner>
<<StorageClass>STANDARD</StorageClass>

<Initiated>2010-11-10T20:48:33.000Z</Initiated>
</Upload>

<Upload>

<Key>my-movie.m2ts</Key>
<UploadId>VXBsb2FkIElEIGZvciBlbHZpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA</UploadId>

<Initiator>

<ID>b1d16700c70b0b05597d7acd6a3f92be</ID>
<DisplayName>InitiatorDisplayName</DisplayName>

</Initiator>

<Owner>
<ID>b1d16700c70b0b05597d7acd6a3f92be</ID>

<DisplayName>OwnerDisplayName</DisplayName>

</Owner>
<StorageClass>STANDARD</StorageClass>

<Initiated>2010-11-10T20:48:33.000Z</Initiated>

</Upload>
<Upload>

<Key>my-movie.m2ts</Key>

<UploadId>YW55IGlkZWEgd2h5IGVsdmluZydzIHVwbG9hZCBmYWlsZWQ</UploadId>
<Initiator>

[Link] 112/150
20:24 25/5/26 ActiveScale Management S3 API
<ID>arn:aws:iam::444455556666:user/user1-22222a31-17b5-4fb7-9df5-b222222f13de</

ID>

<DisplayName>user1-22222a31-17b5-4fb7-9df5-b222222f13de</DisplayName>

</Initiator>
<Owner>

<ID>b1d16700c70b0b05597d7acd6a3f92be</ID>

<DisplayName>OwnerDisplayName</DisplayName>
</Owner>

<StorageClass>STANDARD</StorageClass>

<Initiated>2010-11-10T20:49:33.000Z</Initiated>

</Upload>

</ListMultipartUploadsResult>

Special errors
None.
Related operations
2.16.1 Abort Multipart Upload
2.16.2 Complete Multipart Upload
2.16.3 Initiate Multipart Upload
close section

2.16.5 List Parts


Get a list of the parts that have been uploaded for a specific multipart upload.
Permissions
The s3:ListMultipartUploadParts permission is needed to list parts.
Requests
Syntax

GET /objectname?uploadId=uploadid HTTP/1.1


Host: bucket [Link]
Date: date
Authorization: authorization string

Parameters

Table 77: List Parts request parameters

Parameters Supported Notes

encoding-type Yes None

[Link] 113/150
20:24 25/5/26 ActiveScale Management S3 API

Parameters Supported Notes

max-parts Yes None

part-number-marker Yes None

uploadId Yes None

Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers

Table 78: List Parts response headers

Header Supported Notes


x-amz-abort-date Yes None

x-amz-abort-rule-id Yes None

Elements

Table 79: List Parts response elements

Elements Supported Notes


ListPartsResult Yes None

Bucket Yes None

Encoding-Type Yes None

Key Yes None

UploadId Yes None

Initiator Yes None

ID Yes None

DisplayName Yes None

Owner Yes None

StorageClass Yes None

PartNumberMarker Yes None

NextPartNumberMarker Yes None

MaxParts Yes None

[Link] 114/150
20:24 25/5/26 ActiveScale Management S3 API

Elements Supported Notes

IsTruncated Yes None

Part Yes None

Owner Yes None

PartNumber Yes None

LastModified Yes None

ETag Yes None

Size Yes None

Sample request and response


The following tables show an example request/response for a List Parts operation.
The request compiles a list of the parts that have been uploaded in a specific multipart upload. The
response returns a 200 OK, which means the request was successful. The response also displays the
list.
Request

GET /example-object?
uploadId=XXBsb2FkIElEIGZvciBlbHZpbmcncyVcdS1tb3ZpZS5tMnRzEEEwbG9hZA&max-
parts=2&part-number-marker=1 HTTP/1.1
Host: [Link]
Date: Mon, 1 Nov 2010 20:34:56 GMT
Authorization: authorization string

Response

HTTP/1.1 200 OK
x-amz-id-2: Uuag1LuByRx9e6j5Onimru9pO4ZVKnJ2Qz7/C1NPcfTWAtRPfTaOFg== x-amz-
request-id: 656c76696e6727732072657175657374
Date: Mon, 1 Nov 2010 20:34:56 GMT
Content-Length: 985 Connection: keep-alive Server: AmazonS3
<?xml version="1.0" encoding="UTF-8"?>
<ListPartsResult xmlns="[Link]
<Bucket>example-bucket</Bucket>
<Key>example-object</Key>
<UploadId>XXBsb2FkIElEIGZvciBlbHZpbmcncyVcdS1tb3ZpZS5tMnRzEEEwbG9hZA</UploadId>
<Initiator>
<ID>arn:aws:iam::111122223333:user/some-user-11116a31-17b5-4fb7-9df5-
b288870f11xx</ID>
<DisplayName>umat-user-11116a31-17b5-4fb7-9df5-b288870f11xx</DisplayName>
</Initiator>
[Link] 115/150
20:24 25/5/26 ActiveScale Management S3 API
<Owner>
<ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
<DisplayName>someName</DisplayName>
</Owner>

<StorageClass>STANDARD</StorageClass>
<PartNumberMarker>1</PartNumberMarker>
<NextPartNumberMarker>3</NextPartNumberMarker>
<MaxParts>2</MaxParts>
<IsTruncated>true</IsTruncated>
<Part>
<PartNumber>2</PartNumber>
<LastModified>2010-11-10T20:48:34.000Z</
LastModified><ETag>"7778aef83f66abc1fa1e8477f296d394"</ETag>
<Size>10485760</Size>
</Part>
<Part>
<PartNumber>3</PartNumber>
<LastModified>2010-11-10T20:48:33.000Z</LastModified>
<ETag>"aaaa18db4cc2f85cedef654fccc4a4x8"</ETag>
<Size>10485760</Size>
</Part>
</ListPartsResult>

Special errors
None.
Related operations
2.16.5 List Parts
2.16.6 Upload Part
2.16.7 Upload Part-Copy
close section

2.16.6 Upload Part


Upload a part in a multipart upload.
Permissions
The s3:PutObject (or WRITE ACL) permission is needed to upload parts.
Requests
Syntax

PUT /objectname?partNumber=partnumber&uploadId=uploadid HTTP/1.1

[Link] 116/150
20:24 25/5/26 ActiveScale Management S3 API
Host: bucket [Link]
Date: date
Authorization: authorization string
Content-Length: lengthcontent

Parameters
None.
Headers

Table 80: Upload Part request headers

Header Supported Notes

x-amz-server-side-encryption-customer- Customer-provided
algorithm No encryption keys are
not supported.

Customer-provided
x-amz-server-side-encryption-customer-key No encryption keys are
not supported.

Customer-provided
x-amz-server-side-encryption-customer-key-MD5 No encryption keys are
not supported.
Only CRC32,
CRC32C, SHA1,
x-amz-checksum-* Yes
SHA256 are
supported.

Elements
None.
Responses
Headers

Table 81: Upload Part response headers

Header Supported Notes

x-amz-server-side-encryption Yes None

The encryption
x-amz-server-side-encryption-aws-kms-key-id N/A algorithm aws:kms
is not supported.

x-amz-server-side-encryption-customer- Customer-provided
algorithm N/A encryption keys are
not supported.

Customer-provided
x-amz-server-side-encryption-customer-key-MD5 N/A encryption keys are
not supported.

x-amz-checksum-* Yes None

[Link] 117/150
20:24 25/5/26 ActiveScale Management S3 API
Elements
None.
Sample request and response
The following tables show an example of the request and response operations for Upload Part.
The request uploads the my-movie.m2ts file to the example-bucket bucket. The response returns a
200 OK, which means the request was successful.
Request

PUT /my-movie.m2ts?
partNumber=1&uploadId=VCVsb2FkIElEIGZvciBlbZZpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZR
HTTP/1.1
Host: [Link]
Date: Mon, 1 Nov 2010 20:34:56 GMT
Content-Length: 10485760
Content-MD5: pUNXr/BjKK5G2UKvaRRrOA==
Authorization: authorization string
***part data omitted***

Response

HTTP/1.1 200 OK
x-amz-id-2: Vvag1LuByRx9e6j5Onimru9pO4ZVKnJ2Qz7/C1NPcfTWAtRPfTaOFg== x-amz-
request-id: 656c76696e6727732072657175657374
Date: Mon, 1 Nov 2010 20:34:56 GMT
ETag: "b54357faf0632cce46e942fa68356b38"
Content-Length: 0
Connection: keep-alive
Server: Himalaya

Special errors

Table 82: Upload Part special errors

Error message Description HTTP status code

NoSuchUpload The upload cannot be 404 Not Found


completed.

Related operations
2.16.1 Abort Multipart Upload
2.16.2 Complete Multipart Upload
2.16.3 Initiate Multipart Upload
close section

[Link] 118/150
20:24 25/5/26 ActiveScale Management S3 API

2.16.7 Upload Part-Copy


Upload a part by copying data from an existing object.
Permissions
These permissions are needed to upload part copies:
s3:PutObject (or WRITE ACL) for the destination object.
s3:GetObject (or READ ACL) for the source object if x-amz-copy-source does not include a
version id.
s3:GetObjectVersion (or READ ACL) for the source object if x-amz-copy-source does include
a version id.
Optional : s3:ListBucket (or READ ACL) for the source bucket to get a 404 instead of 403 if the
source object isn’t found.
Requests
Syntax

PUT /objectname?partNumber=partnumber&uploadId=uploadid HTTP/1.1


Host: bucket [Link]
Date: date
Authorization: authorization string
x-amz-copy-source: /sourcebucketname/sourceobjectname

Parameters
None.
Headers

Table 83: Upload Part-Copy request headers

Header Supported Notes

x-amz-copy-source Yes None

x-amz-copy-source-if-match Yes None

x-amz-copy-source-if-modified-since Yes None

x-amz-copy-source-if-none-match Yes None

x-amz-copy-source-if-unmodified-since Yes None

x-amz-copy-source-server-side-encryption- Customer-provided
customer-algorithm No encryption keys are
not supported.

x-amz-copy-source-server-side-encryption- Customer-provided
customer-key No encryption keys are
not supported.

x-amz-copy-source-server-side-encryption- Customer-provided
customer-key-MD5 No encryption keys are
not supported.

[Link] 119/150
20:24 25/5/26 ActiveScale Management S3 API

Header Supported Notes

x-amz-meta-* Some limitations


Yes
apply.

x-amz-metadata-directive Yes None

The value AES256 is


x-amz-server-side-encryption supported. The value
Yes
aws:kms is not
supported.

The encryption
x-amz-server-side-encryption-aws-kms-key-id No algorithm aws:kms
is not supported.

The encryption
x-amz-server-side-encryption-context No algorithm aws:kms
is not supported.

x-amz-server-side-encryption-customer- Customer-provided
algorithm No encryption keys are
not supported.

Customer-provided
x-amz-server-side-encryption-customer-key No encryption keys are
not supported.

Customer-provided
x-amz-server-side-encryption-customer-key-MD5 No encryption keys are
not supported.

Elements
None.
Responses
Headers

Table 84: Upload Part-Copy response headers

Header Supported Notes

x-amz-copy-source-version-id Yes None

x-amz-server-side-encryption Yes None

The encryption
x-amz-server-side-encryption-aws-kms-key-id N/A algorithm aws:kms is
not supported.

x-amz-server-side-encryption-customer- Customer-provided
algorithm N/A encryption keys are
not supported.

Customer-provided
x-amz-server-side-encryption-customer-key-MD5 N/A encryption keys are
not supported.

Elements
[Link] 120/150
20:24 25/5/26 ActiveScale Management S3 API
Table 85: Upload Part-copy response elements

Element Supported Notes


CopyPartResult Yes None

ETag Yes None

LastModified Yes None

Sample request and response


The following tables show an example of the request and response operations for Upload Part-Copy.
The request uploads the newobject file to the target-bucket bucket. The response returns a 200 OK,
which means the request was successful.
Request

PUT /newobject?
partNumber=2&uploadId=VCVsb2FkIElEIGZvciBlbZZpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZR
HTTP/1.1
Host: [Link] Date: Mon, 11 Apr 2011 20:34:56 GMT
x-amz-copy-source: /source-bucket/sourceobject x-amz-copy-source-
range:bytes=500-6291456 Authorization: authorization string

Response

HTTP/1.1 200 OK
x-amz-id-2: Vvag1LuByRx9e6j5Onimru9pO4ZVKnJ2Qz7/C1NPcfTWAtRPfTaOFg== x-amz-
request-id: 656c76696e6727732072657175657374
Date: Mon, 11 Apr 2011 20:34:56 GMT
Server: AmazonS3
<CopyPartResult>
<LastModified>2009-10-28T22:32:00</LastModified>
<ETag>"9b2cf535f27731c974343645a3985328"</ETag>
</CopyPartResult>

Special errors

Table 86: Upload Part-Copy special errors

Error Message Description HTTP Status Code

The specified multipart upload


does not exist. The upload ID
NoSuchUpload might be invalid, or the multipart 404 Not Found
upload might have been aborted
or completed.

[Link] 121/150
20:24 25/5/26 ActiveScale Management S3 API

Error Message Description HTTP Status Code

The object is stored on Cold


Storage and must be restored
InvalidObjectState (see ActiveScale Management 403 Forbidden
S3 API) before GET requests
can be issued.

The specified copy source is not


InvalidRequest supported as a byte-range copy 400 Bad Request
source.

Related operations
2.16.1 Abort Multipart Upload
2.16.2 Complete Multipart Upload
2.16.6 Upload Part
close section

close section

2.17 Service Operations


This section contains reference information about ActiveScale S3 API service operations.

2.17.1 GET Service


Get a list of all buckets owned by the authenticated sender of the request.
Permissions
These permissions are needed to list an account's buckets:
s3:ListAllMyBuckets
Must be an authenticated identity (not anonymous).
Requests
Syntax

GET / HTTP/1.1
Host: [Link]
Date: date
Authorization: authorization string

Parameters
None.
Headers
This operation uses common request headers only.
Elements
None.
Responses
Headers
This operation uses common response headers only.
[Link] 122/150
20:24 25/5/26 ActiveScale Management S3 API
Elements

Table 87: GET Service response elements

Element Supported Notes

Bucket Yes None

Buckets Yes None

CreationDate Yes None

DisplayName Yes None

ID Yes None

ListAllMyBucketsResult Yes None

Name Yes None

Owner Yes None

Sample request and response


The following tables show an example request/response for a GET Service operation.
Request

GET / HTTP/1.1
Host: [Link]
Date: Wed,01 Mar 2006 12:00:00 GMT
Authorization: authorization string

Response

<?xml version="1.0" encoding="UTF-8"?>


<ListAllMyBucketsResult xmlns="[Link]
<Owner>
<ID>bcaf1ffd86f461ca5fb16fd081034f</ID>
<DisplayName>webfile</DisplayName>
</Owner>
<Buckets>
<Bucket>
<Name>quotes</Name>
<CreationDate>2006-02-03T16:45:09.000Z</CreationDate>
</Bucket>
<Bucket>
<Name>samples</Name>

[Link] 123/150
20:24 25/5/26 ActiveScale Management S3 API
<CreationDate>2006-02-03T16:41:58.000Z</CreationDate>
</Bucket>
</Buckets>
</ListAllMyBucketsResult>

Special errors
None.
Related operations
2.6.9 GET Bucket (list objects) v1
2.11.1 GET Object
close section

2.17.2 Java Functions


getPartCount
The getPartCount function returns the number of parts in a multipart message.
Permissions
You must be the owner of the bucket in order to call the getPartCount function.
Call syntax

public int getPartCount

Parameters
getObjectRequest—The request to check for the number of parts.
s3—The name of the Amazon s3 client.
Function return
The getPartCount function returns the number of parts in the object if it is a multipart object. If it not
multipart, the getPartCount functions returns null.
Related functions
createMultipartMessage
addBytesPart
addMessagePart
close section

close section

3.0 S3 Error Codes


3.1 Error Codes
The table below enumerates all error codes the ActiveScale S3 API may send, and includes codes not
sent by AWS S3.

[Link] 124/150
20:24 25/5/26 ActiveScale Management S3 API
Table 88: Error codes

Error code Description

AccessDenied Access is denied.

AccountProblem There is a problem with your AWS


from completing successfully. Use

AccountRequiredForAccess The account must be specified if t


ControlTranslationOwner AccessControlTranslation

ACPCannedACLAndGrantHeader Canned ACLs and Header Grants

ACPInvalidArgumentFormat The argument format was not reco

ACPInvalidCannedACL An invalid Canned ACL was found

ACPInvalidGroupURI An invalid group URI was found.

ACPInvalidID An invalid ID was found.

ACPTooManyGrants The request specified more grants

The e-mail address you provided


AmbiguousGrantByEmailAddress account. Retry your request using
resolving the ambiguity.

AnonymousAccessForbidden Anonymous access is forbidden fo

AuthorizationComponentMalformed The authorization header is malfo


“<component>” is malformed.".

AuthorizationHeaderNeedsOneSpace An invalid authorization header wa


required.

AuthorizationHeaderRequiresThreeComponents The authorization header is malfo


three components, Credential,

AuthorizationHeadersNotSigned There were headers present in the

AWSAuthenticationRequiresDate The AWS authentication operation


header.

The <checksum_algorithm> y
BadDigest
calculated checksum

The <checksum_algorithm> y
BadDigest
did not match what we received.

[Link] 125/150
20:24 25/5/26 ActiveScale Management S3 API

Error code Description

BadDigest The Content-MD5 element you s


received.

BadDigestClient The Content-MD5 you specified

BadOptionsRequest There is insufficient information in


is needed.

BadReplicaChecksum The replica checksum that was sp

BadRequest An error occurred while parsing th

BadRequestInvalidURI The specified URL could not be pa

BucketAlreadyExists The requested bucket name is not


shared by all users of the system.

Your previous request to create th


already own it. You will get this err
BucketAlreadyOwnedByYou East (N. Virginia) region, us-east
get a 200 OK status code, but it is
not do anything)

BucketLifecycleActionDateMustBeMidnightGMT Some overlapping prefixes were fo

BucketLifecycleActionDateNotBeforeEpoch The 'Date' parameter must be


01T00:00:00.000Z.

BucketLifecycleActionDaysMustBePositiveInteger A bucket lifecycle action days that


integer.

BucketLifecycleActionNotImplemented A bucket lifecycle action that was


implemented.

BucketLifecycleOverlappingPrefixesForSameActionType Overlapping prefixes were found.

BucketLifecycleRuleIDMustBeUnique Rule ID must be unique. The sam

BucketLifecycleRuleIDTooLong The ID length should not exceed a

BucketLifecycleRuleNeedsAtLeastOneAction At least one action has to be spec

BucketLifecycleRulePrefixTooLong The specified prefix is longer than

BucketLifecycleRulesWithSamePrefix The same prefix was found in two

[Link] 126/150
20:24 25/5/26 ActiveScale Management S3 API

Error code Description

BucketNotEmpty The bucket you tried to delete is n

BucketNotVersioningEnabled This operation requires versioning

A replication configuration is prese


CannotChangeVersioningStateIfReplicationIsEnabled state cannot be changed. To chan
replication configuration.

CannotSetBothRangeAndPartnumber Cannot specify both the Range h


parameter

ChangingReplicaOwnerNotSupported Changing the owner of a replicate

Content_MD5_Missing A required header for the request

CopyIllegalCopyHeader An illegal copy header was found.

CopyInvalidSource The Copy Source element mus


the elements sourcebucket an

CopyInvalidSourceEncoding Invalid copy source encoding was

CopyInvalidSourceParameter An unsupported copy source pa

The x-amz-copy-source-ran
CopyInvalidSourceRange Bytes should be first-last, where fi
of the first and last bytes to copy.

CopyInvalidSourceUri An invalid copy source URI was fo

CopySourceTooBig The specified copy source is large

CredentialDateNotSameAsXamzDate Invalid credential date.

CredentialsNotSupported This request does not support cre

CrossLocationLoggingProhibited Cross-location logging is not allow


cannot log information to a bucket

EmptyContentSha256 The provided x-amz-content-s


SHA256.

EmptyOrNullReplicationDestinationBucket The destination bucket cannot be

EmptyVersionId The Version-Id string cannot m

EmptyVersionIdMarker A version-id marker cannot be

[Link] 127/150
20:24 25/5/26 ActiveScale Management S3 API

Error code Description

EncryptionDisallowed Access is denied. The message h


encryption is not allowed.

EncryptionRequired Access is denied. The message h


encryption is required.

EntityTooLarge Your proposed upload exceeds th

EntityTooSmall Your proposed upload is smaller th

ExpiredToken The provided token has expired.

IllegalLocationConstraint The location constraint is incompa


request was sent to.

IllegalVersioningConfigurationException Indicates that the versioning config


invalid.

InappropriateReplicationVersionId The version ID that was provided

IncompleteBody You did not provide the number of


Length HTTP header.

IncompleteBodyBodyTerminatedUnexpectedly The request body terminated unex

IncorrectNumberOfFilesInPostRequest The POST operation requires exa

InlineDataTooLarge The in-line data exceeds the maxi

InsufficientStorage The storage is full.

InternalError An internal error was encountered

InvalidAccessKeyId The AWS access key ID you provi

InvalidAccountId The account must contain a valid

InvalidAddressingHeader You must specify the anonymous

InvalidArgument Invalid Argument.

InvalidArgument An invalid argument was provided

InvalidArgument An invalid replica checksum was s

[Link] 128/150
20:24 25/5/26 ActiveScale Management S3 API

Error code Description

InvalidArgument The ARN is not well-formed.

InvalidArgument The notification destination service


location constraint.

InvalidArgument The event is not supported for not

InvalidArgument There are overlapping configuratio


cannot share a common event typ

InvalidArgument The ID length exceeded allowed li

InvalidArgument Same ID is used for multiple confi

InvalidArgument The filter rule name must be eithe

InvalidArgument The filter rule value must be empty

InvalidArgument Cannot specify more than one pre

InvalidArgument Cannot specify more than one suf

InvalidArgument Configuration is ambiguously defin


two rules if the prefixes are overla

InvalidArgument The storage class specified is uns

InvalidArgument Unable to validate the destination

InvalidArgument Only one value may be specified.

InvalidArgument Invalid Base64 or multiple checks

InvalidArgumentBucketName The specified bucket is not valid.

InvalidArgumentGlacier GLACIER is not allowed.

InvalidBucketARN The ARN for the bucket is invalid.

InvalidBucketName The specified bucket is not valid.

InvalidBucketState The request is not valid because o

[Link] 129/150
20:24 25/5/26 ActiveScale Management S3 API

Error code Description

InvalidChunkSizeError Only the last chunk is allowed to h

InvalidContentSha256 x-amz-content-sha256 must be UN


AWS4-HMAC-SHA256-PAYLOAD,

InvalidCopySourceMethod Only a copy source header can be

This copy request is illegal becaus


InvalidCopyToSelf without changing the metadata, st
encryption attributes.

InvalidDate An invalid date was found. This sh

InvalidDelimiter An invalid delimiter was found.

InvalidDigest The Content-MD5 you specified

InvalidEncodingMethod There is an invalid encoding meth

InvalidEncryptionAlgorithmError The encryption request you specif


AES256.

InvalidEncryptionMethod The encryption method specified i

InvalidHeaderForContext The specified header is not valid i

InvalidHeaderValue An invalid header value was found

InvalidKeyMarker An invalid key marker was found.

The specified location constraint is


InvalidLocationConstraint
regions, see How to Select a Regi

InvalidMarker An invalid marker was found.

InvalidMaxKeys The max-keys parameter that wa


integer range.

InvalidMaxUploads The max-uploads element that w


within integer range.

InvalidMetadataDirective An unknown metadata directive w

InvalidObjectState The operation is not valid because

[Link] 130/150
20:24 25/5/26 ActiveScale Management S3 API

Error code Description

One or more of the specified parts


InvalidPart have been uploaded, or the specif
the part's entity tag.

InvalidPartNumber The part number is invalid. A part


and 10000, inclusive.

InvalidPartOrder The list of parts was not in ascend


order by part number.

InvalidPayer All access to this object has been

InvalidPolicyDocument The content of the form does not m


policy document.

InvalidPrefix An invalid prefix was found.

InvalidRange The requested range cannot be sa

InvalidRedirectLocation The website redirect location mus

InvalidRedirectLocation_TooLong The length of the website redirect


characters.

InvalidReplicationStatus The replication status you provide

InvalidRequest S3 Transfer Acceleration is not su


compliant names.

InvalidRequest S3 Transfer Acceleration is not su


their names.

InvalidRequest S3 Transfer Accelerate endpoints

InvalidRequest SOAP requests must be made ove

InvalidRequest Use AWS4-HMAC-SHA256 as you

InvalidRequest S3 Transfer Accelerate is n

InvalidRequest S3 Transfer Accelerate is d

InvalidRequest S3 Transfer Acceleration i


AWS support for more information

InvalidRequest S3 Transfer Acceleration c


Contact AWS support for more info

[Link] 131/150
20:24 25/5/26 ActiveScale Management S3 API

Error code Description

InvalidRequest SOAP requests must be made ove

InvalidRequest Too many configurations submitte


configurations is <max num conf

InvalidRequest Checksum algorithm provided is u

Expecting a single x-amz-check


InvalidRequest
Types are not allowed.
Missing required header for this re
InvalidRequest
checksum-*
Content-MD5 OR x-amz-check
InvalidRequest
Object requests with Object Lock
x-amz-sdk-checksum-algori
InvalidRequest
x-amz-checksum-* headers we

InvalidRequest Value for <checksum_header> h

InvalidRequest Checksum Type mismatch occurre

The upload was created using a <


InvalidRequest
The complete request must includ

InvalidRuleId The rule ID cannot be greater than

InvalidSecurity The provided security credentials

InvalidSiteId An invalid site ID was specified.

InvalidSiteIdAndStatusCombination The replication-site-id (<site id


(<status>) combination is invalid

InvalidSOAPRequest The provided SOAP request body

InvalidStorageClass The storage class you specified is

InvalidTargetBucketForLogging The target bucket for logging does


not have the appropriate grants fo

InvalidToken The provided token is malformed o

InvalidUploadIdMarker There is an invalid uploadId marke

InvalidURI The URI that was specified could

InvalidURI_EOF The specified URI could not be pa

[Link] 132/150
20:24 25/5/26 ActiveScale Management S3 API

Error code Description

InvalidURI_isHexDigit The specified URI could not be pa

InvalidV2AuthorizationHeader An invalid AWS authorization head


AwsAccessKeyId:signature w

InvalidValue The value must be a sequence of


include null.

InvalidVersionId An invalid version ID was specified

KeyTooLong The key that was provided key is t

MalformedACLError The XML you provided was not we


published schema.

MalformedPOSTRequest The body of your POST request is

The user sent malformed XML for


MalformedXML The XML you provided was
validate against our publ

MaxMessageLengthExceeded The request that was provided wa

MaxNumberOfReplicationRulesExceeded The number of defined replication

MaxPostPreDataLengthExceededError The POST request fields precedin

MetadataInContext The metadata cannot be specified

MetadataTooLarge Your metadata headers exceed th

MethodNotAllowed The specified method is not allowe

MissingAttachment A SOAP attachment was expected

MissingAuthorizationCredential The authorization header is malfo


component.

The authorization header is malfo


MissingAuthorizationSignature
component.

MissingAuthorizationSignedHeaders The authorization header is malfo


component.

MissingContentLength You must provide the Content-L

MissingContentSha256 There is a missing required x-amz


request.
[Link] 133/150
20:24 25/5/26 ActiveScale Management S3 API

Error code Description

MissingRequestBodyError The user sent an empty XML docu


is Request body is empty.

MissingSecurityElement The SOAP 1.1 request is missing

MissingSecurityHeader The request is missing a required

MultipartAlreadyInitialized Multipart is already initialized for th

MultipartReplicaVersionIdNotAvailable The destination bucket cannot be

NoLoggingStatusForKey There is no such thing as a loggin

NonEmptyBody The request included a body. Req


non-empty body.

NonEmptyReplicationRulePrefix The rule prefix must be empty.

The given parameter <name> is n


headers. Refer to the S3 API docu
NonOverridableResponseHeader
overridable response headers.

[Link]

NoPartsSpecified At least one part must be specified

NoSuchBucket The specified bucket does not exis

NoSuchBucketPolicy The specified bucket does not hav

NoSuchCORSConfiguration The CORS configuration does not

NoSuchKey The specified key does not exist.

NoSuchLifecycleConfiguration The specified lifecycle configuratio

NoSuchObjectLockConfiguration The object does not have a lock c

NoSuchTagSet The TagSet does not exist.

NoSuchUpload The specified multipart upload doe


invalid, or the multipart upload mig

NoSuchVersion The version ID specified in the req


version.

[Link] 134/150
20:24 25/5/26 ActiveScale Management S3 API

Error code Description

NoSuchWebsiteConfiguration The specified bucket does not hav

NotAllReplicationHeadersProvided Not all required replication header

Query-string authentication versio


NotAllV4QueryParametersProvided X-Amz-Credential, X-Amz-S
SignedHeaders, and X-Amz-Ex
NotificationNotActivated
OnSystemError The notification is not activated on

NotImplemented A header you provided implies fun

NotModified An invalid precondition header wa

Your account has not been signed


NotSignedUp must sign up before you can use A
[Link]

NoVersionsStatusForKey There is no such thing as the ? v

ObjectsNotEquivalent The object is not equivalent to the

ObjectLockConfigurationNotFoundError The bucket does not have an obje

Only one authorization element is


OnlyOneAuthMechanismAllowed the X-Amz-Algorithm query pa
parameter, or the Authorizati

OnlyOneEncryptionAlgorithmAllowed The encryption request you specif


algorithm can be specified.

OnlyOneMetadataDirectiveAllowed Only one value should be specifie

OnlyOneWebsiteRedirectLocationAllowed Only one header for website redire

OperationAborted A conflicting conditional operation


resource. Try the operation again.

PermanentRedirect The bucket you are attempting to


specified endpoint. Send all future

PreconditionFailed At least one of the preconditions y

QueryAuthenticationRequiresParameters The Query-string authentication o


Expires, and AWSAccessKeyId

QueryParamNotImplemented A query parameter implies functio

[Link] 135/150
20:24 25/5/26 ActiveScale Management S3 API

Error code Description

QuotaExceeded Request refused due to account q

RangeIsNotSupportedInCopy The RANGE parameter is not supp

RangeNotSatisfiable The requested part number is not

Redirect The data has been temporarily red

ReplicaKmsKeyIDRequiredForSseKmsEncryptedObjects The ReplicaKmsKeyID must be


SseKmsEncryptedObjects tag

ReplicaKmsKeyIDRequiredInEncryptionConfiguration The ReplicaKmsKeyID tag mus


configuration.

ReplicationConfigurationNotFoundError The replication configuration was

ReplicationNotActivatedOnSystemError Replication is not activated on the

ReplicationOfKmsEncryptedObjectsNotSupported Replication of KMS-encrypted obje

ReplicationSourceBucketNotVersioningEnabled Versioning must be enabled on the


configuration.

ReplicationStatusNotAllowed The replication status that you pro

RequestExpired The request has expired.

RequestIsNotMultiPartContent The BucketPOST operation must

RequestPartNumberOfBucket A key must be specified.

RequestTimeout The socket connection to the serv


the timeout period. Idle connection

RequestTimeTooSkewed The difference between the reque

RequestTorrentOfBucketError Requesting the torrent file of a buc

RequestUploadIdOfBucket A key must be specified.

RestoreAlreadyInProgress The restoration of the object is alre

[Link] 136/150
20:24 25/5/26 ActiveScale Management S3 API

Error code Description

ServiceUnavailable Reduce your request rate.

ServerSideEncryptionConfigurationNotFoundError The bucket does not have encrypt

SignatureDoesNotMatch The request signature we calculat


provided. Check your AWS secret

SlowDown Reduce your request rate.

SmallPartNumber The part number must be equal to

SourceCopyMayNotBeDeleteMarker The source of a copy request may


by version ID.

SseKmsEncryptedObjectsRequiredForEncryptionConfiguration The SseKmsEncryptedObjects


configuration is present.

SseKmsEncryptedObjectsRequiredInSourceSelectionCriteria The account must be specified if t


AccessControlTranslation h

StorageClassNotSupportedForReplication The storage class is not supported

TemporaryRedirect You are being redirected to the bu

TokenRefreshRequired The token that was provided must

TooManyBuckets You have attempted to create mor

TooManyUploadParts The CompleteMultipartUploa


parts.

UnexpectedContent This request does not support con

UnexpectedQueryStringParameter An unexpected query string param

UnresolvableGrantByEmailAddress The e-mail address you provided d

UnsupportedAuthorizationType An unsupported authorization type

UploadsExpectsNoKey A key is not expected for the GET

UseNoAuthorizationMechanism The authorization mechanism you


use any authorization mechanism

[Link] 137/150
20:24 25/5/26 ActiveScale Management S3 API

Error code Description

User_Key_Not_Specified The user key must be specified.

UserKeyMustBeSpecified The BucketPOST operation mus


specified, check the order of the fi

UseV2AuthorizationMechanism The authorization mechanism you


AWS.

UseV4AuthorizationMechanism The authorization mechanism you


AWS4-HMAC-SHA256.

The authorization header is malfo


V4MHAuthorizationCredentialMalformed malformed. A <YOUR-
AKID>/YYYYMMDD/REGION/SER

V4MHEmptyAuthorizationAccessKey The authorization header is malfo


be specified in the credential.

V4MHEmptyAuthorizationRegion The authorization header is malfo


provided in the credential.

V4MHIncorrectAuthorizationDateFormat The authorization header is malfo

V4MHIncorrectAuthorizationRegion The authorization header is malfo


incorrect. ‘<region>’ is the prop

The authorization header is malfo


V4MHIncorrectAuthorizationRequestType “<terminal>" is syntactically in
"aws4_request".

V4MHIncorrectAuthorizationService The authorization header is malfo


incorrect.

There was an error parsing the X-


V4QPAuthorizationCredentialMalformed Credential is malformed. "<YOUR
AKID>/YYYYMMDD/REGION/SER

V4QPEmptyAuthorizationAccessKey There was an error parsing the X


empty Access Key (AKID) must be

V4QPEmptyAuthorizationRegion There was an error parsing the X-


empty region must be provided in
There was an error parsing the X
V4QPIncorrectAuthorizationDateFormat “<date>” is formatted incorrectly
the format yyyyMMdd.

V4QPIncorrectAuthorizationRegion There was and error parsing the X


'<region>’' parameter is wron

V4QPIncorrectAuthorizationService There was an error parsing the X


<service>” is not correct.

VersionedBucketNotEmpty The bucket you tried to delete is n


the bucket.

[Link] 138/150
20:24 25/5/26 ActiveScale Management S3 API

Error code Description

VersionIdMarkerWithoutKeyMarker A version-id marker cannot be

VersionIdMethodMismatch This operation does not accept a V

VersionIdNotAvailableForReplication The version ID that was provided

VersionIdTooLong The version ID is too long.

XAmzAlgorithmUnsupported X-Amz-Algorithm only support

XAmzContentSHA256Mismatch The x-amz-content-sha256 h


match what was computed.

XAmzDateIncorrectFormat X-Amz-Date must be in the ISO8


"yyyyMMdd'T'HHmmss'Z'".

XAmzExpiresLongerThanAWeek The X-Amz-Expires paramete


It must be less than 604800 secon

XAmzExpiresMustBeNonNegative X-Amz-Expires must be non-ne

XAmzExpiresShouldBeANumber X-Amz-Expires should be a num

XAmzServerSideEncryptionHeaderNotSupportedForThisOperation The x-amz-server-side-enc


this operation.

XAmzWebsiteRedirectLocationNotSupportedForThisOperation The x-amz-website-redirec


for this operation.

close section

4.0 S3 HTTP Status Codes


4.1 Status Codes
The ActiveScale S3 API may send the following HTTP status codes.

Table 89: HTTP status codes

Status code Type Description

100 - Continue Success The client should continue with the request.

The request was successfully executed and the object


201 - Object Created Success
was created.

304 - Not Modified Redirection The precondition is not satisfied.

[Link] 139/150
20:24 25/5/26 ActiveScale Management S3 API

Status code Type Description

The request could not be understood by the server


due to malformed syntax. The client should not repeat
400 - Bad Request Error
the request without performing modifications to the
request.

401 - Unauthorized Error The request failed because of lack of permissions.

The server understood the request, but it refused to


403 - Forbidden Error
fulfill it.

The server has not found anything matching the


404 - Object Not Found Error
request URI.

409 - Conflict Error The operation was aborted because of a conflict.

The precondition given in the request header field


412 - Precondition Failed Error
evaluated to false when it was tested on the server.

The requested data, object, customer, or data, is


413 - Request Entity Too Large Error
larger than the server was able to process.

500 - Metastore <id> is full Error There is no more free space in the given meta-store.

501 - Internal Server Error Error The server encountered an internal error.

The server does not support the HTTP protocol


505 - HTTP Version Not Supported Failure
version that was used in the request message.

507 - Insufficient Storage Error There is no more free space in the block-stores.

close section

5.0 Differences Between AWS and this Release


The ActiveScale S3 API provides a subset of the AWS S3 API. This section describes the differences between
AWS S3 API and ActiveScale S3 API, and between the current and previous three releases of ActiveScale S3
API.

5.1 Data Limitations


ActiveScale S3 API only supports a subset of date values supported by Amazon S3. Amazon S3 allows
dates with very large year values.
The maximum year value that is allowed by ActiveScale is 9999. The Amazon S3 allows the user to
specify time zones after the date; for example, 2016-08-18T04:00:00.000+04. This is not allowed in
ActiveScale.
close section

5.2 Differences Between Amazon S3 API and ActiveScale S3 API


The following sections provide information about the differences between Amazon S3 and ActiveScale S3.

5.2.1 Differences in Bucket Operations


This section provides information about the differences between AWS S3 bucket operations and
ActiveScale S3 bucket operations.

[Link] 140/150
20:24 25/5/26 ActiveScale Management S3 API
Table 90: Differences in bucket operations

Application Amazon S3 ActiveScale S3

Amazon S3 returns
Executing PUT Bucket ActiveScale S3 returns an HTTP 200 OK message
an HTTP 409
with an existing bucket during a small grace period if you are the owner of the
Conflict
name. bucket.
message.
Executing PUT Bucket
with a bucket name
containing any of the
following special
characters.

}
<
Amazon S3 returns
> an HTTP 400 Bad ActiveScale S3 returns a 400 Bad Request message.
Request message.
[
]

`
^

"

ActiveScale S3 reports the following missing elements.


Creating too many buckets CurrentNumberOfBuckets
for the same user.
AllowedNumberOfBuckets
HostId

Executing DELETE
Bucket on an bucket that
is not empty.
Executing GETBucket
(List Amazon S3 returns a
Objects) with a max- ActiveScale S3 returns an HTTP 400 Invalid
maximum of 1,000
keys value greater than Argument message.
keys.
1000.

ActiveScale S3 returns an extra charset=UTF-8 in the


Executing HEAD Bucket.
Content-Type in the header.

Executing HEAD Bucket Amazon S3 returns


ActiveScale S3 returns HTTP404 PageNotFound and
for a bucket or key that an HTTP 404 Page
with the messages NoSuchBucket or NoSuchKey in
does not exist. Not Found
the body.
message.
Amazon S3 returns
Executing HEAD Bucket an HTTP 403
without sufficient Forbidden ActiveScale S3 returns an HTTP 403 Forbidden
permissions to access that message. message with the message Access Denied in the
bucket. body.

[Link] 141/150
20:24 25/5/26 ActiveScale Management S3 API

Application Amazon S3 ActiveScale S3


Executing GET Bucket Amazon S3 returns a
with a maximum key value maximum of 1,000 ActiveScale S3 returns an HTTP 400 Invalid
greater than 1,000. keys. Argument message.

Executing GET Bucket ActiveScale S3 does not allow a maximum key value
Amazon S3 returns a
(List Objects) with a greater than 1000, due to a possible stack overflow.
maximum of 1,000
maximum key value ActiveScale S3 returns an Invalid Parameter
keys.
greater than 1000. message.

Amazon S3 returns
Executing HEAD Bucket ActiveScale S3 returns HTTP 404 Page Not Found
an HTTP 404 Page
for a bucket or key that together with the messages NoSuchBucket or
Not Found
does not exist. NoSuchKey in the body.
message.

Executing HEAD Bucket Amazon S3 returns


ActiveScale S3 returns an HTTP 403 Forbidden
without sufficient an HTTP 403
message with the message Access Denied in the
permissions to access that Forbidden
body.
bucket. message.

close section

5.2.2 Differences in Object Operations


This section provides information about the differences between Amazon S3 object operations and
ActiveScale S3 object operations.

Table 91: Differences in object operations

Application Amazon S3 ActiveScale S3


Amazon S3 allows a ActiveScale S3 allows more than
Specifying an object key name. maximum of 1024
characters. 1024 characters.
Specifying an object with a name
containing the following special
characters, using s3cmd.
ActiveScale S3 returns an HTTP
[ Amazon S3 returns an HTTP
501 Not Implemented
] 200 OK message.
message.
\
^

Amazon S3 allows a ActiveScale S3 allows custom


Adding custom metadata to objects. maximum of 2 KiB for metadata to exceed 2 KiB.
custom metadata in objects. However, this is not recommended.
Executing DELETE Object on an Amazon S3 returns an HTTP
object that does not exist. 200 OK message. ActiveScale S3 returns errors.
Amazon S3 does not
ActiveScale S3 supports
Executing PUT Object for an object support this operation. You
thisoperation. However, it may
larger than 5 GB. must use the multipart
produce errors.
upload APIs.
ActiveScale S3 returns the following
missing elements.
Executing PUT Object on a bucket
that does not exist. BucketName
HostId

[Link] 142/150
20:24 25/5/26 ActiveScale Management S3 API

Application Amazon S3 ActiveScale S3

Executing PUT Object with the following


headers.
x-amz-server-sideencryption
x-amz-website-
redirectlocation ActiveScale S3 returns an HTTP
501 Not Implemented
x-amz-grant-read
message.
x-amz-grant-write
x-amz-grant-read-acp
x-amz-grant-write-acp
x-amz-grant-fullcontrol
ActiveScaleS3 returns an HTTP
Canceling a multipart upload and then Amazon S3 returns a socket
404 Not Found, with a message
trying to upload another part. timeout.
in the body, NoSuchUpload.

close section

5.2.3 Differences in Service Operations


This section provides information about the differences between AWS S3 service operations and
ActiveScale S3 service operations.

Table 92: Differences in service operations

Application Amazon ActiveScale S3


S3

Executing GET Service with ActiveScale S3 does not handle multiple query parameters
query parameters using a when they are using a WebDrive client. Be sure to specify a
WebDrive client. bucket name in the request.

close section

5.2.4 Differences in Requests


This section provides information about the differences between AWS S3 requests and ActiveScale S3
requests.

Table 93: Differences in requests

Application Amazon S3 ActiveScale S3

Amazon S3 returns an HTTP 200


Sending dummy headers. ActiveScale S3 returns errors.
OK message.

ActiveScale S3 returns an HTTP


Sending a request with an Amazon S3 returns an HTTP 200
501 Not Implemented
Expires parameter. OK message.
message.

ActiveScale S3 returns an HTTP


Sending a request with a TE Amazon S3 returns an HTTP 200
501 Not Implemented
parameter. OK message.
message.

[Link] 143/150
20:24 25/5/26 ActiveScale Management S3 API

Application Amazon S3 ActiveScale S3

ActiveScale S3 interprets the


Sending a request with a timezone Amazon S3 interprets the string as
string as CETran, which is an
of CETrandomstring. CET.
unknown timezone.

ActiveScale S3 returns an HTTP


Sending a request with an Amazon S3 returns an HTTP 403
500 Internal Server
unsupported time zone format. Forbidden message.
Error message.

ActiveScale S3 returns an HTTP


Sending a request without the Amazon S3 returns an HTTP 403
500 Internal Server
HTTP Date header. Forbidden message.
Error message.

Amazon S3 returns an HTTP 505 ActiveScale S3 returns an HTTP


Sending a request with an
HTTP Version Not Supported 500 Internal Server
unsupported HTTP version.
message. Error message.

ActiveScale S3 returns an HTTP


Sending a request with bad URL Amazon S3 returns an HTTP 400
501 Not Implemented
encoding. Invalid URI: EOF message.
message.

ActiveScale S3 returns an HTTP


Sending a request with an invalid Amazon S3 returns an HTTP 400
500 Internal Server
path. Invalid URI message.
Error message.

Sending a request with a different


Amazon S3 returns an HTTP 301 ActiveScale S3 returns an HTTP
Host value than the one
Moved Permanently message. 400 Bad Request message.
configured in ActiveScale.

AWS S3 returns the error message ActiveScale S3 returns the error


Specifying an incorrect md5sum The Content-MD5 you message The Content-MD5
value. specified did not match you specified was an
what we received. invalid.

ActiveScale S3 ignores the


Sending a request with Accept- Amazon S3 chunks Transfer-
header. Transfer-Encoding is not
Encoding: Identity. Encoding.
chunked.

ActiveScale S3 returns an HTTP


Sending a GET request with If- AWS S3 returns an HTTP 200 OK
501 Not Implemented
Range in the header. message.
message.

close section

close section

5.3 Headers
The following sections provide information about headers.

5.3.1 Common Request Headers


The following table lists the common request headers for the ActiveScale S3 API.

Header Supported Notes

Authorization Yes None

Content-Length Yes None

[Link] 144/150
20:24 25/5/26 ActiveScale Management S3 API

Header Supported Notes

Content-Type Yes None

Content-MD5 Yes None

Date Yes None

Expect Yes None

Host Yes None

x-amz-content-sha256 Yes None

x-amz-date Yes None

x-amz-security-token No None

Note: See RFC2616 for more information about headers.

close section

5.3.2 Common Response Headers


The following table lists the common response headers for the ActiveScale S3 API.

Header Supported Notes

Content-Length Yes None

Content-Type Yes None

Connection Yes None

Date Yes None

ETag Yes None

Server Yes None

x-amz-delete-marker Yes None

x-amz-id-2 Yes None

x-amz-request-id Yes None

Note: See RFC2616 for more information about headers.

close section

close section

5.4 Identity and Access Management


ActiveScale Identity and Access Management (IAM) is a web service that helps to securely control user
access to resources. IAM authentication controls who can use the resources.

[Link] 145/150
20:24 25/5/26 ActiveScale Management S3 API

5.4.1 System Node Identity Model


In ActiveScale, every customer is an entity which almost always represents a company or legal entity.
Every customer has the same identity model which consists of three levels.
The following list defines the identity models.
Storage Admin—The Storage Admin, or user identity administrator of a customer, is the identity
who manages the customer accounts and users. There is only one storage administrator per
customer supported.
Account—The Account identity can be considered as a division of the company. But this identity
also acts as a system administrator or a super user. The account has one or more API keys, known
as root keys, which allows bucket management.
User—The User identity belongs to one account and is linked through the canonical ID of the
account. The user is the machine or person who initiates S3 requests.
close section

5.4.2 Groups
The following list defines the system node groups.
Authenticated users - This group contains all users and accounts who have active S3 API keys.
All users - This group contains all the users, with or without S3 API keys. This allows for
anonymous bucket and object operations.
close section

5.4.3 Comparing ActiveScale and AWS IAMs


The following table outlines a comparison between ActiveScale and AWS.

Table 94: Comparing ActiveScale Identities and AWS IAM

ActiveScale AWS IAM

Three identities, Storage Admin, Account, and Two identities, AWS Accounts and IAM Users.
User.

Two groups, authenticated users and all users. Two global groups, authenticated users and
unauthenticated users.

Simpler than AWS. The user who uploads the objects is the object
owner.

More oriented towards the private cloud than the


ISP cloud.

Per-object READ permission is granted


automatically for every object in a specific
bucket.

close section

close section

5.5 Naming Restrictions


The following list outlines the naming restrictions for the ActiveScale S3 API.
Standard ASCII characters for user names
Standard ASCII characters for bucket names
[Link] 146/150
20:24 25/5/26 ActiveScale Management S3 API
Standard ASCII characters for object names
Standard ASCII characters for access and secret access keys

5.5.1 Bucket Names


Information about bucket names is found on the following Amazon API Reference page.
[Link] AmazonS3/latest/dev/[Link]#bucketnamingrules
close section

close section

5.6 Object ACLs


Setting ACLs on individual objects is not supported. Objects will inherit the ACL settings for the bucket in
which they are stored.
Objects uploaded by an S3 account other than the bucket owner, will be considered owned by the bucket
owner, not the user who uploaded the object.
close section

5.7 Object Versioning


ActiveScale supports AWS S3 object versioning, which allows users to store and manage multiple
instances of the same object in a bucket. For newly created buckets, versioning is disabled by default.
Refer to the calls in the API guide above for more information on how to manage versioning on a bucket
and object level. ActiveScale does not have support for MFA (Multi-factor Authentication) Delete in the
bucket versioning policy.
Further information is found on the following Amazon API Reference page.
[Link]
close section

5.8 Preconfigured ACLs


The ActiveScale S3 API supports the following AWS pre-configured ACLs at the bucket level.
private
public-read—Anonymous reads only.
public-read-write— Anonymous reads and writes.
authenticated-reads—Read access for any successfully authenticated S3 request.
close section

5.9 Query Parameters


The ActiveScale S3 API processes the following query parameters.
With the GET Bucket requests:
prefix
delimiter
marker
max-keys
With the GET Object request:
Expires
AWSAccessKeyId
Signature
close section

[Link] 147/150
20:24 25/5/26 ActiveScale Management S3 API

5.10 Regions
PUT Bucket will accept any specified LocationConstraint value. The region supported in subsequent
operations on the bucket is always the region specified by LocationConstraint. us-east-1 is the
default region. In response to some requests like GET Bucket location, the region may be left blank
because an empty LocationConstraint value indicates us-east-1.
close section

5.11 S3 Request Styles


The ActiveScale S3 API supports accessing buckets with both the virtual hosted style request and the
older path style request.

5.11.1 Path Requests


In this request style, the bucket name is not part of the domain name. It is in the URL or the HTTP host
header.
The following code block shows a path-style PUT Object request.

"PUT /mybucket/myfile HTTP/1.1”


“Host: [Link]"
...

The following code block shows a path-style DELETE Object request.

"DELETE /mybucket/myfile HTTP/1.1"


"Host: [Link]"
...

close section

5.11.2 Virtual Host Requests


In this request style, the bucket name is part of the domain name. It is in the URL or the HTTP host
header.
The following tables show two virtual host-style PUT Object requests.

"PUT [Link] HTTP/1.1"

"PUT /myfile HTTP/1.1"


"Host: [Link]"
...

The following tables show two virtual host-style DELETE Object requests.

"DELETE [Link] HTTP/1.1"

[Link] 148/150
20:24 25/5/26 ActiveScale Management S3 API

"DELETE /myfile HTTP/1.1" "Host: [Link]"

close section

close section

5.12 S3 Whitelisting
The ActiveScale S3 API white-lists known S3 headers and query parameters to prevent unknown headers
and parameters from potentially making dangerous changes to the intent of a request. If a header or query
parameter is rejected in an S3 call which you believe should be allowed, provide the header to HGST
support for evaluation and potential inclusion in the white-list.
close section

5.13 Server-Side Encryption


The header x-amz-server-side-encryption: AES256 can be included in PUT Object, Initiate
Multipart Upload, and COPY Object operations to indicate to the ActiveScale system that the object
should be encrypted at rest. This allows S3 clients to selectively choose what objects are encrypted at
rest, and which are not. The ActiveScale system must be previously configured for encryption at rest. See
the Amazon S3 documentation for details about configuring encryption at rest.
close section

5.14 Storage Classes


Storage classes are partially supported in the ActiveScale API. All objects will be stored with the system
configured storage durability policy. In order to allow compatibility with some S3 applications, the
ActiveScaleActiveScale S3 API will not reject a PUT Object, Initiate Multipart Upload, and Put
Object - Copy operations that include the x-amz-storage-class header. Additionally, the specified
storage class will be stored in the object metadata so that it is visible during a GET Object or HEAD
Object operation.
The following table lists both the supported and unsupported storage classes.

Class Supported

DEEP_ARCHIVE Treated as synonym of GLACIER

GLACIER ASCS only

GLACIER_IR Treated as synonym of STANDARD

INTELLIGENT_TIERING Treated as synonym of STANDARD

ONEZONE_IA Treated as synonym of STANDARD

REDUCED_REDUNDANCY Treated as synonym of STANDARD

STANDARD Yes

STANDARD_IA Treated as synonym of STANDARD

close section

5.15 User Defined Metadata


User defined metadata is provided in the x-amz-meta- request header in PUT Object, PUT Object -
Copy, and Initiate Multipart UploadActiveScale API requests. User defined metadata is returned in
the x-amz- meta- response header in reply to GET Object and HEAD Object requests.

[Link] 149/150
20:24 25/5/26 ActiveScale Management S3 API
S3 supports MIME-encoded words in user defined metadata. This means you can use values with
encodings that are not ASCII. S3 converts the provided MIME-encoded words into UTF-8 characters and
returns the MIME-encoded words in UTF-8 characters as a reply to any HEAD Object or GET Object
request.
MIME-encoded words of the form =?charset?encoding?text?= in the x-amz-meta- requests are
partially supported.
MIME-encoded words are not converted to UTF-8, but are stored exactly as provided in the request.
Maximum length calculation is not fully compatible with Amazon S3, because it is based on the length
of the MIME- encoded word rather than on the UTF-8 encoding of the MIME-encoded text.
The set of supported character sets is by default limited to the following sets:
ASCII
ISO-8859-1
ISO8859-1
UTF-8
UTF8
UTF-16
UTF16
UTF-32
UTF32
close section

Send us your comments

© Quantum Corporation. All rights reserved. | 6-68960-01 | Initial publication date: May 10, 2021 | Last updated on Thursday, May 21, 2026.

[Link] 150/150

You might also like