This package provides an extension for Apache's TinkerPop3 Gremlin [javascript driver](https://github.com/apache/tinkerpop/tree/master/gremlin-javascript/src/main/javascript/gremlin-javascript) compatible with [IAM Database Authentication for Neptune](htt
npm install gremlin-aws-sigv4npm install gremlin-aws-sigv4
AWS_ACCESS_KEY_ID – AWS access key.AWS_SECRET_ACCESS_KEY – AWS secret key.AWS_DEFAULT_REGION – AWS region.``js
const gremlin = require('gremlin-aws-sigv4');
const graph = new gremlin.structure.Graph();
const connection = new gremlin.driver.AwsSigV4DriverRemoteConnection(
// host
'your-instance.neptune.amazonaws.com',
// port
8182,
// options,
{},
// connected callback
() => {
const g = graph.traversal().withRemote(connection);
const count = await g.V().count().next();
connection.close();
},
// disconnected callback
(code, message) => { },
// error callback
(error) => { }
);
`
js
const gremlin = require('gremlin-aws-sigv4'); // creates the connection
const graph = new gremlin.structure.Graph();
const connection = new gremlin.driver.AwsSigV4DriverRemoteConnection(
// host
'your-instance.neptune.amazonaws.com',
// port
8182,
// options
{
accessKeyId: 'your-access-key',
secretAccessKey: 'your-secret-key',
sessionToken: 'your-optional-session-token',
region: 'your-region',
},
// connected callback
() => {
const g = graph.traversal().withRemote(connection);
const count = await g.V().count().next();
connection.close();
},
// disconnected callback
(code, message) => { },
// error callback
(error) => { }
);
`$3
Thses are the available config options, none of them is required.
`js
{
// Open secure connection - mandatory for engine version 1.0.4.0 and above
secure: true, // Enable auto-reconnection on connection failure - default: false
autoReconnect: true,
// Number of auto-reconnection retries - default: 10
maxRetry: 3,
}
`Tests
$3
`bash
install dependencies
npm installrun the tests
npm run test:unit
``The project falls under @Shutterstock's Code of Conduct.