我正在尝试在另一个 lambda 函数中调用一个 lambda 函数。我有 lambda 函数的调用动作,但是,我似乎无法让使用的 lambda 函数从发送 lambda 函数接收有效负载/正文。
这是我发送/调用 lambda 函数
type Response events.APIGatewayProxyResponse
func Handler(ctx context.Context) (Response, error) {
region := os.Getenv("AWS_REGION")
session, err := session.NewSession(&aws.Config{ // Use aws sdk to connect to dynamoDB
Region: ®ion,
})
svc := invoke.New(session)
payload, err := json.Marshal(map[string]interface{}{
"message": "message to other lambda func",
})
if err != nil {
fmt.Println("Json Marshalling error")
}
input := &invoke.InvokeInput{
FunctionName: aws.String("invokeConsume"),
InvocationType: aws.String("RequestResponse"),
LogType: aws.String("Tail"),
Payload: payload,
}
result, err := svc.Invoke(input)
if err != nil {
fmt.Println("error")
fmt.Println(err.Error())
}
var m map[string]interface{}
json.Unmarshal(result.Payload, &m)
fmt.Println(m["body"])
body, err := json.Marshal(m["body"])
resp := Response{
StatusCode: 200,
IsBase64Encoded: false,
Headers: map[string]string{
"Content-Type": "application/json",
},
Body: string(body),
}
fmt.Println(resp)
return resp, nil
}
func main() {
lambda.Start(Handler)
}
我从调用的 lambda 中得到的响应......
{200 map[Content-Type:application/json] "{\"message\":\"Something\"}" false}
千巷猫影
开满天机
qq_花开花谢_0
繁星淼淼
相关分类