gpt4 book ai didi

go - 如何使用无服务器框架处理手动调用的 AWS lambda

转载 作者:IT王子 更新时间:2023-10-29 02:20:27 25 4
gpt4 key购买 nike

我正在手动调用我的 lambda 函数,因为 30 秒的 HTTP 网关超时对于我的目的来说太短了。该函数在使用 HTTP 时有效,但当我手动调用该函数时,request.Body 为空。

这是我的 lambda 代码的处理程序:

func handler(request events.APIGatewayProxyRequest) 
(events.APIGatewayProxyResponse, error) {
// Left out implementation details.
// request.Body == "" here
}

下面是我调用它的方式:

func InvokeHooknode(req *HooknodeReq) error {
// Serialize params
payload, err := json.Marshal(*req)
if err != nil {
return err
}

// Invoke lambda.
client := lambda.New(sess)
res, err := client.Invoke(&lambda.InvokeInput{
FunctionName: aws.String(hooknodeFnName),
Payload: payload,
})
if err != nil {
return err
}

return nil
}

我已经打印出payload,看起来是正确的。我只是不确定如何在我的 lambda 处理程序中访问有效负载。

最佳答案

检查此函数所在的区域,然后检查您调用该函数的区域。

不提供函数名称,而是插入函数 ARN 作为函数名称。

Payload: JSON.stringify(payload) 

不仅仅是

Payload: payload

关于go - 如何使用无服务器框架处理手动调用的 AWS lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51939336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com