Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kbrashears5/typescript-aws-lambda-helper

Typescript AWS Lambda Helper
https://github.com/kbrashears5/typescript-aws-lambda-helper

aws helper javascript lambda typescript

Last synced: 2 months ago
JSON representation

Typescript AWS Lambda Helper

Awesome Lists containing this project

README

        

typescript-aws-lambda-helper



Typescript helper functions for AWS Lambda service

[![CI/CD](https://github.com/kbrashears5/typescript-aws-lambda-helper/actions/workflows/ci-cd.yml/badge.svg)](https://github.com/kbrashears5/typescript-aws-lambda-helper/actions/workflows/ci-cd.yml)
[![codecov](https://codecov.io/gh/kbrashears5/typescript-aws-lambda-helper/branch/master/graph/badge.svg?token=OYCTKMEXYN)](https://codecov.io/gh/kbrashears5/typescript-aws-lambda-helper)
[![NPM Version](https://img.shields.io/npm/v/typescript-aws-lambda-helper)](https://img.shields.io/npm/v/typescript-aws-lambda-helper)
[![Downloads](https://img.shields.io/npm/dt/typescript-aws-lambda-helper)](https://img.shields.io/npm/dt/typescript-aws-lambda-helper)

## Install

```
npm install typescript-aws-lambda-helper@latest
```

## Usage

### Default - running in Lambda in your own account

```typescript
const logger = new Logger(LogLevel.Trace);

const helper = new LambdaHelper(logger);

const response = await helper.InvokeAsync('lambdaName', 'payload');
```

### Running in separate account or not in Lambda

```typescript
import * as Lambda from '@aws-sdk/client-lambda';

const logger = new Logger(LogLevel.Trace);

const options: Lambda.LambdaClientConfig = {
accessKeyId: '{access_key}',
secretAccessKey: '{secret_key}',
region: 'us-east-1',
};

const repository = new Lambda.Lambda(options);

const helper = new LambdaHelper(logger, repository);

const response = await helper.InvokeAsync('lambdaName', 'payload');
```

## Notes

If no options are supplied, will default to `us-east-1` as the region

## Development

Clone the latest and run

```npm
npm run prep
```

to install packages and prep the git hooks