我是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/