CDK in JavaScript 实现 Amazon S3 的预签名 URL 上传文件

AWS

功能简介

图片与实现说明来自 Uploading to Amazon S3 directly from a web or mobile application

实现流程简介

    1. 创建 Bucket:用于存储上传的文件
    1. 创建 Role:保障 Lambda 函数有权限访问 S3
    1. 创建 Lambda 函数:用于生成预签名 URL
    1. 创建 Rest API:用于调用 Lambda 函数
    1. 创建前端页面:用于上传文件
    1. 在前端页面调用 Rest API:获得 S3 预签名 URL
    1. 上传文件:使用 PUT 请求将文件上传到 S3(上传地址为上一步获取的「S3 预签名 URL」)

常用文档

作为一名初学者我参考了以下资料

Bilibili 入门视频

AWS 入门

AWS SDK

开发时遇到权限问题时可参考

API Gateway

开始使用 API Gateway 教程:使用 Lambda 和 DynamoDB 构建 CRUD API

Website

其他

使用 AI 解决的一些问题

AI 工具:Edge 聊天功能;Google bard

  • 在 aws cdk javascript的项目中如何使 index.html 与 apiGateway 使用相同的域名
  • 在 aws cdk javascript的项目中如何通过 vpc 使 index.html 与 apiGateway 使用相同的ip
  • 在 aws cdk javascript的项目中如何允许 Api Gateway 跨域访问
  • 在 aws cdk javascript的项目中如何实现 Stack 向 index.html 传递参数
  • 在 aws cdk javascript的项目中如何给 bucket 添加角色
  • 在 aws cdk javascript的项目中 index.html 页面请求 Api Gateway 报 AccessDenied 如何解决
  • 在 aws cdk javascript的项目中设置 Api Gateway 可以公开访问
  • 在 aws cdk javascript的项目中设置 Api Gateway 的 IAM 策略
  • AWS SDK for JavaScript v3 调用 apiGateway 示例代码
  • AWS SDK for JavaScript v3 invoke Lambda
  • Building S3 Static Website Using AWS CDK
  • S3 Static Website invoke api gateway
comments powered by Disqus