小编Gin*_*lis的帖子

具有完全访问策略的 Go Lambda S3 PutObject 上的 403 访问被拒绝

我正在尝试通过 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)

amazon-s3 go amazon-web-services aws-lambda

5
推荐指数
1
解决办法
897
查看次数

标签 统计

amazon-s3 ×1

amazon-web-services ×1

aws-lambda ×1

go ×1