Update Global Datasource
/datasources/{datasourceName}
Updates the named global-level Datasource. If the update is successful, returns details about the updated Datasource. type and connection are required inputs for all types of Datasources. Other required inputs differ based on the type of the Datasource.
Request
-
datasourceName(required):
Datasource name.
Response
200 Response
OK
Datasource was updated successfully.
400 Response
Bad Request
Failed to update the Datasource.
Examples
The following example shows how to update an existing global Datasource.
This example uses cURL to access the REST API from a Windows shell script. The calling user's ID and password are variables whose values are set in properties.bat.
Script with cURL Command
call properties.bat
curl -X PUT "https://myserver.example.com:9001/essbase/rest/v1/datasources/EssbaseDS?links=none" -H Accept:application/json -H Content-Type:application/json --data "@./updateDSessbase.json" -u %User%:%Password%The cURL example above delivers a JSON payload in updateDSessbase.json. The details you need to include in the payload depend on what type of Datasource you are updating. The example below is for updating an Essbase Datasource.
Sample JSON Payload - Essbase Datasource
The following sample JSON payload, passed to REST API in updateDSessbase.json, is an example for updating a Datasource for another Essbase cube. The required parameters are The required parameters are name, connection, type, columns, application, cube, and query.
{
"name":"EssbaseDS",
"type":"ESSBASE",
"connection":"essconn",
"columns":{
"Column":[
{
"index":1,
"name":"Measures",
"type":"STRING"
},
{
"index":2,
"name":"Oregon",
"type":"STRING"
},
{
"index":3,
"name":"California",
"type":"STRING"
},
{
"index":4,
"name":"Utah",
"type":"STRING"
}]
},
"query":"select {COGS} on rows ,{Oregon, California, Utah} on columns",
"application":"Sample",
"cube":"Basic"
}For more examples of JSON payloads you can use to test, update, and create Datasources for sources supported by Essbase, see the Create Datasource endpoint.
Example of Response Body - Essbase Datasource
The following example shows the contents of the response body in JSON format.
{
"name" : "EssbaseDS",
"connection" : "essconn",
"type" : "ESSBASE",
"columns" : {
"Column" : [ {
"name" : "Measures",
"type" : "STRING",
"index" : 1,
"system" : false
}, {
"name" : "Oregon",
"type" : "STRING",
"index" : 2,
"system" : false
}, {
"name" : "California",
"type" : "STRING",
"index" : 3,
"system" : false
}, {
"name" : "Utah",
"type" : "STRING",
"index" : 4,
"system" : false
} ]
},
"query" : "select {COGS} on rows ,{Oregon, California, Utah} on columns",
"application" : "Sample",
"cube" : "Basic",
"queryParameters" : [ ],
"links" : [ ]
}