当前位置: > > > > 不断出现构建失败,并且无法使用 SAM CLI 保存 lambda 函数的 main.go 文件的导入
来源:stackoverflow
2024-04-21 20:45:34
0浏览
收藏
今天将给大家带来《不断出现构建失败,并且无法使用 SAM CLI 保存 lambda 函数的 main.go 文件的导入》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!
问题内容
我正在尝试为 lambda 函数的 main.go 文件导入“github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue”,但每次保存导入都会消失。
我有一些简单的 golang 代码尝试通过更新 dynamodb 表来更新访问者计数。
构建一直失败,提示属性值未定义,但我无法保存属性值的导入。
package main import ( "context" "log" "github.com/aws/aws-lambda-go/events" "github.com/aws/aws-lambda-go/lambda" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/feature/dynamodb" "github.com/aws/aws-sdk-go-v2/service/dynamodb" ) func handler(request events.apigatewayproxyrequest) (events.apigatewayproxyresponse, error) { cfg, err := config.loaddefaultconfig(context.todo(), config.withregion("us-east-1")) if err != nil { log.fatalf("unable to load sdk config, %v", err) } svc := dynamodb.newfromconfig(cfg) // build the request with its input parameters resp, err := svc.updateitem(context.todo(), &dynamodb.updateiteminput{ tablename: aws.string("table-name"), key: map[string]*dynamodb.attributevalue{ "id": { s: aws.string("visitors"), }, }, updateexpression: aws.string("add visitors :inc"), expressionattributevalues: map[string]*dynamodb.attributevalue{ ":inc": { n: aws.string("1"), }, }, }) if err != nil { log.fatalf("got error callingupdateitem: %s", err) } return events.apigatewayproxyresponse{ headers: map[string]string{ "access-control-allow-origin": "*", "access-control-allow-methods": "*", "access-control-allow-headers": "*", }, statuscode: 200, }, nil } func main() { lambda.start(handler) }
当我去 mod 供应商时,我得到
288296736911
执行 go get github.com/aws/aws-sdk-go-v2/featrues/dynamodb 我明白
go: module github.com/aws/aws-sdk-go-v2@upgrade found (v1.16.11), but does not contain package github.com/aws/aws-sdk-go-v2/featrues/dynamodb
我对 go 很陌生,不知道如何解决这个问题。任何帮助将不胜感激。
正确答案
如果您检查 github.com/aws/aws-sdk-go-v2/feature。可用的软件包是 dynamodb/attributevalue 或 dynamodb/expression。看起来您正在使用属性值,因此导入应具有“github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue”
理论要掌握,实操不能落!以上关于《不断出现构建失败,并且无法使用 SAM CLI 保存 lambda 函数的 main.go 文件的导入》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注公众号吧!