Connexion aux bases de données Amazon Neptune à l'aide de l'authentification IAM avec G705 JavaScript - Amazon Neptune

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Connexion aux bases de données Amazon Neptune à l'aide de l'authentification IAM avec G705 JavaScript

Présentation

Ce guide explique comment se connecter à une base de données Amazon Neptune avec l'authentification IAM activée à l'aide du JavaScript pilote G705, avec l'authentification Signature version 4 et le AWS SDK pour Javascript v3.

Prérequis

  • Un cluster Amazon Neptune sur lequel l'authentification IAM est activée.

  • Node 13 ou version ultérieure (reportez-vous aux versions minimales pour Gkremlin JavaScript et au AWS SDK pour Javascript v3).

  • AWS informations d'identification configurées (via des variables d'environnement, un fichier d'informations d'identification partagé ou un rôle IAM).

Création d'une connexion de base

Utilisez l'exemple de code suivant pour savoir comment établir une connexion de base avec l'authentification IAM à l'aide du pilote Gremlin JavaScript .

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();