

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo dell'endpoint HTTPS REST per connettersi a un'istanza database Neptune
<a name="access-graph-gremlin-rest"></a>

Amazon Neptune fornisce un endpoint HTTPS per le query Gremlin. L'interfaccia REST è compatibile con qualsiasi versione di Gremlin utilizzata dal cluster database (consulta la [pagina di rilascio del motore](engine-releases.md) della versione del motore Neptune che stai utilizzando per determinare quale rilascio di Gremlin supporta).

**Nota**  
Come illustrato in [Crittografia delle connessioni al tuo database Amazon Neptune con SSL/HTTPS](security-ssl.md), Neptune ora richiede la connessione tramite HTTPS anziché HTTP. Inoltre, Neptune attualmente non HTTP/2 supporta le richieste API REST. I client devono utilizzarlo HTTP/1.1 quando si connettono agli endpoint.

Le istruzioni seguenti mostrano come connettersi a un endpoint di Gremlin utilizzando il comando `curl` e HTTPS. Segui queste istruzioni da un'istanza Amazon EC2 nello stesso cloud privato virtuale (VPC) dell'istanza database Neptune.

L'endpoint HTTPS per le query Gremlin in un'istanza database Neptune è `https://{{your-neptune-endpoint}}:{{port}}/gremlin`.

**Nota**  
Per informazioni su come trovare il nome host dell'istanza database Neptune, consulta [Connessione agli endpoint Amazon Neptune](feature-overview-endpoints.md).

## Per connettersi a Neptune utilizzando l'endpoint HTTP REST
<a name="access-graph-gremlin-rest-connect"></a>

Gli esempi seguenti mostrano come inviare una query Gremlin all'endpoint REST. È possibile utilizzare l' AWS SDK, o. AWS CLI**curl**

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

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

Per ulteriori informazioni, vedete [execute-gremlin-query nel Command Reference](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/execute-gremlin-query.html). AWS CLI 

------
#### [ 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))
```

Per esempi AWS SDK in altri linguaggi come Java, .NET e altri, consulta. [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**  
Questo esempio presuppone che le tue AWS credenziali siano configurate nel tuo ambiente. Sostituisci {{us-east-1}} con la regione del tuo cluster Neptune.

Per ulteriori informazioni sull'utilizzo **awscurl** con l'autenticazione IAM, consulta. [Utilizzo di `awscurl` con credenziali temporanee per connettersi in modo sicuro a un cluster DB con autenticazione IAM abilitata](iam-auth-connect-command-line.md#iam-auth-connect-awscurl)

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

L'esempio seguente utilizza **curl** per inviare una query Gremlin tramite HTTP **POST**. La query viene inviata in formato JSON nel corpo del post come proprietà `gremlin`.

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

Sebbene le richieste HTTP **POST** siano consigliate per l'invio di query Gremlin, è possibile utilizzare anche le richieste HTTP **GET**:

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

------

Questi esempi restituiscono il primo vertice del grafico utilizzando l'`g.V().limit(1)`attraversamento. Per eseguire una query su qualcos'altro, sostituirlo con un altro attraversamento Gremlin.

**Importante**  
Per impostazione predefinita, l'endpoint REST restituisce tutti i risultati in un unico insieme di risultati JSON. Se questo insieme di risultati è troppo grande, può verificarsi un'eccezione `OutOfMemoryError` sull'istanza database Neptune.  
È possibile evitare tale problema abilitando le risposte in blocchi (risultati restituiti in una serie di risposte separate). Per informazioni, consulta [Utilizzo di intestazioni HTTP finali opzionali per abilitare le risposte Gremlin in più parti](access-graph-gremlin-rest-trailing-headers.md).

**Nota**  
Neptune non supporta la proprietà `bindings`.