如何使用Gooddata API上传图表?

时间:2014-02-04 20:50:55

标签: etl business-intelligence gooddata

我正在尝试通过api将在Cloud Connect中制作/编辑的图表上传到GoodData。我一直试图使用这个电话:http://docs.gooddata.apiary.io/#cloudconnectprocesses

我正在进行的实际通话有json {"process": {"path": "/uploads/Bonobos_v6-1.grf", "name": "Bonobos Prod"}}

然而,当我尝试运行它时,它失败了

{
    "error": {
        "errorClass": "com.gooddata.msf.processes.InvalidProcessException",
        "trace": "",
        "message": "Can not read from file \"/uploads/Bonobos_v6-1.grf\"",
        "component": "MSF",
        "errorId": "83090caa-31c9-4ce2-bb79-040d5c4d2421",
        "errorCode": "gdc1151",
        "parameters": []
    }
}

是否有创建“流程”的特定方式,然后需要上传到服务器?我已经尝试了多个图形和单个.grf文件的zip文件,但无济于事。我也假设错误并不意味着GoodData看不到文件,但这肯定会解释一些事情。

3 个答案:

答案 0 :(得分:2)

在调用此API之前,您必须上传CloudConnect项目中的打包所有文件,并将它们放在服务器上。你做过这个吗?

所以整个过程将是:

  1. ZIP存档CloudConnect Project文件夹中的所有文件(即workspace.prm)和文件夹(图形,元,trans,...)(如果数据量较大,请不要添加数据文件夹,将它们存储在外部位置然后)
  2. 将它们放在webdav服务器上(例如na1-di.gooddata.com/uploads /...)
  3. 调用API进行部署(路径为“/ uploads / your-folder / name-of-archive”)
  4. 请记住:如果您的项目位于https://secure.gooddata.com,则您的webdav服务器为https://secure-di.gooddata.com/uploads/,如果您的项目位于https://na1.gooddata.com,则必须使用https://na1-di.gooddata.com/uploads/ }}

    如果这有助于您,请告诉我。无论如何,我们需要在API文档中澄清这些信息。

    谢谢!

答案 1 :(得分:2)

首先,您必须检查项目所在的位置(na1或安全)。如果您的项目位于na1,请按照以下步骤操作:

  1. 压缩您的CloudConnect项目(无论您是压缩整个文件夹还是仅压缩其内容)
  2. 使用curl curl -k -T zippedCcProject.zip https://my_login%40company.com:my_password@na1-di.gooddata.com/uploads/zippedCcProject.zip
  3. 将zip文件上传到webdav - na1-di.gooddata.com/uploads
  4. 打开浏览器并转到进程rest资源https://na1.secure.gooddata.com/gdc/projects/ {projectId} / dataload / processes /并填写正确的属性(type = GRAPH,name = myCloudConnectProject,path = / uploads / zippedCcProject.zip)并点击'创建流程'

答案 2 :(得分:0)

作为如何将文件输出到webdav服务器的示例,您可以使用以下请求:

curl -i -v -X PUT --data-binary @project.zip https://username%40company.com:PASSWORD@na1-di.gooddata.com/uploads/project.zip

您可以通过网络浏览器访问该文件来检查该文件是否到位。然后,您可以按照上面的说明调用API。