我想使用 Amazon API Gateway 在 Amazon Simple Storage Service (Amazon S3) 存储桶中创建文件、文件夹和子文件夹。我不想使用中间的 AWS Lambda 函数。
简短描述
为了缩短 API 请求的延迟,请使用没有 Lambda 函数的 API Gateway 来创建 Amazon S3 存储桶资源。这种方法还可以降低成本,使您的系统更易于维护和进行故障排除。
要创建资源,您必须拥有具有所需权限和设置的 API Gateway。
解决方法
创建 REST API
在 Amazon API Gateway 中创建 REST API。
创建资源
要在 API Gateway 中创建资源,请完成以下步骤:
- 打开 API Gateway 控制台,然后选择您的 API。
- 在 Resources(资源)部分中,选择 Create Resource(创建资源)。
- 对于 Resource path(资源路径),选择 /。
- 对于 Resource name(资源名称),输入 {rest}。
- 选择 Create resource(创建资源)。
将您的 API 集成到 Amazon S3
要创建将您的 API 与 Amazon S3 集成的方法,请完成以下步骤:
- 打开 API Gateway 控制台,然后选择您的资源。
- 选择 Create method(创建方法)。
- 对于 Method type(方法类型),选择 PUT。
- 对于 Integration type(集成类型),选择 AWS Service(AWS 服务)。
- 对于 AWS Service(AWS 服务),选择 Simple Storage Service (S3)。
- 对于 HTTP method(HTTP 方法),选择 PUT。
- (可选)配置其他设置。
- 选择 Create method(创建方法)。
定义 URL 路径参数
要向资源添加路径参数,请完成以下步骤:
- 打开 API Gateway 控制台。
- 在 Resource(资源)部分中,选择 PUT 方法。
- 在 Integration request(集成请求)选项卡中,选择 Edit(编辑)。
- 在 URL Path Parameters(URL 路径参数)部分中,选择 Add Path Parameter(添加路径参数)。
- 对于 Name(名称),输入 rest。
- 对于 Mapped from(映射来源),输入 method.request.path.rest。
- (可选)配置其他缓存设置。
- 选择 Save(保存)。
测试您的 API Gateway
要测试您的 API Gateway 能否成功地在存储桶中创建源,请完成以下步骤:
- 打开 API Gateway 控制台。
- 在 Resource(资源)部分中,选择您的 API,然后选择您的 PUT 方法。
- 在 rest 字段中,输入以下其中一项的名称。根据方法的名称,rest 字段的标题可能会有所不同。
要在您的 Amazon S3 存储桶中创建文件,请输入文件名。
要在您的 Amazon S3 存储桶中创建文件夹,请输入以 %2F 结尾的文件夹名称。例如,要创建名为 testfolder 的文件夹,请输入 testfolder%2F。
要在 Amazon S3 存储桶中创建子文件夹,请输入文件夹名称,然后输入子文件夹名称。例如,输入 testfolder%2Ftestfolder1%2F,以便在名为 testfolder 的文件夹内创建子文件夹。
- 选择 Test(测试)。
成功的测试显示“HTTP 200 OK”(HTTP 200 正常)响应。
相关信息
什么是 Amazon API Gateway?
什么是 Amazon S3?