Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const pg = require('pg');
const pgHost = process.env.RDS_HOSTNAME || 'localhost';
const pgPort = process.env.RDS_PORT || '5432';
const pgDatabase = process.env.RDS_DB_NAME || 'lambdademo';
const pgUser = process.env.RDS_USERNAME || 'postgres';
const pgPassword = process.env.RDS_PASSWORD;
console.log(
`Using PG config: ${pgHost}:${pgPort}/${pgDatabase}, user ${pgUser}, ${
pgPassword ? 'a password has been provided.' : 'no password has been provided!'
}`
);
exports.handler = instana.awsLambda.wrap(async event => {
if (!event.time || typeof event.time !== 'string') {
// malformed event, probably not triggered by a CloudWatch event
console.log('Event has no timestamp or timestamp is not a string. Aborting.');
return;
}
const client = await connect();
try {
// 1. Delete all items older than 24 hours (just so the table does not grow indefinitely).
await client.query("DELETE FROM items WHERE timestamp < now()-'12 hours'::interval");
console.log('Deleted old items.');
// 2. Create a new item
const label = `Created by CloudWatch Event at ${event.time}.`;
await client.query('INSERT INTO items(label) VALUES($1) RETURNING *', [label]);
console.log(`Created: ${label}.`);
const pg = require('pg');
const pgHost = process.env.RDS_HOSTNAME || 'localhost';
const pgPort = process.env.RDS_PORT || '5432';
const pgDatabase = process.env.RDS_DB_NAME || 'lambdademo';
const pgUser = process.env.RDS_USERNAME || 'postgres';
const pgPassword = process.env.RDS_PASSWORD;
console.log(
`Using PG config: ${pgHost}:${pgPort}/${pgDatabase}, user ${pgUser}, ${
pgPassword ? 'a password has been provided.' : 'no password has been provided!'
}`
);
exports.handler = instana.awsLambda.wrap(async event => {
const label = event.Records.slice(0, 20).map(
s3Record =>
`${s3Record.eventName}: ${s3Record.s3 && s3Record.s3.bucket ? s3Record.s3.bucket.name : ''}/${s3RecordToObject(
s3Record
)}`
);
const client = await connect();
try {
await client.query('INSERT INTO items(label) VALUES($1) RETURNING *', [label]);
console.log(`Created: ${label}.`);
} catch (err) {
console.log('Failed to execute insert.', JSON.stringify(err));
} finally {
await client.end();
}