S3通知 - 可下载链接

时间:2018-04-03 00:30:15

标签: amazon-s3 aws-lambda

我有一个lambda函数,需要与S3对象关联的URL。

我按照描述设置了S3通知,并查看了记录https://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html的模板

我的问题是,有没有办法确定对象的URL链接? (假设客户端具有读权限)

使用该模式是否安全:

https://s3.amazonaws.com/ {bucket name} / {key}

和/或是否有更好的获取信息的方式?

1 个答案:

答案 0 :(得分:1)

使用https://s3.amazonaws.com/{bucket}/{key}是不安全的。

这仅适用于us-east-1区域中的对象 - 原始S3区域 - 仅适用于ipv4。除了在一些有限的情况下,对其他地区的水桶请求将会产生错误。

标准化格式:

https://{bucket}.s3.{region}.amazonaws.com/{key} # ipv4
https://{bucket}.s3.dualstack.{region}.amazonaws.com/{key} # ipv4/v6

如果存储桶名称中包含点,请将存储桶名称放在主机名和密钥...amazonaws.com/{bucket}/{key}之间,而不是在主机名的开头。

某些地区的遗留主机名也有效,例如将s3.us-west-2替换为us-west-2中的s3-us-west-2,或将s3.us-east-1替换为s3-external-1。 -east-1但是现在所有地区都支持上面的一致格式。

https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region