我有一个 AWS Java Lambda 函数处理程序。它有两件事。
software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient
用于数据库连接。)通常,步骤 2 只需几十毫秒即可从 DynamoDB 获取项目。但是,每隔几个月,步骤 2 可能会花费长达 10 秒或更长时间,从而导致 Lambda 函数超时失败。由于这种情况非常罕见,我无法重现此问题。
我希望重现该问题并防止其再次发生。
您可以通过设置请求超时来简单地防止这种情况。如果请求通常在 10 毫秒内响应,那么客户端等待超过 10 秒是没有意义的,这是一个巨大的差异。
例如,将请求超时设置为 1 秒(非常宽松),以便任何可能被卡住的请求都将被终止,并且 SDK 重试将在 1.1 秒内返回该项目。