

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Herstellen einer Verbindung mit einer Neptune-DB-Instance über den HTTPS-REST-Endpunkt
<a name="access-graph-gremlin-rest"></a>

Amazon Neptune stellt einen HTTPS-Endpunkt für Gremlin-Abfragen bereit. Die REST-Schnittstelle ist mit jeder Gremlin-Version kompatibel, die Ihr DB-Cluster verwendet. (Auf der Seite [Engine-Version](engine-releases.md) der von Ihnen ausgeführten Engine-Version finden Sie Informationen zur unterstützten Gremlin-Version.)

**Anmerkung**  
Wie in [Verschlüsseln von Verbindungen zu Ihrer Amazon Neptune Neptune-Datenbank mit SSL/HTTPS](security-ssl.md) beschrieben, erforrdert Neptune jetzt, dass Sie die Verbindung über HTTPS und nicht über HTTP herstellen. Darüber hinaus unterstützt Neptune derzeit kein HTTP/2 für REST-API-Anfragen. Clients müssen HTTP/1.1 verwenden, wenn sie eine Verbindung zu Endpunkten herstellen.

Die folgenden Anweisungen führen Sie durch das Herstellen einer Verbindung zum Gremlin-Endpunkt mittels des `curl`-Befehls und HTTPS. Sie müssen diese Anweisungen für eine Amazon-EC2-Instance befolgen, die sich in derselben Virtual Private Cloud (VPC) wie Ihre Neptune-DB-Instance befindet.

Der HTTPS-Endpunkt für Gremlin-Abfragen an eine Neptune-DB-Instance ist `https://your-neptune-endpoint:port/gremlin`.

**Anmerkung**  
Informationen zum Ermitteln des Hostnamens Ihrer Neptune-DB-Instance finden Sie in [Verbinden mit Amazo-Neptune-Endpunkten](feature-overview-endpoints.md).

## Herstellen einer Verbindung mit Neptune über den HTTP-REST-Endpunkt
<a name="access-graph-gremlin-rest-connect"></a>

Die folgenden Beispiele zeigen, wie eine Gremlin-Abfrage an den REST-Endpunkt gesendet wird. Sie können das AWS SDK, das AWS CLI oder verwenden. **curl**

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

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

Weitere Informationen finden Sie [execute-gremlin-query](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/execute-gremlin-query.html)in der AWS CLI Befehlsreferenz.

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

 AWS SDK-Beispiele in anderen Sprachen wie Java, .NET und mehr finden Sie unter[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)"}'
```

**Anmerkung**  
In diesem Beispiel wird davon ausgegangen, dass Ihre AWS Anmeldeinformationen in Ihrer Umgebung konfiguriert sind. Ersetze es *us-east-1* durch die Region deines Neptun-Clusters.

Weitere Informationen zur Verwendung **awscurl** mit der IAM-Authentifizierung finden Sie unter. [Verwenden von `awscurl` mit temporären Anmeldeinformationen für sichere Verbindungen zu DB-Clustern mit aktivierter IAM-Authentifizierung](iam-auth-connect-command-line.md#iam-auth-connect-awscurl)

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

Im folgenden Beispiel wird **curl** zum Übermitteln einer Gremlin-Abfrage über HTTP **POST** verwendet. Die Abfrage wird im JSON-Format im Text des Posts als `gremlin`-Eigenschaft übermittelt.

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

Auch wenn zum Senden von Gremlin-Abfragen HTTP-**POST**-Anforderungen empfohlen werden, können Sie auch HTTP-**GET**-Anforderungen verwenden:

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

------

In diesen Beispielen wird der erste Scheitelpunkt im Diagramm mithilfe der `g.V().limit(1)` Traversierung zurückgegeben. Um etwas anderes abzufragen, ersetzen Sie diese durch eine andere Gremlin-Traversierung.

**Wichtig**  
Der REST-Endpunkt gibt standardmäßig alle Ergebnisse in einem einzelnen JSON-Ergebnissatz zurück. Wenn dieser Ergebnissatz zu groß ist, kann eine `OutOfMemoryError`-Ausnahme für die Neptune-DB-Instance auftreten.  
Sie können dies vermeiden, indem Sie die Aufteilung von Antworten aktivieren (Rückgabe der Ergebnisse in mehreren getrennten Antworten). Siehe [Verwenden optionaler nachgestellter HTTP-Header zum Aktivieren mehrteiliger Gremlin-Antworten](access-graph-gremlin-rest-trailing-headers.md).

**Anmerkung**  
Neptune unterstützt die Eigenschaft `bindings` nicht.