S3
- garage笔记garageDeuxfleurs/garage · AGPLv3, Rust · 分布式 S3-compatible object store · metadata + chunk · metadata - lmdb, sqlite · chunk - 1M打开:/notes/service/storage/s3/garage
- MinIO笔记MinIO最后的 Apache-2.0 协议版本为 MinIO 6.7.4 · minio 是什么? · MinIO 全线产品 AGPL 协议 · 提供 S3 对象存储协议的服务 · 支持分布式高可用 · 支持用户、分组、策略、KMS · 支持 OpenID 和 LDAP打开:/notes/service/storage/minio
- oxyno-zeta/s3-proxyGitHuboxyno-zeta/s3-proxygarage · MinIO · oxyno-zeta/s3-proxy · Apache-2.0, Go · Reverse Proxy with GET, PUT and DELETE methods and authentication笔记:S3
- Apache-2.0, Go
- Reverse Proxy with GET, PUT and DELETE methods and authentication
- gaul/s3proxyGitHubgaul/s3proxygarage · MinIO · oxyno-zeta/s3-proxy · Apache-2.0, Go · Reverse Proxy with GET, PUT and DELETE methods and authentication笔记:S3
- Apache-2.0, Java
- S3 Proxy with overlay
- dandanthedev/littletinystorageGitHubdandanthedev/littletinystorage
- GPLv3, TS
- S3 兼容接口
- 可以作为实现的参考
- glacier - 冷存储, 90 天 删除
pottava/aws-s3-proxyGitHubpottava/aws-s3-proxygarage · MinIO · oxyno-zeta/s3-proxy · Apache-2.0, Go · Reverse Proxy with GET, PUT and DELETE methods and authentication笔记:S3- MIT, Go
Limits
| item | spec | e.g. |
|---|---|---|
| key | 1024 bytes | a/b/c |
| key segment | 255 bytes | a |
| bucket | 63 bytes |
bucket name
(?!(^xn--|.+-s3alias$))^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$
(?!(^((2(5[0-5]|[0-4][0-9])|[01]?[0-9]{1,2})\.){3}(2(5[0-5]|[0-4][0-9])|[01]?[0-9]{1,2})$|^xn--|.+-s3alias$))^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$- key
- UTF8
- 安全字符
[0-9a-zA-z!_.*'()-]
- docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
- docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html
- BucketName 规则
- S3 Limits
- minio Thresholds and Limits
headers
x-amz-meta-x-amz-aclx-amz-server-side-encryption-x-amz-server-side-encryptionx-amz-storage-class
content-type
cache-control
content-encoding
content-disposition
content-language
x-amz-website-redirect-location
Content-MD5: ${BASE64}
# SigV4 - Signature Version 4
# UNSIGNED-PAYLOAD 不计算 payload hash
x-amz-content-sha256: UNSIGNED-PAYLOAD
x-amz-content-sha256: ${hex(sha256)}
# 自动处理
x-amz-sdk-checksum: SHA256API
### List Objects V2
GET /?list-type=2&continuation-token=ContinuationToken&delimiter=Delimiter&encoding-type=EncodingType&fetch-owner=FetchOwner&max-keys=MaxKeys&prefix=Prefix&start-after=StartAfter HTTP/1.1
Host: Bucket.s3.amazonaws.com
x-amz-request-payer: RequestPayer
x-amz-expected-bucket-owner: ExpectedBucketOwner
x-amz-optional-object-attributes: OptionalObjectAttributes- ObjectIdentifier
- Key
- XML 需要做 escape
- ETag
- LastModifiedTime
- Size
- VersionId
- Key
- write once, read many (WORM) model
- Lock
- S3 API compatibility
- docs.openio.io/latest/source/arch-design/s3_compliancy.html
- docs.riak.com/riak/cs/2.1.1/references/apis/storage/s3/index.html
- docs.ceph.com/en/latest/radosgw/s3链接docs.ceph.com/en/latest/radosgw/s3garage · MinIO · oxyno-zeta/s3-proxy · Apache-2.0, Go · Reverse Proxy with GET, PUT and DELETE methods and authentication笔记:S3
- Garage garagehq.deuxfleurs.fr/documentation/reference-manual/s3-compatibility
- Cloudflare R2 developers.cloudflare.com/r2/api/s3/api
- MinIO min.io/docs/minio/linux/reference/s3-api-compatibility.html
- 阿里云 help.aliyun.com/zh/oss/developer-reference/compatibility-with-amazon-s3
- 参考
Profile
- AWS_PROFILE
- ~/.aws/credentials
%USERPROFILE%\.aws\credentials- ~/.aws/config
- docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html
[default]
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_KEY
[your_profile_name]
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_KEYaws --profile project01 --endpoint-url http://localhost:9000 s3 ls s3://my-bucket01/FAQ
- Aliyun
- s3.oss-cn-hongkong.aliyuncs.com
- 内网 s3.oss-cn-hongkong-internal.aliyuncs.com
- help.aliyun.com/zh/oss/developer-reference/compatibility-with-amazon-s3-1
- Testing
API
- listObjects
- 如果传入了 delimiter, 会返回 CommonPrefixes, 类似于目录列表
- docs.aws.amazon.com/s3链接docs.aws.amazon.com/s3garage · MinIO · oxyno-zeta/s3-proxy · Apache-2.0, Go · Reverse Proxy with GET, PUT and DELETE methods and authentication笔记:S3
- docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html
关联信息
反向链接、本文链接的其他页面和外部资料。
反向链接
- Storage Awesome笔记 · S3
考虑因素 · 怎么用 · 确定使用方 · 用户 - 例如: S3 · 操作系统 - 例如: GFS, DRBD, NFS · SaaS 服务 - 有 软件定义存储 的能力 - 租户、隔离、BYOD · 选择网络接口协议 · 块 vs 文件 vs 对象
站内链接
参考资料
GitHub5 条
- dandanthedev/littletinystoragegithub.com/dandanthedev/littletinystorage
- gaul/s3proxygithub.com/gaul/s3proxy
- oxyno-zeta/s3-proxygithub.com/oxyno-zeta/s3-proxy
- pottava/aws-s3-proxygithub.com/pottava/aws-s3-proxy
- Switch-TV/s3proxy/overlay-middlewaregithub.com/Switch-TV/s3proxy/tree/feature/overlay-middleware
其他外链21 条
- aws.amazon.com/opendataaws.amazon.com/opendata
- buckets.grayhatwarfare.combuckets.grayhatwarfare.com/
- developers.cloudflare.com/r2/api/s3/apidevelopers.cloudflare.com/r2/api/s3/api
- docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.htmldocs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html
- docs.aws.amazon.com/AmazonS3/latest/API/Type_API_Reference.htmldocs.aws.amazon.com/AmazonS3/latest/API/Type_API_Reference.html
- docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.htmldocs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html
- docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.htmldocs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
- docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.htmldocs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
- docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.htmldocs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html
- docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.htmldocs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html
- docs.aws.amazon.com/s3docs.aws.amazon.com/s3
- docs.ceph.com/en/latest/radosgw/s3docs.ceph.com/en/latest/radosgw/s3
- docs.openio.io/latest/source/arch-design/s3_compliancy.htmldocs.openio.io/latest/source/arch-design/s3_compliancy.html
- docs.riak.com/riak/cs/2.1.1/references/apis/storage/s3/index.htmldocs.riak.com/riak/cs/2.1.1/references/apis/storage/s3/index.html
- garagehq.deuxfleurs.fr/documentation/reference-manual/s3-compatibilitygaragehq.deuxfleurs.fr/documentation/reference-manual/s3-compatibility
- help.aliyun.com/zh/oss/developer-reference/compatibility-with-amazon-s3help.aliyun.com/zh/oss/developer-reference/compatibility-with-amazon-s3
- help.aliyun.com/zh/oss/developer-reference/compatibility-with-amazon-s3-1help.aliyun.com/zh/oss/developer-reference/compatibility-with-amazon-s3-1
- min.io/docs/minio/linux/developers/javascript/API.htmlmin.io/docs/minio/linux/developers/javascript/API.html
- min.io/docs/minio/linux/operations/concepts/thresholds.htmlmin.io/docs/minio/linux/operations/concepts/thresholds.html
- min.io/docs/minio/linux/reference/s3-api-compatibility.htmlmin.io/docs/minio/linux/reference/s3-api-compatibility.html
- registry.opendata.awsregistry.opendata.aws/