对 bucket 的操作
StorageGRID系统支持每个 S3 租户帐户最多 5,000 个存储桶。
每个网格最多可以有 100,000 个桶。
为了支持 5,000 个存储桶,网格中的每个存储节点必须至少具有 64 GB 的 RAM。
存储桶名称限制遵循 AWS 美国标准区域限制,但您应该进一步将它们限制为 DNS 命名约定,以支持 S3 虚拟托管样式请求。
有关详细信息,请参见以下内容:
ListObjects(获取 Bucket)和 ListObjectVersions(获取 Bucket 对象版本)操作支持StorageGRID"一致性值" 。
您可以检查是否针对各个存储桶启用或禁用了上次访问时间的更新。看"获取 Bucket 上次访问时间" 。
下表描述了StorageGRID如何实现 S3 REST API 存储桶操作。要执行任何这些操作,必须为帐户提供必要的访问凭据。
操作 | 实施 |
---|---|
创建桶 |
创建一个新的存储桶。通过创建存储桶,您就成为存储桶的所有者。
|
删除桶 |
删除存储桶。 |
删除BucketCors |
删除存储桶的 CORS 配置。 |
删除桶加密 |
从存储桶中删除默认加密。现有的加密对象仍保持加密状态,但添加到存储桶的任何新对象都不会加密。 |
DeleteBucket生命周期 |
从存储桶中删除生命周期配置。看"创建 S3 生命周期配置" 。 |
删除桶策略 |
删除附加到存储桶的策略。 |
删除桶复制 |
删除附加到存储桶的复制配置。 |
删除桶标记 |
使用 `tagging`子资源从存储桶中删除所有标签。 警告:如果为此存储桶设置了非默认的 ILM 策略标签,则会出现 `NTAP-SG-ILM-BUCKET-TAG`已分配值的 bucket 标签。如果存在 `NTAP-SG-ILM-BUCKET-TAG`桶标签。相反,发出仅包含 `NTAP-SG-ILM-BUCKET-TAG`标签及其分配的值,以从存储桶中删除所有其他标签。请勿修改或删除 `NTAP-SG-ILM-BUCKET-TAG`桶标签。 |
获取BucketAcl |
返回肯定响应以及存储桶拥有者的 ID、DisplayName 和 Permission,表明拥有者对该存储桶具有完全访问权限。 |
获取BucketCors |
返回 `cors`存储桶的配置。 |
获取桶加密 |
返回存储桶的默认加密配置。 |
获取BucketLifecycleConfiguration (以前称为 GET Bucket 生命周期) |
返回存储桶的生命周期配置。看"创建 S3 生命周期配置" 。 |
获取存储桶位置 |
返回使用 |
获取存储桶通知配置 (以前称为 GET Bucket 通知) |
返回附加到存储桶的通知配置。 |
获取BucketPolicy |
返回附加到存储桶的策略。 |
获取Bucket复制 |
返回附加到存储桶的复制配置。 |
获取桶标记 |
使用 `tagging`子资源返回存储桶的所有标签。 警告:如果为此存储桶设置了非默认的 ILM 策略标签,则会出现 `NTAP-SG-ILM-BUCKET-TAG`已分配值的 bucket 标签。请勿修改或删除此标签。 |
获取Bucket版本 |
此实现使用 `versioning`子资源返回存储桶的版本控制状态。
|
获取对象锁配置 |
如果已配置,则返回存储桶默认保留模式和默认保留期。 |
头桶 |
确定存储桶是否存在以及您是否有权访问它。 此操作返回:
|
ListObjects 和 ListObjectsV2 (以前称为 GET Bucket) |
返回存储桶中的部分或全部(最多 1,000 个)对象。对象的存储类可以有两个值,即使对象是通过 `REDUCED_REDUNDANCY`存储类别选项:
如果存储桶包含大量具有相同前缀的已删除键,则响应可能包含一些 `CommonPrefixes`不包含密钥。 |
列出对象版本 (以前称为 GET Bucket Object 版本) |
拥有存储桶的读取权限,使用此操作 `versions`子资源列出了存储桶中所有版本的对象的元数据。 |
PutBucketCors |
设置存储桶的 CORS 配置,以便存储桶可以处理跨域请求。跨域资源共享 (CORS) 是一种安全机制,允许一个域中的客户端 Web 应用程序访问不同域中的资源。例如,假设您使用名为 |
PutBucket加密 |
设置现有存储桶的默认加密状态。启用存储桶级加密后,添加到存储桶的任何新对象都将被加密。StorageGRID 支持使用StorageGRID管理的密钥进行服务器端加密。指定服务器端加密配置规则时,设置 如果对象上传请求已经指定了加密(即,如果请求包含 `x-amz-server-side-encryption-*`请求标头)。 |
PutBucket生命周期配置 (以前称为 PUT Bucket 生命周期) |
为存储桶创建新的生命周期配置或替换现有的生命周期配置。 StorageGRID在生命周期配置中支持最多 1,000 条生命周期规则。每个规则可以包含以下 XML 元素:
StorageGRID不支持以下操作:
看"创建 S3 生命周期配置" 。要了解存储桶生命周期中的到期操作如何与 ILM 放置指令交互,请参阅"ILM 如何在对象的整个生命周期中运作"。 注意:存储桶生命周期配置可与启用了 S3 对象锁的存储桶一起使用,但存储桶生命周期配置不支持旧版兼容存储桶。 |
PutBucketNotification配置 (以前称为 PUT Bucket 通知) |
使用请求正文中包含的通知配置 XML 为存储桶配置通知。您应该了解以下实施细节:
|
PutBucketPolicy |
设置附加到存储桶的策略。看"使用存储桶和组访问策略" 。 |
PutBucket复制 |
配置"StorageGRID CloudMirror 复制"对于存储桶,使用请求正文中提供的复制配置 XML。对于 CloudMirror 复制,您应该注意以下实施细节:
|
PutBucketTagging |
使用 `tagging`子资源来添加或更新存储桶的一组标签。添加存储桶标签时,请注意以下限制:
警告:如果为此存储桶设置了非默认的 ILM 策略标签,则会出现 `NTAP-SG-ILM-BUCKET-TAG`已分配值的 bucket 标签。确保 `NTAP-SG-ILM-BUCKET-TAG`所有 PutBucketTagging 请求中都包含存储桶标签和分配的值。请勿修改或删除此标签。 注意:此操作将覆盖存储桶已有的任何当前标签。如果集合中省略了任何现有标签,则将从存储桶中删除这些标签。 |
PutBucket版本控制 |
使用 `versioning`子资源来设置现有存储桶的版本控制状态。您可以使用以下值之一设置版本控制状态:
|
PutObjectLock配置 |
配置或删除存储桶默认保留模式和默认保留期。 如果修改了默认保留期,则现有对象版本的保留截止日期保持不变,并且不会使用新的默认保留期重新计算。 看"使用 S3 REST API 配置 S3 对象锁"了解详细信息。 |