【发布时间】:2020-04-09 12:20:33
【问题描述】:
我正在尝试使用 python 脚本自动将文件从 AWS s3 下载到我的本地计算机。 python 脚本本身托管在 ubuntu(AWS ec2 实例)上,因此它无法识别我本地机器上的目录。
这是我的代码:
import os
import boto3
from boto3.session import Session
print("this script downloads the file from s3 to local machine")
s3 = boto3.resource('s3')
BUCKET_NAME = 'sfbucket.myBucket'
KEY = 'sf_events.json'
s3.Bucket(BUCKET_NAME).download_file(KEY, '/Users/Documents/my_file.json')
print('end')
但是,这给了我以下错误:
FileNotFoundError: [Errno 2] No such file or directory: '/Users/Documents/my_file.json.CDC5FEf4'
谁能告诉我我做错了什么?如果我将输出目录替换为/home/ubuntu/ 它可以正常工作,但我希望该文件在我的本地机器上。提前致谢。
【问题讨论】:
-
您是否在路径为
/Users/Documents的本地计算机上运行此代码? -
我不确定我是否理解您的评论。你是说代码应该是: s3.Bucket(BUCKET_NAME).download_file(KEY, '/Users/Documents/ ?
-
你在哪里运行整个 python 脚本?如果它与
/home/ubuntu一起工作,则表示一台 linux 机器,但不存在的路径是 Windows 一个 -
正确 - 我用 ubuntu (linux) 运行它
-
编辑问题以反映这一点。
标签: python amazon-s3 amazon-ec2 boto3