0

Lambda Function:

const client = new Client({
    user: 'postgres',
    host: 'rds_host',
    database: 'dbname',
    password: 'db_password',
    port: 5432
});

exports.handler = async (event, context, callback) => {
    try {
        await client.connect();
        callback(null, "Connected Successfully");
    } catch (e) {
        callback(null, "Error");
    }
};

With this code my lambda always get a timeout error, if I get rid of the cliente.connect() line, it works fine.

The interesting part is that if I add a client.query with INSERT the command does work and the row is created at the DB, so why I get a timeout when the client.connect() is added and the connection works?

1 Answer 1

1

I'm pretty sure that when your handler function is async, it's expecting a promise to be resolved, so, instead of using the callback, I would just return "Connected Successfully";

Link to relevant docs

There's an example at this link where there's an async handler without the callback.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.