Wondering what’s next for npm?Check out our public roadmap! »

    screwdriver-datastore-dynamodb

    3.4.0 • Public • Published

    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.

    Parameter Type Description
    config Object Each of its properties defines your get operation
    config.table String The datastore table name
    config.params Object Each of its properties defines the get parameters
    config.params.id String The 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.

    Parameter Type Description
    config Object Each of its properties defines your get operation
    config.table String The datastore table name
    config.params Object Each of its properties defines the get parameters
    config.params.id String The ID that the data is associated with
    config.params.data Object The 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

    Parameter Type Description
    config Object Each of its properties defines your get operation
    config.table String The datastore table name
    config.params Object Each of its properties defines the get parameters
    config.params.id String The ID that the data is associated with
    config.params.data Object The 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.

    Parameter Type Description
    config Object Each of its properties defines your get operation
    config.table String The datastore table name
    config.params Object Query 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.

    Install

    npm i screwdriver-datastore-dynamodb

    DownloadsWeekly Downloads

    40

    Version

    3.4.0

    License

    BSD-3-Clause

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar