【发布时间】:2016-10-27 16:10:56
【问题描述】:
我目前正在集思广益,并试图找出处理这种方法是否可行或更好的方法。
假设我有一个 Redshift 表,我想通过 REST API 公开这个表。例如,有几个客户需要此表中的某种元数据。他们将调用 REST 服务,并在 Redshift 上执行以获取数据并以 JSON 格式响应客户端。
我是 Redshift/AWS 领域的新手,所以不确定 AWS 是否已经为此提供了一些东西?我知道 S3 支持 REST API。
听起来可行吗?我绝对可以使用 Java 编写典型的 RESTful 服务,同时使用 JDBC 从 Redshift 读取数据。但想知道在 AWS 世界中是否有更好的方法来处理这个问题。
【问题讨论】:
-
AWS 不提供此功能。它们仅通过 PostgreSQL API 提供对 Redshift 的访问。如果你想要一个 REST API,你必须构建一个,或者找到一个为 Redshift 或 Postgres 设计的第三方包。
-
您可以使用 API-GW (aws.amazon.com/api-gateway),它将调用 Lambda 函数 (aws.amazon.com/lambda),该函数将为用户查询 Redshift。
-
如果想法只是公开数据,您可以考虑创建一个包含红移数据的弹性搜索节点。然后,您可以通过作为 elasticsearch 一部分的 REST API 访问数据
-
我知道这是一个有点旧的线程,但 Redshift 有一个名为“Redshift Data API”的新 API。使用此 API,您甚至可以异步检索数据。更多信息可以在官方公告中找到:aws.amazon.com/about-aws/whats-new/2020/09/… 和文档docs.aws.amazon.com/redshift/latest/mgmt/data-api.html。就灵活性和稳健性而言,这可能不是最好的方法,但它仍然有效。
标签: rest amazon-web-services amazon-ec2 amazon-redshift restful-architecture