View a markdown version of this page

Raccomandazioni per l'utilizzo delle richieste di scrittura Gremlin in Lambda - Amazon Neptune

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à.

Raccomandazioni per l'utilizzo delle richieste di scrittura Gremlin in Lambda

Se la tua funzione Lambda modifica i dati del grafico, prendi in considerazione l'adozione di una back-off-and-retry strategia per gestire le seguenti eccezioni. Per una guida dettagliata sullo sviluppo di una strategia pratica di nuovi tentativi, consulta. Gestione di eccezioni e nuovi tentativi

  • ConcurrentModificationException: la semantica delle transazioni di Neptune prevede che le richieste di scrittura abbiano talvolta esito negativo con un'eccezione ConcurrentModificationException. In queste situazioni, prova un meccanismo di riprova esponenziale back-off-based.

  • ReadOnlyViolationException: poiché la topologia del cluster può cambiare in qualsiasi momento a seguito di eventi pianificati o non pianificati, le responsabilità di scrittura potrebbero essere trasferite da un'istanza del cluster a un'altra. Se il codice della funzione tenta di inviare una richiesta di scrittura a un'istanza che non è più l'istanza primaria (scrittura), la richiesta ha esito negativo e restituisce un'eccezione ReadOnlyViolationException. In questo caso, chiudi la connessione esistente, riconnettiti all'endpoint del cluster e ripeti la richiesta.

Inoltre, se utilizzi una back-off-and-retry strategia per gestire i problemi relativi alle richieste di scrittura, prendi in considerazione l'implementazione di query idempotenti per la creazione e l'aggiornamento delle richieste. Effettuare sconvolgimenti efficienti con i passaggi Gremlin mergeV () e mergEE ()