代码之家  ›  专栏  ›  技术社区  ›  kkesley

从aws go sdk中VPC内的lambda访问s3

  •  1
  • kkesley  · 技术社区  · 6 年前

    我刚刚开始使用aws sdk go,注意到s3请求使用的是http/https,而不是s3协议。如何使用aws sdk go从vpc内的lambda读取s3中的对象?

    我不想使用NAT网关。我可以在NodeJS中这样做,但aws go sdk是否也可以这样做?

    谢谢

    2 回复  |  直到 6 年前
        1
  •  3
  •   Everton    6 年前

    此代码段显示了如何使用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

        2
  •  2
  •   Robo    6 年前

    要在没有internet网关的情况下访问VPC中的S3,您需要使用 S3 Endpoint