У меня есть две AWS лямбды, написанные на go. Одна лямбда вызывает другую следующим образом:
payload, err := json.Marshal(request)
if err != nil {
log.Printf("ERROR: could not marshal request [%v] into model.ChildLambdaRequest - %v\n", request, err)
return false
}
log.Printf("--- debug sending payload: %s", payload)
// Invoke Child
result, err := client.Invoke(&lambda.InvokeInput{
FunctionName: aws.String(lambdaName),
Payload: payload,
})
if err != nil {
log.Printf("ERROR: could not invoke Lambda function client [%v] - %v\n", lambdaName, err)
return false
}
Дочерняя лямбда завершается следующим образом:
return model.EventResponse{Success: true}, nil
Я знаю, что это делает две вещи: 1.) она заканчивает выполнение и 2 .) это возвращает значение. Есть ли способ разделить эти два действия, чтобы я мог вернуть значение сверху, но завершить выполнение позже?