【问题标题】:AWS Lambda function appends X-Amz-Signature to S3 URLAWS Lambda 函数将 X-Amz-Signature 附加到 S3 URL
【发布时间】:2020-10-21 00:15:53
【问题描述】:

我正在尝试让 Go Lambda 函数将图像写入 S3 存储桶,客户端将通过公共 URL 访问该存储桶。当我在本地执行该函数时,在我的环境中使用我的 AWS 凭证,我可以访问以 /image.jpg 结尾的 s3 url 上的图像。但是,当 lambda 函数运行时,它会在 URL 中添加一个 Amz 签名。

该函数具有 IAM 角色 AmazonS3FullAccess。

我的问题是我该怎么做:

  1. 没有添加这个签名的功能,所以客户端可以直接访问纯URL。
  2. 在客户端获取此签名,以便将其附加到那里的 URL。

在我的 Go 函数中,我使用 s3 upload.upload() 函数上传到 s3,但如果我使用 putObject() 代替会有什么不同吗?

【问题讨论】:

    标签: amazon-web-services go amazon-s3 aws-lambda


    【解决方案1】:

    有几种不同的方式来获取文件

    1. 你可以构建 url 并指向 s3 中的文件,但它需要 公开访问并允许访问特定存储桶。

      示例:https://havecamerawilltravel.com/photographer/how-allow-public-access-amazon-bucket/

    2. 如果您需要拥有自己的域,可以使用 AWS Cloudfront 重定向到 s3 存储桶 URL。

    3. 使用 getObject() 获取文件并响应客户端。

    【讨论】:

      猜你喜欢
      • 2019-07-16
      • 1970-01-01
      • 1970-01-01
      • 2020-04-11
      • 1970-01-01
      • 2017-10-26
      • 2017-11-28
      • 2017-03-04
      • 1970-01-01
      相关资源
      最近更新 更多