登录
首页 >  Golang >  Go问答

AWS Lambda 函数将 X-Amz-Signature 附加到 S3 URL

来源:stackoverflow

时间:2024-04-05 22:54:33 409浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《AWS Lambda 函数将 X-Amz-Signature 附加到 S3 URL》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

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

该函数具有 IAM 角色 AmazonS3FullAccess。

我的问题是我该如何:

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

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


解决方案


获取文件有几种不同的方法

  1. 您可以构建 url 并指向 s3 中的文件,但这需要 公共访问并允许对特定存储桶进行cors。

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

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

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

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>