Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kbrashears5/typescript-aws-sns-helper
Typescript AWS SNS Helper
https://github.com/kbrashears5/typescript-aws-sns-helper
aws helper javascript lambda sns typescript
Last synced: 2 months ago
JSON representation
Typescript AWS SNS Helper
- Host: GitHub
- URL: https://github.com/kbrashears5/typescript-aws-sns-helper
- Owner: kbrashears5
- License: mit
- Created: 2020-05-27T22:39:50.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-06-01T03:05:36.000Z (7 months ago)
- Last Synced: 2024-10-08T02:07:43.805Z (3 months ago)
- Topics: aws, helper, javascript, lambda, sns, typescript
- Language: TypeScript
- Homepage: https://github.com/kbrashears5/typescript-aws-sns-helper#readme
- Size: 71.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
typescript-aws-sns-helper
Typescript helper functions for AWS SNS service
[![CI/CD](https://github.com/kbrashears5/typescript-aws-sns-helper/actions/workflows/ci-cd.yml/badge.svg)](https://github.com/kbrashears5/typescript-aws-sns-helper/actions/workflows/ci-cd.yml)
[![codecov](https://codecov.io/gh/kbrashears5/typescript-aws-sns-helper/branch/master/graph/badge.svg?token=EAGFPWYZB0)](https://codecov.io/gh/kbrashears5/typescript-aws-sns-helper)
[![NPM Version](https://img.shields.io/npm/v/typescript-aws-sns-helper)](https://img.shields.io/npm/v/typescript-aws-sns-helper)
[![Downloads](https://img.shields.io/npm/dt/typescript-aws-sns-helper)](https://img.shields.io/npm/dt/typescript-aws-sns-helper)## Install
```
npm install typescript-aws-sns-helper@latest
```## Usage
### Default - running in Lambda in your own account
```typescript
const logger = new Logger(LogLevel.Trace);const helper = new SNSHelper(logger);
const response = await helper.PublishAsync('topic', 'subject', 'message');
```### Running in separate account or not in Lambda
```typescript
import * as SNS from '@aws-sdk/client-sns';const logger = new Logger(LogLevel.Trace);
const options: SNS.SNSClientConfig = {
accessKeyId: '{access_key}',
secretAccessKey: '{secret_key}',
region: 'us-east-1',
};const repository = new SNS.SNS(options);
const helper = new SNSHelper(logger, repository);
const response = await helper.PublishAsync('topic', 'subject', 'message');
```## 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