欢迎来到即将发布的 MinIO 文档版本! 此页面上的内容正在积极开发中 可能随时更改。 如果找不到您要找的内容,请查看我们的 历史文档。 感谢您的耐心等待。 我们期待您贡献自己强大的力量,帮助更多的中国技术开发者![翻译]

mc share

描述

mc share 命令生成带有集成访问凭证的临时 URL,用于将对象上传或下载到 S3 兼容主机。 临时 URL 在可配置的时间限制后过期。

有关可共享对象 URL 的更多信息,请参阅 Amazon S3 文档 Pre-Signed URLs.

例子

生成 CURL GET 命令

使用 mc share download 生成一个支持“GET”对象请求的 URL:

mc share download --expire DURATION ALIAS/PATH
  • ALIAS 替换为 S3 兼容主机的 alias

  • PATH 替换为 S3 兼容主机上对象的路径。

  • DURATION 替换为 URL 过期的持续时间。 例如,要设置 30 天到期,请指定 “30d”。

使用 mc share download--recursive 为存储桶中的每个对象生成 URL 的选项。 每个 URL 都支持对其关联对象的 GET 请求:

mc share download --recursive --expire DURATION ALIAS/PATH
  • ALIAS 替换为 S3 兼容主机的 alias

  • PATH 替换为 S3 兼容主机上的存储桶或存储桶前缀的路径。

  • DURATION 替换为 URL 过期的持续时间。 例如,要设置 30 天到期,请指定 30d

生成 CURL POST 命令

使用 mc share upload 生成支持 “POST” 请求的 URL,用于将文件上传到 S3 兼容主机上的特定对象位置:

mc share upload --expire DURATION ALIAS/PATH
  • ALIAS 替换为 S3 兼容主机的 alias

  • PATH 替换为 S3 兼容主机上对象的路径。

  • DURATION 替换为 URL 过期的持续时间。 例如,要设置 30 天到期,请指定 30d

使用 mc share upload--recursive 用于生成支持将文件上传到 S3 兼容主机上的存储桶的 “POST” 请求的 URL 的选项:

mc share upload --recursive --expire DURATION ALIAS/PATH
  • ALIAS 替换为 S3 兼容主机的 alias

  • PATH 替换为 S3 兼容主机上的存储桶或存储桶前缀的路径。

  • DURATION 替换为 URL 过期的持续时间。 例如,要设置 30 天到期,请指定 30d

该命令返回用于将对象上传到指定存储桶前缀的 CURL 命令。

  • 将返回的 CURL 命令中的 <FILE> 字符串替换为要上传的文件的路径。

  • 将返回的 CURL 命令中的 <NAME> 字符串替换为存储桶中文件的名称。

您可以使用 shell 脚本循环将文件系统目录的内容递归上传到 S3 兼容服务:

#!/bin/sh

for file in ~/Documents/photos/
do
   curl https://play.minio.org.cn/mybucket/ \
   -F policy=AAAAA -F x-amz-algorithm=AWS4-HMAC-SHA256 \
   -F x-amz-credential=AAAA/us-east-1/s3/aws4_request \
   -F x-amz-date=20200812T202556Z \
   -F x-amz-signature=AAAA \
   -F bucket=rkbucket -F key=mydata/${file} -F file=@${file}

done

遵循您首选脚本语言的文档化最佳实践,以遍历目录中的文件。

语法

mc share download

生成用于使用 HTTP GET 请求检索对象的 URL。

download 具有以下语法:

mc share download [FLAGS] TARGET [TARGET ...]

download 支持以下论点:

TARGET

mc share download 为其生成 URL 的对象的完整路径。

如果任何 TARGET 指定了一个存储桶的路径, mc share must 包括 mc share download --recursive 参数。

--recursive, --r

为所有对象递归生成 URL mc share download TARGET 桶或桶前缀。

如果任何 TARGET 指定存储桶或存储桶前缀的路径,则为必需。

--version-id, --vid

指导 mc share download 仅对指定的对象版本进行操作。

--version-id 要求指定的 --TARGET 成为 S3 兼容的服务 支持 Bucket Versioning. 对于 MinIO 部署,请使用 mc version 启用或禁用存储版本控制。

--expire, --E

为所有生成的 URL 设置过期时间限制。

指定格式为“##h##m##s”的字符串。 例如: 12h34m56s 在 URL 生成后 12 小时 34 分 56 秒到期。

默认为 168h or 168 hours (7 days).

upload

使用 HTTP POST 生成用于上传对象的 CURL 命令。

upload 具有以下语法:

mc share upload [FLAGS] TARGET [TARGET ...]

upload 支持以下论点:

TARGET

mc share upload 为其生成 URL 的对象的完整路径。

如果 TARGET 指定单个对象, mc share upload 根据指定给 TARGET 的名称命名上传的对象。

如果 TARGET 指定了一个桶或桶前缀的路径, mc share upload * must * 包括 --recursive 参数。

--recursive, --r

修改 CURL URL 以支持将对象上传到存储桶或存储桶前缀。 如果任何 TARGET 指定存储桶或存储桶前缀的路径,则为必需。 修改后的 CURL 输出类似于以下内容:

curl ... -F key=TARGET/<NAME> -F file=@<FILE>

<FILE> 替换为要上传的文件的路径。

上传后将 <NAME> 替换为文件。

--expire, --E

为所有生成的 URL 设置过期时间限制。

指定格式为“##h##m##s”的字符串。 例如: 12h34m56s 在 URL 生成后 12 小时 34 分 56 秒到期。

默认为 168h or 168 hours (7 days).

list

列出所有未过期的上传或下载 URL mc share download and mc share upload.

list 具有以下语法:

mc share list SUBCOMMAND

download 支持以下子命令:

upload

列出所有生成的未过期 URL mc share upload.

download

列出所有生成的未过期 URL mc share download.