有没有一种方法可以使用AWS为S3桶中的对象创建预先签名的URL?
我知道可以使用SDK完成这一任务,但是使用CLI可以吗?
我在其中一个AWS文档中找到了这个,但是无法完成命令:
s3cmd signurl s3://BUCKET/OBJECT <expiry_epoch|+expiry_offset>
有什么帮助吗?
发布于 2017-08-24 19:16:45
你试过aws s3前标吗?
为亚马逊S3对象生成一个预签名的URL。这允许任何接收预签名URL的人使用HTTP请求检索S3对象。对于sigv4请求,需要显式地配置该区域。
这将生成一个在3600秒内过期的URL (默认)
aws s3 presign s3://mybucket/myobject
这将生成一个在300秒内过期的URL
aws s3 presign s3://mybucket/myobject --expires-in 300
输出
https://mybucket.s3.amazonaws.com/myobject?AWSAccessKeyId=AKIAJXXXXXXXXXXXXXXX&Expires=1503602631&Signature=ibOGfAovnhIF13DALdAgsdtg2s%3D
发布于 2018-10-11 02:34:42
现在支持通配符。
例如aws s3 presign s3://mybucket/*
发布于 2018-07-19 20:56:46
@Michael和Shabbir
是的,aws s3 presign
不接受全局/通配符/、--include
、--exclude
或--recursive
。aws ls
不接受-1
;它的行为是ls -lp
或ls -lph
。
循环工作:
for file in $(aws s3 ls s3://mybucket --profile myprofile \
--endpoint-url <my-endpoint> | awk '{print $NF}'); do
aws s3 presign --expires-in 300 "s3://mybucket/$file" |
--profile my-profile --endpoint-url <my-endpoint>
done
https://stackoverflow.com/questions/45869240
复制相似问题