是否可以直接从 API 网关查询 Amazon RDS 实例?
Is it possible to query an Amazon RDS instance directly from API Gateway?
我是 API Gateway 的新手,据我所知,它是一个非常强大的工具。对于我现在工作的项目,我们在 RDS 中使用 PostgreSQL 实例。我已经看到可以从 API 网关直接访问 DynamoDB 表,所以我想知道是否有办法对关系数据库这样做。所以我用 GET 方法创建了一个资源并将其配置为连接到我的数据库,但我不确定我是否使用了正确的参数:
Provided information about the target backend
所以我不确定每个设置字段中的参数。在 AWS 子域中,我写了 public URL 就好像我是从我的 pgAdmin 客户端连接我一样(没有端口导致完整结构不被接受,所以我知道我做错了什么)。在此之前,我尝试使用我的 RDS 资源的 ARN,但出现了这个错误:
AWS ARN for integration must contains path or action
对于执行角色,我创建了一个具有访问我的 Postgres 资源的策略。
阅读 RDS 文档我发现可以使用 HTTP 动词 GET 或 POST 和名为 Action 的查询参数从 RDS 使用查询 API,所以我试图弄清楚如何以这种方式放置我的查询语句:
但是当我测试该方法时,这是响应主体:
{
"message": "AWS ARN for integration contains invalid action"
}
这是日志:
Execution log for request test-request
Sat Mar 19 15:27:17 UTC 2016 : Execution failed: AWS ARN for integration contains invalid action
Sat Mar 19 15:27:17 UTC 2016 : Method completed with status: 400
我知道我做错了很多事情,所以有人知道这是否真的可行以及如何做,因为我还没有找到任何详细的教程。
不,这不可能。 API 网关服务代理将仅代理对 AWS API 的调用。 RDS API 仅允许您执行创建数据库、删除数据库、拍摄快照等操作。它不允许您连接和运行 查询数据库。
您应该考虑将 API 网关指向 Lambda 函数,该函数能够连接到您的 RDS 数据库和 运行 查询。
我是 API Gateway 的新手,据我所知,它是一个非常强大的工具。对于我现在工作的项目,我们在 RDS 中使用 PostgreSQL 实例。我已经看到可以从 API 网关直接访问 DynamoDB 表,所以我想知道是否有办法对关系数据库这样做。所以我用 GET 方法创建了一个资源并将其配置为连接到我的数据库,但我不确定我是否使用了正确的参数:
Provided information about the target backend
所以我不确定每个设置字段中的参数。在 AWS 子域中,我写了 public URL 就好像我是从我的 pgAdmin 客户端连接我一样(没有端口导致完整结构不被接受,所以我知道我做错了什么)。在此之前,我尝试使用我的 RDS 资源的 ARN,但出现了这个错误:
AWS ARN for integration must contains path or action
对于执行角色,我创建了一个具有访问我的 Postgres 资源的策略。
阅读 RDS 文档我发现可以使用 HTTP 动词 GET 或 POST 和名为 Action 的查询参数从 RDS 使用查询 API,所以我试图弄清楚如何以这种方式放置我的查询语句:
但是当我测试该方法时,这是响应主体:
{
"message": "AWS ARN for integration contains invalid action"
}
这是日志:
Execution log for request test-request
Sat Mar 19 15:27:17 UTC 2016 : Execution failed: AWS ARN for integration contains invalid action
Sat Mar 19 15:27:17 UTC 2016 : Method completed with status: 400
我知道我做错了很多事情,所以有人知道这是否真的可行以及如何做,因为我还没有找到任何详细的教程。
不,这不可能。 API 网关服务代理将仅代理对 AWS API 的调用。 RDS API 仅允许您执行创建数据库、删除数据库、拍摄快照等操作。它不允许您连接和运行 查询数据库。
您应该考虑将 API 网关指向 Lambda 函数,该函数能够连接到您的 RDS 数据库和 运行 查询。