Статус:
- Я создал новые таблицы в PostgreSQL-Database на Amazon RDS
- Я загрузил csv-файл в Bucket на Amazon S3
- через лямбда-функцию я подключился к Amazon S3 Buckets и Amazon RDS
Я могу прочитать csv-файл с помощью следующего кода
import csv, io, boto3
s3 = boto3.resource('s3')
client = boto3.client('s3',aws_access_key_id=Access_Key,aws_secret_access_key=Secret_Access_Key)
buf = io.BytesIO()
s3.Object('bucketname','filename.csv').download_fileobj(buf)
buf.seek(0)
while True:
line = buf.readlines(1)
print(line)
Проблема:
Не удается импортировать необходимые библиотеки Python, например, psycopg2, openpyxl и т. Д., Когда я пытался импортировать psycopg2
import psycopg2
Я получил информацию об ошибке:
Unable to import module 'myfilemane': No module named 'psycopg2._psycopg'
всначала я импортировал не модуль "psycopg2._psycopg", а "psycopg2".Я не знаю, где суффикс '_psycopg' от
. Во-вторых, я выполнил все шаги в документации: https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html (1. Создайте каталог. 2. Сохраните весь ваш исходный код Pythonфайлы (файлы .py) на корневом уровне этого каталога. 3. Установите любые библиотеки, используя pip на корневом уровне каталога. 4. Заархивируйте содержимое каталога project-dir)
И яЯ также прочитал эту документацию: https://docs.aws.amazon.com/lambda/latest/dg/vpc-rds-deployment-pkg.html
То же самое относится и к другим модулям или библиотекам, например, к openpyxl и т. д. Мне всегда говорили, что «модуль не назван» OneNameThatIHaveNotImported '"
Так же кто-нибудьЛюбая идея или кто знает другой способ, как можно через lambda-функцию отредактировать csv-файл на s3 и импортировать отредактированную версию в базу данных rds?
Заранее спасибо за помощь!