Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

对存储分段执行的操作

贡献者

对于每个 S3 租户帐户, StorageGRID 系统最多支持 1 , 000 个分段。

存储分段名称限制遵循AWS US Standard区域限制、但您应进一步将其限制为DNS命名约定、以支持S3虚拟托管模式请求。

有关详细信息,请参见以下内容:

ListObjects (GET Bucket)和ListObjectVersies (GET Bucket)对象版本)操作支持StorageGRID "一致性值"

您可以检查是否已为各个存储分段启用上次访问时间更新。请参见 "获取存储分段上次访问时间"

下表介绍了 StorageGRID 如何实施 S3 REST API 存储分段操作。要执行其中任何操作,必须为帐户提供必要的访问凭据。

操作 实施

CreateBucket

创建新存储分段。创建存储分段后,您就会成为存储分段所有者。

  • 存储分段名称必须符合以下规则:

    • 每个 StorageGRID 系统必须是唯一的(而不仅仅是租户帐户中的唯一)。

    • 必须符合 DNS 要求。

    • 必须至少包含 3 个字符,并且不能超过 63 个字符。

    • 可以是一个或多个标签的序列,并使用一个句点分隔相邻标签。每个标签必须以小写字母或数字开头和结尾,并且只能使用小写字母,数字和连字符。

    • 不能与文本格式的 IP 地址类似。

    • 不应在虚拟托管模式请求中使用句点。句点会在验证服务器通配符证书时出现发生原因 问题。

  • 默认情况下、将在中创建分段 us-east-1 区域;但是、您可以使用 LocationConstraint 请求正文中的请求元素以指定其他区域。使用时 LocationConstraint Element中、您必须指定已使用网格管理器或网格管理API定义的区域的确切名称。如果您不知道应使用的区域名称、请联系您的系统管理员。

    注意:如果CreateBucket(创建存储分段)请求使用的区域尚未在StorageGRID中定义,则会发生错误。

  • 您可以包括 x-amz-bucket-object-lock-enabled 请求标题以创建启用了S3对象锁定的存储分段。请参见 "使用S3 REST API配置S3对象锁定"

    创建存储分段时,必须启用 S3 对象锁定。创建分段后、您无法添加或禁用S3对象锁定。S3 对象锁定需要分段版本控制,在创建分段时会自动启用分段版本控制。

DeleteBucket

删除存储分段。

DeleteBucketCors

删除存储分段的CORS配置。

DeleteBucketEncryption

从存储分段中删除默认加密。现有加密对象将保持加密状态、但添加到存储分段的任何新对象不会加密。

DeleteBucketLifecycle

从存储分段中删除生命周期配置。请参见 "创建 S3 生命周期配置"

DeleteBucketPolicy

删除附加到存储分段的策略。

DeleteBucketReplication

删除附加到存储分段的复制配置。

DeleteBucketTbaging

使用 tagging 用于从存储分段中删除所有标记的子资源。

注意:如果为此存储分段设置了非默认ILM策略标记、则会出现 NTAP-SG-ILM-BUCKET-TAG 具有分配给存储分段的值的存储分段标记。如果存在、请勿问题描述一个DeleteBucketTbagingRequest NTAP-SG-ILM-BUCKET-TAG 存储分段标签。而是使用问题描述发出仅包含的PutBucketTagingRequest NTAP-SG-ILM-BUCKET-TAG 用于从存储分段中删除所有其他标记的标记及其分配值。请勿修改或删除 NTAP-SG-ILM-BUCKET-TAG 存储分段标签。

GetBucketAcl

返回肯定响应以及存储分段所有者的ID、DisplayName和权限、指示所有者对存储分段具有完全访问权限。

GetBucketCors

返回 cors 存储分段的配置。

GetBucketEncryption

返回存储分段的默认加密配置。

GetBucketLifecycleConfiguration

(以前称为GET分段生命周期)

返回存储分段的生命周期配置。请参见 "创建 S3 生命周期配置"

GetBucketLocation

返回使用设置的区域 LocationConstraint CreateBucket.如果存储分段的区域为 us-east-1、将返回该区域的空字符串。

GetBucketNotizationConfiguration

(以前称为GET分段通知)

返回附加到存储分段的通知配置。

GetBucketPolicy

返回附加到存储分段的策略。

GetBucketReplication

返回附加到存储分段的复制配置。

GetBucketTaging

使用 tagging 用于返回存储分段的所有标记的子资源。

注意:如果为此存储分段设置了非默认ILM策略标记、则会出现 NTAP-SG-ILM-BUCKET-TAG 具有分配给存储分段的值的存储分段标记。请勿修改或删除此标记。

GetBucketVersioning

此实施使用 versioning 用于返回存储分段版本控制状态的子资源。

  • blank:从未启用版本控制(分段已"取消版本控制")

  • Enabled :已启用版本控制

  • suspended :先前已启用版本控制并已暂停

GetObjectLockConfiguration

返回存储分段默认保留模式和默认保留期限(如果已配置)。

HeadBucket

确定存储分段是否存在、以及您是否有权访问该存储分段。

此操作将返回:

  • x-ntap-sg-bucket-id:UUID格式的存储分段的UUID。

  • x-ntap-sg-trace-id:关联请求的唯一跟踪ID。

ListObjects和ListObjectsV2

(以前称为GET分段)

返回分段中的部分或全部对象(最多1、000个)。对象的存储类可以具有两个值之一、即使对象是随一起载入的 REDUCED_REDUNDANCY 存储类选项:

  • STANDARD、表示对象存储在由存储节点组成的存储池中。

  • GLACIER、表示对象已移至云存储池指定的外部存储分段。

如果存储分段包含大量前缀相同的已删除密钥、则响应可能包括一些密钥 CommonPrefixes 不包含密钥。

ListObjectVersies

(以前称为Get BucketObject Version)

在存储分段上具有读取访问权限时、将此操作与结合使用 versions 子资源列出了存储分段中所有版本对象的元数据。

PutBucketCors

设置存储分段的CORS配置、以便存储分段可以处理跨源站请求。跨源资源共享( CORS )是一种安全机制,允许一个域中的客户端 Web 应用程序访问不同域中的资源。例如、假设您使用名为的S3存储分段 images 以存储图形。通过设置的CORS配置 images 存储分段中的图像、您可以在网站上显示该存储分段中的图像 http://www.example.com

PutBucketEncryption

设置现有存储分段的默认加密状态。启用存储分段级别加密后,添加到存储分段中的任何新对象都会进行加密。 StorageGRID 支持使用 StorageGRID 管理的密钥进行服务器端加密。指定服务器端加密配置规则时、请设置 SSEAlgorithm 参数设置为 AES256,并且不要使用 KMSMasterKeyID 参数。

如果对象上传请求已指定加密(即、如果请求包含)、则存储分段默认加密配置将被忽略 x-amz-server-side-encryption-* 请求标题)。

PutBucketLifecycleConfiguration

(以前称为"放置分段生命周期")

为存储分段创建新的生命周期配置或替换现有生命周期配置。StorageGRID 在一个生命周期配置中最多支持 1 , 000 条生命周期规则。每个规则可以包含以下 XML 元素:

  • 到期日期(天数、日期、ExpireObjectDeleteMarker)

  • 非当前版本到期(新非当前版本、非当前日期)

  • 筛选器(前缀,标记)

  • Status

  • ID

StorageGRID 不支持以下操作:

  • AbortIncompleteMultipartUpload

  • 过渡

请参见 "创建 S3 生命周期配置"。要了解存储分段生命周期中的到期操作如何与ILM放置说明交互、请参见 "ILM 如何在对象的整个生命周期内运行"

  • 注 * :存储分段生命周期配置可用于启用了 S3 对象锁定的存储分段,但传统合规存储分段不支持存储分段生命周期配置。

PutBucketNotizationConfiguration

(以前称为Put Bucket"通知)

使用请求正文中包含的通知配置XML配置分段的通知。您应了解以下实施详细信息:

  • StorageGRID支持将Amazon Simple Notification Service (Amazon SNS)或Kafka主题作为目标。不支持简单队列服务(SQS)或Amazon Lamba端点。

  • 必须将通知目标指定为 StorageGRID 端点的 URN 。可以使用租户管理器或租户管理 API 创建端点。

    要成功配置通知,端点必须存在。如果端点不存在、则为 400 Bad Request 返回错误并显示代码 InvalidArgument

  • 您不能为以下事件类型配置通知。这些事件类型 * 不 * 受支持。

    • s3:ReducedRedundancyLostObject

    • s3:ObjectRestore:Completed

  • 从StorageGRID 发送的事件通知使用标准JSON格式、不同之处在于它们不包含某些密钥、而对其他密钥使用特定值、如以下列表所示:

    • * 事件源 *

      sgws:s3

    • * awsRegion*

      不包括

    • * 。 x-AMZ-id-2*

      不包括

    • * arn*

      urn:sgws:s3:::bucket_name

PutBucketPolicy

设置附加到存储分段的策略。请参见 "使用存储分段和组访问策略"

PutBucketReplication

配置 "StorageGRID CloudMirror复制" 使用请求正文中提供的复制配置XML的存储分段。对于 CloudMirror 复制,您应了解以下实施详细信息:

  • StorageGRID 仅支持复制配置的 V1 。这意味着、StorageGRID 不支持使用 Filter Element中的规则、并遵循V1中有关删除对象版本的约定。有关详细信息,请参见 "《Amazon Simple Storage Service用户指南:复制配置》"

  • 分段复制可以在分版本或未分版本的分段上配置。

  • 您可以在复制配置 XML 的每个规则中指定不同的目标存储分段。一个源存储分段可以复制到多个目标存储分段。

  • 必须将目标分段指定为租户管理器或租户管理 API 中指定的 StorageGRID 端点的 URN 。请参见 "配置 CloudMirror 复制"

    要成功进行复制配置,必须存在此端点。如果端点不存在、则请求将以失败的形式出现 400 Bad Request。错误消息显示: Unable to save the replication policy. The specified endpoint URN does not exist: URN.

  • 您无需指定 Role 在配置XML中。StorageGRID 不使用此值,如果提交,则会忽略此值。

  • 如果在配置XML中省略存储类、则StorageGRID 将使用 STANDARD 默认情况下、存储类。

  • 如果从源存储分段中删除对象或删除源存储分段本身,则跨区域复制行为如下:

    • 如果在复制对象或存储分段之前将其删除、则不会复制该对象或存储分段、也不会通知您。

    • 如果您在复制对象或存储分段后将其删除,则 StorageGRID 会对跨区域复制的 V1 遵循标准 Amazon S3 删除行为。

PutBucketTaging

使用 tagging 用于为存储分段添加或更新一组标记的子资源。添加存储分段标记时,请注意以下限制:

  • StorageGRID 和 Amazon S3 为每个存储分段最多支持 50 个标签。

  • 与存储分段关联的标记必须具有唯一的标记密钥。一个标记密钥的长度最多可包含 128 个 Unicode 字符。

  • 标记值的长度最多可以为 256 个 Unicode 字符。

  • 密钥和值区分大小写。

注意:如果为此存储分段设置了非默认ILM策略标记、则会出现 NTAP-SG-ILM-BUCKET-TAG 具有分配给存储分段的值的存储分段标记。确保 NTAP-SG-ILM-BUCKET-TAG 存储分段标记包含在所有PutBucketTag请求中的已分配值中。请勿修改或删除此标记。

注意:此操作将覆盖存储分段已有的任何当前标记。如果在集合中省略了任何现有标记、则会删除存储分段中的这些标记。

PutBucketVersioning

使用 versioning 用于设置现有存储分段的版本控制状态的子资源。您可以使用以下值之一设置版本控制状态:

  • Enabled :为存储分段中的对象启用版本控制。添加到存储分段中的所有对象都会收到唯一的版本 ID 。

  • suspended :为存储分段中的对象禁用版本控制。添加到存储分段中的所有对象都会收到版本ID null

PutObjectLockConfiguration

配置或删除存储分段默认保留模式和默认保留期限。

如果修改了默认保留期限,则现有对象版本的保留日期将保持不变,不会使用新的默认保留期限重新计算。

请参见 "使用S3 REST API配置S3对象锁定" 了解详细信息。