

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 endpoint REST HTTP para conectar-se a uma instância de banco de dados do Neptune
<a name="access-graph-gremlin-rest"></a>

O Amazon Neptune fornece um endpoint HTTP para consultas do Gremlin. A interface REST é compatível com qualquer versão do Gremlin que o cluster de banco de dados esteja usando (consulte a [página de versão do mecanismo](engine-releases.md) da versão do mecanismo do Neptune que você está executando para determinar qual versão do Gremlin é compatível).

**nota**  
Conforme abordado em [Criptografas conexões com seu banco de dados do Amazon Neptune com SSL/HTTPS](security-ssl.md), o Neptune agora exige que você se conecte usando HTTPS em vez de HTTP. Além disso, o Neptune atualmente não oferece suporte a HTTP/2 para solicitações da API REST. Os clientes devem usar HTTP/1.1 ao se conectar aos endpoints.

As instruções a seguir explicam como conectar-se ao endpoint do Gremlin usando o comando `curl` e HTTPS. Você deve seguir estas instruções em uma instância do Amazon EC2 na mesma nuvem privada virtual (VPC) que a instância de banco de dados do Neptune.

O endpoint HTTP para consultas do Gremlin para uma instância de banco de dados do Neptune é `https://{{your-neptune-endpoint}}:{{port}}/gremlin`.

**nota**  
Para obter informações sobre como localizar o nome do host da instância de banco de dados do Neptune, consulte [Conectar-se a endpoints do Amazon Neptune](feature-overview-endpoints.md).

## Como conectar-se ao Neptune usando o endpoint REST HTTP
<a name="access-graph-gremlin-rest-connect"></a>

Os exemplos a seguir mostram como enviar uma consulta Gremlin para o endpoint REST. Você pode usar o AWS SDK AWS CLI, o ou**curl**.

------
#### [ AWS CLI ]

```
aws neptunedata execute-gremlin-query \
  --endpoint-url https://{{your-neptune-endpoint}}:{{port}} \
  --gremlin-query "g.V().limit(1)"
```

Para obter mais informações, consulte [execute-gremlin-query](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/execute-gremlin-query.html)na Referência de AWS CLI Comandos.

------
#### [ SDK ]

```
import boto3
import json
from botocore.config import Config

client = boto3.client(
    'neptunedata',
    endpoint_url='https://{{your-neptune-endpoint}}:{{port}}',
    config=Config(read_timeout=None, retries={'total_max_attempts': 1})
)

response = client.execute_gremlin_query(
    gremlinQuery='g.V().limit(1)',
    serializer='application/vnd.gremlin-v3.0+json;types=false'
)

print(json.dumps(response['result'], indent=2))
```

Para exemplos de AWS SDK em outras linguagens, como Java, .NET e muito mais, consulte[AWS SDK](access-graph-gremlin-sdk.md).

------
#### [ awscurl ]

```
awscurl https://{{your-neptune-endpoint}}:{{port}}/gremlin \
  --region {{us-east-1}} \
  --service neptune-db \
  -X POST \
  -d '{"gremlin":"g.V().limit(1)"}'
```

**nota**  
Este exemplo pressupõe que suas AWS credenciais estejam configuradas em seu ambiente. {{us-east-1}}Substitua pela região do seu cluster Neptune.

Para obter mais informações sobre como usar **awscurl** com a autenticação do IAM, consulte[Usar `awscurl` com credenciais temporárias para se conectar com segurança a um cluster de banco de dados com a autenticação do IAM habilitada](iam-auth-connect-command-line.md#iam-auth-connect-awscurl).

------
#### [ curl ]

O exemplo a seguir usa o **curl** para enviar uma consulta do Gremlin por meio de HTTP **POST**. A consulta é enviada no formato JSON no corpo da postagem como a propriedade `gremlin`.

```
curl -X POST -d '{"gremlin":"g.V().limit(1)"}' https://{{your-neptune-endpoint}}:{{port}}/gremlin
```

Embora as solicitações HTTP **POST** sejam recomendadas para enviar consultas do Gremlin, também é possível usar solicitações HTTP **GET**:

```
curl -G "https://{{your-neptune-endpoint}}:{{port}}?gremlin=g.V().count()"
```

------

Esses exemplos retornam o primeiro vértice no gráfico usando a `g.V().limit(1)` travessia. É possível consultar outro elemento substituindo-o por outro percurso do Gremlin.

**Importante**  
Por padrão, o endpoint REST exibe todos os resultados em um único conjunto de resultados JSON. Se esse conjunto de resultados for grande demais, uma exceção `OutOfMemoryError` poderá ocorrer na instância de banco de dados do Neptune.  
É possível evitar isso habilitando respostas fragmentadas (resultados gerados em uma série de respostas separadas). Consulte [Usar cabeçalhos finais HTTP opcionais para habilitar respostas do Gremlin em várias partes](access-graph-gremlin-rest-trailing-headers.md).

**nota**  
O Neptune não é compatível com a propriedade `bindings`.