3.4.0 • Published 7 years ago

screwdriver-datastore-dynamodb v3.4.0

Weekly downloads
11
License
BSD-3-Clause
Repository
github
Last release
7 years ago

Screwdriver Datastore Dynamodb

Version Downloads Build Status Open Issues Dependency Status License

interface with dynamodb

Usage

npm install screwdriver-datastore-dynamodb

Initialization

Datastore DynamoDB is an extension of the screwdriver-datastore-base class and implements all of the functions exposed.

Currently the AWS credentials will be loaded from the shared credentials file, or environment variables. Reference to AWS SDK documentation

http://docs.aws.amazon.com/AWSJavaScriptSDK/guide/node-configuring.html#Configuring_the_SDK_in_Node_js

const DynamoDB = require('screwdriver-datastore-dynamodb');

const datastore = new DynamoDB();

Define a specific region and credentials to interact with

const DynamoDB = require('screwdriver-datastore-dynamodb');

const irelandDatastore = new DynamoDB({
    region: 'eu-west-1',
    accessKeyId: 'foo',
    secretAccessKey: 'bar'
});

get

Obtain a single record given an id. If the record does not exist, it will return null.

ParameterTypeDescription
configObjectEach of its properties defines your get operation
config.tableStringThe datastore table name
config.paramsObjectEach of its properties defines the get parameters
config.params.idStringThe ID of the item to fetch from the datastore

Example

const DynamoDB = require('screwdriver-datastore-dynamodb');
const datastore = new DynamoDB();

// successful get operation
return datastore.get({
    table: 'fruits',
    params: {
        id: 'apple'
    }
}).then((data) => {
    console.log(data); // { color: 'red', id: 'apple', type: 'fruit' }
});

// get operation on a non-existing entry
return datastore.get({
    table: 'fruits',
    params: {
        id: 'celery'
    }
}).then((data) => {
    console.log(data); // null
});

save

Save a record in the datastore. Returns saved data.

ParameterTypeDescription
configObjectEach of its properties defines your get operation
config.tableStringThe datastore table name
config.paramsObjectEach of its properties defines the get parameters
config.params.idStringThe ID that the data is associated with
config.params.dataObjectThe data that will be saved in the datastore

Example

const DynamoDB = require('screwdriver-datastore-dynamodb');
const datastore = new DynamoDB();

// successful save operation
return datastore.save({
    table: 'pets',
    params: {
        id: 'toto',
        data: {
            type: 'dog'
        }
    }
}).then((data) => {
    console.log(data); // { id: 'toto', type: 'dog' }
});

update

Update a record in the datastore. Returns null if the record does not exist

ParameterTypeDescription
configObjectEach of its properties defines your get operation
config.tableStringThe datastore table name
config.paramsObjectEach of its properties defines the get parameters
config.params.idStringThe ID that the data is associated with
config.params.dataObjectThe data to be updated in the datastore

Example

const DynamoDB = require('screwdriver-datastore-dynamodb');
const datastore = new DynamoDB();

// successful update operation
return datastore.update({
    table: 'pets',
    params: {
        id: 'toto',
        data: {
            bestFriend: 'Dorothy'
        }
    }
}).then((data) => {
    console.log(data); // { id: 'toto', type: 'dog', bestFriend: 'Dorothy' }
});

// update operation on a non-existing entry
return datastore.update({
    table: 'pets',
    params: {
        id: 'trex',
        data: {
            bestFriend: 'me'
        }
    }
}).then((data) => {
    console.log(data); // null
});

scan

Scan for records in the datastore. Returns [] if the table is empty. Returns error if the table does not exist.

ParameterTypeDescription
configObjectEach of its properties defines your get operation
config.tableStringThe datastore table name
config.paramsObjectQuery to filter on

Example

const DynamoDB = require('screwdriver-datastore-dynamodb');
const datastore = new DynamoDB();

// successful scan operation
return datastore.scan({
    table: 'animalNoises',
    params: {}
}).then((data) => {
    console.log(data);
});

Testing

npm test

License

Code licensed under the BSD 3-Clause license. See LICENSE file for terms.

3.4.0

7 years ago

3.3.0

8 years ago

3.2.3

8 years ago

3.2.2

8 years ago

3.2.1

8 years ago

3.2.0

8 years ago

3.1.2

8 years ago

3.1.1

8 years ago

3.1.0

8 years ago

3.0.2

8 years ago

3.0.1

8 years ago

3.0.0

8 years ago

2.1.2

8 years ago

2.1.1

8 years ago

2.1.0

8 years ago

2.0.4

8 years ago

2.0.3

8 years ago

2.0.2

8 years ago

2.0.1

8 years ago

2.0.0

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago

0.0.8

8 years ago

0.0.7

8 years ago

0.0.6

8 years ago

0.0.5

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago