기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Gremlin JavaScript를 사용한 IAM 인증을 사용하여 Amazon Neptune 데이터베이스에 연결
개요
이 가이드는 Gremlin JavaScript 드라이버를 사용하여 IAM 인증을 활성화하고 서명 버전 4 인증 및 AWS SDK for Javascript v3를 사용하여 Amazon Neptune 데이터베이스에 연결하는 방법을 보여줍니다.
사전 조건
-
IAM 인증이 활성화된 Amazon Neptune 클러스터입니다.
-
노드 13 이상(Gremlin JavaScript 및 AWS SDK for Javascript v3의 경우 최소 버전 참조).
-
AWS 구성된 자격 증명(환경 변수, 공유 자격 증명 파일 또는 IAM 역할을 통해).
기본 연결 생성
다음 코드 예제를 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();