Amazon S3 API and Interface

S3 API Implementation Status

Objects API

  Method Status
1 DELETE Object Yes
2 Delete Multiple Objects No
3 GET Object Yes
4 GET Object ACL Plans to support with 1.2
5 GET Object torrent No
6 HEAD Object Yes
7 POST Object Yes
8 PUT Object Yes
9 PUT Object ACL Plans to support with 1.2
10 PUT Object - Copy Yes
11 Initiate Multipart Upload Yes
12 Upload Part Yes
13 Upload Part - Copy Yes
14 Complete Multipart Upload Yes
15 Abort Multipart Upload Yes
16 List Parts No

Buckets API

  Method Status
1 DELETE Bucket Yes
2 DELETE Bucket life cycle No
3 DELETE Bucket policy No
4 DELETE Bucket website Plans to support with 1.2
5 GET Bucket (List Objects) Yes
6 GET Bucket ACL Yes
7 GET Bucket life cycle No
8 GET Bucket policy No
9 GET Bucket location No
10 GET Bucket logging No
11 GET Bucket notification No
12 GET Bucket Object versions No
13 GET Bucket requestPayment No
14 GET Bucket versioning No
15 GET Bucket website Plans to support with 1.2
16 HEAD Bucket Yes
17 List Multipart Uploads No
18 PUT Bucket Yes
19 PUT Bucket ACL Yes
20 PUT Bucket life cycle No
21 PUT Bucket policy No
22 PUT Bucket logging No
23 PUT Bucket notification No
24 PUT Bucket requestPayment No
24 PUT Bucket versioning No
25 PUT Bucket website Plans to support with 1.2

Amazon S3 Interface

Amazon S3 Official Documentation

How to determine the name of Bucket

  • Virtual Hosting of Buckets
  • Values used for determining the name: * S3 uses the HTTP Host header or a Path segment in the HTTP request line. * How S3 determines what to use depends on the Domain name.
  • Patterns

1. http://s3.amazonaws.com/bucket/path_to_file

In this case, the name of the bucket is the first segment of the path.

bucket

Name Value
Request line GET /bucket/path_to_file HTTP/1.1
Host header Host: s3.amazonaws.com

The argument of LeoFS’ whereis | purge commands should be bucket/path_to_file.

2. http://www.example.com.s3.amazonaws.com/path_to_file

In this case, the name of the bucket is the part of the domain name before .s3.amazonaws.com.

www.example.com

Name Value
Request line GET /path_to_file HTTP/1.1
Host header Host: www.example.com.s3.amazonaws.com

The argument of LeoFS’ whereis | purge commands should be www.example.com/path_to_file.

3. http://www.example.com/path_to_file

In this case, the name of bucket is equal to the FQDN.

www.example.com
Name Value
Request line GET /path_to_file HTTP/1.1
Host header Host: www.example.com

The argument of LeoFS’ whereis | purge commands should be www.example.com/path_to_file.

4. Rules for Bucket Naming (v0.16.1-)

Note

We recommend as a best practice that you always use DNS-compliant bucket names regardless of the region in which you create the bucket.

  • Bucket names can be as long as between 3 and 255 characters.
  • Bucket names can contain lowercase letters, numbers, periods (.), dashes (-) and underscores (_).
  • Bucket names must not be formatted as an IP address (e.g., 192.168.5.4).
  • Bucket name cannot start and end with periods (.), dashes (-) and underscores (_).