Рекомендуемое решение: https://docs.aws.amazon.com/lambda/latest/dg/vpc-rds.html
Кодовый питон скрипт (как прилагается) для вставки детали Биллера в Dev дб, она хорошо работает в моем тестировании на экземпляре DEV ec2 (ххх-Util-услуг). Он использует «awslambda-psycopg2» библиотеку для подключения Postgres.
https://github.com/jkehler/awslambda-psycopg2
Следующий шаг, чтобы сделать сценарий, чтобы быть AWS лямбда несовместим (с обработчиками лямбда-функции), а затем пакет с библиотекой в почтовый пакет AWS Lambda.
# ! / USR / бен / питон импорт psycopg2 из даты и времени импорта даты и времени DB_HOST = " xxxxxx-esb-xx.xxxxx.xx-xxxx.rds.xxxxx.com " db_port = 5432 db_name = " ххх " db_user = " ххх " db_pass = " хххх " db_table = " ххххх " biller_code = " 111111 " biller_short_name = " test_short " biller_long_name = " test_long " Защиту make_conn (): Conn = Отсутствует попытка : Conn = psycopg2.connect ( " имя_бд = пользователь '% s' = '% s' хост = '% S' пароль = '% s' " % (db_name , db_user, DB_HOST, db_pass)) печать « подключен к Postgres БД успешно » , за исключением : печать « Я не могу подключиться к базе данных » вернуться сопп попробовать : Соединение = make_conn () курсор =connection.cursor () cursor.execute ( " SELECT * FROM Billers , где biller_code = '% s'; " % biller_code) numOfRows = cursor.rowcount печати ( " % S строк поиска по коду Biller:% S " % (numOfRows, biller_code)) , если (numOfRows <= 0): дт = datetime.now () cursor.execute ( " вставить в Billers (biller_code, biller_short_name, biller_long_name, активный, min_length, max_length, регулярное_выражение, check_digit_algo, created_at, updated_at) значения (% не с,% s,% s, правда, 0, 100, 'NONE', 'нЕТ',% с,% s) ", (Biller_code, biller_short_name, biller_long_name, дт, дт)) connection.commit () для печати ( " за добавленные% S строк успешно " % cursor.rowcount) , за исключением (исключение, psycopg2.Error) в качестве ошибки: печать ( " Ошибка пойманы " , ошибка) , наконец : # соединение с базой данных закрытия. если (подключение): cursor.close () connection.close () печать ( " подключение PostgreSQL закрыто " )