ID de borda em linha do Neptune gerado pelo servidor - 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á.

ID de borda em linha do Neptune gerado pelo servidor

O Neptune oferece suporte ao Server-Generated Edge em linha. IDs Ele pode ser habilitado pelo parâmetro de configuração neptune_enable_inline_server_generated_edge_id quando neptune_streams não está habilitado. Esse recurso está disponível para consultas do Gremlin a partir da versão 1.4.3.0 do motor e estará disponível para consultas OpenCypher em uma versão futura.

O ID de borda é um identificador exclusivo para uma borda. Um ID de borda pode ser fornecido ao inserir uma borda. Se nenhum ID for fornecido, o servidor gera e atribui um ID baseada em UUID à borda por padrão. Assim como o ID definido pelo usuário, o ID gerado pelo servidor baseado em UUID é armazenado no dicionário.

Quando o recurso neptune_enable_inline_server_generated_edge_id está habilitado, o servidor gera um ID em linha exclusivo quando nenhum ID é fornecido na consulta. As bordas embutidas não IDs são armazenadas no dicionário, melhorando a eficiência do armazenamento. O embutido gerado pelo servidor IDs começa com o prefixo reservado. neptune_reserved

Atenção

Neptune reserva o prefixo para 'neptune_reserved' o servidor gerado em linha. IDs Um erro é exibido em consultas que tentam inserir dados com um ID definido pelo usuário que comece com o prefixo reservado.

O recurso de ID de borda em linha gerado pelo servidor pode ser habilitado definindo o parâmetro de nível de cluster neptune_enable_inline_server_generated_edge_id como 1. É preciso reiniciar a instância. O seguinte exemplo habilita o recurso de ID de borda gerado pelo servidor:

"ParameterName=neptune_enable_inline_server_generated_edge_id,ParameterValue=1,ApplyMethod=pending-reboot"

Para verificar se o recurso está habilitado, verifique os recursos no status do mecanismo. Esse recurso é desabilitado automaticamente se neptune_streams estiver habilitado. O seguinte exemplo de saída mostra o status do mecanismo do recurso habilitado:

"features":{"InlineServerGeneratedEdgeId":"enabled"}

O seguinte exemplo do Gremlin adiciona uma borda sem um ID definido pelo usuário quando o recurso de ID de borda gerado pelo servidor em linha está habilitado:

curl - X POST--url https: //<neptune-cluster-endpoint>:8182/gremlin/ --data '{"gremlin":"g.withSideEffect(\"Neptune#disablePushdownOptimization\", true).addV().property(id, \"a\").addV().property(id, \"b\").addE(\"el\").to(V(\"a\"))"}' { "requestId": "b6b84605-53ad-4c04-baf1-7f0f31a3aeaf", "status": { "message": "", "code": 200, "attributes": { "@type": "g:Map", "@value": [] } }, "result": { "data": { "@type": "g:List", "@value": [{ "@type": "g:Edge", "@value": { "id": "neptune_reserved_231850767", "label": "el", "inVLabel": "vertex", "outVLabel": "vertex", "inV": "a", "outV": "b" } }] }, "meta": { "@type": "g:Map", "@value": [] } } }