Usar o serviço Neptune-Export para exportar dados do Neptune - Amazon Neptune

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á.

Usar o serviço Neptune-Export para exportar dados do Neptune

É possível usar as etapas a seguir para exportar dados do cluster de banco de dados do Neptune para o Amazon S3 usando o serviço Neptune-Export:

Instalar o serviço Neptune-Export

Use um modelo do AWS CloudFormation para criar a pilha:

Como instalar o serviço Neptune-Export
  1. Inicie a pilha do AWS CloudFormation no console do AWS CloudFormation selecionando um dos botões Iniciar pilha na seguinte tabela:

    Região Visualização Visualizar no Designer Executar
    Leste dos EUA (Norte da Virgínia) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    Leste dos EUA (Ohio) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    Oeste dos EUA (N. da Califórnia) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    Oeste dos EUA (Oregon) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    Canadá (Central) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    América do Sul (São Paulo) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    Europa (Estocolmo) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    Europa (Irlanda) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    Europa (Londres) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    Europa (Paris) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    Europa (Frankfurt) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    Oriente Médio (Barém) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    Oriente Médio (Emirados Árabes Unidos) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    Israel (Tel Aviv) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    África (Cidade do Cabo) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    Ásia-Pacífico (Hong Kong) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    Ásia-Pacífico (Tóquio) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    Ásia-Pacífico (Seul) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    Ásia-Pacífico (Singapura) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    Ásia-Pacífico (Sydney) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    Ásia-Pacífico (Mumbai) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    China (Pequim) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    China (Ningxia) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    AWS GovCloud (Oeste dos EUA) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
    AWS GovCloud (Leste dos EUA) Visão Visualizar no Designer Orange button labeled "Launch Stack" with an arrow icon.
  2. Na página Select Template, escolha Next.

  3. Na página Especificar detalhes, defina os seguintes parâmetros:

    • VPC: a maneira mais fácil de configurar o serviço Neptune-Export é instalá-lo na mesma Amazon VPC do banco de dados Neptune. Se quiser instalá-lo em uma VPC separada, você poderá usar o emparelhamento da VPC para estabelecer conectividade entre a VPC do cluster de banco de dados do Neptune e a VPC do serviço Neptune-Export.

    • Subnet1: o serviço Neptune-Export deve ser instalado em uma sub-rede na VPC que permita tráfego HTTPS IPv4 de saída da sub-rede para a Internet. Isso é para que o serviço Neptune-Export possa chamar a API AWS Batch para criar e executar um trabalho de exportação.

      Se você criou o cluster do Neptune usando o modelo do CloudFormation na página Criar um cluster de banco de dados da documentação do Neptune, poderá usar as saídas PrivateSubnet1 e PrivateSubnet2 dessa pilha para preencher esse e o próximo parâmetro.

    • Subnet2: a segunda sub-rede na VPC que viabiliza tráfego HTTPS IPv4 de saída da sub-rede para a Internet.

    • EnableIAM: defina como true para proteger a API Neptune-Endpoint usando AWS Identity and Access Management (IAM). Recomendamos que você o faça.

      Se você habilitar a autenticação do IAM, deverá assinar com Sigv4 todas as solicitações HTTPS no endpoint. É possível usar uma ferramenta, como o awscurl, para assinar solicitações em seu nome.

    • VPCOnly: definir como true torna o endpoint de exportação somente para VPC, para que você só possa acessá-lo de dentro da VPC em que o serviço Neptune-Export está instalado. Isso restringe a API Neptune-Export para ser usada somente de dentro dessa VPC.

      Recomendamos que você defina VPCOnly como true.

    • NumOfFilesULimit : especifique um valor entre dez mil e um milhão para nofile na propriedade do contêiner ulimits. O padrão é dez mil, e recomendamos manter o padrão, a menos que o grafo contenha um grande número de rótulos exclusivos.

    • PrivateDnsEnabled (booliano): indica se você deseja ou não associar uma zona hospedada privada à VPC especificada. O valor padrão é true.

      Quando um endpoint da VPC é criado com esse sinalizador habilitado, todo o tráfego do API Gateway é direcionado pelo endpoint da VPC, e as chamadas públicas do endpoint do API Gateway são desabilitadas. Se você definir PrivateDnsEnabled como false, o endpoint público do API Gateway será habilitado, mas o serviço de exportação do Neptune não poderá ser conectado por meio do endpoint de DNS privado. Depois, é possível usar um endpoint do DNS público para que o endpoint da VPC chame o serviço de exportação, conforme detalhado aqui.

  4. Escolha Next (Próximo).

  5. Na página Options (Opções), escolha Next (Avançar).

  6. Na página Revisar, marque a primeira caixa de seleção para confirmar que o AWS CloudFormation criará recursos do IAM. Marque a segunda caixa de seleção para confirmar CAPABILITY_AUTO_EXPAND para a nova pilha.

    nota

    CAPABILITY_AUTO_EXPAND confirma explicitamente que os macros serão expandidos ao criar a pilha, sem revisão anterior. Os usuários geralmente criam um conjunto de alterações a partir de um modelo processado para que as alterações feitas pelos macros possam ser revisadas antes de criar a pilha. Para obter mais informações, consulte a API CreateStack do AWS CloudFormation.

    Em seguida, selecione Criar.

Habilitar o acesso ao Neptune por meio do Neptune-Export

Depois que a instalação do Neptune-Export for concluída, atualize o grupo de segurança da VPC do Neptune para permitir o acesso do Neptune-Export. Quando a pilha do AWS CloudFormation do Neptune-Export tiver sido criada, a guia Saídas incluirá um ID NeptuneExportSecurityGroup. Atualize o grupo de segurança da VPC do Neptune para permitir o acesso desse grupo de segurança do Neptune-Export.

Habilitar o acesso ao endpoint do Neptune-Export por meio de uma instância do EC2 baseada em VPC

Se você tornar o endpoint do Neptune-Export somente para VPC, só poderá acessá-lo de dentro da VPC em que o serviço Neptune-Export estiver instalado. Para viabilizar a conectividade de uma instância do Amazon EC2 na VPC a partir da qual você pode fazer chamadas à API do Neptune-Export, anexe o NeptuneExportSecurityGroup criado pela pilha AWS CloudFormation a essa instância do Amazon EC2.

Executar um trabalho do Neptune-Export usando a API do Neptune-Export

A guia Saídas da pilha AWS CloudFormation também inclui o NeptuneExportApiUri. Use esse URI sempre que enviar uma solicitação ao endpoint do Neptune-Export.

Executar um trabalho de exportação
  • Assegure-se de que o usuário ou o perfil sob o qual a exportação é executada tenha recebido a permissão execute-api:Invoke.

  • Se você definir o parâmetro EnableIAM como true na pilha AWS CloudFormation ao instalar o Neptune-Export, precisará assinar com Sigv4 todas as solicitações na API do Neptune-Export. Recomendamos usar o awscurl para fazer solicitações à API. Todos os exemplos aqui pressupõem que a autenticação do IAM esteja habilitada.

  • Se você definir o parâmetro VPCOnly como true na pilha AWS CloudFormation ao instalar o Neptune-Export, deverá chamar a API do Neptune-Export de dentro da VPC, normalmente de uma instância do Amazon EC2 localizada na VPC.

Para começar a exportar dados, envie uma solicitação ao endpoint NeptuneExportApiUri com os parâmetros de solicitação command e outputS3Path e um parâmetro de exportação endpoint.

Veja um exemplo de solicitação que exporta dados de grafos de propriedades do Neptune e os publica no Amazon S3:

curl \ (your NeptuneExportApiUri) \ -X POST \ -H 'Content-Type: application/json' \ -d '{ "command": "export-pg", "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export", "params": { "endpoint": "(your Neptune endpoint DNS name)" } }'

Da mesma forma, veja um exemplo de solicitação que exporta dados do RDF do Neptune para o Amazon S3:

curl \ (your NeptuneExportApiUri) \ -X POST \ -H 'Content-Type: application/json' \ -d '{ "command": "export-rdf", "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export", "params": { "endpoint": "(your Neptune endpoint DNS name)" } }'

Se você omitir o parâmetro de solicitação command, por padrão, o Neptune-Export tentará exportar dados do grafo de propriedades do Neptune.

Se o comando anterior fosse executado com êxito, a saída ficaria desta forma:

{ "jobName": "neptune-export-abc12345-1589808577790", "jobId": "c86258f7-a9c9-4f8c-8f4c-bbfe76d51c8f" }

Monitorar o trabalho de exportação que você acabou de iniciar

Para monitorar um trabalho em execução, anexe o jobID ao NeptuneExportApiUri, mais ou menos desta forma:

curl \ (your NeptuneExportApiUri)(the job ID)

Se o serviço ainda não tivesse iniciado o trabalho de exportação, a resposta ficaria desta forma:

{ "jobId": "c86258f7-a9c9-4f8c-8f4c-bbfe76d51c8f", "status": "pending" }

Quando você repete o comando após o início do trabalho de exportação, a resposta é mais ou menos esta:

{ "jobId": "c86258f7-a9c9-4f8c-8f4c-bbfe76d51c8f", "status": "running", "logs": "https://us-east-1.console.aws.amazon.com/cloudwatch/home?..." }

Se você abrir os logs no CloudWatch Logs usando o URI fornecido pela chamada de status, poderá monitorar detalhadamente o andamento da exportação:

Captura de tela da exibição do CloudWatch Logs.

Cancelar um trabalho de exportação em execução

Como cancelar o trabalho de exportação usando o AWS Management Console
  1. Abra o console AWS Batch em https://console.aws.amazon.com/batch/.

  2. Escolha Trabalhos.

  3. Localize o trabalho em execução que você deseja cancelar, com base no jobID.

  4. Selecione Cancelar trabalho.

Para cancelar um trabalho de exportação em execução usando a API de exportação do Neptune:

Envie uma solicitação HTTP DELETE ao NeptuneExportApiUri com o jobID anexado, desta forma:

curl -X DELETE \ (your NeptuneExportApiUri) (the job ID)