文档

mc get

新增于 mc 版本: RELEASE.2024-02-24T01-33-20Z

语法

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

mc get 提供了一个比 mc cpmc mirror 更简化的文件下载接口。 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
必需

要下载的 别名、存储桶、前缀(如果使用)和对象的完整路径。

TARGET
必需

命令应放置下载文件的本地文件系统目标路径。

--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。

--version-id, --vid
可选

检索对象的特定版本。传递要检索的对象的版本 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