Я в процессе развертывания приложения Dash, которое я разрабатывал локально на моей машине, в AWS Elastic Beanstalk. Я создал среду EB и загрузил несколько CSV-файлов и статических изображений в S3 Bucket (внутри папки с названием static
), предназначенной для обслуживания приложения Dash.
Вероятно, это основной вопрос для человека с небольшим опытом работы с AWS, но как мне указать пути к соответствующим файлам в моем основном application.py
файле?
Например, это будет моя локальная файловая структура (обратите внимание, что module1.py
импортируется в application.py
и содержит некоторые пользовательские классы):
-application.py
-requirements.txt
-module1.py
-static
-databases
-csv1.csv
-csv2.csv
-csv3.csv
-images
-image1.png
-image2.png
В настоящее время я пытаюсь прочитать мои данные, используя pandas
, вот так, и это работает локально:
img = os.path.join(os.getcwd(), 'static/images/image1.png')
df = pd.read_csv(os.path.join(os.getcwd(), 'static/databases/csv1.csv'))
Как именно я могу обслуживать эти статические файлы из моего сегмента S3, который был создан при создании среды EB? Текущий файл .zip, который я развертываю в своей среде EB, содержит application.py
, requirements.txt
и module1.py
.
Моя попытка состояла в том, чтобы сделать эти статические файлы общедоступными через консоль S3, а затем явно связать URL-адрес S3 в application.py
, однако я не уверен, что это правильный (или наиболее безопасный) подход.
Любое руководство очень ценится.