Skip to content
Jessica Delage02.13.20203 min read

Using Nodeum's API Rest in your Data storage Business workflow

In our Github Community, we recently share some SDK package in different langages as Python, Go, Angular, Ruby...

It's free access to help you to integrate your business workflow to Nodeum.

What is an API REST ?

REST APIs are based on the HTTP (Hypertext Transfer Protocol) protocol which defines communication between clients and servers. It is designed to enable communications between clients and servers.

A web browser may be the client, and an application on a computer that hosts a web site may be the server.

Example: A client (browser) submits an HTTP request to the server; then the server returns a response to the client.

The response contains status information about the request and may also contain the requested content.

Different requests are available :

  1. GET is used to request data from a specified resource. Query string (name/value pairs) is sent in the URL of a GET request.
  2. POST is used to send data to a server to create/update a resource. The data sent to the server with POST is stored in the request body of the HTTP request.
  3. PUT is used to send data to a server to create/update a resource.
  4. POST is used to send data to a server to create a resource.
  5. DELETE is used to delete the specified resource.

Nodeum API REST Example

The client-server principle defines the two entities that interact in a REST API communication: a client and a server. A client sends a request, and the server returns a response ; it is important to understand that it is "stateless" communication ; this means that both work independently of each other ; the server has no idea what the client is doing between requests.

The Server responses for REST APIs can be delivered in multiple formats, JSON (JavaScript Object Notation) is the most often used.

What Nodeum provides as REST API ?

Our API allows a tight integration between your business workflows and the dataset stored into your different storage. It allow for control of the Data Management straight from any source application. This results in an automated and highly efficient way of working.

We allow two different ways of getting the most of Nodeum :

  • Either you use directly the REST API.
  • Either you use the SDK we publish.

The second option with the SDK is easy of use to directly integrate the available Methods into your application. We provide SDK in different languages including : GO, JAVA, Python, JS, Ruby.

Go further, what can you do with this API ?

  • In post production, this API is used to automate and orchestrate the archived data. In one click then can retrieve all dailies of a production and move them back directly to the storage where the edition has to be done.
  • In life science, this API is used by Bio Informaticien and researchers to accelerate and to simplify the data movement between the supercomputing systems and the data repositories.  
  • In media, it is used to preserve the archive metadata  ensuring integration with your business production and business systems (MAM, PAM, Orchestration, Media supply chain).
Example :

Here is a GET request launched to the Nodeum API to obtain the list of files that have been archived on a storage volume 'MTC631' by a specific workflow:

 

GET http://nodeum/api/catalog/search?q=&volume_s_names=MTC631&cursor_mark=*

And here is the Nodeum response, in JSON format :

{

status: "SUCCESS",
code: 200,
results

[

    {

file_path"nodeum/video/VIDEO ARRI/reload/master/A9C001.0143000000.ari",

type"files",

file_creation_date"2019-04-11T12:57:48Z",

file_type1,

file_parent_path"nodeum/video/VIDEO ARRI/reload/master",

parent_paths

[

"nodeum/video/VIDEO ARRI/reload/master",

"MTC606/video/VIDEO ARRI/reload/master",

"MTC628/video/VIDEO ARRI/reload/master",

"MTC629/video/VIDEO ARRI/reload/master",

"MTC631/video/VIDEO ARRI/reload/master"

],

parent_descendent_paths

[

"nodeum/video/VIDEO ARRI/reload/master",

"MTC606/video/VIDEO ARRI/reload/master",

"MTC628/video/VIDEO ARRI/reload/master",

"MTC629/video/VIDEO ARRI/reload/master",

"MTC631/video/VIDEO ARRI/reload/master"

],

id"files_165667",

container_p_name"video",

primary_name"video",

file_modification_date"2018-11-15T14:48:42Z",

file_name"A9C001.0143000000.ari",

name"A9C001.0143000000.ari",

file_size: 9550848,

file_base_name: "A9C001.0143000000",

file_in_cache: true,

file_extension: ".ari",

file_in_cache_date: "2019-04-11T12:57:48Z",

volume_s_paths:

[

….

As you can see, your application can access any contents that have been archived and protected across all of your storages ; and then you can view this information in your application or use it for data storage, etc.

For more information, you can go into our documentation here , all endpoints are documented. 
 
Enjoy your try,

RELATED ARTICLES