从部署在AWS Elastic Beanstalk上的S3 Bucket for Dash应用程序提供静态文件

时间:2019-01-11 03:56:56

标签: python amazon-web-services amazon-s3 amazon-elastic-beanstalk plotly-dash

我正在将自己在计算机上本地开发的Dash应用程序部署到AWS Elastic Beanstalk。我已经创建了EB环境,并已将一些CSV文件和静态图像加载到S3存储桶(位于名为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'))

我该如何精确地从创建EB环境时生成的S3存储桶中提供这些静态文件?我部署到EB环境的当前.zip文件包含application.pyrequirements.txtmodule1.py

我试图通过S3控制台公开这些静态文件,然后在application.py中显式链接S3 URL,但是我不确定这是正确的(或最安全的)方法。

非常感谢任何指导。

0 个答案:

没有答案