기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
예제: Neptune DB 인스턴스에 데이터 로드
이 예는 데이터를 Amazon Neptune으로 로드하는 방법을 보여줍니다. 달리 명시되지 않는 한 Neptune DB 인스턴스와 동일한 Amazon Virtual Private Cloud(EC2)의 Amazon Elastic Compute Cloud(AmazonVPC) 인스턴스에서 다음 단계를 따라야 합니다. Amazon Virtual Private Cloud
데이터 로딩 예제의 사전 조건
시작하기 전에 다음을 완비해야 합니다.
-
Neptune DB 인스턴스.
Neptune DB 인스턴스 실행에 대한 자세한 내용은 Amazon Neptune 클러스터 생성 섹션을 참조하세요.
-
데이터 파일을 넣을 수 있는 Amazon Simple Storage Service(S3) 버킷.
기존 버킷을 사용해도 됩니다. S3 버킷이 없는 경우 Amazon S3 시작 안내서의 버킷 생성을 참조하세요.
-
Neptune 로더가 지원하는 형식 중 하나로 로드할 그래프 데이터:
Gremlin을 사용하여 그래프를 쿼리하는 경우 Neptune은 에 comma-separated-values 설명된 대로 (
CSV
) 형식으로 데이터를 로드할 수 있습니다Gremlin 로드 데이터 형식.를 사용하여 그래프 openCypher 를 쿼리하는 경우 Neptune은 에 설명된 대로 openCypher특정
CSV
형식으로 데이터를 로드할 수도 있습니다 openCypher 데이터의 로드 형식.를 사용하는 경우 SPARQLNeptune은 에 설명된 대로 여러 RDF 형식으로 데이터를 로드할 수 있습니다RDF 데이터 형식 로드.
-
가 S3 버킷의 데이터 파일에 대한 액세스를 허용하는 IAM 정책을 가지고 있다고 가정하는 Neptune DB 인스턴스의 IAM 역할입니다. 이 정책은 읽기 및 목록 권한을 부여해야 합니다.
Amazon S3에 대한 액세스 권한이 있는 역할을 생성하고 이를 Neptune 클러스터와 연결하는 방법은 사전 조건: IAM 역할 및 Amazon S3 액세스 섹션을 참조하세요.
참고
Neptune에는 데이터 파일에 대한 읽기 액세스만
Load
API 필요합니다. IAM 정책은 전체 버킷에 대한 쓰기 액세스 또는 액세스를 허용할 필요가 없습니다. Amazon S3 VPC 엔드포인트입니다. 자세한 내용은 Amazon S3 VPC 엔드포인트 생성(을)를 참조하세요.
Amazon S3 VPC 엔드포인트 생성
Neptune 로더에는 Amazon S3용 VPC 엔드포인트가 필요합니다.
Amazon S3에 대한 액세스를 설정하려면
에 로그인 AWS Management Console 하고 에서 Amazon VPC 콘솔을 엽니다https://console.aws.amazon.com/vpc/
. 왼쪽 탐색 창에서 엔드포인트를 선택합니다.
엔드포인트 생성을 선택합니다.
-
서비스 이름
com.amazonaws.
을 선택합니다.region
.s3참고
여기의 리전이 올바르지 않은 경우 콘솔 리전이 올바른지 확인하십시오.
Neptune DB 인스턴스VPC가 포함된 를 선택합니다.
클러스터와 관련된 서브넷과 연결된 라우팅 테이블 옆에 있는 확인란을 선택합니다. 라우팅 테이블이 하나만 있는 경우에는 해당 확인란을 선택해야 합니다.
엔드포인트 생성을 선택합니다.
엔드포인트 생성에 대한 자세한 내용은 Amazon VPC 사용 설명서의 VPC 엔드포인트를 참조하세요. VPC 엔드포인트의 제한 사항에 대한 자세한 내용은 VPC Amazon S3용 엔드포인트를 참조하세요.
데이터를 Neptune DB 인스턴스로 로드하려면
-
데이터 파일을 Amazon S3 버킷에 복사합니다. S3 버킷은 데이터를 로드하는 클러스터와 동일한 AWS 리전에 있어야 합니다.
다음 AWS CLI 명령을 사용하여 파일을 버킷에 복사할 수 있습니다.
참고
이 명령은 Amazon EC2 인스턴스에서 실행할 필요가 없습니다.
aws s3 cp
data-file-name
s3://bucket-name
/object-key-name
참고
Amazon S3에서 객체 키 이름은 파일 이름을 포함한 파일의 전체 경로입니다.
예: 명령
aws s3 cp datafile.txt s3://examplebucket/mydirectory/datafile.txt
에서 객체 키 이름은mydirectory/datafile.txt
입니다.또는 AWS Management Console 를 사용하여 S3 버킷에 파일을 업로드할 수 있습니다. 에서 Amazon S3 콘솔을 열고 버킷을 https://console.aws.amazon.com/s3/
선택합니다. 왼쪽 상단 모서리에서 업로드를 선택하여 파일을 업로드합니다. -
명령줄 창에서 엔드포인트, Amazon S3 경로, 형식 및 IAM 역할 에 대한 올바른 값을 사용하여 다음을 입력하여 Neptune 로더를 실행합니다ARN.
format
파라미터는 Gremlin의 경우 , 의csv
경우 또는 openCypher,ntriples
nquads
,turtle
의opencypher
경우 중 하나일 수rdfxml
있습니다RDF. 기타 파라미터에 대한 자세한 내용은 Neptune 로더 명령 단원을 참조하십시오.사용자의 Neptune DB 인스턴스 호스트 이름을 찾는 방법은 Amazon Neptune 엔드포인트에 연결 섹션을 참조하세요.
리전 파라미터는 클러스터 및 S3 버킷의 리전과 일치해야 합니다.
Amazon Neptune은 다음 AWS 리전에서 사용할 수 있습니다.
미국 동부(버지니아 북부):
us-east-1
미국 동부(오하이오):
us-east-2
미국 서부(캘리포니아 북부):
us-west-1
미국 서부(오레곤):
us-west-2
캐나다(중부):
ca-central-1
남아메리카(상파울루):
sa-east-1
유럽(스톡홀름):
eu-north-1
유럽(스페인):
eu-south-2
유럽(아일랜드):
eu-west-1
유럽(런던):
eu-west-2
유럽(파리):
eu-west-3
유럽(프랑크푸르트):
eu-central-1
중동(바레인):
me-south-1
중동(UAE):
me-central-1
이스라엘(텔아비브):
il-central-1
아프리카(케이프타운):
af-south-1
아시아 태평양(홍콩):
ap-east-1
아시아 태평양(도쿄):
ap-northeast-1
아시아 태평양(서울):
ap-northeast-2
아시아 태평양(오사카):
ap-northeast-3
아시아 태평양(싱가포르):
ap-southeast-1
아시아 태평양(시드니):
ap-southeast-2
아시아 태평양(자카르타):
ap-southeast-3
아시아 태평양(뭄바이):
ap-south-1
중국(베이징):
cn-north-1
중국(닝샤):
cn-northwest-1
AWS GovCloud (미국 서부):
us-gov-west-1
AWS GovCloud (미국 동부):
us-gov-east-1
curl -X POST \ -H 'Content-Type: application/json' \ https://
your-neptune-endpoint
:port
/loader -d ' { "source" : "s3://bucket-name
/object-key-name
", "format" : "format
", "iamRoleArn" : "arn:aws:iam::account-id
:role/role-name
", "region" : "region
", "failOnError" : "FALSE", "parallelism" : "MEDIUM", "updateSingleCardinalityProperties" : "FALSE", "queueRequest" : "TRUE", "dependencies" : ["load_A_id", "load_B_id"
] }'IAM 역할을 생성하고 Neptune 클러스터와 연결하는 방법에 대한 자세한 내용은 섹션을 참조하세요사전 조건: IAM 역할 및 Amazon S3 액세스.
참고
로드 요청 파라미터에 대한 자세한 내용은 Neptune 로더 요청 파라미터를 참조하십시오. 간략 설명:
source
파라미터는 단일 파일 또는 폴더를 가리키URI는 Amazon S3를 허용합니다. 폴더를 지정하면 Neptune이 폴더에서 모든 데이터 파일을 로드합니다.폴더에는 여러 버텍스 파일 및 여러 엣지 파일이 포함될 수 있습니다.
는 다음 형식 중 하나일 URI 수 있습니다.
s3://
bucket_name
/object-key-name
https://s3.amazonaws.com/
bucket_name
/object-key-name
https://s3-us-east-1.amazonaws.com/
bucket_name
/object-key-name
format
파라미터는 다음 값 중 하나일 수 있습니다.Gremlin 속성 그래프의 Gremlin CSV 형식(
csv
)openCypher CSV openCypher 속성 그래프의 형식(
opencypher
)N -RDF/에 대한 트리플(
ntriples
) 형식 SPARQLRDF /에 대한 N-쿼드(
nquads
) 형식 SPARQLRDF/XML에 대한 RDF / (
rdfxml
) 형식 SPARQL/RDF에 대한 거북이(
turtle
) 형식 SPARQL
선택적
parallelism
파라미터를 통해 벌크 로드 프로세스에 사용되는 스레드 수를 제한할 수 있습니다. 이 파라미터는LOW
,MEDIUM
,HIGH
또는OVERSUBSCRIBE
로 설정할 수 있습니다.updateSingleCardinalityProperties
를"FALSE"
로 설정하면 에지 또는 단일 카디널리티 버텍스 속성에 대해 로드되는 소스 파일에 둘 이상의 값이 제공된 경우 로더는 오류를 반환합니다.queueRequest
를"TRUE"
로 설정하면 로드 작업이 이미 실행 중인 경우 로드 요청이 대기열에 배치됩니다.dependencies
파라미터는 로드 요청의 실행이 대기열에 이미 배치된 하나 이상의 로드 작업이 성공적으로 완료되는 것에 의존하게 합니다. -
Neptune 로더는 상태를 확인하거나 로드 프로세스를 취소할 수 있는 작업
id
를 반환합니다. 예를 들면 다음과 같습니다.{ "status" : "200 OK", "payload" : { "loadId" : "
ef478d76-d9da-4d94-8ff1-08d9d4863aa5
" } } -
3단계에서
loadId
와 함께 로그 상태를 가져오려면 다음을 입력하세요.curl -G 'https://
your-neptune-endpoint
:port
/loader/ef478d76-d9da-4d94-8ff1-08d9d4863aa5
'로드 상태에 오류가 있는 경우에는 보다 자세한 상태 및 오류 목록을 요청할 수 있습니다. 자세한 정보와 지침은 Neptune 로더 Get-Status API 섹션을 참조하세요.
-
(선택 사항)
Load
작업을 취소합니다.3단계에서 작업
Delete
와 함께 로더 작업을id
하려면 다음을 입력하세요.curl -X DELETE 'https://
your-neptune-endpoint
:port
/loader/ef478d76-d9da-4d94-8ff1-08d9d4863aa5
'DELETE
명령은 취소 성공200 OK
시 HTTP 코드를 반환합니다.로드가 완료된 로드 작업에서 파일의 데이터는 롤백되지 않습니다. 데이터는 Neptune DB 인스턴스에 남아 있습니다.