How to change the object base configuration to enable S3 API
IBM Storage Scale uses the s3api
middleware for OpenStack Swift, which allows access to IBM Storage Scale by using Amazon Simple Storage Service (S3) API.
Swift S3 serves as a linkage between legacy S3 applications and Swift storage. Not all
S3 features are supported. The S3 bucket is mapped to a Swift container, which means that a bucket
has the same limitations as a container. For more information about compatibility with AWS S3, see
S3/Swift REST API Comparison Matrix in OpenStack
documentation.
Use the following steps if S3 API is not enabled as part of the object base configuration:
- To enable S3 API, run the following command:
mmobj s3 enable
- To verify that S3 API is enabled, run the following
command:
mmobj s3 list
- To disable S3 API, run the following command:
mmobj s3 disable
- To verify that S3 API is disabled, run the following
command:
mmobj s3 list
Remember: You can use the s3api middleware for OpenStack Swift with S3 clients that are
using either the V2 or V4 S3 protocol.
The V2 protocol is the default. If you use the V4 protocol, make sure that the region of the
request matches the value of the location property in the
filter:s3api
section of
proxy-server.conf
file. Note: The default value for location in the s3api
middleware is
You can change the location value to something
other than us-east-1
, which means that V4 S3 clients must set
us-east-1
as the region. us-east-1
by changing the property in the
proxy-server.conf
file. To change the location, run the following command:
mmobj config change --ccrfile "proxy-server.conf" --section "filter:s3api" --property "location" --value "NEW_LOCATION"
Replace
"NEW_LOCATION"
with the appropriate value for your environment. Remember: After you change the value, any S3 clients that are using the V4 protocol must set
their region to the same value.
For the listing of buckets with the S3 protocol, a hardcoded date is returned as the creation
date of each bucket because of a limitation in Swift. For example, the date might look like
this:
2009-02-03 10:45:09
Important: To get the actual creation date of the bucket, use the Swift protocol to
query the associated container instead.