mc share upload
语法
mc share upload 命令生成一个带有集成访问凭证的临时预
签名的 URL,用于将对象上传到 MinIO 存储桶。这个临时 URL
在一个可配置的时间限制后失效。
应用程序可以通过对 URL 执行 PUT 请求来获取该对象。
有关可共享对象 URL 的更多信息, 请参阅 Amazon S3 文档中关于 Pre-Signed URLs 的部分。
以下命令为 mydata 桶在 myminio MinIO部署中
生成一个新的预签名上传URL:
mc share upload --recursive myminio/mydata
该命令具有以下语法:
mc [GLOBALFLAGS] share upload         \
                 [--expire "string"]  \
                 [--recursive]        \
                 ALIAS
- 方括号 - []表示可选参数。
- 参数在同一行表示它们是相互依赖的。 
- 使用管道 - |运算符分隔的参数是相互排斥的。
在终端/壳中运行命令之前,将示例复制到文本编辑器中并按需进行修改。
参数
- ALIAS
- 必需 MinIO部署的 alias 和要生成上传URL 的对象的完整路径。 例如: - mc share upload play/mybucket/object.txt - 您可以指定同一MinIO部署或不同MinIO部署中的多个对象。 例如: - mc share upload play/mybucket/object.txt play/mybucket/otherobject.txt - 如果您指定了一个桶或桶前缀的路径,您 必须 也指定 - --recursive参数。 例如:- mc share upload --recursive play/mybucket/ mc share upload --recursive play/mybucket/myprefix/ 
全局标记
此命令支持任何 全局标志。
示例
生成一个上传对象(文件)的URL
使用 mc share upload 命令生成一个支持 POST 请求的URL,
用于将文件上传到MinIO部署上的特定
对象位置:
mc share upload --expire DURATION ALIAS/PATH
使用 mc share upload 命令,附加上
--recursive 和
--expire 选项,
以生成一个支持 POST 请求的临时URL,
用于将文件上传到MinIO部署上的存储桶。
mc share upload --recursive --expire DURATION ALIAS/PATH
该命令返回一个 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=mydata -F key=mydata/${file} -F file=@${file}
done
请按照您选择的脚本语言的官方文档中推荐的最佳实践 来遍历目录中的文件。
行为
S3兼容性
mc 命令行工具是为了与 AWS S3 API 兼容而构建的,并且已经过测试, 以确保在与 MinIO 和 AWS S3 配合使用时,功能和行为符合预期。
MinIO 不对其他 S3 兼容服务提供任何保证,因为它们的 S3 API 实现是 未知的,因此不受支持。尽管 mc 命令 可能 如文档中所 述工作,但任何此类使用都是您自己的风险。
