View a markdown version of this page

Herstellen einer Verbindung zu Amazon Neptune-Datenbanken mithilfe der IAM-Authentifizierung mit Gremlin JavaScript - Amazon Neptune

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Herstellen einer Verbindung zu Amazon Neptune-Datenbanken mithilfe der IAM-Authentifizierung mit Gremlin JavaScript

-Übersicht

Diese Anleitung zeigt, wie Sie mithilfe des JavaScript Gremlin-Treibers, der Signature Version 4-Authentifizierung und des SDK für Javascript v3 eine Verbindung zu einer Amazon Neptune-Datenbank mit aktivierter IAM-Authentifizierung herstellen. AWS

Voraussetzungen

  • Ein Amazon Neptune-Cluster mit aktivierter IAM-Authentifizierung.

  • Node 13 oder höher (siehe Minimalversionen für Gremlin JavaScript und AWS SDK für Javascript v3).

  • AWS konfigurierte Anmeldeinformationen (über Umgebungsvariablen, Datei mit gemeinsam genutzten Anmeldeinformationen oder IAM-Rolle).

Erstellen Sie eine Basisverbindung

Verwenden Sie das folgende Codebeispiel als Anleitung zum Herstellen einer Basisverbindung mit der IAM-Authentifizierung mithilfe des JavaScript Gremlin-Treibers.

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