AWS S3托管PDF后临时链接过期,如何生成永久可分享公开链接?
解决AWS S3 PDF文件永久可分享链接问题
你当前获取的是S3自动生成的临时预签名链接,默认有效期1小时,所以会过期。以下两种方法可以生成长期/永久可分享的访问链接:
方法一:设置对象为公开可读(永久链接)
适合不需要隐私保护的文件,步骤如下:
- 打开S3控制台,进入目标存储桶,找到你的PDF文件
- 右键点击文件,选择「修改对象权限」
- 在「访问控制列表(ACL)」区域,点击「添加权限」:
- 被授权者选择「所有人」
- 仅勾选「读取」权限,点击保存
- 返回文件的「属性」页面,拉到最底部的「对象URL」,这个就是无过期时间的公开链接,格式类似
https://my-file.s3.us-east-1.amazonaws.com/my%20file.pdf
注意:如果存储桶开启了「阻止公共访问」,需要先在存储桶的「权限」页面,找到「阻止公共访问」选项,取消勾选「阻止所有公共访问」并保存,否则无法设置对象公开。
方法二:生成自定义有效期的预签名链接(可控过期)
如果不想完全公开文件,需要给特定人群临时访问权限,可以自定义预签名链接的有效期:
- AWS CLI方式:执行以下命令(替换存储桶和文件名,
--expires-in后接秒数,示例为1年有效期):aws s3 presign s3://my-file/my%20file.pdf --expires-in 31536000 - 控制台方式:选中PDF文件后点击「分享对象」,切换到「预签名URL」标签,设置过期时间(最长可设1年),点击「生成」即可得到对应链接
内容的提问来源于stack exchange,提问作者Grambam
相关产品推荐
相关产品推荐

