AWS S3通过CLI预签名URL

Sha*_*ata 22 amazon-s3 amazon-web-services aws-cli

有没有办法使用AWS CLI为S3存储桶中的对象创建预签名URL?

我知道可以使用SDK完成,但是可以使用CLI吗?

我在其中一个AWS文档上找到了这个,但无法完成命令:

s3cmd signurl s3://BUCKET/OBJECT <expiry_epoch|+expiry_offset>
Run Code Online (Sandbox Code Playgroud)

有帮助吗?

hel*_*loV 52

你试过aws s3吗?

为Amazon S3对象生成预签名URL.这允许接收预签名URL的任何人使用HTTP GET请求检索S3对象.对于sigv4请求,需要明确配置该区域.

这将生成一个将在3600秒后过期的URL(默认)

aws s3 presign s3://mybucket/myobject
Run Code Online (Sandbox Code Playgroud)

这将生成一个将在300秒后过期的URL

aws s3 presign s3://mybucket/myobject  --expires-in 300
Run Code Online (Sandbox Code Playgroud)

产量

https://mybucket.s3.amazonaws.com/myobject?AWSAccessKeyId=AKIAJXXXXXXXXXXXXXXX&Expires=1503602631&Signature=ibOGfAovnhIF13DALdAgsdtg2s%3D
Run Code Online (Sandbox Code Playgroud)

  • 这似乎不适用于PUT或POST,但也许我做错了.Docs只建议GET,但也许还有另一种方法可以通过CLI实现这一目标. (3认同)

小智 6

现在支持通配符。

例如 aws s3 presign s3://mybucket/*