Bluemix 嵌入式报告 REST 架构

Bluemix Embedded Reports REST architecture

当希望使用 Bluemix Embedded Reports 时,首先要创建一个包,然后再创建一个报告定义。在那之后,应该使用在此处使用 Swagger 记录的 REST APIs:

https://erservice-impl.ng.bluemix.net/ers/swagger-ui/

遗憾的是,我找不到这些 API 的任何架构定义。为了详细说明这个概念,有 APIs 来获取连接、包、定义、报告、模型、数据源和可视化……但是我找不到任何描述我何时使用什么的文档。此外,一些基本的 API,例如与 "reports" 操作相关的那些,似乎需要一个 "reportId",而我不知道如何检索或获取其中之一。其他谜团是 "What are report links?" 的概念以及获得 "report instance" 的语义是什么?对于报告 "rendered in a format" ...允许的格式是什么?我什么时候使用其他格式?

同样...REST API 还不错,Swagger 提供了有用的语法文档,但没有相关的语义理解,它让 reader 完全不了解如何使用该技术。

我希望有其他文档存在于某处或计划在可行的情况下尽快发布。如果有人知道在哪里可以找到这样的东西或者有关于如何解释 API 语义的更多信息,那将是对这个问题的一个很好的答案。

有关 REST API 的一些信息,特别是有关 运行 报告的信息,可在该服务的文档页面上找到,可在此处找到:https://console.ng.bluemix.net/docs/services/EmbeddableReporting/index.html#gettingstartedtemplate

虽然在 swagger 中提供了完整的 API,但用户只能使用 3 个资源:connectiondefinitions , 和 报告。其他端点处理报告工件及其相关资源(数据源、模型、包)的管理

使用 ERS ​​的第一步是在管理仪表板中定义数据源和报告规范(定义)。然后,每个定义都将获得一个 ID,您可以 copy/paste 进入 RESTful 调用。

  1. 使用基本身份验证和 /connection 端点连接到 ERS。这会发回 cookie(包括 JSESSIONID),您应该在所有其他调用中发送这些 cookie。

    POST /connection 
    

具有空 json body {} 和基本身份验证 headers

  1. 运行 特定格式的报告(2 种风格)

    2.1 对于没有特殊选项或参数的 'vanilla' 报告,您可以使用快捷方式调用,它既创建报告资源又运行以您选择的格式保存它:

    GET /definitions/{definition_id}/reports/{format}
    

    其中 definition_id 取自管理仪表板,格式是 html、phtml 之一(部分 html,用于嵌入。最常见), pdf、json、xml、csv

    2.2 对于更复杂的情况,您需要首先创建一个报表实例(这会保存正在 运行 的报表的状态。您可以执行 next-page 或检查参数值和选项).然后您可以运行 格式的报告。

    POST /definitions/{definition_id}/reports 
    

    与 body 和你的 options/parameters。您还可以为所有默认值发送一个空的 json body ({})。此 returns 一个 json 有效载荷,带有 reportId 和位置 运行 来自

    的报告
    GET /reports/{report_id}/{format}
    

您可能还想查看文档中包含的示例(在 java 脚本、java 和节点中)以了解如何在应用程序中执行此操作。上面提到的文档也有curl的例子。