ML(Machine Learning) Workbench DataSource Service Developer Guide

1. Overview

This is the developers guide to ML Workbench DataSource Service.

1.1. What is ML Workbench DataSource Service?

ML Workbench DataSource Service expose API to allow to perform CRUD operation on DataSource in ML Workbench.

2. Technology and Frameworks

List of the development languages, frameworks, etc.

  1. Springboot 2.1.8.RELEASE
  2. Java 11
  3. Maven 4.0.0
  4. lightcouch 0.2.0
  5. JUnit 4.12

3. Project Resources

4. Development Setup

  1. Clone or download code from “Gerrit repo” mentioned above.

  2. Import datasource-service Project in IDE (viz., Eclipse or STC)

  3. Once successfully imported, set the required properties in application.properties file.

  4. Run as Springboot application.

  5. Access using Swagger UI : http://localhost:9097/mlWorkbench/v1/datasource/swagger-ui.html#

  6. Once you get the Swagger UI, click Authorize button and provide JWT token as below :

    Bearer <JWT token for Acumos User>

    Note: JWT token value can be obtained after successful login in Acumos.

  7. After successfully setting Authorize value, API are available to access. Following are the sample inputs :

    1.Get DataSource List

    {

    authenticatedUserId : User login Id,

    category : category,

    namespace : datasource namespace,

    textSearch : textSearch

    }

    2.Get DataSource

    {

    authenticatedUserId : User login Id,

    dataSourceKey : DataSource Key

    }

    3.Create New DataSource

    {

    authenticatedUserId : User login Id,

    DataSource : DataSource Object

    }

    4.Update DataSource Details

    {

    authenticatedUserId : User login Id,

    dataSourceKey : DataSource Key (DataSource Id),

    DataSource : DataSource Object

    }

    5.Delete DataSource Details

    {

    authenticatedUserId : User login Id,

    dataSourceKey : DataSource Key (DataSource Id)

    }

    6.Associate the DataSource to the project

    {

    authenticatedUserId : User login Id,

    projectId : Project Id,

    dataSourceKey : DataSource Key (DataSource Id),

    DataSource : DataSource object

    }

    7.Update the Association Details of DataSourceProject

    {

    authenticatedUserId : User login Id,

    projectId : Project Id,

    dataSourceKey : DataSource Key (DataSource Id),

    associationId : Association Id,

    DataSource : dataSource object

    }

    8.Get the list of DataSources which are associated to a project

    {

    authenticatedUserId : User login Id,

    projectId : Project Id

    }

    9.Delete the Association Details of DataSourceProject

    {

    authenticatedUserId : User login Id,

    projectId : Project Id,

    datasourceKey : Data Source key,

    associationId : Association Id

    }

    10.Share Data Source to a Collaborator

    {

    authenticatedUserId : User login Id,

    datasourceKey : Data Source key,

    Users : collaborators

    }

    11.Get the Shared DataSources for a User

    {

    authenticatedUserId : User login Id

    }

    12.Remove the User from Collaborator List

    {

    authenticatedUserId : User login Id,

    datasourceKey : Data Source key,

    Users : collaborators

    }