Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Conexión a las bases de datos de Amazon Neptune mediante la autenticación de IAM con Gremlin JavaScript
Descripción general de
Esta guía muestra cómo conectarse a una base de datos de Amazon Neptune con la autenticación de IAM habilitada mediante el JavaScript controlador Gremlin, con la autenticación Signature Version 4 y el AWS SDK para Javascript v3.
Requisitos previos
-
Un clúster de Amazon Neptune con la autenticación de IAM habilitada.
-
AWScredenciales configuradas (mediante variables de entorno, un archivo de credenciales compartido o una función de IAM).
Creación de una conexión básica
Utilice el siguiente ejemplo de código como guía sobre cómo establecer una conexión básica con la autenticación de IAM mediante el controlador JavaScript Gremlin.
const { fromNodeProviderChain } = require('@aws-sdk/credential-providers'); const { getUrlAndHeaders } = require('gremlin-aws-sigv4/lib/utils'); const { loadConfig } = require("@smithy/node-config-provider"); const { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS } = require("@smithy/config-resolver"); const gremlin = require('gremlin'); const DriverRemoteConnection = gremlin.driver.DriverRemoteConnection; const traversal = gremlin.process.AnonymousTraversalSource.traversal; const DEFAULT_REGION = 'us-east-1'; const getCredentials = async () => { try { // Loads the default credential provider chain return await fromNodeProviderChain(); } catch (e) { console.error("No credentials found", e); throw e; } }; (main = async () => { console.log('Starting'); const credentials = await getCredentials(); try { // region set inside config profile or via AWS_REGION environment variable will be loaded credentials['region'] = await loadConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS)(); } catch (e) { credentials['region'] = DEFAULT_REGION } const connInfo = getUrlAndHeaders( 'you.cluster.endpoint.neptune.amazonaws.com', '8182', credentials, '/gremlin', 'wss'); const dc = new DriverRemoteConnection(connInfo['url'], {headers: connInfo['headers']}); const g = traversal().withRemote(dc); const query = g.V().limit(5).count(); const count = await query.next(); console.log("Vertex count: " + count.value); await dc.close(); }) main();