import {LambdaClient, GetAccountSettingsCommand} from '@aws-sdk/client-lambda'; // Create client outside of handler to reuse const lambda = new LambdaClient() // Handler export const handler = async (event, context) => { console.log('## ENVIRONMENT VARIABLES: ' + serialize(process.env)) console.log('## CONTEXT: ' + serialize(context)) console.log('## EVENT: ' + serialize(event)) try { let accountSettings = await lambda.send(new GetAccountSettingsCommand()) return formatResponse(serialize(accountSettings.AccountUsage)) } catch(error) { return formatError(error) } } var formatResponse = function(body){ var response = { "statusCode": 200, "headers": { "Content-Type": "application/json" }, "isBase64Encoded": false, "multiValueHeaders": { "X-Custom-Header": ["My value", "My other value"], }, "body": body } return response } var formatError = function(error){ var response = { "statusCode": error.statusCode, "headers": { "Content-Type": "text/plain", "x-amzn-ErrorType": error.code }, "isBase64Encoded": false, "body": error.code + ": " + error.message } return response } // Use SDK client var getAccountSettings = function(){ return lambda.getAccountSettings().promise() } var serialize = function(object) { return JSON.stringify(object, null, 2) }