AWS Lambda может читать, но не записывать в RDS

#amazon-web-services #aws-lambda #amazon-rds #geopandas

#Amazon-веб-сервисы #aws-lambda #amazon-rds #Геопанды

Вопрос:

В настоящее время я пишу AWS Lambda, который будет записывать данные в базу данных RDS. Я могу читать из базы данных, но время ожидания соединения истекает при попытке записи в базу данных. Мне интересно, связано ли это с тем, что я пытаюсь записать geopandas DF в базу данных Postgres из aws lambda таким образом:

 eng = create_engine('postgresql://'   'postgres_db'   
                                ':'   'password'   
                                '@'   'host_loc'   
                                ':'   'port'   
                                '/'   'db_name')
                             .
                             .
                             .
                             .

df1.to_postgis('table1', con=eng, if_exists='replace', index=False)
df2.to_postgis('table2', con=eng, if_exists='replace', index=False)
 

Но скрипт продолжает сбой с:

 Response:
{
  "errorMessage": "Task timed out after 3.00 seconds"
}
 

Может ли быть причиной этого функция to_postgis geopandas и как я могу это исправить? Я знаю, что могу читать из базы данных, поскольку я успешно протестировал это в среде lambda. Сбой сценария происходит только при попытке использовать to_postgis для записи фреймов данных geopandas в postgis в моем экземпляре postgres.

Комментарии:

1. Может ли быть так, что эта операция записи занимает более 3 секунд, поэтому вам нужно увеличить время ожидания функции Lambda?

Ответ №1:

Время ожидания по умолчанию для функций AWS Lambda составляет 3 секунды. Тайм-аут предназначен для остановки «неуправляемых» задач, поскольку большинство функций Lambda выполняются только в течение доли секунды.

Вы можете увеличить это время максимум до 15 минут. Конфигурацию можно найти на странице при открытии функции.

Вероятно, операция записи в базу данных занимает слишком много времени, что приводит к таймауту функции Lambda. Если дать ему больше времени, это, скорее всего, решит проблему.

Комментарии:

1. Большое вам спасибо! Это было именно так! Я не слишком хорошо знаком с AWS Lambda, поэтому большое спасибо за вашу помощь и терпение!