Neutron Polarization Manipulator

    amazon-qldb-driver-nodejs
    TypeScript icon, indicating that this package has built-in type declarations

    2.2.0 • Public • Published

    Amazon QLDB Node.js Driver

    NPM Version Documentation license AWS Provider

    This is the Node.js driver for Amazon Quantum Ledger Database (QLDB), which allows Node.js developers to write software that makes use of AmazonQLDB.

    Requirements

    Basic Configuration

    See Accessing Amazon QLDB for information on connecting to AWS.

    The JavaScript AWS SDK needs to have AWS_SDK_LOAD_CONFIG environment variable set to a truthy value in order to read from the ~/.aws/config file.

    See Setting Region page for more information.

    TypeScript 3.8.x

    Development of the driver requires TypeScript 3.8.x. It will be automatically installed as a dependency. It is also recommended to use TypeScript when using the driver. Please see the link below for more detail on TypeScript 3.8.x:

    Getting Started

    To use the driver, in your package that wishes to use the driver, run the following:

    npm install amazon-qldb-driver-nodejs

    The driver also has aws-sdk, ion-js and jsbi as peer dependencies. Thus, they must also be dependencies of the package that will be using the driver as a dependency.

    npm install aws-sdk

    npm install ion-js

    npm install jsbi

    Note: For using version 2.1.0 and above of the driver, the version of the aws-sdk should be >= 2.815

    Then from within your package, you can now use the driver by importing it. This example shows usage in TypeScript specifying the QLDB ledger name and a specific region:

    import { QldbDriver } from "amazon-qldb-driver-nodejs";
    
    const testServiceConfigOptions = {
        region: "us-east-1"
    };
    
    const qldbDriver: QldbDriver = new QldbDriver("testLedger", testServiceConfigOptions);
    qldbDriver.getTableNames().then(function(tableNames: string[]) {
        console.log(tableNames);
    });

    See Also

    1. Amazon QLDB Nodejs Driver Tutorial: In this tutorial, you use the QLDB Driver for Node.js to create an Amazon QLDB ledger and populate it with tables and sample data.
    2. Amazon QLDB Nodejs Driver Samples: A DMV based example application which demonstrates how to use QLDB with the QLDB Driver for Node.js.
    3. QLDB Nodejs driver accepts and returns Amazon ION Documents. Amazon Ion is a richly-typed, self-describing, hierarchical data serialization format offering interchangeable binary and text representations. For more information read the ION docs.
    4. Amazon ION Cookbook: This cookbook provides code samples for some simple Amazon Ion use cases.
    5. Amazon QLDB supports the PartiQL query language. PartiQL provides SQL-compatible query access across multiple data stores containing structured data, semistructured data, and nested data. For more information read the PartiQL docs.
    6. Refer the section Common Errors while using the Amazon QLDB Drivers which describes runtime errors that can be thrown by the Amazon QLDB Driver when calling the qldb-session APIs.

    Development

    Setup

    To install the dependencies for the driver, run the following in the root directory of the project:

    npm install

    To build the driver, transpiling the TypeScript source code to JavaScript, run the following in the root directory:

    npm run build

    Running Tests

    You can run the unit tests with this command:

    npm test

    or

    npm run testWithCoverage

    Integration Tests

    You can run the integration tests with this command:

    npm run integrationTest

    This command requires that credentials are pre-configured and it has the required permissions.

    Additionally, a region can be specified in: src/integrationtest/.mocharc.json.

    Documentation

    TypeDoc is used for documentation. You can generate HTML locally with the following:

    npm run doc

    License

    This library is licensed under the Apache 2.0 License.

    Install

    npm i amazon-qldb-driver-nodejs@2.2.0

    Version

    2.2.0

    License

    Apache-2.0

    Unpacked Size

    152 kB

    Total Files

    41

    Last publish

    Collaborators

    • bwinchester
    • allimn