Мое приложение Rails использует AWS SDK v3 для вызова лямбда-функций следующим образом.
lambda_client = Aws::Lambda::Client.new(client_config)
lambda_return_value = lambda_client.invoke(
{
function_name: function_name,
invocation_type: 'RequestResponse',
log_type: 'None',
payload: generated_payload,
}
Большинство моих лямбда-функций выполняются успешно, но те, которые занимают больше ~ 60 секунд, приводят к следующему исключению на стороне ruby, даже если лямбда выполняется полностью
A Seahorse::Client::NetworkingError occurred in background at 2019-07-11 00:47:18 -0500 :
Net::ReadTimeout
Я просмотрел документацию и не могу найти способ установить более длительный тайм-аут для моего лямбда-вызова. Любые идеи, как заставить ruby ждать вызова, а не тайм-аута?





Привет, время ожидания Aws::Lambda::Client по умолчанию составляет 60, но вы можете изменить это при создании нового клиента. Установите :http_read_timeout в вашем client_config
client_config = {
....
http_read_timeout: 100
}
then create new client
lambda_client = Aws::Lambda::Client.new(client_config)
Для получения дополнительной информации: https://docs.aws.amazon.com/sdkforruby/api/Aws/Lambda/Client.html
Я надеюсь, что это полезно