Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Section

Create a Workbook v2

Request Method POST
Description

Creates a workbook based on a JSON representation for workbooks using the Git versioning plug-in.

URI Syntax
Code Blocknoformat
curl -u '<username>:<password>' -X POST -H "Content-Type:application/json" -d @<file name>.json 'http://<Datameer-serverIP>:<port-number>/api/workbooks'
Example Response

If the request is successful, there is no output.

Additional Notes

<file name>.json

  • The workbook file is a JSON representation of all information entered during the creation process using the web interface.
  • An easy method of creating a workbook file is to use REST to read an import job, data link ,or workbook and change the JSON that is returned.
  • Injecting a workbook from a JSON file needs to match the current version of Datameer. Backup workbooks from previous versions of Datameer X aren't supported unless properly migrated during the upgrade.
Section

Read a Workbook v2

Request Method GET
Description

Reads a workbook based on a JSON representation for the workbooks using the Git versioning plug-in.

URI Syntax
Code Blocknoformat
curl -u '<username>:<password>' -X GET 'http://<Datameer-serverIP>:<port-number>/api/workbooks/<file-id>'
Example Response
Code Block
collapsetrue
{
  "workbook": {
    "_version": "5.11.0",
    "dataPermission": {
      "groups": {},
      "owner": "system",
      "permissionForOthers": false
    },
    "errorHandling": {
      "maxLogErrors": 1000,
      "mode": "IGNORE"
    },
    "file": {
      "createdAt": "2015-12-07T09:08:11.557+01:00",
      "description": "",
      "extension": "WORKBOOK",
      "folder": [
        "/Analytics/Workbooks",
        "8bbdb7a0-7ddc-4225-85fe-95d001caedb9"
      ],
      "modifiedAt": "2015-12-07T09:08:11.568+01:00",
      "name": "apache_log_wb",
      "permission": {
        "groups": {},
        "owner": "system",
        "permissionForOthers": {
          "executable": true,
          "readable": true,
          "writable": true
        },
        "publiclyShared": false
      },
      "uuid": "1a552255-3f2a-407d-9270-2813af4c1a74"
    },
    "jobConfiguration": {
      "dataRetentionPolicy": {
        "_type": "PurgeAfter",
        "minimumToKeep": 1
      },
      "hadoopProperties": {},
      "logging": {
        "properties": {}
      },
      "triggering": {
        "_type": "DataDrivenTriggering",
        "sheets": {}
      }
    },
    "notification": {
      "emailsInCaseOfFailure": [],
      "emailsInCaseOfSuccess": []
    },
    "sheets": [
      {
        "_type": "DataSourceReferenceSheet",
        "uuid": "69aee54f-44f1-4d9a-a259-2fba7aa91a69",
        "columns": [
          {
            "id": "remoteHost",
            "name": "remoteHost",
            "position": 0
          },
          {
            "id": "logName",
            "name": "logName",
            "position": 1
          },
          {
            "id": "remoteUser",
            "name": "remoteUser",
            "position": 2
          },
          {
            "id": "requestTime",
            "name": "requestTime",
            "position": 3
          },
          {
            "id": "request",
            "name": "request",
            "position": 4
          },
          {
            "id": "status",
            "name": "status",
            "position": 5
          },
          {
            "id": "bytesSent",
            "name": "bytesSent",
            "position": 6
          }
        ],
        "identifier": "7f170571-06e1-4655-b9b8-823b228df25c",
        "kept": false,
        "name": "apache_log",
        "position": 0
      },
      {
        "_type": "FormulaSheet",
        "columns": [
          {
            "formula": "=GROUPBY(#apache_log!status)",
            "id": "0",
            "name": "A",
            "position": 0
          },
          {
            "formula": "=GROUPCOUNT()",
            "id": "1",
            "name": "B",
            "position": 1
          }
        ],
        "identifier": "2228a24d-87fc-4bf5-bc40-3b7486c33a49",
        "kept": true,
        "name": "status",
        "position": 1
      }
    ],
    "properties": {}
  },
  "_links": {
    "file": {
      "href": "/api/filesystem/files/1a552255-3f2a-407d-9270-2813af4c1a74"
    },
    "self": {
      "href": "/api/filesystem/workbooks/1a552255-3f2a-407d-9270-2813af4c1a74"
    }
  }
Section

Update a Workbook v2

Request Method PUT
Description

Updates an existing workbook using the Git versioning plug-in.

URI Syntax
Code Blocknoformat
curl -u '<username>:<password>' -X PUT -H "Content-Type:application/json" -d @<file name>.json 'http://<Datameer-serverIP>:<port-number>/api/workbooks/<file-id>'
Example Response

If the request is successful, there is no output.

Additional Notes

<file name>.json

  • The workbook file is a JSON representation of all information entered during the creation process using the web interface.
  • An easy method of creating a workbook file is to use REST to read an import job, data link ,or workbook and change the JSON that is returned.
  • Injecting a workbook from a JSON file needs to match the current version of Datameer. Backup workbooks from previous versions of Datameer X aren't supported unless properly migrated during the upgrade.
Section

Delete a Workbook

Request Method DELETE
Description

Removes a workbook from Datameer.

URI Syntax
Code Blocknoformat
curl -u '<username>:<password>' -X DELETE 'http://<Datameer-ServerIP>:<Port>/rest/workbook/<workbook-configuration-id>'
Example Response
Code Block
{"status": "success"} 
Section

View Workbook Metadata

Request Method GET
Description

Returns data on the workbook including the path, number of records, time stamp, and ID.

URI Syntax
Code Blocknoformat
curl -u '<username>:<password>' -X GET 'http://<Datameer-serverIP>:<port-number>/rest/data/workbook/{configuration-id}'
Example Response
Code Block
[
{
"path": "/Data/ImportJobs/DatameerImport.imp",
"record-count": 20,
"datas": [
{
"timestamp": "Mar 5, 2013 10:44:59 AM",
"record-count": 20,
"id": 19372
}
]
Section

Download Workbook Data

Request Method GET
Description

Returns the column names and records of the workbook.

Info
titleINFO

The default limit for number of rows to download is 100,000, as this functionality is intended for small aggregated data sets. To adjust the record download limit, change the rest.download-data.records-max=100000 property in the <datameer_install>/conf/default.properties file. Setting the value to 0 unlocks the limit, but increasing the number could result in slower processing for the Datameer X conductor. Your local system might also have download restrictions. If you want to download more than 100,000 rows, we suggest creating an export job instead.

URI Syntax
Code Blocknoformat
curl -u '<username>:<password>' -X GET 'http://<Datameer-serverIP>:<port-number>/rest/data/workbook/{configuration-id}/{sheet-name}/download'
curl -u '<username>:<password>' -X GET 'http://<Datameer-serverIP>:<port-number>/rest/data/workbook/{configuration-id}/{sheet-name}/download?dataId={data-id}'
Example Response
Code Block
"ID","NAME","Email","Status","Check"
"1","""admin""","""admin@datameer.com""","0","true"
"2","""Ajay""","""Ajay@datameer.com""","2","true"
"3","""analyst""","""analyst@datameer.com""","1","true"
"4","""Bob""","""Bob@datameer.com""","2","false"
"5","""Alice""","""Alice@datameer.com""","2","false"
"6","""John""","""John@datameer.com""","2","false"
"7","""Andreas""","""Andreas@datameer.com""","2","true"
"8","""Arthur""","""Arthur@datameer.com""","2","true"
"9","""Dagmar""","""Dagmar@datameer.com""","2","false"
"10","""Frank""","""Frank@datameer.com""","2","true"
"11","""Johannes""","""Johannes@datameer.com""","2","true"
"12","""Marko""","""Marko@datameer.com""","2","true"
"13","""Marlon""","""Marlon@datameer.com""","2","true"
"14","""Mike""","""Mike@datameer.com""","2","true"
"15","""Orlando""","""Orlando@datameer.com""","2","true"
"16","""Peter""","""Peter@datameer.com""","2","true"
"17","""Ralf""","""Ralf@datameer.com""","2","false"
"18","""Shirish""","""Shirish@datameer.com""","2","true"
"19","""Stefan""","""Stefan@datameer.com""","2","true"
"20","""Teresa""","""Teresa@datameer.com""","2","true" 
Section

View Sheet Details of a Workbook

Request Method GET
Description

Returns the column names and data type of a workbook.

URI Syntax
Code Blocknoformat
curl -u '<username>:<password>' -X GET 'http://<Datameer-serverIP>:<port-number>/rest/sheet-details/<workbook-configuration-id>/<sheet-name>'
curl -u '<username>:<password>' -X GET 'http://<Datameer-serverIP>:<port-number>/rest/sheet-details?file=<path-to-workbook>.wbk&sheetName=<sheet-name>'
Example Response
Code Block
{
    "columns": [
        {
            "name": "remoteHost",
            "type": "STRING"
        },
        {
            "name": "remoteUser",
            "type": "STRING"
        },
        {
            "name": "timeEnglishFormat",
            "type": "DATE"
        },
        {
            "name": "request",
            "type": "STRING"
        },
        {
            "name": "status",
            "type": "INTEGER"
        },
        {
            "name": "bytesSent",
            "type": "INTEGER"
        }
    ],
    "file": {
        "path": "/Examples/Basic Tutorial/Solution/Basic Workbook.wbk",
        "uuid": "c02c5f10-2d30-4320-b2ec-52f89550bfe5"
    },
    "sheetId": "SheetId[_id=2c87ddad-fea4-441a-8475-6ce4cbb5def4]",
    "sheetName": "Clickstream_Data",
    "sheetType": "das.internal.DataSourceSheetType"
}  
Section

List All Workbooks

Request Method GET
Description

Returns a list of all the workbooks in Datameer. This list displays the description, ID number, name, and the path of the workbooks. 

URI Syntax
Code Blocknoformat
curl -u '<username>:<password>' -X GET 'http://<Datameer-serverIP>:<port-number>/rest/workbook'
Example Response
Code Block
[
    {
        "description": "",
        "id": 388,
        "name": "Workbook_copy5",
        "path": "/Workbooks/Andreas/Workbook_copy5.wbk"
    },
    {
        "description": "",
        "id": 393,
        "name": "wb 1605 twitter",
        "path": "/Workbooks/tester/wb 1605 twitter.wbk"
    },
    {
        "description": "",
        "id": 396,
        "name": "wbk_ext_reference",
        "path": "/Workbooks/wbk_ext_reference.wbk"
    },
    {
        "description": "",
        "id": 397,
        "name": "wbk_ext_ref_2",
        "path": "/Workbooks/wbk_ext_ref_2.wbk"
    }
Section

Start a Workbook

Request Method POST
Description

Runs a workbook.

URI Syntax
Code Blocknoformat
curl -u '<username>:<password>' -X POST 'http://<Datameer-serverIP>:<port-number>/rest/job-execution?configuration=<workbook-configuration-id>'
Example Response
Code Block
{
    "job-execution-id": 1,
    "job-execution-trigger": "RESTAPI",
    "job-execution-user": "admin",
    "status": "success"
} 
Section

Workbook Dependencies

Request Method GET
Description

Returns the hierarchy of up- and downstream dependencies for a given workbook.

PrerequisitesThis API requires enabling Datameer's Advanced Governance plug-in.
URI Syntax
Code Blocknoformat
curl -u '<username>:<password>' -X GET 'http://<server>:<port>/api/workbook/[configurationID]/dependencies[?direction=<upstream | downstream>][&level=<number>]'
Example Response
Code Block
{
  "dependencies": [
    {
      "id": 22,
      "file": {
        "path": "/Users/admin/ImportJobTest",
        "name": "ImportJobTest",
        "type": "imp",
        "description": "",
        "uuid": "b8f258f5-90c9-451d-9058-9d3a8c9b2c5d"
      }
    },
    {
      "id": 2,
      "file": {
        "path": "/Data/Connections/Datameer X server filesystem",
        "name": "Datameer X server filesystem",
        "type": "dst",
        "description": "A data store for the local filesystem where Datameer X is running.  Note, this works ONLY for Datameer X Personal, Workgroup, and Trial editions.\n",
        "uuid": "78a2fb59-375e-4eae-b338-956ef806f7b1"
      }
    }
  ],
  "fileCountWithNoReadPermission": 0,
  "_links": {
    "self": {
      "href": "http://localhost:8088/api/workbook/23/dependencies"
    }
  }
Additional Notes

Path parameters:

  • configurationId:
    • Data type must be a number
    • Use the configuration ID

Query parameters:

  • Direction:
    • Data type must be a string
    • Optional
    • Shows either upstream or downstream
    • If left blank, shows both
  • Level:
    • Data type must be a number
    • Optional
    • If left blank, shows all levels

...

Section

View Workbook Permissions

Request Method GET
Description

Returns a list of all the workbook's permission settings.

URI Syntax
Code Blocknoformat
curl -u '<username>:<password>' -X GET 'http://<Datameer-serverIP>:<port-number>/api/workbooks/<FileID>/permission'
Example Response
Code Block
languagevb
{
  "readableForOthers": true,
  "_links": {
    "file": {
      "href": "/api/filesystem/files/43"
    },
    "groups": {
      "href": "/api/filesystem/files/43/permission/groups"
    },
    "self": {
      "href": "/api/workbooks/43/permission"
    },
    "others": {
      "href": "/api/filesystem/files/43/permission/others"
    }
  },
  "_embedded": {
    "groups": [
      {
        "readable": true,
        "name": "IT-Dept.",
        "_links": {
          "self": {
            "href": "/api/filesystem/files/43/permission/groups/IT-Dept."
          },
          "permission": {
            "href": "/api/filesystem/files/43/permission"
          }
        }
      }
    ]
  }
Section

View the workbook's permissions for others

Request Method GET
Description

Returns a list of the workbook's permission settings for "Others".

URI Syntax
Code Blocknoformat
curl -u '<username>:<password>' -X GET 'http://<Datameer-serverIP>:<port-number>/api/workbooks/<FileID>/permission/others'
Section

View the workbook's permissions for a specific group

Request Method GET
Description

Returns the workbook's permission settings for a selected "Group".

URI Syntax
Code Blocknoformat
curl -u '<username>:<password>' -X GET 'http://<Datameer-serverIP>:<port-number>/api/workbooks/<FileID>/permission/groups/<group-name>'
Section

View the workbook's permissions for groups

Request Method GET
Description

Returns a list of the workbook's permission settings for all groups.

URI Syntax
Code Blocknoformat
curl -u '<username>:<password>' -X GET 'http://<Datameer-serverIP>:<port-number>/api/workbooks/<FileID>/permission/groups'
Section

Roll Back a Workbook

Request Method PUT
Description

Rolls back a workbook to a previous state using the Git versioning plug-in. If the workbook exists, it is overwritten. If it doesn't exist, a new one is created.

Info
titleINFO

This REST API must be used in conjunction with other version 2 REST APIs.

URI Syntax
Code Blocknoformat
curl -u '<username>:<password>' -X PUT -H "Content-Type:application/json" -d @wbk.json 'http://<Datameer-serverIP>:<port-number>/api/workbooks/rollback'
Example Response

If the request is successful, there is no output.

...