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

Amazon web services AWS Lambda函数将X-Amz-Signature附加到S3 URL,amazon-web-services,go,amazon-s3,aws-lambda,Amazon Web Services,Go,Amazon S3,Aws Lambda,我试图让一个Go Lambda函数将一个映像写入一个S3存储桶,该存储桶将由客户端通过公共URL访问。当我在本地执行该函数时,在我的环境中使用我的AWS凭据,我可以访问以/image.jpg结尾的S3URL处的图像。当lambda函数运行时,它会向URL添加一个Amz签名 该函数具有IAM角色AmazonS3FullAccess 我的问题是,我如何: 没有添加此签名的功能,因此客户端可以直接访问普通URL 在客户端获取此签名,以便将其附加到URL 在我的Go函数中,我使用s3 upload.up

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

该函数具有IAM角色AmazonS3FullAccess

我的问题是,我如何:

  • 没有添加此签名的功能,因此客户端可以直接访问普通URL
  • 在客户端获取此签名,以便将其附加到URL

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

    获取文件的方法很少

  • 您可以构建url并指向s3中的文件,但这是必需的 公共访问并允许COR访问特定存储桶

    例如:

  • 如果您需要拥有自己的域,可以使用AWS Cloudfront重定向到s3 bucket URL

  • 使用getObject()获取文件并响应客户端