首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Golang使用aws错误: InvokeInput未由包lambda声明

Golang使用aws错误: InvokeInput未由包lambda声明
EN

Stack Overflow用户
提问于 2021-10-11 08:21:18
回答 1查看 510关注 0票数 1

我试图使用以下代码调用另一个lambda函数:

代码语言:javascript
复制
sess := session.Must(
  session.NewSessionWithOptions(
    session.Options{
      SharedConfigState: session.SharedConfigEnable,
    },
  ),
)

svc := lambda.New(sess, &aws.Config{Region: aws.String("ap-east-1")})

result, err := svc.Invoke(&lambda.InvokeInput{
  FunctionName: aws.String(os.Getenv("testLambdaFunc")),
  Payload:      []byte(req.Body),
})

但是有两个错误

代码语言:javascript
复制
New not declared by package lambda

代码语言:javascript
复制
InvokeInput not declared by package lambda

我尝试初始化go.mod文件,但它没有修复这两个错误。

有什么想法吗?

导入我的main.go文件:

代码语言:javascript
复制
    "fmt"
    "os"
    "pkg/log"

    "github.com/aws/aws-lambda-go/events"
    "github.com/aws/aws-lambda-go/lambda"
    "github.com/aws/aws-sdk-go/aws"
    "github.com/aws/aws-sdk-go/aws/session"

go.mod文件

代码语言:javascript
复制
module somefunc

go 1.16

require (
    github.com/aws/aws-lambda-go v1.27.0
    github.com/aws/aws-sdk-go v1.40.59
    pkg/log v0.0.0-00010101000000-000000000000
)

replace pkg/log => ./../../go/common/pkg/log
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-11 08:46:46

根据您的代码片段,看起来您正在使用AWS作为Go V2。建议对Go V2使用AWS (请查看迁移到AWS以获取Go V2文档)。

请初始化一个Go模块项目(如SDK的Github页面所述):

代码语言:javascript
复制
mkdir YOUR-PROJECT
cd YOUR-PROJECT
go mod init YOUR-PROJECT

按以下方式添加依赖项:

代码语言:javascript
复制
go get github.com/aws/aws-sdk-go-v2/aws
go get github.com/aws/aws-sdk-go-v2/config
go get github.com/aws/aws-sdk-go-v2/service/lambda

以上将为您提供一个可以解决SDK包依赖关系的工作项目。

相应的V2代码如下所示:

代码语言:javascript
复制
cfg, err := config.LoadDefaultConfig(context.TODO(),
    config.WithRegion("us-east-1"),
)
if err != nil {
    [...]
}

svc := lambda.NewFromConfig(cfg)

result, err := svc.Invoke(context.TODO(),
    &lambda.InvokeInput{
        FunctionName: aws.String(os.Getenv("testLambdaFunc")),
        Payload: []byte(req.Body),
    },
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69523051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档