我刚开始使用aws-sdk-go并注意到s3请求使用的是http / https而不是s3协议。如何使用aws-sdk-go从vpc中的lambda读取s3中的对象?
我不想使用NAT网关。我可以在NodeJS中做到这一点,但是aws-go-sdk有没有办法做同样的事情?
谢谢!
答案 0 :(得分:2)
此代码段显示如何使用aws-go-sdk列出Lambda函数中区域us-east-1的S3存储桶:
func listBuckets() {
svc := s3.New(session.New(&aws.Config{Region: aws.String("us-east-1")}))
buckets, err := svc.ListBuckets(nil)
log.Printf("listBuckets: %q error=%v", buckets, err)
}
在此处查找完整源代码:https://github.com/udhos/hellolambda/blob/master/main.go
答案 1 :(得分:2)
要在没有互联网网关的情况下访问VPC内的S3,您需要使用S3 Endpoint