You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置API Gateway Proxy+访问S3中带动态子目录的HTML文件

配置API Gateway Proxy+访问S3动态子文件夹内容

核心配置步骤

  • 创建Proxy资源

    1. 进入API Gateway控制台,选中目标API(或新建API)。
    2. 在test阶段对应的根资源下,创建Proxy资源:
      • 勾选「Configure as proxy resource」选项。
      • 资源路径填写/{proxy+},该配置会自动匹配所有test/之后的动态路径(如2022/06/index.html)。
      • 根据需求启用CORS。
  • 配置S3集成请求

    1. 在Proxy资源的「集成请求」页面,选择AWS Service作为集成类型。
    2. 填写AWS服务信息:
      • 区域选择存储桶所在的AWS区域。
      • 服务选择Simple Storage Service (S3)。
      • HTTP方法设为GET。
      • 执行角色选择拥有S3读取权限的IAM角色(需包含s3:GetObject权限,作用域覆盖目标存储桶)。
    3. 设置集成请求路径:填写<bucket-name>/{proxy}(注意用{proxy}而非{proxy+},API Gateway会自动剥离test/前缀,将剩余路径传递给S3)。
    4. 配置映射模板:添加application/json或text/html类型的模板,内容填{}即可,确保请求能正确传递到S3。
  • 配置集成响应

    1. 在「集成响应」页面,添加状态码200的响应规则。
    2. 配置响应头:添加Content-Type头,映射值选择integration.response.header.Content-Type,保证返回文件的正确内容类型。
    3. 可选:添加404状态码的响应处理,返回自定义提示内容。
  • 部署API
    点击控制台的「Deploy API」按钮,选择test阶段完成部署。部署后即可通过目标路径访问S3文件。

关键注意事项

  • IAM角色权限示例(替换<bucket-name>为你的存储桶名):
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::<bucket-name>/*"
    }
  ]
}
  • 确保S3对象的权限允许API Gateway的执行角色访问,可通过桶策略或对象ACL配置。
  • {proxy+}的路径匹配规则支持所有动态创建的子文件夹结构,无需硬编码路径。

内容的提问来源于stack exchange,提问作者xkzkx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 05:52:52