Data Upload API Resource
The /etl/pull API resource that was used for data upload is no longer supported. https://secure.gooddata.com/gdc/md/{project_id}/etl/pull
The resource was replaced with the /etl/pull2 resource. /etl/pull2 is asynchronous, allows for a faster data upload and helps avoid time-outs.
For more information about the API call for data upload, see API documentation about starting data upload.
Migrate to /etl/pull2
If you use custom code to call the /etl/pull resource, change it to use /etl/pull2.
Change the URL from /etl/pull to /etl/pull2:
https://secure.gooddata.com/gdc/md/{workspace_id}/etl/pull2
The request body for /etl/pull2 is the same as for the /etl/pull:
{"pullIntegration": "{directory_with_upload_package}"}
Note the following differences:
Resource /etl/pull2 /etl/pull Response body { "pull2Task" : { "links" : { "poll" : "/gdc/md/{workspace_id}/tasks/{task_id}/status" } } }
{ "pullTask" : { "uri" : "/gdc/md/{workspace_id}/etl/task/{task_id}" } }
Status code for success 201 200 Resource for polling on task status { "wTaskStatus" : { "status" : "'OK' | 'CANCELED' | 'ERROR' | 'RUNNING'", "poll" : "/gdc/md/{workspace_id}/tasks/{task_id}/status", "links" : { "poll" : "/gdc/md/{workspace_id}/tasks/{task_id}/status" }, "messages" : [ { "error" : { "component" : "{component}", "errorClass" : "{error_class}" "message" : "{message_with_parameter_placeholders}" "parameters" : [ "{parameter1}", "{parameter2}", ], "requestId" : "{request_id}", "data" : "{optional_user_data}" } } ] } }
NOTE: The error structure is returned only when "status" is ERROR. Otherwise, the error structure is not present.
{ "taskStatus": "OK | ERROR | WARNING" } If an error happens, review the upload_status.json file, which is located in the same directory as the data file you uploaded.