Amazon Simple Storage Service logo

Amazon Simple Storage Service

Amazon Simple Storage Service

正常免费开源cloudAmazon Web Services62· JavaScript· MIT

Amazon S3 是 AWS 的对象存储服务,提供海量、高耐久的文件存储与访问,互联网应用的事实标准。

访问站点 ↗源码 ↗健康巡检 9 小时前
适合什么时候用

11 个 9 的耐久性,几乎不会丢数据

先注意什么

出网流量(egress)费用是常见隐性成本大头

第一步先查

在 AWS Console 或 CLI 创建 IAM 用户/角色,取 access_key 与 secret。绝大多数场景用 AWS SDK 自动签名(SigV4);很少需要手写 HTTP 请求。常用 SDK 调用:S3.putObject、getObject、createPresignedUrl。

认证
api_key
CORS
不支持
HTTPS
注册
需要
延迟
10 ms
协议
REST
计费
paid
Stars
62

可用率 · 30 天窗口

巡检: 1可用率: 100%平均延迟: 10ms

GitHub 活跃度

62JavaScriptMIT17 未关闭 issue上次提交 110 天前
01

关于这个 API

Amazon S3 是 2006 年发布的对象存储服务,是 AWS 最古老也是最稳的服务之一。"对象存储"意味着数据按整文件单位存取,不像文件系统支持随机写——上传一个 100MB 视频就是一个 object,要更新就重新 upload 整个 object。这种设计让 S3 能轻松扩展到 EB 级。

核心概念是 bucket 与 object。bucket 是全局唯一命名的容器(在某个 region),object 是 bucket 里的文件,用 key 寻址(如 photos/2024/avatar.png)。S3 没有真正的"文件夹"——分隔符只是命名约定。pre-signed URL 是常用模式:让浏览器或客户端直接上传/下载,避免数据走你的服务器,省带宽且省成本。

费用结构容易被低估。存储本身按 GB·月计费,但请求次数(GET/PUT/LIST 每千次约几美分)和出网流量(egress 约 0.09 美元/GB)才是大头。配合 CloudFront 做缓存或开 S3 Intelligent-Tiering 自动迁移冷数据是常见优化。权限要小心:bucket policy、ACL、IAM 三层叠加,新建 bucket 默认 block all public access 是 2018 年后才加的保护,老 bucket 仍可能因配置错误暴露。

02

你可以做什么

  • 1托管网站静态资源(HTML、JS、图片)
  • 2存储用户上传文件(照片、视频、附件)
  • 3存放数据湖原始数据供分析使用
  • 4归档冷数据到 Glacier 长期保存
  • 5作为 CDN 源站供 CloudFront 分发
03

优劣对比

优点

  • 11 个 9 的耐久性,几乎不会丢数据
  • 与 AWS 生态深度集成(Lambda、Athena、CloudFront)
  • pre-signed URL 让客户端直传安全可控
  • 存储类阶梯(Standard / IA / Glacier)让成本可优化

注意事项

  • 出网流量(egress)费用是常见隐性成本大头
  • eventual consistency 已改为 strong consistency,但旧文档可能误导
  • bucket policy + ACL + IAM 三层权限模型易配错导致公开泄露
04

示例请求

通用模板 — 实际 endpoint 请查阅文档替换 <endpoint>。
curl https://github.com/mermade/aws2openapi/<endpoint> \
  -H "Authorization: Bearer $API_KEY"
# Some providers use X-Api-Key instead — verify in the docs.
05

快速开始

在 AWS Console 或 CLI 创建 IAM 用户/角色,取 access_key 与 secret。绝大多数场景用 AWS SDK 自动签名(SigV4);很少需要手写 HTTP 请求。常用 SDK 调用:S3.putObject、getObject、createPresignedUrl。

06

常见问题

S3 的免费额度有多少?+

首 12 个月每月 5GB 标准存储 + 2 万 GET 请求 + 2000 PUT 请求免费。超出按用量计费。

上传的文件如何能被公网直接访问?+

需配合 bucket policy 或 object ACL 允许 public read,并关闭 block public access。生产建议用 CloudFront 而非直接公开 bucket。

强一致性和最终一致性?+

2020 年起所有操作都是 strong read-after-write consistency;老资料里说的 eventual consistency 已过时。

怎么省钱?+

设置生命周期策略把冷数据搬到 Standard-IA / Glacier;用 CloudFront 缓存减少出网;定期清理未完成 multipart upload。

07

技术细节

CORS: NoHTTPS: Yes注册: Yes开源: Yes
认证方式
api_key
计费
paid
协议
REST
SDK
python, javascript, typescript, java, go, ruby, php, csharp
响应时间
10 ms
上次巡检
2026/5/12 07:36:34
08

接口端点

从 OpenAPI spec 自动解析。显示 12 / 93 个未弃用端点。

GET
/
DELETE
/{Bucket}
Bucket:path*x-amz-expected-bucket-owner:header
GET
/{Bucket}
Bucket:path*delimiter:queryencoding-type:querymarker:querymax-keys:query+5 更多
HEAD
/{Bucket}
Bucket:path*x-amz-expected-bucket-owner:header
PUT
/{Bucket}
x-amz-acl:headerBucket:path*x-amz-grant-full-control:headerx-amz-grant-read:headerx-amz-grant-read-acp:header+4 更多
DELETE
/{Bucket}/{Key}
Bucket:path*Key:path*x-amz-mfa:headerversionId:queryx-amz-request-payer:header+2 更多
GET
/{Bucket}/{Key}
Bucket:path*If-Match:headerIf-Modified-Since:headerIf-None-Match:headerIf-Unmodified-Since:header+16 更多
HEAD
/{Bucket}/{Key}
Bucket:path*If-Match:headerIf-Modified-Since:headerIf-None-Match:headerIf-Unmodified-Since:header+10 更多
PUT
/{Bucket}/{Key}
x-amz-acl:headerBucket:path*Cache-Control:headerContent-Disposition:headerContent-Encoding:header+30 更多
GET
/{Bucket}/{Key}#acl
Bucket:path*Key:path*versionId:queryx-amz-request-payer:headerx-amz-expected-bucket-owner:header+1 更多
PUT
/{Bucket}/{Key}#acl
x-amz-acl:headerBucket:path*Content-MD5:headerx-amz-sdk-checksum-algorithm:headerx-amz-grant-full-control:header+9 更多
GET
/{Bucket}/{Key}#attributes&x-amz-object-attributes
Bucket:path*Key:path*versionId:queryx-amz-max-parts:headerx-amz-part-number-marker:header+7 更多

另有 81 个端点未显示,详见 OpenAPI spec。

09

标签

10

更多来自 Amazon Web Services 的 API