Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict';
- var AWS = require('aws-sdk');
- var region = 'eu-west-1'
- var sqs = new AWS.SQS({region : region});
- var s3 = new AWS.S3({region : region});
- var util = require('util');
- let awsAccountId = 'xx';
- let queueName = 'xx';
- // this function saves public user data to a bucket where clients can access it.
- let putObjectToS3 = (bucket, key, data, contentType, callback) => {
- let params = {
- Bucket : bucket,
- Key : key,
- Body : data,
- CacheControl: "max-age=864000",
- ContentType: contentType
- }
- s3.putObject(params, callback);
- }
- let sendSQSMessage = (dataStr, callback) => {
- let queueURL = 'https://sqs.' + region + '.amazonaws.com/' + awsAccountId + '/' + queueName;
- let params = {
- MessageBody: dataStr,
- QueueUrl: queueURL
- };
- sqs.sendMessage(params, callback);
- }
- exports.handler = (event, context, callback) => {
- console.log('event', event)
- let S3key = 'publicuserdata/' + event.request.userAttributes.sub + '.json';
- let publicUserData = {};
- publicUserData['IdentityId'] = context.identity.cognitoIdentityId; //doesn't seem to work
- publicUserData['region'] = event.region;
- publicUserData['userName'] = event.userName;
- publicUserData['userPoolId'] = event.userPoolId;
- let finishLambdaCallback = (err, result) => {
- if (err) {
- console.log('error', err)
- } else {
- console.log('success', result)
- context.done(null, event)
- }
- };
- let funcOne = (callback) => {
- let data = util.inspect(context)
- //let data = JSON.stringify(context, null, 2)
- putObjectToS3( 'files.example.org',
- S3key,
- data,
- 'application/json',
- callback);
- }
- let funcTwo = (callback) => {
- let data = util.inspect(context)
- //let data = JSON.stringify(context, null, 2)
- sendSQSMessage(data, callback);
- }
- funcOne(() => {funcTwo(finishLambdaCallback)})
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement