We have decided to discontinue support for the Swift API in DreamObjects on Dec. 31, 2017 because of limited functionality in Ceph, DreamObjects’ underlying storage system. Beginning Jan. 1, 2018, all interaction with DreamObjects will take place via the S3 API or the web-based DreamHost control panel.
By default, we automatically create S3 credentials for you when enabling DreamObjects. If you have never created a Swift user for DreamObjects, then this does not applies to you!
This has multiple potential impacts for the accessibility of both data and metadata if you have stored data in DreamObjects using the Swift API.
If the names of your Swift containers are valid S3 bucket names, then your objects will continue to be accessible via the S3 API. Typical examples of characters that are valid in Swift container names but not in S3 bucket names include spaces, punctuation, and non-ASCII characters. Further details on bucket naming guidelines are available in our Knowledge Base.
If your Swift container name is not a valid S3 bucket name, you have a few options to fix the issue:
- Move data to an S3 bucket, server-side:
- Create a new bucket using the S3 API or pick an existing bucket with an S3-compatible name
- Using the Swift API, perform a server-side COPY of each object to the new container
- Delete the source object after the COPY completes (there is no move or rename operation)
- Move data to an S3 bucket, client-side:
- Download your objects via the Swift API and upload it to an S3 bucket
- Delete the source objects and Swift container
- Delete the container
- If the content is old and you simply don’t need it anymore, consider deleting it
- Please feel free to contact our technical support team for help deleting entire containers or any objects that don’t seem to be deletable
If you have Swift-specific metadata attached to any containers or objects, you must capture that info and re-apply it to your objects via the S3 API. The metadata will not be available via the Swift API after Dec. 31, 2017.
Going forward with one API will allow us to provide more consistent support and documentation. We’ll continue streamlining DreamObjects to improve and simplify data storage for you.