Advertisement
Guest User

Untitled

a guest
Feb 20th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. 'use strict';
  2. var AWS = require('aws-sdk');
  3. var region = 'eu-west-1'
  4. var sqs = new AWS.SQS({region : region});
  5. var s3 = new AWS.S3({region : region});
  6. var util = require('util');
  7. let awsAccountId = 'xx';
  8. let queueName = 'xx';
  9.  
  10. // this function saves public user data to a bucket where clients can access it.
  11.  
  12. let putObjectToS3 = (bucket, key, data, contentType, callback) => {
  13. let params = {
  14. Bucket : bucket,
  15. Key : key,
  16. Body : data,
  17. CacheControl: "max-age=864000",
  18. ContentType: contentType
  19. }
  20. s3.putObject(params, callback);
  21. }
  22.  
  23. let sendSQSMessage = (dataStr, callback) => {
  24. let queueURL = 'https://sqs.' + region + '.amazonaws.com/' + awsAccountId + '/' + queueName;
  25. let params = {
  26. MessageBody: dataStr,
  27. QueueUrl: queueURL
  28. };
  29. sqs.sendMessage(params, callback);
  30. }
  31.  
  32. exports.handler = (event, context, callback) => {
  33. console.log('event', event)
  34.  
  35. let S3key = 'publicuserdata/' + event.request.userAttributes.sub + '.json';
  36. let publicUserData = {};
  37. publicUserData['IdentityId'] = context.identity.cognitoIdentityId; //doesn't seem to work
  38. publicUserData['region'] = event.region;
  39. publicUserData['userName'] = event.userName;
  40. publicUserData['userPoolId'] = event.userPoolId;
  41.  
  42. let finishLambdaCallback = (err, result) => {
  43. if (err) {
  44. console.log('error', err)
  45. } else {
  46. console.log('success', result)
  47. context.done(null, event)
  48. }
  49. };
  50.  
  51. let funcOne = (callback) => {
  52. let data = util.inspect(context)
  53. //let data = JSON.stringify(context, null, 2)
  54.  
  55. putObjectToS3( 'files.example.org',
  56. S3key,
  57. data,
  58. 'application/json',
  59. callback);
  60. }
  61.  
  62. let funcTwo = (callback) => {
  63. let data = util.inspect(context)
  64. //let data = JSON.stringify(context, null, 2)
  65. sendSQSMessage(data, callback);
  66. }
  67.  
  68. funcOne(() => {funcTwo(finishLambdaCallback)})
  69.  
  70. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement