首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过AWS生成预先签名的S3 URL

如何通过AWS生成预先签名的S3 URL
EN

Stack Overflow用户
提问于 2017-08-24 19:08:11
回答 4查看 38.9K关注 0票数 33

有没有一种方法可以使用AWS为S3桶中的对象创建预先签名的URL?

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

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

代码语言:javascript
运行
复制
s3cmd signurl s3://BUCKET/OBJECT <expiry_epoch|+expiry_offset>

有什么帮助吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-08-24 19:16:45

你试过aws s3前标吗?

为亚马逊S3对象生成一个预签名的URL。这允许任何接收预签名URL的人使用HTTP请求检索S3对象。对于sigv4请求,需要显式地配置该区域。

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

代码语言:javascript
运行
复制
aws s3 presign s3://mybucket/myobject

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

代码语言:javascript
运行
复制
aws s3 presign s3://mybucket/myobject  --expires-in 300

输出

代码语言:javascript
运行
复制
https://mybucket.s3.amazonaws.com/myobject?AWSAccessKeyId=AKIAJXXXXXXXXXXXXXXX&Expires=1503602631&Signature=ibOGfAovnhIF13DALdAgsdtg2s%3D
票数 78
EN

Stack Overflow用户

发布于 2018-10-11 02:34:42

现在支持通配符。

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

票数 6
EN

Stack Overflow用户

发布于 2018-07-19 20:56:46

@Michael和Shabbir

是的,aws s3 presign不接受全局/通配符/、--include--exclude--recursive。aws ls不接受-1;它的行为是ls -lpls -lph

循环工作:

代码语言:javascript
运行
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45869240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档