Exportar campos de parâmetros no objeto JSON params de nível superior - 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á.

Exportar campos de parâmetros no objeto JSON params de nível superior

O objeto JSON params de exportação do Neptune permite controlar a exportação, incluindo o tipo e o formato dos dados exportados.

Lista de campos possíveis no objeto params de parâmetros de exportação

Veja listados abaixo todos os possíveis campos de nível superior que podem aparecer em um objeto params. Somente um subconjunto desses campos aparece em qualquer objeto.

Lista de campos comuns a todos os tipos de exportação

Lista de campos para exportação de grafos de propriedades

Lista de campos para exportações do RDF

Campos comuns a todos os tipos de exportação

Campo cloneCluster em params

(Opcional). Padrão: false.

Se o parâmetro cloneCluster estiver definido como true, o processo de exportação usará um clone rápido do cluster de banco de dados:

"cloneCluster" : true

Por padrão, o processo de exportação exporta dados do cluster de banco de dados especificado usando parâmetros endpoint, endpoints ou clusterId. No entanto, se o cluster de banco de dados estiver em uso durante a exportação e os dados estiverem mudando, o processo de exportação não poderá garantir a consistência dos dados que estão sendo exportados.

Para garantir que os dados exportados sejam consistentes, use o parâmetro cloneCluster para exportar de um clone estático do cluster de banco de dados.

O cluster de banco de dados clonado é criado na mesma VPC do cluster de banco de dados de origem e herda as configurações de autenticação do grupo de segurança, do grupo de sub-redes e do banco de dados do IAM da origem. Quando a exportação estiver concluída, o Neptune excluirá o cluster de banco de dados clonado.

Por padrão, um cluster de banco de dados clonado consiste em uma única instância do mesmo tipo de instância da instância principal no cluster de banco de dados de origem. É possível alterar o tipo de instância usado para o cluster de banco de dados clonado especificando um diferente com cloneClusterInstanceType.

nota

Se você não usa a opção cloneCluster e está exportando diretamente do cluster de banco de dados principal, talvez seja necessário aumentar o tempo limite nas instâncias das quais os dados estão sendo exportados. Para grandes conjuntos de dados, o tempo limite deve ser definido como algumas horas.

Campo cloneClusterInstanceType em params

(Opcional).

Se o parâmetro cloneCluster estiver presente e definido como true, você poderá usar o parâmetro cloneClusterInstanceType para especificar o tipo de instância usado para o cluster de banco de dados clonado:

Por padrão, um cluster de banco de dados clonado consiste em uma única instância do mesmo tipo de instância da instância principal no cluster de banco de dados de origem.

"cloneClusterInstanceType" : "(for example, r5.12xlarge)"

Campo cloneClusterReplicaCount em params

(Opcional).

Se o parâmetro cloneCluster estiver presente e definido como true, você poderá usar o parâmetro cloneClusterReplicaCount para especificar o número de instâncias de réplica de leitura criadas no cluster de banco de dados clonado:

"cloneClusterReplicaCount" : (for example, 3)

Por padrão, um cluster de banco de dados clonado consiste em uma única instância principal. O parâmetro cloneClusterReplicaCount permite especificar quantas instâncias adicionais de réplica de leitura devem ser criadas.

Campo clusterId em params

(Opcional).

O parâmetro clusterId especifica o ID de um cluster de banco de dados a ser usado:

"clusterId" : "(the ID of your DB cluster)"

Se você usar o parâmetro clusterId, o processo de exportação usará todas as instâncias disponíveis nesse cluster de banco de dados para extrair dados.

nota

Os parâmetros endpoint, endpoints e clusterId são mutuamente exclusivos. Use um e somente um deles.

Campo endpoint em params

(Opcional).

Use endpoint para especificar um endpoint de uma instância do Neptune no cluster de banco de dados que o processo de exportação pode consultar para extrair dados (consulte Conexões do endpoint). Esse é somente o nome do DNS e não inclui o protocolo nem a porta:

"endpoint" : "(a DNS endpoint of your DB cluster)"

Use um endpoint de cluster ou de instância, mas não o endpoint de leitor principal.

nota

Os parâmetros endpoint, endpoints e clusterId são mutuamente exclusivos. Use um e somente um deles.

Campo endpoints em params

(Opcional).

Use endpoints para especificar uma matriz JSON de endpoints no cluster de banco de dados que o processo de exportação pode consultar para extrair dados (consulte Conexões do endpoint). Esses são somente nomes do DNS e não incluem o protocolo nem a porta:

"endpoints": [ "(one endpoint in your DB cluster)", "(another endpoint in your DB cluster)", "(a third endpoint in your DB cluster)" ]

Se você tiver várias instâncias no cluster (uma principal e uma ou mais réplicas de leitura), poderá melhorar o desempenho de exportação usando o parâmetro endpoints para distribuir consultas em uma lista desses endpoints.

nota

Os parâmetros endpoint, endpoints e clusterId são mutuamente exclusivos. Use um e somente um deles.

Campo profile em params

(Obrigatório para exportar dados de treinamento para o Neptune ML, a menos que o campo neptune_ml esteja presente no campo additionalParams).

O parâmetro profile fornece conjuntos de parâmetros pré-configurados para workloads específicas. No momento, o processo de exportação é compatível apenas com o perfil neptune_ml.

Se você estiver exportando dados de treinamento para o Neptune ML, adicione o seguinte parâmetro ao objeto params:

"profile" : "neptune_ml"

Campo useIamAuth em params

(Opcional). Padrão: false.

Se o banco de dados do qual você está exportando dados tiver a autenticação do IAM habilitada, deverá incluir o parâmetro useIamAuth definido como true:

"useIamAuth" : true

Campo includeLastEventId em params

Se você definir includeLastEventId como verdadeiro e o banco de dados do qual está exportando dados tiver os Fluxos do Neptune habilitados, o processo de exportação gravará um arquivo lastEventId.json no local de exportação especificado. Esse arquivo contém commitNum e opNum do último evento do fluxo.

"includeLastEventId" : true

Um banco de dados clonado criado pelo processo de exportação herda a configuração de fluxos do pai. Se o pai tiver fluxos habilitados, o clone também terá fluxos habilitados. O conteúdo do fluxo no clone refletirá o conteúdo do pai (incluindo os mesmos IDs de evento) no momento em que o clone foi criado.

Campos para exportação de grafos de propriedades

Campo concurrency em params

(Opcional). Padrão: 4.

O parâmetro concurrency especifica o número de consultas paralelas que o processo de exportação deve usar:

"concurrency" : (for example, 24)

Uma boa diretriz é definir o nível de simultaneidade como o dobro do número de vCPUs em todas as instâncias das quais você está exportando dados. Uma instância r5.xlarge, por exemplo, tem quatro vCPUs. Se você estiver exportando de um cluster de três instâncias r5.xlarge, poderá definir o nível de simultaneidade como 24 (= 3 x 2 x 4).

Se você estiver usando o serviço Neptune-Export, o nível de simultaneidade será limitado pela configuração jobSize. Um trabalho pequeno, por exemplo, é compatível com um nível de simultaneidade de oito. Se você tentar especificar um nível de simultaneidade de 24 para um trabalho pequeno usando o parâmetro concurrency, o nível efetivo permanecerá em oito.

Se você exportar de um cluster clonado, o processo de exportação calculará um nível de simultaneidade apropriado com base no tamanho das instâncias clonadas e no tamanho do trabalho.

Campo edgeLabels em params

(Opcional).

Use edgeLabels para exportar somente as bordas que têm rótulos especificados:

"edgeLabels" : ["(a label)", "(another label"]

Cada rótulo na matriz JSON deve ser um rótulo único e simples.

O parâmetro scope tem precedência sobre o parâmetro edgeLabels, portanto, se o valor scope não incluir bordas, o parâmetro edgeLabels não terá efeito.

Campo filter em params

(Opcional).

Use filter para especificar que somente nós e/ou bordas com rótulos específicos devem ser exportados e para filtrar as propriedades exportadas para cada nó ou borda.

A estrutura geral de um objeto filter, em linha ou em um arquivo de configuração de filtro, é a seguinte:

"filter" : { "nodes": [ (array of node label and properties objects) ], "edges": [ (array of edge definition an properties objects) ] }
  • nodes: contém uma matriz JSON de nós e propriedades de nós no seguinte formato:

    "nodes : [ { "label": "(node label)", "properties": [ "(a property name)", "(another property name)", ( ... ) ] } ]
    • label: o rótulo ou rótulos do grafo de propriedades do nó.

      Assume um único valor ou, se o nó tiver vários rótulos, uma matriz de valores.

    • properties: contém uma matriz dos nomes das propriedades do nó que você deseja exportar.

  • edges: contém uma matriz JSON de definições de borda no seguinte formato:

    "edges" : [ { "label": "(edge label)", "properties": [ "(a property name)", "(another property name)", ( ... ) ] } ]
    • label: o rótulo do grafo de propriedades da borda. Assume um único valor.

    • properties: contém uma matriz dos nomes das propriedades da borda que você deseja exportar.

Campo filterConfigFile em params

(Opcional).

Use filterConfigFile para especificar um arquivo JSON que contém uma configuração de filtro no mesmo formato assumido pelo parâmetro filter:

"filterConfigFile" : "s3://(your Amazon S3 bucket)/neptune-export/(the name of the JSON file)"

Consulte filtrar para conhecer o formato do arquivo filterConfigFile.

Campo format usado para dados do grafo de propriedades em params

(Opcional). Padrão: csv (valores separados por vírgula)

O parâmetro format especifica o formato de saída dos dados do grafo de propriedades exportado:

"format" : (one of: csv, csvNoHeaders, json, neptuneStreamsJson)

Campo gremlinFilter em params

(Opcional).

O parâmetro gremlinFilter permite fornecer um trecho do Gremlin, como uma etapa has(), que é usado para filtrar nós e bordas:

"gremlinFilter" : (a Gremlin snippet)

Os nomes dos campos e os valores das strings devem estar entre aspas duplas de escape. Para datas e horários, você pode usar o método datetime.

O exemplo a seguir exporta somente os nós e as bordas com uma propriedade de data de criação cujo valor é maior que 10/10/2021:

"gremlinFilter" : "has(\"created\", gt(datetime(\"2021-10-10\")))"

Campo gremlinNodeFilter em params

(Opcional).

O parâmetro gremlinNodeFilter permite fornecer um trecho do Gremlin, como uma etapa has(), que é usado para filtrar nós:

"gremlinNodeFilter" : (a Gremlin snippet)

Os nomes dos campos e os valores das strings devem estar entre aspas duplas de escape. Para datas e horários, você pode usar o método datetime.

O exemplo a seguir exporta somente aqueles nós com uma propriedade booliana deleted cujo valor é true:

"gremlinNodeFilter" : "has(\"deleted\", true)"

Campo gremlinEdgeFilter em params

(Opcional).

O parâmetro gremlinEdgeFilter permite fornecer um trecho do Gremlin, como uma etapa has(), que é usado para filtrar bordas:

"gremlinEdgeFilter" : (a Gremlin snippet)

Os nomes dos campos e os valores das strings devem estar entre aspas duplas de escape. Para datas e horários, você pode usar o método datetime.

O exemplo a seguir exporta somente aquelas bordas com uma propriedade numérica cujo valor cinco:

"gremlinEdgeFilter" : "has(\"strength\", 5)"

Campo nodeLabels em params

(Opcional).

Use nodeLabels para exportar somente aqueles nós que têm rótulos especificados:

"nodeLabels" : ["(a label)", "(another label"]

Cada rótulo na matriz JSON deve ser um rótulo único e simples.

O parâmetro scope tem precedência sobre o parâmetro nodeLabels, portanto, se o valor scope não incluir nós, o parâmetro nodeLabels não terá efeito.

Campo scope em params

(Opcional). Padrão: all.

O parâmetro scope especifica se você deve exportar somente nós, somente bordas ou nós e bordas:

"scope" : (one of: nodes, edges, or all)
  • nodes: exportar somente nós e as respectivas propriedades.

  • edges: exportar somente bordas e as respectivas propriedades.

  • all: exportar nós e bordas e as respectivas propriedades (o padrão).

Campos para exportação do RDF

Campo format usado para dados do RDF em params

(Opcional). Padrão: turtle

O parâmetro format especifica o formato de saída dos dados do RDF exportados:

"format" : (one of: turtle, nquads, ntriples, neptuneStreamsJson)

Campo rdfExportScope em params

(Opcional). Padrão: graph.

O parâmetro rdfExportScope especifica o escopo da exportação do RDF:

"rdfExportScope" : (one of: graph, edges, or query)
  • graph: exportar todos os dados do RDF.

  • edges: exportar somente os triplos que representam bordas.

  • query: exportar dados recuperados por uma consulta do SPARQL fornecida com o campo sparql.

Campo sparql em params

(Opcional).

O parâmetro sparql permite especificar uma consulta do SPARQL para recuperar os dados a serem exportados:

"sparql" : (a SPARQL query)

Se você fornecer uma consulta com o campo sparql, também deverá definir o campo rdfExportScope como query.

Campo namedGraph em params

(Opcional).

O namedGraph parâmetro permite que você especifique um IRI para limitar a exportação a um único gráfico nomeado:

"namedGraph" : (Named graph IRI)

O namedGraph parâmetro só pode ser usado com o rdfExportScope campo definido comograph.