Загрузить файл CSV из S3 в RDS PostgreSQL - PullRequest
0 голосов
/ 23 марта 2020

Я читаю файл из файловой системы после загрузки данных в PostgreSQL БД. Я хотел бы использовать код ниже, чтобы скопировать данные в базу данных. Однако я должен получить файл CSV из S3 вместо чтения из файловой системы. Я видел, что были утилиты, позволяющие загружать данные непосредственно из S3 в RDS - но в настоящее время это не поддерживается в моей организации. Как я могу передавать данные из файла CSV в S3 в PostgreSQL DB?

def load_data(conn, table_name, file_path):

    copy_sql = """
                   COPY %s FROM stdin WITH CSV HEADER
                   DELIMITER as ','
                   """

    cur = conn.cursor()

    f = open(file_path, 'r', encoding="utf-8")
    cur.copy_expert(sql=copy_sql % table_name, file=f)
    f.close()
    cur.close()
...