如何使用Python3将文件从Docker目录复制到S3存储桶

时间:2019-10-23 08:58:00

标签: docker amazon-s3 python-3.6

下面的Docker文件中是代码,当使用AWS Cloud Formation&Pipeline执行我的Python代码时,它将创建一个.txt file (abc.txt) under /proj

FROM python:3
WORKDIR /proj

当Python作业执行完成时,Docker会话终止。因此,在完成Python作业之前,我想将abc.txt(来自Docker)文件复制到AWS S3存储桶。这可能吗?我该怎么做到。

已经尝试过

RUN aws s3 COPY /proj/ s3://filepath_on_s3 

我的Docker文件的前2行:

FROM python:3
WORKDIR /proj

解决方案:现在,使用下面的代码行,我可以将文件(在docer vm中)传输到S3存储桶。之后需要在docker上设置awscli,然后在上载的PY代码中使用boto3来使用upload_file命令。

####Docker file
RUN apt-get update && apt-get install -y awscli
ENV AWS_ACCESS_KEY_ID=ABBXXXXXXXXXXXXXXX
ENV AWS_SECRET_ACCESS_KEY=XARXXXXXXXXXXXXXXx
ENV AWS_DEFAULT_REGION=us-west-2
###Python code
s3 = boto3.resource('s3')
s3.Bucket('Mybucket').upload_file('/proj/'+logfile, 'Logs/'+logfile)

0 个答案:

没有答案