NIH | National Cancer Institute | NCI Wiki  

If both of the following conditions are true, you can register a data file into an existing collection in DME: 

  • If your user account has the Write or Own permission level on that existing collection.
  • If that existing collection has been configured to contain data files. 

If the file is larger than two GB, refer to Using dm_register_dataobject_multipart

The character limit for each metadata value is 2700.

To register a data file:

  1. In your local system, create a JSON file that specifies the metadata for the new data file, as follows:

    { 
        "generateUploadRequestURL" : true,
        "metadataEntries": [
          {
            "attribute": "description",
            "value": "my-dataObject-description"
          },
          {
            "attribute": "example_date",
            "value": "20201231",
            "dateFormat": "yyyyMMdd"
          }
        ]
    }
  2. For each date attribute, specify one of the following date formats, and specify the date value in that format:

    • yyyyMMdd
    • yyyy.MM.dd
    • yyyy-MM-dd
    • yyyy/MM/dd
    • MM/dd/yyyy
    • MM-dd-yyyy
    • MM.dd.yyyy

    The system parses your date using the date format you specify. Then however, if the date attribute has a metadata validation rule in a different format, the system stores the date in the format specified by that rule.

  3. In your JSON file, if you want to create a parent collection for the data file you are registering (or update the metadata of a parent collection), also specify the metadata for the parent collection. Click the following link to view the syntax:  
    {
        "metadataEntries": [
            {
             "attribute": "description",
             "value": "my-file-description"
            },
            {
             "attribute": "my-second-attribute-name",
             "value": "my-second-attribute-description"
            }
        ],
        "createParentCollections": true,
    	"parentCollectionsBulkMetadataEntries": {
    		"pathsMetadataEntries": [{
    			"path": "/Example_Archive/PI_Lab1/Project_New",
    			"pathMetadataEntries": [{
    					"attribute": "collection_type",
    					"value": "Folder"
    				},
    				{
    					"attribute": "example info",
    					"value": "123456"
    				}]
    		}]
    	}
    }
  4. Run the following command:

    dm_register_dataobject_presigned [optional parameters] <description.json> <destination-path> <source-file>


    The following table describes each parameter:

    ParameterDescription
    [-h]
    If you want to print a usage (help) message for this command, specify this option.
    [-D <REST-response>]

    An optional parameter, specifying a path and filename in your local system. The system always creates a response file:

    • If you specify this parameter, the system saves the response from the server to the specified file in the specified location.
    • If you omit this parameter, the system saves the file as dataObject-registration-response-header.tmp in your home directory.
    [-o <output-json-file>]

    An optional parameter, specifying a path and filename in your local system. The system always creates an output file: 

    • If you specify this parameter, the system saves the output to the specified file in the specified location.
    • If you omit this parameter, the system saves the output as dataObject-registration-response-message.json.tmp in your home directory. 

    If the command is successful, the output file is empty.

    <description.json>
    A path to the JSON file that specifies the metadata for the new data file.
    <destination-path>
    A path within DME, including the name of the file you intend to register. Specify where you want the system to create the new data file.
    <source-file>

    A path in your local system, specifying the data file that you want to register.

For example, the following command registers the data.txt file from the JaneDoe folder in the local system to the Project_New collection in DME:

dm_register_dataobject_presigned /NCI/JaneDoe/my-metadata.json /Example_Archive/PI_Lab1/Project_New /NCI/JaneDoe/data.txt