当前位置: > > > > 不断出现构建失败,并且无法使用 SAM CLI 保存 lambda 函数的 main.go 文件的导入
不断出现构建失败,并且无法使用 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 文件的导入》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注米云公众号吧!
