使用CloudConnect

时间:2016-06-02 15:59:15

标签: gooddata cloud-connect cloveretl

我想在CloudConnect流程中提取原始报告结果。

到目前为止,我已设法从原始报告API端点获取响应 - https://secure.gooddata.com/gdc/app/projects/{project_id}/execute/raw/

此响应包含文件的URI,如果我将该URI放入浏览器,则会上载文件。

我尝试将此URI传递给以下读者但未成功:

  • CSV阅读器会产生以下错误:
  

-------------------错误详情------------------

     

组件[CSV Reader:CSV_READER]以状态ERROR结束   解析错误:记录1中的文件意外结束,字段1("日期"),   元数据" outOfStock&#34 ;;   值:原始记录数据不可用,请打开详细模式。

  • 文件下载 - 我不知道如何通过端口将URI传递给" URL到Downlaod"参数。
  • HTTP连接器再次,我不知道如何从端口传递URI。

这样做的方法是什么?

修改

如果我使用@Filip建议的 HTTP连接器,我会收到以下错误:

  

错误详情:
  组件[HTTP连接器:HTTP_CONNECTOR]以状态ERROR结束。主机名   证书没有匹配:xxx.com!= secure.gooddata.com或secure.gooddata.com

我尝试将标题设置为X-GDC-CHECK-DOMAIN: false但没效果。

2 个答案:

答案 0 :(得分:1)

HTTP连接器是正确的组件。将URL属性保留为空并使用名为“输入映射”的组件属性,在图形编辑器中,您可以将输入边缘字段分配给URL字段。

答案 1 :(得分:0)

来自GoodData支持的解决方案:

  

也可以使用HTTP连接器,但它非常复杂,因为   必须创建登录到GoodData。 REST连接器已构建   in。

     

如果要运行示例图,则必须登录   CloudConnect与有权访问您的项目的用户   想要导出报告。您还必须将URL更改为   REST连接器组件和更改项目中的白色标记帐户之一   并在第一个REST连接器中报告定义。

所以有效图表如下:

Graph that loads report

以下是您需要为每个元素设置的主要字段:

  1. 获取结果URI - 为POST请求设置参数:
  2. Request URL = https://secure.gooddata.com/gdc/app/projects/${GDC_PROJECT_ID}/execute/raw/

    Request Body = { "report_req": { "reportDefinition": "gdc/md/${GDC_PROJECT_ID}/obj/${OBJECT_ID}" } }

    1. 从响应中获取URI - 只需将 uri 值映射到相应的字段:

      <Mapping cloverField="uri" xpath="uri"/>

    2. 加载结果 - 确保它连接到包含两个字段的元数据,一个用于响应数据,另一个用于通过uri

    3. 加载结果 - 您需要排除uri字段来处理数据:

    4. Exclude Fields = uri