mc ilm restore
语法
mc ilm restore
命令会为存储在远程层上的对象的临时副本创建一个副本。
默认情况下,这个副本会在 1 天后自动过期。
使用此命令,可以允许应用程序通过MinIO部署访问分级存储的
对象(例如 “热层” )。归档的对象仍然保留在远程层上,
同时生成的临时副本成为该对象的 HEAD
。
在 mc 版本加入: RELEASE.2023-04-12T02-21-51Z
使用 mc stat
命令来显示恢复的对象是从本地临时副本还是远程层读取。
当前正在从远程层恢复的对象显示状态为 Ongoing : true
状态。
以下命令将过渡到远程层的对象的副本恢复
到 myminio
MinIO 部署:
mc ilm restore myminio/mybucket/object.txt
该命令具有以下语法:
mc [GLOBALFLAGS] ilm restore \
[--days "int" ] \
[--recursive] \
[--vid "string"] \
[--versions] \
[--enc-c "string"] \
ALIAS
方括号
[]
表示可选参数。参数在同一行表示它们是相互依赖的。
使用管道
|
运算符分隔的参数是相互排斥的。
在终端/壳中运行命令之前,将示例复制到文本编辑器中并按需进行修改。
参数
- ALIAS
- Required
MinIO的 alias 存储桶以及要恢复的归档对象路径。
mc ilm restore myminio/mybucket/object.txt
- --enc-c
- Optional
使用服务器端 SSE-C 加密 和客户端管理的密钥加密或解密对象。
该参数接受键值对,格式为
KEY=VALUE
。KEY
对象的完整路径,即
alias/bucket/path/object.ext
。您可以只指定顶层路径,以便对该路径中的所有操作使用单个加密密钥。
VALUE
指定用于 SSE-C 加密的 32 字节 RawBase64 编码密钥 或 64 字节十六进制编码密钥。
原始 Base64 编码 拒绝
=
填充键。 省略填充或使用支持 RAW 格式的 Base64 编码器。KEY
- 对象的完整路径为alias/bucket/path/object
。VALUE
- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
# RawBase64-Encoded string "mybucket32byteencryptionkeyssec" --enc-c "myminio/mybucket/prefix/object.obj=bXlidWNrZXQzMmJ5dGVlbmNyeXB0aW9ua2V5c3NlYwo"
重复该参数可指定多个加密密钥。
指定一个前缀的路径,以便对该路径上的所有匹配对象进行加密:
--enc-c "myminio/mybucket/prefix/=bXlidWNrZXQzMmJ5dGVlbmNyeXB0aW9ua2V5c3NlYwo"
备注
MinIO 强烈建议不要在生产工作负载中使用 SSE-C 加密。 通过
--enc-kms
参数使用 SSE-KMS 或通过--enc-s3
参数使用 SSE-S3。
全局标记
此命令支持任何 全局标志。
示例
恢复已存档的对象
以下命令将归档的对象恢复到远程层:
mc ilm restore myminio/mybucket/object.txt
恢复特定存档对象版本
以下命令将存档的特定对象版本恢复到 远程层:
mc ilm restore --vid "VERSIONID" myminio/mybucket/object.txt
恢复存储桶前缀处的所有归档对象
以下命令恢复在指定前缀下归档的所有对象 远程层:
mc ilm restore --recursive myminio/mybucket/data/
行为
恢复的对象自动过期
MinIO 在指定时间后自动使恢复的对象副本过期 天数(默认值:1 天)。
恢复的对象成为 HEAD
恢复的对象副本成为该对象命名空间的 HEAD 无论如何 它的版本控制历史记录。 这可能会导致应用程序返回 当本地副本存在时,数据 “过时”。
S3兼容性
mc 命令行工具是为了与 AWS S3 API 兼容而构建的,并且已经过测试, 以确保在与 MinIO 和 AWS S3 配合使用时,功能和行为符合预期。
MinIO 不对其他 S3 兼容服务提供任何保证,因为它们的 S3 API 实现是 未知的,因此不受支持。尽管 mc 命令 可能 如文档中所 述工作,但任何此类使用都是您自己的风险。