LogoLogo
  • What is LABDRIVE
  • Concepts
    • Architecture and overview
    • Organize your content
    • OAIS and ISO 16363
      • Understanding OAIS and ISO 16363
      • LABDRIVE support for OAIS Conformance
      • Benefits of preserving research data
      • Planning for preservation
      • ISO 16363 certification guide
      • LABDRIVE support for FAIRness
  • Get started
    • Create a data container
    • Upload content
    • Download content
    • Introduction to metadata
    • Search
    • File versioning and recovery
    • Work with data containers
    • Functions
    • Storage mode transitions
    • Jupyter Notebooks
  • Configuration
    • Archive organization
    • Container templates
    • Configure metadata
    • Users and Permissions
    • Running on premises
  • DATA CURATION AND PRESERVATION
    • Introduction
    • Information Lifecycles
    • Collecting Information needed for Re-Use and Preservation
    • Planning and Using Additional Information in LABDRIVE
    • How to deal with Additional Information
      • Representation Information
      • Provenance Information
      • Context Information
      • Reference Information
      • Descriptive Information
      • Packaging Information
      • Definition of the Designated Community(ies)
      • Preservation Objectives
      • Transformational Information Properties
    • Preservation Activities
      • Adding Representation Information
        • Semantic Representation Information
        • Structural Representation Information
        • Other Representation Information
          • Software as part of the RIN
            • Preserving simple software
              • Jupyter Notebooks as Other RepInfo
            • Preserving complex software
              • Emulation/Virtualisation
                • Virtual machines as Other RepInfo
                • Docker and other containers as Other RepInfo
              • Use of ReproZip
      • Transforming the Digital Object
      • Handing over to another archive
    • Reproducing research
    • Exploiting preserved information
  • DEVELOPER'S GUIDE
    • Introduction
    • Functions
    • Scripting
    • API Extended documentation
  • COOKBOOK
    • LABDRIVE Functions gallery
    • AWS CLI with LABDRIVE
    • Using S3 Browser
    • Using FileZilla Pro
    • Getting your S3 bucket name
    • Getting your S3 storage credentials
    • Advanced API File Search
    • Tips for faster uploads
    • File naming recommendations
    • Configuring Azure SAML-based authentication
    • Exporting OAIS AIP Packages
  • File Browser
    • Supported formats for preview
    • Known issues and limitations
  • Changelog and Release Notes
Powered by GitBook
On this page
  • Create a data container using the Management Interface
  • Create a data container using the API

Was this helpful?

  1. Get started

Create a data container

PreviousLABDRIVE support for FAIRnessNextUpload content

Last updated 2 years ago

Was this helpful?

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.

To know more about how you can organize your content, see

To see other available options when using containers, see .

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

Use:

  • Url: Your LABDRIVE address

  • Header: Your LABDRIVE API Token (add Bearer prefix)

  • Name: The name of the container that will be created

  • Description: A short description (optional)

  • Container Metadata ID: The ID of the metadata schema to use for the container's metadata

  • Metadata Schema ID: The ID of the metadata schema to use for the container's files/objects

  • Workflow ID: The ID of the workflow that you would like to associate with this container

  • Archival Structure ID: The ID of the archival node to which you would like to add this container

  • Storage ID: The ID of the storage that this container will use

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"

API examples here are just illustrative. Check the for additional information and all available methods.

LABDRIVE API documentation
Organize your content
Working with data containers
Data container id