Amazon S3 compatible API
The Enterprise File Fabric provides support for an Amazon S3 compatible API. This means the S3 compatible object storage API can be used to access files that have been mapped to the File Fabric, such as files available on Google Drive, RackSpace Cloud Files, or Microsoft OneDrive, or any of the many other clouds that the solution supports.
The S3 API is available on the SaaS hosted service and also on the enterprise on-premises edition of the product.
Client Configuration
To use the S3 API the:
- Cloud S3 Endpoint
- Access Key ID
- Secret Access Key
are required.
1. Cloud S3 Endpoint
For the SaaS hosted service it is required to use one of the following S3 API endpoints:
- http://s3.storagemadeeasy.com (US Server)
- https://s3.storagemadeeasy.com (US Server)
- http://s3eu.storagemadeeasy.com (EU Server)
- https://s3eu.storagemadeeasy.com (EU Server)
Naturally http endpoints are not secure and should not be used for production data.
For the enterprise on-premises version of the product the S3 access nomenclature is set through the ConfigServer.
2. Access Key ID
The Access Key ID is the SME or File Fabric username.
3. Secret Access Key
You can obtain the API secret key by logging into the File Fabric going to My Account from the sidebar and copying the key from where it says API secret key.
Use With a Variety of S3 Clients
The File Fabric's S3 interface can be used with almost any S3-compatible tool including Storage Made Easy's S3 Cloud Explorer and AWS' command line interface (AWS CLI). Here are links to some information about those tools:
- awscli - Allowing command line access to cloud files
API Implementation
The File Fabric implements the following Amazon S3 operations:
- PUT request to create a bucket
- GET to list buckets
- GET to list contents of a bucket (list objects)
- PUT object to upload new file
- DELETE to delete object from bucket
- PUT with header x-amz-copy-source to copy object
- HEAD to get object metadata
S3 Signatures Supported
The S3 API supports V2 and V4 signatures. Which one is used is dependent on the client request.