启动多部件上传
" 启动多部件上传 " 操作将为对象启动多部件上传,并返回上传 ID 。
支持 x-AMZ-storage-class
请求标头。为 x-AMZ-storage-class
提交的值会影响 StorageGRID 在载入期间保护对象数据的方式,而不会影响 StorageGRID 系统中存储对象的永久性副本的数量(由 ILM 决定)。
如果与已载入对象匹配的 ILM 规则对载入行为使用 strict 选项,则 x-AMZ-storage-class
标头将不起作用。
以下值可用于 x-AMZ-storage-class
:
-
standard
(默认)-
* 双提交 * :如果 ILM 规则为载入行为指定了双提交选项,则在载入对象后,系统会立即创建该对象的第二个副本并将其分发到其他存储节点(双提交)。评估 ILM 后, StorageGRID 将确定这些初始临时副本是否满足规则中的放置说明。否则,可能需要在不同位置创建新的对象副本,并且可能需要删除初始中间副本。
-
* 已平衡 * :如果 ILM 规则指定 Balified 选项,而 StorageGRID 无法立即创建规则中指定的所有副本,则 StorageGRID 会在不同的存储节点上创建两个临时副本。
如果 StorageGRID 可以立即创建 ILM 规则(同步放置)中指定的所有对象副本,则
x-AMZ-storage-class
标头将不起作用。
-
-
re介绍冗余
-
* 双提交 * :如果 ILM 规则为载入行为指定了双提交选项,则 StorageGRID 会在载入对象时创建一个临时副本(单个提交)。
-
* 已平衡 * :如果 ILM 规则指定 Balified 选项,则只有在系统无法立即创建规则中指定的所有副本时, StorageGRID 才会创建一个临时副本。如果 StorageGRID 可以执行同步放置,则此标头不起作用。
re
与对象匹配的 ILM 规则创建一个复制副本时,最好使用 " 已复制 " 选项。在这种情况下,使用recreated_redundancy
可以避免在每次载入操作中不必要地创建和删除额外的对象副本。
在其他情况下,不建议使用
reincluster_redundancy
选项。re介绍冗余
增加了载入期间对象数据丢失的风险。例如,如果最初将单个副本存储在发生故障的存储节点上,而此存储节点未能进行 ILM 评估,则可能会丢失数据。 -
-
注意 * :在任意时间段内只复制一个副本会使数据面临永久丢失的风险。如果某个对象只存在一个复制副本,则在存储节点出现故障或出现严重错误时,该对象将丢失。在升级等维护过程中,您还会暂时失去对对象的访问权限。
指定 recreated_redundancy
仅会影响首次载入对象时创建的副本数。它不会影响在活动 ILM 策略评估对象时创建的对象副本数,也不会导致数据在 StorageGRID 系统中以较低的冗余级别存储。
-
注 * :如果要在启用了 S3 对象锁定的情况下将对象载入存储分段,则会忽略
re区冗余
选项。如果要将对象载入旧的合规存储分段,则re区冗余
选项将返回错误。StorageGRID 将始终执行双提交载入,以确保满足合规性要求。
支持以下请求标头:
-
内容类型
-
x-AMZ-meta-
,后跟一个名称 - 值对,其中包含用户定义的元数据为用户定义的元数据指定名称 - 值对时,请使用以下通用格式:
x-amz-meta-_name_: `value`
如果要使用 * 用户定义的创建时间 * 选项作为 ILM 规则的参考时间,则必须使用
creation-time
作为创建对象时记录的元数据的名称。例如:x-amz-meta-creation-time: 1443399726
自 1970 年 1 月 1 日以来,
creation-time
的值将以秒为单位进行评估。如果要将对象添加到启用了旧合规性的存储分段,则不允许将 create-time
添加为用户定义的元数据。此时将返回错误。 -
S3 对象锁定请求标头:
-
x-AMZ-object-lock-mode
-
x-AMZ-object-lock-retain-until date
-
x-AMZ-object-lock-legal-hold
如果在不使用这些标题的情况下发出请求,则存储分段默认保留设置用于计算对象版本 retain-until 日期。
-
-
SSA 请求标头:
-
x-AMZ-server-side encryption
-
x-AMZ-server-side encrypt-customer-key-md5
-
x-AMZ-server-side encrypt-customer-key
-
x-AMZ-server-side encrypt-customer-encryption
有关 StorageGRID 如何处理 UTF-8 字符的信息,请参见 PUT 对象的文档。 -
服务器端加密的请求标头
您可以使用以下请求标头通过服务器端加密对多部分对象进行加密。SSE 和 SSI-C 选项是互斥的。
-
* SSE* :如果要使用 StorageGRID 管理的唯一密钥对对象进行加密,请在 " 启动多部分上传请求 " 中使用以下标题。请勿在任何上传部件请求中指定此标题。
-
x-AMZ-server-side encryption
-
-
* SSI-C* :如果要使用您提供和管理的唯一密钥对对象进行加密,请在 " 启动多部件上传请求 " (以及后续的每个 " 上传部件请求 " )中使用所有这三个标头。
-
x-AMZ-server-side encrypt-customer-all
:指定AES256
。 -
x-AMZ-server-side encrypt-customer-key
:为新对象指定加密密钥。 -
x-AMZ-server-side encrypt-customer-key-md5
:指定新对象加密密钥的 MD5 摘要。
-
-
注意: * 您提供的加密密钥永远不会存储。如果丢失加密密钥,则会丢失相应的对象。在使用客户提供的密钥保护对象数据之前,请查看 "`使用服务器端加密 " 中的注意事项。`
请求标头不受支持
不支持以下请求标头,并返回 XNotImplemented"
-
x-AMZ-website-redirect-location
版本控制
多部分上传包括启动上传,发布上传,上传部件,组装上传的部件以及完成上传的操作。在执行完整的多部件上传操作时,系统会创建对象(如果适用,还会进行版本控制)。