Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Comando do carregador do Neptune

Modo de foco
Comando do carregador 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á.

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

Carrega dados de um bucket do Amazon S3 em uma instância de banco de dados do Neptune.

Para carregar os dados, você deve enviar uma solicitação HTTP POST ao endpoint https://your-neptune-endpoint:port/loader. Os parâmetros da solicitação de loader podem ser enviados no corpo do POST ou como parâmetros codificados por URL.

Importante

O tipo MIME deve ser application/json.

O bucket do S3 deve estar na mesma AWS região do cluster.

nota

Você poderá carregar dados criptografados do Amazon S3 se ele foi criptografado usando o modo SSE-S3 do Amazon S3. Nesse caso, o Neptune pode personificar suas credenciais e emitir chamadas s3:getObject em seu nome.

Você também pode carregar dados criptografados do Amazon S3 que foram criptografados usando o modo SSE-KMS, desde que o perfil do IAM inclua as permissões necessárias para acessar o AWS KMS. Sem AWS KMS as permissões adequadas, a operação de carregamento em massa falha e retorna uma LOAD_FAILED resposta.

No momento, o Neptune não é compatível com o carregamento de dados criptografados do Amazon S3 usando o modo SSE-C.

Não é necessário aguardar a conclusão de um trabalho de carregamento antes de iniciar outro. O Neptune poderá colocar na fila até 64 solicitações de trabalho por vez, desde que os parâmetros queueRequest estiverem definidos como "TRUE". A ordem da fila dos trabalhos será first-in-first-out (FIFO). Por outro lado, se não quiser que um trabalho de carga seja colocado na fila, é possível definir o parâmetro queueRequest como "FALSE" (padrão), para que o trabalho de carga falhe se outro já estiver em andamento.

É possível usar o parâmetro dependencies para enfileirar um trabalho que deve ser executado somente após os trabalhos anteriores especificados na fila terem sido concluídos com êxito. Se fizer isso e qualquer um desses trabalhos especificados falharem, o trabalho não será executado e o status será definido como LOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED.

Sintaxe da solicitação do carregador do Neptune

{ "source" : "string", "format" : "string", "iamRoleArn" : "string", "mode": "NEW|RESUME|AUTO", "region" : "us-east-1", "failOnError" : "string", "parallelism" : "string", "parserConfiguration" : { "baseUri" : "http://base-uri-string", "namedGraphUri" : "http://named-graph-string" }, "updateSingleCardinalityProperties" : "string", "queueRequest" : "TRUE", "dependencies" : ["load_A_id", "load_B_id"] }

Parâmetros de solicitação do carregador do Neptune

  • source: um URI do Amazon S3.

    O parâmetro SOURCE aceita um URI do Amazon S3 que identifica um único arquivo, vários arquivos, uma pasta ou várias pastas. O Neptune carrega todos os arquivos de dados em qualquer pasta especificada.

    O URI pode 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 object-key-name elemento do URI é equivalente ao parâmetro de prefixo em uma chamada de API do Amazon ListObjectsS3. Ele identifica todos os objetos no bucket do Amazon S3 especificado cujos nomes começam com esse prefixo. Pode ser um único arquivo ou pasta, ou vários arquivos e/ou pastas.

    A pasta ou as pastas especificadas podem conter vários arquivos de vértice e vários arquivos de borda.

    Por exemplo, se você tivesse a seguinte estrutura de pastas e arquivos em um bucket do Amazon S3 chamado: bucket-name

    s3://bucket-name/a/bc s3://bucket-name/ab/c s3://bucket-name/ade s3://bucket-name/bcd

    Se o parâmetro de origem for especificado comos3://bucket-name/a, os três primeiros arquivos serão carregados.

    s3://bucket-name/a/bc s3://bucket-name/ab/c s3://bucket-name/ade
  • format: o formato dos dados. Para obter mais informações sobre os formatos de dados para o comando Loader do Neptune, consulte Usando o carregador em massa Amazon Neptune para ingerir dados.

  • iamRoleArn: o nome do recurso da Amazon (ARN) de um perfil do IAM a ser assumido pela instância de banco de dados do Neptune para acesso ao bucket do S3. 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.

    A partir da versão 1.2.1.0.R3 do mecanismo, você também pode encadear várias funções do IAM se a instância de banco de dados Neptune e o bucket do Amazon S3 estiverem localizados em contas diferentes. AWS Nesse caso, iamRoleArn contém uma lista de funções separada por vírgulas ARNs, conforme descrito em. Encadear perfis do IAM no Amazon Neptune Por exemplo:

    curl -X POST https://localhost:8182/loader \ -H 'Content-Type: application/json' \ -d '{ "source" : "s3://(the target bucket name)/(the target date file name)", "iamRoleArn" : "arn:aws:iam::(Account A ID):role/(RoleA),arn:aws:iam::(Account B ID):role/(RoleB),arn:aws:iam::(Account C ID):role/(RoleC)", "format" : "csv", "region" : "us-east-1" }'
  • region— O region parâmetro deve corresponder à AWS região do cluster e ao bucket do S3.

    O Amazon Neptune está disponível nas seguintes regiões da :

    • 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 (Emirados Árabes Unidos): 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 (Malásia): ap-southeast-5

    • Á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

  • mode: o modo do trabalho de carga.

    Valores permitidos: RESUME, NEW, AUTO.

    Valor padrão: AUTO

    • RESUME: no modo RESUME, o carregador procura uma carga anterior dessa origem e, se encontrar, retomará esse trabalho de carga. Se nenhum trabalho de carga anterior for encontrado, o carregador será interrompido.

      O carregador evita recarregar arquivos que foram carregados com êxito em um trabalho anterior. Ele só tenta processar arquivos com falha. Se você descartou anteriormente dados carregados do cluster do Neptune, esses dados não serão recarregados nesse modo. Se um trabalho de carga anterior carregou todos os arquivos da mesma origem com êxito, nada será recarregado, e o recarregador exibirá êxito.

    • NEW: no modo NEW, cria uma solicitação de carga, independentemente de quaisquer cargas anteriores. É possível usar esse modo para recarregar todos dados de uma origem depois de eliminar dados carregados anteriormente do cluster do Neptune ou de carregar novos dados disponíveis na mesma origem.

    • AUTO: no modo AUTO, o carregador procura um trabalho de carga anterior da mesma origem e, se encontrar, retomará esse trabalho, assim como no modo RESUME.

      Se o carregador não encontrar um trabalho de carga anterior da mesma origem, ele carregará todos os dados da origem, assim como no modo NEW.

  • failOnError: sinalizador para alternar uma interrupção completa em um erro.

    Valores permitidos: "TRUE", "FALSE"

    Valor padrão: "TRUE".

    Quando este parâmetro estiver configurado como "FALSE", o carregador tentará carregar todos os dados no local especificado, ignorando as entradas com erros.

    Quando este parâmetro for definido como "TRUE", o carregador será interrompido assim que encontrar um erro. Os dados carregados até esse momento serão mantidos.

  • parallelism: é um parâmetro opcional que pode ser definido para reduzir o número de threads usados pelo processo de carregamento em massa.

    Valores permitidos:

    • LOW— O número de threads usados é o número de v disponíveis CPUs dividido por 8.

    • MEDIUM— O número de threads usados é o número de v disponíveis CPUs dividido por 2.

    • HIGH— O número de threads usados é igual ao número de v disponíveisCPUs.

    • OVERSUBSCRIBE— O número de threads usados é o número de v disponíveis CPUs multiplicado por 2. Se esse valor for usado, o carregador em massa usará todos os recursos disponíveis.

      No entanto, isso não significa que a configuração OVERSUBSCRIBE resulte em 100% de utilização da CPU. Como a operação de carga está limitada à E/S, a maior utilização esperada da CPU está na faixa de 60% a 70%.

    Valor padrão: HIGH

    Às vezes, a configuração parallelism pode causar um deadlock entre os threads ao carregar dados do openCypher. Quando isso acontece, o Neptune gera o erro LOAD_DATA_DEADLOCK. Geralmente, é possível corrigir o problema definindo uma configuração parallelism mais baixa e tentando novamente o comando de carregamento.

  • parserConfiguration: um objeto opcional com valores de configuração de analisador adicional. Os parâmetros filho também são opcionais:

    Name Valor de exemplo Descrição
    namedGraphUri http://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph O gráfico padrão para todos os formatos RDF quando nenhum gráfico for especificado (para formatos non-quads e entradas NQUAD sem gráfico). O padrão é http://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph
    baseUri http://aws.amazon.com/neptune/default O URI base para formatos RDF/XML e Turtle. O padrão é http://aws.amazon.com/neptune/default.
    allowEmptyStrings true

    É necessário que os usuários do Gremlin possam transmitir valores de string vazios (“”) como propriedades de nós e bordas ao carregar dados CSV. Se allowEmptyStrings estiver definido como false (o padrão), essas strings vazias serão tratadas como nulas e não serão carregadas.

    Se allowEmptyStrings estiver definido como true, o carregador tratará strings vazias como valores de propriedade válidos e as carregará adequadamente.

    Para obter mais informações, consulte Gráfico padrão e gráficos nomeados do SPARQL.

  • updateSingleCardinalityProperties: é um parâmetro opcional que controla como o carregador em massa trata um novo valor das propriedades de vértice de cardinalidade única ou de borda. Isso não é compatível com o carregamento de dados do openCypher (consulte Carregar dados do openCypher).

    Valores permitidos: "TRUE", "FALSE"

    Valor padrão: "FALSE".

    Por padrão, ou quando updateSingleCardinalityProperties está explicitamente definido como "FALSE", o carregador trata um novo valor como um erro, porque ele viola a cardinalidade única.

    Quando updateSingleCardinalityProperties está definido como "TRUE", por outro lado, o carregador em massa substitui o valor existente pelo novo. Se vários valores de propriedade de vértice de cardinalidade única ou de ponto forem fornecidos nos arquivos de origem que estão sendo carregados, o valor final quando o carregamento em massa terminar poderá ser qualquer um desses novos valores. O carregador só garante que o valor existente tenha sido substituído por um dos novos.

  • queueRequest: é um parâmetro de sinalizador opcional que indica se a solicitação de carga pode ser colocada na fila ou não.

    Não é necessário esperar um trabalho de carga ser concluído antes de emitir o próximo, porque o Neptune pode colocar na fila até 64 trabalhos por vez, desde que os parâmetros queueRequest estejam todos definidos como "TRUE". A ordem da fila dos trabalhos será first-in-first-out (FIFO).

    Se o parâmetro queueRequest for omitido ou definido como "FALSE", a solicitação de carga falhará se outro trabalho de carga já estiver em execução.

    Valores permitidos: "TRUE", "FALSE"

    Valor padrão: "FALSE".

  • dependencies: é um parâmetro opcional que pode tornar uma solicitação de carga na fila dependente da conclusão com êxito de um ou mais trabalhos anteriores na fila.

    O Neptune poderá colocar na fila até 64 solicitações de carga por vez se os parâmetros queueRequest estiverem definidos como "TRUE". O parâmetro dependencies permite executar a solicitação enfileirada dependente da conclusão com êxito de uma ou mais solicitações anteriores especificadas na fila.

    Por exemplo, se as cargas Job-A e Job-B forem interdependentes, mas a carga Job-C precisar que a Job-A e a Job-B sejam concluídas antes de começar, prossiga da seguinte forma:

    1. Envie load-job-A e load-job-B, uma após a outra, em qualquer ordem e salve os load-ids.

    2. Envie load-job-C com os load-ids dos dois trabalhos no campo dependencies:

    "dependencies" : ["job_A_load_id", "job_B_load_id"]

    Devido ao parâmetro dependencies, o carregador em massa não iniciará a Job-C até que a Job-A e a Job-B tenham sido concluídas com êxito. Se uma delas falhar, a Job-C não será executada e o status será definido como LOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED.

    É possível configurar vários níveis de dependência desta forma, para que a falha de um trabalho faça com que todas as solicitações direta ou indiretamente dependentes sejam canceladas.

  • userProvidedEdgeIds— Esse parâmetro é necessário somente ao carregar dados do OpenCypher que contêm relacionamento. IDs Ele deve ser incluído e configurado para True quando os relacionamentos do OpenCypher IDs forem fornecidos explicitamente nos dados de carregamento (recomendado).

    Quando userProvidedEdgeIds está ausente ou definido como True, uma coluna :ID deve estar presente em cada arquivo de relacionamento no carregamento.

    Quando userProvidedEdgeIds está presente e definido como False, os arquivos de relacionamento no carregamento não devem conter uma coluna :ID. Em vez disso, o carregador do Neptune gera automaticamente um ID para cada relacionamento.

    É útil fornecer uma relação IDs explícita para que o carregador possa retomar o carregamento após a correção do erro nos dados CSV, sem precisar recarregar nenhuma relação que já tenha sido carregada. Se o relacionamento não IDs tiver sido atribuído explicitamente, o carregador não poderá retomar um carregamento com falha se algum arquivo de relacionamento precisar ser corrigido e, em vez disso, deverá recarregar todos os relacionamentos.

  • accessKey: [obsoleto] um ID de chave de acesso de um perfil do IAM com acesso ao bucket do S3 e arquivos de dados.

    Em vez disso, o parâmetro iamRoleArn será recomendado. 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.

    Para obter mais informações, consulte Chaves de acesso (ID da chave de acesso e chave de acesso secreta).

  • secretKey: [obsoleto] O parâmetro iamRoleArn será recomendado em vez disso. 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.

    Para obter mais informações, consulte Chaves de acesso (ID da chave de acesso e chave de acesso secreta).

Considerações especiais sobre o carregamento de dados do openCypher

  • Ao carregar dados do openCypher no formato CSV, o parâmetro de formato deverá ser definido como opencypher.

  • O parâmetro updateSingleCardinalityProperties não é compatível com carregamento do openCypher porque todas as propriedades do openCypher têm cardinalidade única. O formato de carregamento do openCypher não é compatível com matrizes e, se um valor de ID aparecer mais de uma vez, ele será tratado como uma duplicação ou um erro de inserção (veja abaixo).

  • O carregador do Neptune trata as duplicações encontradas nos dados do openCypher da seguinte forma:

    • Se o carregador encontrar várias linhas com o mesmo ID de nó, elas serão mescladas usando a seguinte regra:

      • Todos os rótulos nas linhas são adicionados ao nó.

      • Para cada propriedade, somente um dos valores é carregado. A seleção do que será carregado não é determinística.

    • Se o carregador encontrar várias linhas com o mesmo ID de relacionamento, somente uma delas será carregada. A seleção de uma para carregamento não é determinística.

    • O carregador nunca atualizará os valores das propriedades de um nó ou relacionamento existente no banco de dados se encontrar dados de carregamento com o ID do nó ou do relacionamento existente. No entanto, ele carrega rótulos e propriedades de nós que não estão presentes no nó ou no relacionamento existente.

  • Embora você não precise atribuir IDs a relacionamentos, geralmente é uma boa ideia (veja o userProvidedEdgeIds parâmetro acima). Sem um relacionamento explícito IDs, o carregador deve recarregar todos os relacionamentos em caso de erro em um arquivo de relacionamento, em vez de retomar o carregamento de onde ele falhou.

    Além disso, se os dados de carregamento não contiverem uma relação explícita IDs, o carregador não tem como detectar relações duplicadas.

Veja a seguir o exemplo de um comando de carregamento do openCypher:

curl -X POST https://your-neptune-endpoint:port/loader \ -H 'Content-Type: application/json' \ -d ' { "source" : "s3://bucket-name/object-key-name", "format" : "opencypher", "userProvidedEdgeIds": "TRUE", "iamRoleArn" : "arn:aws:iam::account-id:role/role-name", "region" : "region", "failOnError" : "FALSE", "parallelism" : "MEDIUM", }'

A resposta do carregador é a mesma de sempre. Por exemplo:

{ "status" : "200 OK", "payload" : { "loadId" : "guid_as_string" } }

Sintaxe da resposta do carregador do Neptune

{ "status" : "200 OK", "payload" : { "loadId" : "guid_as_string" } }
200 OK

O trabalho de carga iniciado com êxito retorna um código 200.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.