Gremlin JavaScript에서 IAM 인증을 사용하여 Amazon Neptune 데이터베이스에 연결 - Amazon Neptune

Gremlin JavaScript에서 IAM 인증을 사용하여 Amazon Neptune 데이터베이스에 연결

개요

이 설명서에서는 Gremlin JavaScript 드라이버를 사용하여 IAM 인증을 활성화하고 Signature Version 4 인증 및 AWS SDK for Javascript v3를 사용하여 Amazon Neptune 데이터베이스에 연결하는 방법을 보여줍니다.

사전 조건

  • IAM 인증이 활성화된 Amazon Neptune 클러스터입니다.

  • 노드 13 이상(Gremlin JavaScript 및 AWS SDK for Javascript v3의 최소 버전 참조).

  • 환경 변수, 공유 자격 증명 또는 IAM 역할을 통해 AWS 자격 증명 구성

기본 연결 생성

다음 코드 예제를 Gremlin JavaScript 드라이버를 사용하여 IAM 인증과 기본 연결을 설정하는 방법에 대한 지침으로 사용합니다.

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