Create a data container
Every object (file/set of files) in LABDRIVE is preserved in a Data Container. Data containers define the policies, functions, permissions and the underlying storage policy for the files they contain, and have many similarities with Amazon S3 buckets or Azure containers, as they can hold files, folders, metadata, etc.
It is possible to create a data container using the LABDRIVE Management Interface or using the API:
Create a data container using the Management Interface
1. Sign in to the LABDRIVE Management Interface
2. Select Containers

3. Select New Container
The New Container page opens
4. In the Container name, enter a descriptive name for the content you plan to have in your container (like "2022 Cyclotron resonance experiments"). This name allows you and other users to easily locate the container when using the LABDRIVE Management Interface.
You can leave any other field as default and select Create. LABDRIVE will now open the data container details page. If you plan to work with your data container using any of the file transfer methods LABDRIVE supports or with the LABDRIVE API, it is important that you remember the data container identifier, that is shown next to the container name.

Create a data container using the API
1. Sign in to the LABDRIVE Management Interface
2. Obtain your LABDRIVE API key by selecting your name and then Access Methods:

3. Use this method:
curl --request POST \
--url "$your_platform_url/api/container" \
--header "Authorization: Bearer $your_platform_api_key" \
--form "name=My Container" \
--form "description=Some fancy description" \
--form container_metadata_id=1 \
--form metadata_schema_id=1 \
--form workflow_id=1 \
--form archival_structure_id=1 \
--form storage_id=1
If you plan to work with your data container using any of the file transfer methods LABDRIVE offers or with the LABDRIVE API, it is important that you remember the data container identifier, that is delivered in the response:
{
"success": true,
"result": {
"id": "6321", //<-- this will be your container's ID
"parent": null,
"name": "My Container",
"description": "Some fancy description",
"creator": "1",
"checked_in_user": null,
"date_create": "2021-03-01 09:42:10.123456",
"date_update": "2021-03-01 09:42:00",
"file_total": "0",
"size_total": "0",
"archived": "0",
"storage_id": "1",
"container_metadata_id": "1",
"metadata_schema_id": "1",
"workflow_id": "1",
"workflow_step_id": "1",
"archival_structure_id": "1",
"submission_area_id": null,
"permission_source": "INHERIT"
}
}
If you need your container metadata schemas remember you can use:
curl --request GET \
--url "$your_platform_url/api/containers/metadata/schema" \
--header 'Content-Type: application/json' \
--header "authorization: Bearer $your_platform_api_key"
To get your object-level metadata schemas, you can use:
curl --request GET \
--url "$your_platform_url/api/objects/metadata/schema" \
--header 'Content-Type: application/json' \
--header "authorization: Bearer $your_platform_api_key"
To get your available workflows:
curl --request GET \
--url "$your_platform_url/api/workflow" \
--header 'Content-Type: application/json' \
--header "authorization: Bearer $your_platform_api_key"
Last updated
Was this helpful?