文档

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
  • 方括号 [] 表示可选参数。

  • 共享一行参数相互依赖。

  • 使用管道 | 运算符分隔的参数是互斥的。

将示例复制到文本编辑器中,并在终端/shell 中运行命令之前根据需要进行修改。

参数

ALIAS
必需

MinIO 别名、存储桶和要还原的存档对象的路径。

mc ilm restore myminio/mybucket/object.txt
--days
可选

存档对象还原副本在 MinIO 中过期的时间(以天为单位)。

--enc-c
可选

使用服务器端 SSE-C 加密(使用客户端管理的密钥)对对象进行加密或解密。

此参数接受格式为 KEY=VALUE 的键值对。

KEY

对象的完整路径,例如 alias/bucket/path/object.ext

您可以仅指定顶层路径,以便对该路径中的所有操作使用单个加密密钥。

VALUE

指定用于 SSE-C 加密的 32 字节 RawBase64 编码密钥或 64 字节十六进制编码密钥。

Raw Base64 编码拒绝 = 填充密钥。省略填充或使用支持 RAW 格式的 Base64 编码器。

  • KEY - 对象的完整路径,例如 alias/bucket/path/object

  • VALUE - 用于加密对象(s)的 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。

--recursive, r
可选

还原指定前缀下的所有对象。

--versions
可选

还原远程层上的对象的所有版本。

--version-id, vid
可选

还原远程层上的指定对象版本。

全局标志

此命令支持任何 全局标志

示例

还原存档对象

以下命令还原已存档到远程层的对象

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 命令可能按文档记录的方式工作,但任何此类使用都是您自己的风险。