如何在 python 中从 AWS 下载数据



我是AWS和boto的新手。我要下载的数据在 AWS 上,并且我有访问密钥和私有密钥。我的问题是我不明白我找到的方法。例如,此代码:

import boto
import boto.s3.connection
def download_data_connect_s3(access_key, secret_key, region, bucket_name, key, local_path):
conn = boto.connect_s3(aws_access_key_id = access_key,
aws_secret_access_key = secret_key,
host='s3-{}.amazonaws.com'.format(region),
calling_format = boto.s3.connection.OrdinaryCallingFormat()
)
bucket = conn.get_bucket(bucket_name)
key = bucket.get_key(key)
key.get_contents_to_filename(local_path)
print('Downloaded File {} to {}'.format(key, local_path))
region = 'us-west-1'
access_key = # the key here
secret_key = # the secret key here
bucket_name = 'temp_name'
key = '<folder…/filename>' unique identifer
local_path = # local path
download_data_connect_s3(access_key, secret_key, region, bucket_name, key, local_path)

我不明白的是'key' 'bucket_name''local path'.与访问密钥和私有密钥相比,'key'是什么? 我没有得到'key'.另外,'bucket_name'是 AWS 上存储桶的名称(我没有提供存储桶名称(;和本地路径 我要保存数据的目录?

你是对的。

bucket_name= S3 存储桶的名称

key= 是对象键。它是存储桶一侧文件的完整路径。(例如:文件夹x中有一个名为a.txt的文件,因此key=x/a.txt。请参阅此链接

local_path= 要在本地计算机中保存数据的位置

听起来数据存储在Amazon S3中。

您可以使用 AWS 命令行界面 (CLI( 访问 Amazon S3。

要查看该账户中的存储桶列表,请执行以下操作:

aws s3 ls

要查看存储桶的内容,请执行以下操作:

aws s3 ls bucket-name

要将文件从存储桶复制到当前目录,请执行以下操作:

aws s3 cp s3://bucket-name/filename.txt .

或者同步整个文件夹:

aws s3 sync s3://bucket-name/folder/ local-folder/

最新更新