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 命令 可能 如文档中所 述工作,但任何此类使用都是您自己的风险。