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 (Amazon EC2) na mesma Amazon Virtual Private Cloud (VPC) que 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 o openCypher para consultar o grafo, o Neptune também poderá carregar dados em um formato
CSVespecífico do openCypher, conforme descrito em Formato de carregamento para dados do openCypher.Se você estiver usando o SPARQL, o Neptune poderá carregar dados em vários formatos do RDF, conforme descrito em Formatos de dados de carga do RDF.
-
Um perfil do IAM para a instância de banco de dados do Neptune assumir que tem uma política do IAM 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: perfil do IAM e acesso ao Amazon S3.
nota
A API
Loaddo Neptune precisa de acesso de leitura apenas aos arquivos de dados. A política do IAM não precisa permitir acesso de gravação nem acesso a todo o bucket. Um endpoint da VPC do Amazon S3. Para obter mais informações, consulte a seção Criar o endpoint da VPC do Amazon S3.
Criar o endpoint da VPC do Amazon S3
O carregador do Neptune requer um endpoint da VPC para Amazon S3.
Para configurar o acesso ao Amazon S3
Faça login no AWS Management Console e abra o console da Amazon VPC 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.
Selecione a VPC que contém a instância de banco de dados do 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 criação do endpoint, consulte VPC Endpoints no Guia do usuário da Amazon VPC. Para obter informações sobre as limitações dos endpoints da VPC, consulte VPC Endpoints 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 cpdata-file-names3://bucket-name/object-key-namenota
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, insira o seguinte para executar o carregador do Neptune, usando os valores corretos para o endpoint, o caminho do Amazon S3, o formato e o ARN do perfil do IAM.
O parâmetro
formatpode ser qualquer um dos seguintes valores:csvpara Gremlin,opencypherpara openCypher ountriples,nquads,turtleerdfxmlpara 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-1Leste dos EUA (Ohio):
us-east-2Oeste dos EUA (N. da Califórnia):
us-west-1Oeste dos EUA (Oregon):
us-west-2Canadá (Central):
ca-central-1Oeste do Canadá (Calgary):
ca-west-1América do Sul (São Paulo):
sa-east-1Europa (Estocolmo):
eu-north-1Europa (Espanha):
eu-south-2Europa (Irlanda):
eu-west-1Europa (Londres):
eu-west-2Europa (Paris):
eu-west-3Europa (Frankfurt):
eu-central-1Oriente Médio (Bahrein):
me-south-1Oriente Médio (Emirados Árabes Unidos):
me-central-1Israel (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 (Melbourne):
ap-southeast-4Ásia-Pacífico (Malásia):
ap-southeast-5Ásia-Pacífico (Mumbai):
ap-south-1China (Pequim):
cn-north-1China (Ningxia):
cn-northwest-1AWS GovCloud (Oeste dos EUA):
us-gov-west-1AWS 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 um perfil do IAM a um cluster do Neptune, consulte Pré-requisitos: perfil do IAM 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 parâmetro
sourceaceita um URI do Amazon S3 que aponte para um único arquivo ou para uma 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.
O URI pode estar em qualquer um dos seguintes formatos.
s3://bucket_name/object-key-namehttps://s3.amazonaws.com/bucket_name/object-key-namehttps://s3-us-east-1.amazonaws.com/bucket_name/object-key-name
O parâmetro
formatpode ser:Formato CSV do Gremlin (
csv) para propriedade de grafo do GremlinFormato CSV do openCypher (
opencypher) para grafos de propriedades do openCypherN-Triples (
ntriples) formato para RDF/SPARQLN-Quads (
nquads) formato para RDF/SPARQLRDF/XML (
rdfxml) formato para RDF/SPARQLTurtle (
turtle) formato para RDF / SPARQL
O parâmetro opcional
parallelismpermite que você restrinja o número de threads usados no processo de carregamento em massa. Ele pode ser definido comoLOW,MEDIUM,HIGH, orOVERSUBSCRIBE.Quando
updateSingleCardinalityPropertiesestiver 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
queueRequestpara 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
dependenciestorna 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
idque 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
loadIdda 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 API do Neptune Loader Get-Status .
-
(Opcional) Cancele o trabalho de
Load.Digite o seguinte para
Deleteo trabalho do carregador com oidde trabalho da Etapa 3:curl -X DELETE 'https://your-neptune-endpoint:port/loader/ef478d76-d9da-4d94-8ff1-08d9d4863aa5'O comando
DELETEretorna o código HTTP200 OKapó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.