View a markdown version of this page

Hinweis auf das Timeout für 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 auf das Timeout für OpenCypher-Abfragen

Das Verhalten beim Abfrage-Timeout 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 nichtnegative Werte vom Typ long als Wert.

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 execute-open-cypher-queryin der AWS CLI Befehlsreferenz.

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 unterAWS 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. Ersetze es us-east-1 durch die Region deines Neptun-Clusters.

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

Beim Verhalten beim Abfrage-Timeout wird das Minimum an Timeout auf Clusterebene und Timeout auf Abfrageebene berücksichtigt. Im Folgenden finden Sie Beispiele, um das Verhalten von Abfrage-Timeouts zu verstehen. Weitere Informationen zum Abfrage-Timeout auf Clusterebene finden Sie unter 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 das Timeout überschreitet, beendet Neptune sie und gibt einen Timeout-Fehler zurück. Ob Sie eine Abfrage, bei der das Timeout abgelaufen ist, erneut versuchen müssen, hängt von der Art des Fehlers und Ihrer Arbeitslast ab. Anleitungen finden Sie unter Ausnahmebehandlung und Wiederholungen.