我正在尝试通过 Go 中的 Lambda 将文件上传到 S3 存储桶。我可以毫无问题地从存储桶中读取对象,但Access Denied每当我尝试将对象上传到存储桶时,都会出现错误。
为了进行调试,我创建了以下简单的 Lambda 函数:
package main
import (
"bytes"
"context"
"log"
"github.com/aws/aws-lambda-go/lambda"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/service/s3"
)
func LambdaMainWrapper() {
data := []byte("this is some data stored as a byte slice in Go Lang!")
// convert byte slice to io.Reader
reader := bytes.NewReader(data)
// upload to s3
client := s3.New(s3.Options{Region: "us-east-2"})
putObjectInput := &s3.PutObjectInput{
Bucket: aws.String(<MY_BUCKET_NAME>),
Key: aws.String("test-file"),
Body: reader,
}
res, err := client.PutObject(context.Background(), putObjectInput)
if err != nil {
log.Fatal("Error uploading …Run Code Online (Sandbox Code Playgroud)