aws-lambda-cpp: LAMBDA_RUNTIME Failed to get next invocation. No Response from endpoint

Hi guys!

I just writing some lambdas in c++ using the aws-lambda-cpp

i checking my log and i have this Error in my log:

[ERROR] [1553201323958] LAMBDA_RUNTIME Failed to get next invocation. No Response from endpoint

do you know if this is normal? because i check and debug my code but i don’t found nothing.

what my lambda do is extract the body from SQS request, and make a slack post with the message.

for that i use curl and have the ssl disable

other thing is i dont see a print message that i have in the main after the

invocation_response handler(invocation_request const &req) {
return invocation_response::success();
}

this is my main:

int main() {
    //use AWS namespace and libs
    using namespace Aws;
    //set the log for the sdk
    SDKOptions options;
    //init AWS API
    InitAPI(options);
    {
        auto handler_function = [](aws::lambda_runtime::invocation_request const &req) {
            return handler(req);
        };
        run_handler(handler_function);
    }
    // shutdown the aws api
    std::cout << "ShutdownAPI api" << "\n";
    ShutdownAPI(options);

    std::cout << "exit" << "\n";

    //exit
    return 0;
}

i dont see the Shutdown and exit print in the cloud-watch log

so the question the ShutdownAPI(options); and the return 0 is never called?

thank you!!!

About this issue

  • Original URL
  • State: open
  • Created 5 years ago
  • Comments: 16 (8 by maintainers)

Most upvoted comments

That environment variable is set by AWS. See https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-runtime

I am not 100% sure how that environment variable is empty for you.

The I/O is buffered. You should see the messages if you add std::cout.flush() at the end, or append << std::endl which has the side-effect of flushing.