питон операции с базами данных PostgreSQL

Рекомендуемое решение: 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 закрыто " )

 

рекомендация

отwww.cnblogs.com/iwangzheng/p/11294359.html