As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Exemplo: carregamento de dados em uma instância de banco de dados do Neptune
Este exemplo mostra como carregar dados no Amazon Neptune. Salvo indicação em contrário, você deve seguir essas etapas a partir de uma instância do Amazon Elastic Compute Cloud (AmazonEC2) na mesma Amazon Virtual Private Cloud (VPC) da sua instância de banco de dados Neptune.
Pré-requisitos para o exemplo de carregamento de dados
Antes de começar, você deve ter o seguinte:
-
Uma instância de banco de dados do Neptune.
Para obter informações sobre como iniciar uma instância de banco de dados do Neptune, consulte Criação de um cluster do Amazon Neptune.
-
Um bucket do Amazon Simple Storage Service (Amazon S3) no qual colocar os arquivos de dados.
Você pode usar um bucket existente. Se você não tiver um bucket do S3, consulte Create a Bucket no Guia de conceitos básicos do Amazon S3.
-
Dados do grafo a serem carregados, em um dos formatos compatíveis com o carregador do Neptune:
Se você estiver usando o Gremlin para consultar seu gráfico, o Neptune poderá carregar dados no formato comma-separated-values (
CSV
), conforme descrito em. Formato de dados de carga do GremlinSe você estiver usando openCypher para consultar seu gráfico, o Neptune também pode carregar dados em openCypher um formato
CSV
específico, conforme descrito em. Formato de carregamento para openCypher dadosSe você estiver usandoSPARQL, o Neptune pode carregar dados em vários formatos, conforme RDF descrito em. RDFformatos de dados de carregamento
-
Uma IAM função para a instância de banco de dados Neptune assumir que tem IAM uma política que permite acesso aos arquivos de dados no bucket do S3. A política deve conceder permissões de leitura e lista.
Para obter informações sobre como criar um perfil que tenha acesso ao Amazon S3 e associá-lo a um cluster do Neptune, consulte Pré-requisitos: IAM função e acesso ao Amazon S3.
nota
O
Load
API Neptune precisa apenas de acesso de leitura aos arquivos de dados. A IAM política não precisa permitir acesso de gravação ou acesso a todo o bucket. Um endpoint Amazon S3VPC. Para obter mais informações, consulte a seção Criação de um endpoint Amazon S3 VPC.
Criação de um endpoint Amazon S3 VPC
O carregador Neptune requer um VPC endpoint para o Amazon S3.
Para configurar o acesso ao Amazon S3
Faça login no AWS Management Console e abra o VPC console da Amazon em https://console.aws.amazon.com/vpc/
. No painel de navegação à esquerda, escolha Endpoints.
Escolha Criar Endpoint.
-
Selecione o Service Name (Nome do serviço)
com.amazonaws.
.region
.s3nota
Se a região aqui estiver incorreta, verifique se a região do console está correta.
Escolha o VPC que contém sua instância de banco de dados Neptune.
Marque a caixa de seleção ao lado das tabelas de rotas associadas às sub-redes relacionados ao cluster. Se tiver apenas uma tabela de rotas, você deverá selecionar essa caixa.
Escolha Criar Endpoint.
Para obter informações sobre a criação do endpoint, consulte VPCEndpoints no Guia VPC do usuário da Amazon. Para obter informações sobre as limitações dos VPC endpoints, VPCEndpoints for Amazon S3.
Como carregar dados em uma instância de banco de dados do Neptune
-
Copie os arquivos de dados em um bucket do Amazon S3. O bucket do S3 deve estar na mesma AWS região do cluster que carrega os dados.
Você pode usar o AWS CLI comando a seguir para copiar os arquivos para o bucket.
nota
Esse comando não precisa ser executado na EC2 instância da Amazon.
aws s3 cp
data-file-name
s3://bucket-name
/object-key-name
nota
No Amazon S3, um nome de chave de objeto é o caminho inteiro de um arquivo, inclusive o nome do arquivo.
Exemplo: no comando
aws s3 cp datafile.txt s3://examplebucket/mydirectory/datafile.txt
, o nome da chave do objeto émydirectory/datafile.txt
.Como alternativa, você pode usar o AWS Management Console para fazer upload de arquivos para o bucket do S3. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/
e escolha um bucket. No canto superior esquerdo, selecione Upload (Fazer upload) para fazer upload dos arquivos. -
Em uma janela de linha de comando, digite o seguinte para executar o carregador Neptune, usando os valores corretos para seu endpoint, caminho, formato e função do Amazon S3. IAM ARN
O
format
parâmetro pode ser qualquer um dos seguintes valores:csv
para Gremlin,opencypher
paraopenCypher, ountriples
,nquads
turtle
, erdfxml
para. RDF Para obter informações sobre outros parâmetros, consulte Comando do carregador do Neptune.Para obter informações sobre como localizar o nome do host da instância de banco de dados do Neptune, consulte a seção Conectar-se a endpoints do Amazon Neptune.
O parâmetro da região deve corresponder à região do cluster e do bucket do S3.
O Amazon Neptune está disponível nas seguintes regiões: AWS
Leste dos EUA (Norte da Virgínia):
us-east-1
Leste dos EUA (Ohio):
us-east-2
Oeste dos EUA (N. da Califórnia):
us-west-1
Oeste dos EUA (Oregon):
us-west-2
Canadá (Central):
ca-central-1
América do Sul (São Paulo):
sa-east-1
Europa (Estocolmo):
eu-north-1
Europa (Espanha):
eu-south-2
Europa (Irlanda):
eu-west-1
Europa (Londres):
eu-west-2
Europa (Paris):
eu-west-3
Europa (Frankfurt):
eu-central-1
Oriente Médio (Bahrein):
me-south-1
Oriente Médio (UAE):
me-central-1
Israel (Tel Aviv):
il-central-1
África (Cidade do Cabo):
af-south-1
Ásia-Pacífico (Hong Kong):
ap-east-1
Ásia-Pacífico (Tóquio):
ap-northeast-1
Ásia-Pacífico (Seul):
ap-northeast-2
Ásia-Pacífico (Osaka):
ap-northeast-3
Ásia-Pacífico (Singapura):
ap-southeast-1
Ásia-Pacífico (Sydney):
ap-southeast-2
Ásia-Pacífico (Jacarta):
ap-southeast-3
Ásia-Pacífico (Mumbai):
ap-south-1
China (Pequim):
cn-north-1
China (Ningxia):
cn-northwest-1
AWS GovCloud (Oeste dos EUA):
us-gov-west-1
AWS GovCloud (Leste dos EUA):
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"
] }'Para obter informações sobre como criar e associar uma IAM função a um cluster do Neptune, consulte. Pré-requisitos: IAM função e acesso ao Amazon S3
nota
Consulte Parâmetros de solicitação do carregador do Neptune) para obter informações detalhadas sobre parâmetros de solicitação de carga. Resumindo:
O
source
parâmetro aceita um Amazon S3 URI que aponta para um único arquivo ou pasta. Se você especificar uma pasta, o Neptune fará upload de cada arquivo de dados na pasta.A pasta pode conter vários arquivos de vértice e vários arquivos de ponto.
Eles URI podem estar em qualquer um dos seguintes formatos.
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
O parâmetro
format
pode ser:CSVFormato Gremlin (
csv
) para gráficos de propriedades do GremlinopenCypher CSVformat (
opencypher
) para gráficos de openCypher propriedadesFormato N -Triples (
ntriples
) para/RDFSPARQLFormato N-Quads (
nquads
) para/RDFSPARQLRDFformato/XML(
rdfxml
) paraRDF/SPARQLFormato Turtle (
turtle
) para/RDFSPARQL
O parâmetro opcional
parallelism
permite que você restrinja o número de threads usados no processo de carregamento em massa. Ele pode ser definido comoLOW
,MEDIUM
,HIGH
, orOVERSUBSCRIBE
.Quando
updateSingleCardinalityProperties
estiver definido como"FALSE"
, o carregador retornará um erro se mais de um valor for fornecido em um arquivo de origem sendo carregado para uma propriedade de vértice de borda ou de cardinalidade única.Configurar o
queueRequest
para o"TRUE"
faz com que a solicitação de carga seja colocada em uma fila na qual já existe um trabalho de carga em execução.O parâmetro
dependencies
torna a execução da solicitação de carga dependente da conclusão com êxito de um ou mais trabalhos de carga que já foram colocados na fila. -
O carregador do Neptune retorna um trabalho
id
que permite que você confira o status ou cancele o processo de carregamento, por exemplo:{ "status" : "200 OK", "payload" : { "loadId" : "
ef478d76-d9da-4d94-8ff1-08d9d4863aa5
" } } -
Digite o seguinte para obter o status da carga com o
loadId
da Etapa 3:curl -G 'https://
your-neptune-endpoint
:port
/loader/ef478d76-d9da-4d94-8ff1-08d9d4863aa5
'Se o status da carga listar um erro, você poderá solicitar um status mais detalhado e uma lista dos erros. Para ter mais informações e exemplos, consulte Obter status do Neptune Loader API.
-
(Opcional) Cancele o trabalho de
Load
.Digite o seguinte para
Delete
o trabalho do carregador com oid
de trabalho da Etapa 3:curl -X DELETE 'https://
your-neptune-endpoint
:port
/loader/ef478d76-d9da-4d94-8ff1-08d9d4863aa5
'O
DELETE
comando retorna o HTTP código200 OK
após o cancelamento bem-sucedido.Os dados dos arquivos do trabalho de carga que concluíram o carregamento não são revertidos. Os dados permanecem na instância de banco de dados do Neptune.