marjory-logo

Suite ETL v2.0.1

Table of Contents


Actions

Push

Push the Marjory file data into a virtualFile

Inputs

{
  "marjoryFile": { /*(required)*/
    "id": "string",
    "name": "string", /*(required)*/
    "contentType": "string", /*(required)*/
    "link": "string", /*(required)*/
    "size": "number",
    "lastModified": "string",
  }
  "parameters": {
    "linesToIgnore": "integer",
    "useFirstRowAsSchema": "boolean",
    "csvDelimiter": "string",
    "schema": [
      "string",
    ]
  }
}

Outputs

Http Code 200
{
    "virtualFileId": "string"
}
Http Code 404
{
    "message": "Error not found"
}

Map

Execute function on each row of the virtual file

Inputs

{
  "virtualFileId": "string", /*The id of the virtual file to extract(required)*/
  "overwriteVirtualFile": "boolean",
  "action": "string", /*(required)*/
}

Outputs

Http Code 200
{
    "virtualFileId": "string"
}
Http Code 500
{
    "message": "string"
}

Clean virtual file

Clean virtual file by key

Inputs

{
  "virtualFileId": "string",
}

Outputs

Http Code 200
null
Http Code 500
null

Iterate

Each call on the iterator return one element of virtual file

Inputs

{
  "content": "string", /*Virtual file ID or array of any(required)*/
  "maxBatchSize": "number", /*Max element to return(required)*/
}

Outputs

Http Code 200
{
    "content": "array",
    "hasNext": "boolean"
}
Http Code 404
{
    "message": "Error not found"
}

Query

Query documents

Inputs

{
  "query": { /*(required)*/
    "key1": "string",
    "key2": "string",
  }
  "extractOnlyOneResult": "boolean",
}

Outputs

Http Code 200
{
    "result": [
        "object"
    ]
}
Http Code 500
{
    "message": "string"
}

Append Rows

Add content into a row of a specific virtual file

Inputs

{
  "rows": [ /*(required)*/
    {
      "virtualFileId": "string",
      "content": { /*(required)*/
        "key1": "string",
        "key2": "string",
      }
    }
  ]
}

Outputs

Http Code 200
"ok"
Http Code 500
{
    "message": "string"
}

Validate

Validate rows

Inputs

{
  "content": [ /*(required)*/
    {
      "string": "rdctfuv",
      "integer": 100,
      "float": -9999.99,
      "boolean": true,
    }
  ]
  "schema": { /*(required)*/
    "string": {
      "type": "string", /*(required)*/
      "maxLength": 14,
      "minLength": 5,
      "required": true,
    }
    "integer": {
      "type": "integer", /*(required)*/
      "maxLength": 4,
      "required": {
        "boolean": true,
      }
    }
    "float": {
      "type": "float", /*(required)*/
      "maxLength": "4,2",
      "required": true,
    }
    "boolean": {
      "type": "boolean", /*(required)*/
      "required": true,
    }
  }
}

Outputs

Http Code 200
{
    "validated": [
        "undefined"
    ],
    "rejected": [
        {
            "error": "string",
            "content": "string"
        }
    ]
}
Http Code 404
{
    "message": "Error not found"
}

Join

Join different virtual files into new one

Inputs

{
  "join": { /*(required)*/
    "left": { /*(required)*/
      "virtualFileId": "string", /*Virtual file ID(required)*/
      "customId": "string", /*short identifier for virtual file(required)*/
      "key": "id", /*Column name(required)*/
    }
    "right": { /*(required)*/
      "virtualFileId": "string", /*Virtual file ID(required)*/
      "customId": "string", /*short identifier for virtual file(required)*/
      "key": "id", /*Column name(required)*/
    }
    "type": "LEFT | INNER (INNER by default)", /*Join type*/
  }
  "outputSchema": {
    "key1": "string",
    "key2": "string",
  }
}

Outputs

Http Code 200
{
    "rejectionFileId": "string",
    "virtualFileId": "string"
}
Http Code 404
{
    "message": "Error not found"
}

Delete Rows

Delete rows by criteria

Inputs

{
  "virtualFileId": "string", /*Virtual file ID(required)*/
  "request": { /*The MongoDB request(required)*/
    "key1": "string",
    "key2": "string",
  }
}

Outputs

Http Code 200
{
    "deletedCount": "number"
}
Http Code 500
{
    "message": "string"
}

Pull

Pull a virtual file to a marjory file

Inputs

{
  "virtualFileId": "string", /*The id of the virtual file to extract(required)*/
  "exportType": "string", /*json || csv(required)*/
  "exportName": "string", /*Name of the exported file(required)*/
  "parameters": {
    "addFirstRowAsSchema": "boolean",
    "csvDelimiter": "string",
    "encoding": "utf-8",
    "schema": [
      "string",
    ]
  }
}

Outputs

Http Code 200
{
    "marjoryFile": {
        "name": "string",
        "link": "string",
        "id": "string",
        "lastModified": "string",
        "size": "number",
        "contentType": "string"
    }
}
Http Code 500
{
    "message": "string"
}
Version(s)
2.0.1