首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用AWS Go SDK v2创建Lambda事件处理程序

使用AWS Go SDK v2创建Lambda事件处理程序
EN

Stack Overflow用户
提问于 2021-02-10 23:06:23
回答 1查看 323关注 0票数 0

我正在尝试使用AWS SDK v2在Go中编写一个事件处理程序,但我得到了零指针引用错误,如您在以下代码块中所看到的:

代码语言:javascript
复制
{
  "errorMessage": "runtime error: invalid memory address or nil pointer dereference",
  "errorType": "errorString",
  "stackTrace": [
    {
      "path": "github.com/aws/aws-lambda-go@v1.22.0/lambda/errors.go",
      "line": 39,
      "label": "lambdaPanicResponse"
    },
    {
      "path": "github.com/aws/aws-lambda-go@v1.22.0/lambda/function.go",
      "line": 36,
      "label": "(*Function).Invoke.func1"
    },
    {
      "path": "runtime/panic.go",
      "line": 969,
      "label": "gopanic"
    },
    {
      "path": "runtime/panic.go",
      "line": 212,
      "label": "panicmem"
    },
    {
      "path": "runtime/signal_unix.go",
      "line": 742,
      "label": "sigpanic"
    },
    {
      "path": "eventHandler/main.go",
      "line": 252,
      "label": "getTargetGroup"
    },
    {
      "path": "eventHandler/main.go",
      "line": 187,
      "label": "HandleRequest"
    },
    {
      "path": "reflect/value.go",
      "line": 476,
      "label": "Value.call"
    },
    {
      "path": "reflect/value.go",
      "line": 337,
      "label": "Value.Call"
    },
    {
      "path": "github.com/aws/aws-lambda-go@v1.22.0/lambda/handler.go",
      "line": 124,
      "label": "NewHandler.func1"
    },
    {
      "path": "github.com/aws/aws-lambda-go@v1.22.0/lambda/handler.go",
      "line": 24,
      "label": "lambdaHandler.Invoke"
    },
    {
      "path": "github.com/aws/aws-lambda-go@v1.22.0/lambda/function.go",
      "line": 64,
      "label": "(*Function).Invoke"
    },
    {
      "path": "reflect/value.go",
      "line": 476,
      "label": "Value.call"
    },
    {
      "path": "reflect/value.go",
      "line": 337,
      "label": "Value.Call"
    },
    {
      "path": "net/rpc/server.go",
      "line": 377,
      "label": "(*service).call"
    },
    {
      "path": "runtime/asm_amd64.s",
      "line": 1374,
      "label": "goexit"
    }
  ]
}

我的import语句如下。如您所见,我正在导入lambda-go运行时:

代码语言:javascript
复制
import (
    "context"
    "fmt"
    "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/service/ec2"
    "github.com/aws/aws-sdk-go-v2/service/ecs"
    "github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2"
    "github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2/types"
    "log"
    "strings"
    "time"
)

我的代码如下所示:

代码语言:javascript
复制
func main() {
    lambda.Start(HandleRequest)
}
func HandleRequest(e ECSEvent) error {...}

处理程序签名中的ECSEvent是一个与传入的EventBridge事件匹配的结构。让Go SDK v2与Lambda一起工作有什么窍门吗?

EN

回答 1

Stack Overflow用户

发布于 2021-02-11 01:06:26

lambda函数没有执行AWS API调用的权限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66139494

复制
相关文章

相似问题

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