rest - S3 存储桶对象可以用作 HTTP API 端点吗?
问题描述
我不想要有关存储桶的信息,我希望能够使用查询字符串搜索存储桶对象 (CSV/JSON) 并返回结果。例如,发送请求到:
https://s3.amazonaws.com/my_bucket/my_folder/my_csv.csv/querys3?index=432
我目前正在尝试使用 AWS API Gateway 进行此操作。我知道可以创建一个使用 AWS Lambda 和 get_object_content 查询的 API 网关,但我认为如果可以简单地将存储桶用作可搜索的 HTTP 端点,这将是一个不必要的步骤。这个评价正确吗?如果是这样,这是我的问题 -
我设置了一种在 AWS API Gateway 上使用 HTTP 集成的测试方法,并使用该方法和一个搜索参数得到以下响应:
Status: 200
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message>
<RequestId>#requestid</RequestId><HostId>#hostid=</HostId>
</Error>
不确定我是否收到拒绝访问消息,因为我正在查询无法查询的内容,或者我只是不正确地执行此操作。
是否可以使用 S3 存储桶对象作为可以将查询字符串传递到的端点?
解决方案
是否可以使用 S3 存储桶对象作为可以将查询字符串传递到的端点?
不是真的,至少不是直接的。
AWS S3 实际上是一个简单的键/值存储,其中文件名是键,内容是值(好的,还附加了一些元数据)。因此 AWS S3 可能只返回存储的二进制内容或其子集(从..到的字节),不提供任何自定义(REST 服务)逻辑。
您可能仍然可以查看 AWS Athena https://aws.amazon.com/athena/以使数据可搜索事实上您可以创建一个 lambda 或其他服务来读取数据并评估读取内容的查询,但这就是AWS Athena 可以
推荐阅读
- javascript - 如何在 npm 中型编辑器中增加 textarea 的高度?
- python - 如何创建作为相同类属性更改的类属性
- java - Java中的静态最终方法
- c# - 上传到 AWS S3 时无法访问关闭的流
- python - 继承 - 来自已安装 GitHub-App 的 Models.py
- php - 为什么字符串等于 PHP 中的整数 0?
- javascript - 嵌套 module.exports 的解释
- sql - SQL over 子句 - 将分区划分为编号的子分区
- wordpress - wordpress 多站点子目录开放力与 www
- ms-office - 加载功能区后更改功能区菜单属性