View a markdown version of this page

Hinweis zum Timeout bei OpenCypher-Abfragen - Amazon Neptune

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.

Hinweis zum Timeout bei OpenCypher-Abfragen

Das Abfrage-Timeout-Verhalten kann für jede Abfrage anhand eines Abfragehinweises auf Abfrageebene konfiguriert werden. QUERY:TIMEOUTMILLISECONDS Es muss zusammen mit der Klausel verwendet werden. USING Der Abfragehinweis akzeptiert einen Wert, der nicht negativ ist.

AWS CLI
aws neptunedata execute-open-cypher-query \ --endpoint-url https://your-neptune-endpoint:port \ --open-cypher-query "USING QUERY:TIMEOUTMILLISECONDS 100 MATCH(n) RETURN n LIMIT 1"

Weitere Informationen finden Sie unter https://docs.aws.amazon.com/cli/latest/reference/neptunedata/execute-open-cypher-query.html execute-open-cypher-query in der Befehlsreferenz. AWS CLI

SDK
import boto3 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_open_cypher_query( openCypherQuery='USING QUERY:TIMEOUTMILLISECONDS 100 MATCH(n) RETURN n LIMIT 1' ) print(response['results'])

AWS SDK-Beispiele in anderen Sprachen finden Sie unter. AWS SDK

awscurl
awscurl https://your-neptune-endpoint:port/openCypher \ --region us-east-1 \ --service neptune-db \ -X POST \ -d "query=USING QUERY:TIMEOUTMILLISECONDS 100 MATCH(n) RETURN n LIMIT 1"
Anmerkung

In diesem Beispiel wird davon ausgegangen, dass Ihre AWS Anmeldeinformationen in Ihrer Umgebung konfiguriert sind. us-east-1Ersetzen Sie durch die Region Ihres Neptune-Clusters.

curl
curl https://your-neptune-endpoint:port/openCypher \ -d "query=USING QUERY:TIMEOUTMILLISECONDS 100 MATCH(n) RETURN n LIMIT 1"

Beim Abfrage-Timeout wird das Minimum an Timeout auf Clusterebene und Timeout auf Abfrageebene berücksichtigt. Im Folgenden finden Sie Beispiele, um das Verhalten bei Abfrage-Timeouts zu verstehen. Weitere Informationen zum Abfrage-Timeout auf Cluster-Ebene finden Sie unter neptune_query_timeout. https://docs.aws.amazon.com/neptune/latest/userguide/parameters.html#parameters-db-cluster-parameters-neptune_query_timeout

# Suppose `neptune_query_timeout` is 10000 ms and query-level timeout is set to 100 ms # It will consider 100 ms as the final timeout curl https://your-neptune-endpoint:port/openCypher \ -d "query=USING QUERY:TIMEOUTMILLISECONDS 100 MATCH(n) RETURN n LIMIT 1" # Suppose `neptune_query_timeout` is 100 ms and query-level timeout is set to 10000 ms # It will still consider 100 ms as the final timeout curl https://your-neptune-endpoint:port/openCypher \ -d "query=USING QUERY:TIMEOUTMILLISECONDS 10000 MATCH(n) RETURN n LIMIT 1"

Wenn eine Abfrage den Timeout überschreitet, beendet Neptune sie und gibt einen Timeout-Fehler zurück. Ob eine Abfrage, bei der das Zeitlimit überschritten wurde, erneut versucht werden soll, hängt von der Art des Fehlers und Ihrer Arbeitslast ab. Anleitungen finden Sie unter Ausnahmebehandlung und Wiederholungen.