6.4.0 • Published 2 years ago

@goldwasserexchange/aws-lenses v6.4.0

Weekly downloads
127
License
MIT
Repository
github
Last release
2 years ago

aws-lenses

Ramda lenses for AWS Lambda events

Usage

Example with SNS

import { view } from 'ramda';
import { messageJson } from '@goldwasserexchange/aws-lenses/services/sns'

// Lambda function triggered by SNS
export default async (event) => {
  const message = view(messageJson, event);
  // ...
}

Example with SQS

import { map, view } from 'ramda';
import { records } from '@goldwasserexchange/aws-lenses/services/common';
import { bodyJson } from '@goldwasserexchange/aws-lenses/services/sqs';

// Lambda function triggered by SQS
export default async (event) => {
  const bodies = compose(map(view(bodyJson)), view(records))(event)
  // ...
}

Example with S3

import { S3 } from 'aws-sdk';
import { view } from 'ramda';
import { bucketName, objectKey } from '@goldwasserexchange/aws-lenses/services/s3';

const s3 = new S3();

// Lambda function triggered by S3
export default async (event) => {
  const data = await s3.getObject({
    Bucket: view(bucketName, event),
    Key: view(objectKey, event)
  }).promise();
  // ...
}

Example with SES with S3 action and SNS notification

import { S3 } from 'aws-sdk';
import { view } from 'ramda';
import { messageJson } from '@goldwasserexchange/aws-lenses/services/sns';
import { actionBucketName, actionObjectKey } from '@goldwasserexchange/aws-lenses/services/ses';

const s3 = new S3();

// Lambda function triggered by SNS
export default async (event) => {
  const message = view(messageJson, event);

  const emailData = await s3.getObject({
    Bucket: view(actionBucketName, message),
    Key: view(actionObjectKey, message)
  }).promise();
  // ...
}
6.4.0

2 years ago

6.3.0

3 years ago

6.3.2

3 years ago

6.3.1

3 years ago

6.2.7

3 years ago

6.2.6

3 years ago

6.2.3

4 years ago

6.2.2

4 years ago

6.2.1

4 years ago

6.2.0

4 years ago

6.1.3

4 years ago

6.1.2

4 years ago

6.1.1

5 years ago

6.1.0

5 years ago

6.0.1

5 years ago

5.5.2

5 years ago

5.5.1

5 years ago

5.5.0

5 years ago

5.4.3

5 years ago

5.4.2

5 years ago

5.4.1

5 years ago

5.4.0

5 years ago

5.3.0

5 years ago

5.2.2

6 years ago

5.2.1

6 years ago

5.2.0

6 years ago

5.1.0

6 years ago

5.0.0

6 years ago

4.10.0

6 years ago

4.8.0

6 years ago

4.7.3

6 years ago

4.7.0

6 years ago

4.6.0

6 years ago

4.4.0

6 years ago

4.2.0

6 years ago

4.1.0

6 years ago

4.0.0

6 years ago

3.52.0

6 years ago

3.51.1

6 years ago

3.51.0

6 years ago

3.49.1

6 years ago

3.45.11

6 years ago

3.45.7

6 years ago

3.45.6

6 years ago

3.43.0

6 years ago

3.42.0

6 years ago

3.41.0

6 years ago

3.37.0

6 years ago

3.36.0

6 years ago

3.35.0

6 years ago