GoodData导出报告API调用导致文件不完整

时间:2014-06-13 18:03:00

标签: rest gooddata

我开发了一种方法,按以下顺序执行以下步骤:
1)通过/ gdc / md // obj /
获取报告的元数据 2)从中获取报告定义并将其用作调用/ gdc / xtab2 / executor3的有效负载。 3)使用该调用的结果作为对/ gdc / exporter / executor的调用的有效负载 4)对返回的URI执行GET以下载生成的CSV

所以这一切都运行正常,但问题是我经常会找回空白的CSV或不完整的CSV。我的解决方法是在获取URI和实际调用URI上的GET之间设置sleep()。然而,随着我们的数据增长,我必须不断增加延迟,即使这样我也无法保证获得完整的数据。有没有办法确保报告在调用URI之前已将数据导出到文件中?

1 个答案:

答案 0 :(得分:1)

问题是导出作为异步任务运行 - 导出器任务完成其作业后,在POST/gdc/exporter/executor的有效负载(以/gdc/exporter/result/{project-id}/{result-id}的形式)中返回的URL的结果可用。

如果任务尚未完成,则GET/gdc/exporter/result/{project-id}/{result-id}应返回状态代码202,这意味着&#34;我们仍在导出,请等待&#34;。< / p>

因此,您应该定期轮询结果网址,直到它返回包含有效负载的状态200(如果发生错误,则为40x / 50x。)