Deprecated
This feature is deprecated from the Commvault software in Feature Release 11.19.
See End-of-Life, Deprecated and Extended Support - Features for information about deprecated features.
Cloud Data Management Interface (CDMI) is an industry standard that defines the interface for applications to access and manage data objects that are in cloud storage.
Commvault provides APIs that enable applications to use their existing CDMI interface to access the ObjectStore repository. The CDMI APIs are implemented as a REST service that is hosted on the Web Console. Using the CDMI APIs, you can integrate your CDMI friendly applications with the ObjectStore repository, and port the application data to the ObjectStore repository. You can then use of the Commvault software features to manage the application data in the ObjectStore repository. For each CDMI API, a compatible ObjectStore API request is sent to the Web Console web service, and the response is converted into a compatible CDMI API, and then sent to the client.
CDMI APIs identify the data on the cloud storage using the following objects:
-
CDMI container
An object that can store multiple children data or container objects and their associated metadata. A CDMI container is analogous to a folder on a file system. The MIME type for this object is application/cdmi-container.
-
CDMI data object
An object that stores the data in the form of an array of bytes (values) and associated metadata. A CDMI data object is analogous to a file on a file system. The MIME type for this object is application/cdmi-object.
-
CDMI capability
An object that identifies the operations that are supported for a given CDMI entity. The MIME type for this object is application/cdmi-capability.
Prerequisites
To implement CDMI APIs, you must complete the following steps:
-
Verify that the CDMI user has edit access to the ObjectStore repository.
Using CDMI APIs for Your ObjectStore
By default, the CDMI APIs are enabled on your Web Console. The Commvault software currently supports CDMI interface version 1.1.
Authentication
To implement CDMI APIs, you must use an Authorization header in the following format:
Authorization - Basic base64string
where base64string represents a base64 encoded form of the username:password string.
CDMI APIs and the corresponding ObjectStore APIs
The following table lists the CDMI APIs and the corresponding ObjectStore APIs.
Command |
CDMI API |
ObjectStore API |
Description |
---|---|---|---|
PUT Object |
PUT <root_URI>/<ContainerName>/<DataObjectName> HTTP/1.1 |
PUT http://<webconsolehostname>/webconsole/service/cdmi/<ContainerName>/<DataObjectName> HTTP/1.1 |
Create a data object. |
PUT Object Multipart |
PUT <root_URI>/<ContainerName>/<DataObjectName> HTTP/1.1 |
PUT http://<webconsolehostname>/webconsole/service/cdmi/<ContainerName>/<DataObjectName> HTTP/1.1 |
Create a data object with file data sent as part of a multipart message. |
GET Object |
GET <root_URI>/<ContainerName>/<DataObjectName> HTTP/1.1 |
GET http://<webconsolehostname>/webconsole/service/cdmi/<ContainerName>/<DataObjectName> HTTP/1.1 |
Read a data object. |
GET Object Multipart |
GET <root_URI>/<ContainerName>/<DataObjectName> HTTP/1.1 |
GET <webconsolehostname>/webconsole/service/cdmi/<ContainerName>/<DataObjectName> HTTP/1.1 |
Read a data object with the file sent as a multipart message. |
DELETE Object |
DELETE <root_URI>/<ContainerName>/<DataObjectName> HTTP/1.1 |
DELETE <webconsolehostname>/webconsole/service/cdmi/<ContainerName>/<DataObjectName> HTTP/1.1 |
Delete a data object. |
PUT Container |
PUT <root_URI>/<ContainerName>/<NewContainerName>/ HTTP/1.1 |
PUT <webconsolehostname>/webconsole/service/cdmi/ContainerName>/<NewContainerName>/ HTTP/1.1 |
Create a container object. |
GET Container |
GET <root_URI>/<ContainerName>/<TheContainerName>/ HTTP/1.1 |
GET <webconsolehostname>/webconsole/service/cdmi/ContainerName>/<TheContainerName>/ HTTP/1.1 |
Read a container object. |
DELETE Container |
DELETE <root_URI>/<ContainerName>/<TheContainerName>/ HTTP/1.1 |
DELETE <webconsolehostname>/webconsole/service/cdmi/<ContainerName>/<TheContainerName>/ HTTP/1.1 |
dDelete a container object. |