1.3.17 • Published 8 days ago

@adobe/spacecat-shared-dynamo v1.3.17

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
8 days ago

Dynamo Client

Overview

This package, @adobe/spacecat-shared-dynamo, is a shared module designed for interacting with Amazon DynamoDB. It is a part of the Spacecat Services, providing a streamlined interface for DynamoDB operations.

Features

  • Query Operations: Perform read operations using primary or secondary indexes.
  • Get Item: Retrieve single items from DynamoDB using a table name and key.
  • Put Item: Insert or update items in DynamoDB.
  • Remove Item: Delete items from a DynamoDB table.

Installation

Install the package using npm:

npm install @adobe/spacecat-shared-dynamo

Usage

First, import the createClient function from the package:

import { createClient } from '@adobe/spacecat-shared-dynamo';

Then, use it to create a DynamoDB client:

const dynamoClient = createClient();

API Overview

  • query(params): Queries DynamoDB with the specified parameters.
  • getItem(tableName, key): Retrieves an item from a specified table using a key.
  • putItem(tableName, item): Inserts or updates an item in the specified table.
  • removeItem(tableName, key): Removes an item from the specified table.

Example

const tableName = 'YourTableName';
const key = { primaryKey: 'YourPrimaryKey' };

// Get an item
const item = await dynamoClient.getItem(tableName, key);

// Put an item
await dynamoClient.putItem(tableName, { primaryKey: 'NewKey', data: 'YourData' });

// Query
const queryResult = await dynamoClient.query({ TableName: tableName, KeyConditionExpression: 'primaryKey = :pk', ExpressionAttributeValues: { ':pk': 'YourPrimaryKey' } });

// Remove an item
await dynamoClient.removeItem(tableName, key);

Testing

Run the included tests with the following command:

npm test

Linting

Lint the codebase using:

npm run lint

Cleaning

To clean the package (remove node_modules and package-lock.json):

npm run clean

Repository

Find the source code and contribute here.

Issues

Report issues or bugs here.

License

This project is licensed under the Apache-2.0 License.

1.3.17

8 days ago

1.3.16

13 days ago

1.3.15

22 days ago

1.3.14

2 months ago

1.3.13

2 months ago

1.3.12

2 months ago

1.3.11

2 months ago

1.3.10

2 months ago

1.3.9

3 months ago

1.3.8

3 months ago

1.3.7

3 months ago

1.3.6

3 months ago

1.3.5

3 months ago

1.3.4

4 months ago

1.3.3

4 months ago

1.3.2

4 months ago

1.3.1

4 months ago

1.3.0

4 months ago

1.2.8

4 months ago

1.2.7

5 months ago

1.2.6

5 months ago

1.2.5

5 months ago

1.2.4

5 months ago

1.2.3

5 months ago

1.2.2

5 months ago

1.2.1

5 months ago

1.2.0

5 months ago

1.1.4

5 months ago

1.1.3

5 months ago

1.1.2

5 months ago

1.1.1

5 months ago

1.1.0

5 months ago

1.0.0

5 months ago