繁体   English   中英

继续构建失败,无法使用 SAM CLI 为 lambda function 保存 main.go 文件的导入

[英]Keep getting build fail and unable to save import for main.go file for lambda function using SAM CLI

I'm trying to import "github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue" for my main.go file for my lambda function but every time I save the import disappears.

我有一些简单的 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)
}

当我做 go mod vendor 时,我得到

github.com/aws/aws-sdk-go-v2/featrues/dynamodb: no required module provides package github.com/aws/aws-sdk-go-v2/featrues/dynamodb; to add it:

做 go 得到 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”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM