本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
現在,我們建議在 Lambda 執行內容的整個生命週期中使用單一連線和圖形周遊來源,而不是每個函數調用各有一個 (每個函數調用僅處理一個用戶端請求)。由於並行用戶端請求是由在個別執行內容中執行的不同函數執行個體處理的,因此不需要維護連線集區來處理函數執行個體內的並行請求。如果您使用的 Gemlin 驅動程式具有連線集區,請將其設定為只使用一個連線。
若要處理連線失敗,請對每個查詢使用重試邏輯。即使目標是在執行內容的生命週期內維護單一連線,但非預期的網路事件可能會導致該連線突然終止。這種連線失敗會顯示為不同的錯誤,取決於您使用的驅動程式。您應該編碼 Lambda 函數以處理這些連線問題,並在必要時嘗試重新連線。
一些 Gimlin 驅動程式會自動處理重新連線。例如,Java 驅動程式會自動嘗試代表您的用戶端程式碼重新建立與 Neptune 的連線。使用此驅動程式,您的函數程式碼只需要退避並重試查詢。相比之下,JavaScript 和 Python 驅動程式不會實作任何自動重新連線邏輯,因此使用這些驅動程式,您的函數程式碼必須在退避之後嘗試重新連線,並且僅在重新建立連線後才重新嘗試查詢。
這裡的程式碼範例確實包含重新連線邏輯,而不是假設用戶端正在處理它。