如何在AWS S3上获取文件的URL,返回路径不含AWS Key。

问题描述 投票:0回答:1

我需要使用Lambda函数(Python),我需要得到S3的路径。它应该是这样的。

s3:/some-path-to-the-location-generated-textgenerated-text.txt。

该URL客户端需要在浏览器中看到,没有AWS密钥,因为预签名的URL我不需要。

非常感谢你!我需要使用Lambda函数(Python),我需要得到S3路径。

amazon-web-services amazon-s3 aws-lambda returnurl
1个回答
0
投票

S3服务和网站的urlpaths有很好的说明 固定格式:

使用Amazon S3 Buckets

它们取决于你是否要使用虚拟样式、路径样式、网站端点。它们还取决于区域。这些都是在设计你的lambda函数时需要考虑的事情。

因此,如果你知道bucket和对象名称,你可以在你的函数中以编程方式构造它们。但是,除非对象是公开的,否则没有AWS凭证的人将无法下载它们。


0
投票

你需要使用AWS S3 bucket策略,它应该允许读取所有给定文件。

你的bucket策略应该如下所示。

 {

  "Statement":[
    {
      "Sid":"PublicRead",
      "Effect":"Allow",
      "Principal": "*",
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::<name of bucket>/<file that you want everyone can read>"]
    }
}

例子 - https:/docs.aws.amazon.comAmazonS3latestdevexample-bucket-policies.html#example-bucket-policies-use-case-2。

© www.soinside.com 2019 - 2024. All rights reserved.