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 a IDs de borda embutidos Server-Generated . 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 UUID-based gerado pelo servidor é 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. Os IDs em linha da borda não são armazenados no dicionário, o que melhora a eficiência de armazenamento. Os IDs em linha gerados pelo servidor começam com o prefixo reservado neptune_reserved.
Atenção
O Neptune reserva o prefixo 'neptune_reserved' para IDs em linha gerados pelo servidor. 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": [] } } }