minio的兼容协议
Amazon S3 协议是一个基于 HTTP 的 RESTful API,旨在与 Amazon Simple Storage Service (S3) 进行交互。它定义了如何存储、检索和管理对象(如文件、图片、视频等),是对象存储领域的事实标准。以下是 Amazon S3 协议的详细介绍:S3 协议的关键概念1.Bucket(存储桶)是 S3 中存储对象的容器。每个存储桶在整个 S3 命名空间内具有唯一名称。存储桶的名称需要符合 DNS 规则(例如:my-bucket)。存储桶可以指定区域,以确保靠近用户,减少延迟。2.Object(对象)S3 中存储的基本数据单元。每个对象由以下部分组成:Key(键): 对象的唯一标识符(路径)。Value(值): 对象的实际数据。Metadata(元数据): 描述对象的附加信息(系统元数据和用户元数据)。3.Region(区域)数据存储的地理位置,例如 us-east-1 或 ap-southeast-2。区域选择影响数据访问的延迟和合规性。4.Access Control(访问控制)通过存储桶策略、访问控制列表(ACL)或 IAM 策略,定义谁可以访问存储桶和对象。S3 API 的操作类型S3 协议支持以下主要操作:1. Bucket 操作创建存储桶:请求:PUT /{bucket-name}定存储桶名称和区域。列出存储桶:请求:GET /返回当前账户下所有存储桶的列表。删除存储桶:请求:DELETE /{bucket-name}只能删除空存储桶。2. Object 操作上传对象:请求:PUT /{bucket-name}/{object-key}上传一个文件到指定存储桶。下载对象:请求:GET /{bucket-name}/{object-key}检索对象的数据。删除对象:请求:DELETE /{bucket-name}/{object-key}删除指定对象。列出对象:请求:GET /{bucket-name}?list-type=2列出存储桶中的对象。3. 元数据操作获取对象元数据:请求:HEAD /{bucket-name}/{object-key}仅返回对象的元数据,而不返回数据本身。4. 分块上传初始化分块上传:请求:POST /{bucket-name}/{object-key}?uploads创建分块上传的会话。上传分块:请求:PUT /{bucket-name}/{object-key}?partNumber={part-number}&uploadId={upload-id}将大文件分块上传。合并分块:请求:POST /{bucket-name}/{object-key}?uploadId={upload-id}将所有分块合并为完整对象。S3 REST API 的结构S3 API 是基于 REST 的,主要使用以下 HTTP 方法:GET:检索数据。PUT:上传数据。POST:处理特殊操作(如分块上传)。DELETE:删除资源。HEAD:获取资源的元数据。请求结构:HTTP METHOD /{bucket-name}/{object-key}Host: {bucket-name}.s3.{region}.amazonaws.comHeaders:    Authorization: AWS4-HMAC-SHA256 Credential=...    Content-Type: application/json    Date: <current-timestamp>Body: <optional>S3 协议的安全性1.认证使用 AWS 签名版本 4(AWS Signature Version 4)对每个请求进行身份验证。需要提供 Access Key ID 和 Secret Access Key。2.访问控制Bucket Policies: 用于定义整个存储桶的访问权限。Access Control Lists (ACLs): 为存储桶和对象分配特定权限。IAM Policies: 使用 AWS Identity and Access Management (IAM) 定义访问规则。3.加密静态数据加密:使用 AWS KMS 密钥或自定义密钥加密存储的数据。传输中数据加密:默认通过 HTTPS 保护数据传输。扩展特性1.版本控制开启后,S3 会为每次上传的对象创建新版本,保留历史数据。2.生命周期规则自动管理存储对象的生命周期(例如:将数据迁移到 Glacier、删除旧版本)。3.事件通知可以将事件(如对象创建、删除)通知到 AWS Lambda、SNS 或 SQS。4.跨区域复制(CRR)将数据自动同步到另一个区域的存储桶。5.存储类供不同的存储类型(如标准存储、智能分层、归档存储),优化成本与性能。
点赞 2
评论 1
全部评论

相关推荐

待现的未见之事:起码第一句要把自己的优势说出来吧。比如什么xx本27届学生,随时到岗....
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务