文档

mc get

New in version mc: RELEASE.2024-02-24T01-33-20Z

语法

mc get 命令将对象从目标 S3 部署下载到本地文件系统。

mc cpmc mirror 相比,mc get 为下载文件提供了更简化的接口。 mc get 使用单向下载功能,以牺牲效率为代价,换取相较其他命令更低的功能复杂度。

以下命令将文件 logo.png 从 s3 源下载到本地文件系统路径 ~/images/collateral/

mc get minio/marketing/logo.png ~/images/collateral

命令语法如下:

mc [GLOBALFLAGS] get                      \
                 SOURCE                   \
                 TARGET                   \
                 [--enc-c string]         \
                 [--version-id, --vid value]
  • 方括号 [] 表示可选参数。

  • 同一行中的参数彼此相互依赖。

  • 使用管道符 | 分隔的参数彼此互斥。

请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。

参数

SOURCE
Required

要下载对象的完整路径,包含 alias、存储桶、prefix(如使用)和对象名。

TARGET
Required

本地文件系统上的目标路径,命令会将下载的文件放置到该路径。

--enc-c
Optional

使用客户端管理的密钥,通过服务端 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 - 用于加密对象的 32 字节 RAW Base64 编码数据密钥。

例如:

# RawBase64-Encoded string "mybucket32byteencryptionkeyssec"
--enc-c "myminio/mybucket/prefix/object.obj=bXlidWNrZXQzMmJ5dGVlbmNyeXB0aW9ua2V5c3NlYwo"

你可以通过重复该参数来指定多个加密密钥。

也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:

--enc-c "myminio/mybucket/prefix/=bXlidWNrZXQzMmJ5dGVlbmNyeXB0aW9ua2V5c3NlYwo"

Note

MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。

--version-id, --vid
Optional

检索对象的特定版本。 传入要检索对象的版本 ID。

全局标志

此命令支持 全局标志 中的任意选项。

示例

从 MinIO 检索对象到本地文件系统

以下命令从别名 myminio 下的存储桶 mybucket 检索文件 myobject.csv,并将其放置到本地文件系统路径 /my/local/folder

mc get myminio/mybucket/myobject.csv /my/local/folder

从 MinIO 检索加密对象

以下命令检索一个加密文件,并将其放置到本地文件夹路径。

mc get --enc-c "play/mybucket/object=MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDA" play/mybucket/object path-to/object