Amazon web services 如何用python从AWS下载数据
我是AWS和boto的新手。我想下载的数据在AWS上,我有访问密钥和密钥。我的问题是我不理解我找到的方法。例如,此代码:Amazon web services 如何用python从AWS下载数据,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,我是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,\
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)
我不明白的是“密钥”“bucket\u name”和“local path”。与访问密钥和秘密密钥相比,“密钥”是什么?我没有得到“钥匙”。另外,“bucket_name”是AWS上的bucket名称吗?我没有提供bucket名称;本地路径—我要保存数据的目录?你说得对
bucket\u name=S3存储桶的名称
key=是对象键。它是存储桶中文件的完整路径。例如:在文件夹x中有一个名为a.txt的文件,所以key=x/a.txt。指
local_path=您希望在本地计算机中保存数据的位置听起来数据存储在Amazon S3中 您可以使用访问AmazonS3 要查看该帐户中的存储桶列表,请执行以下操作:
aws s3 ls
要查看存储桶的内容,请执行以下操作:
aws s3 ls bucket-name
要将文件从bucket复制到当前目录,请执行以下操作:
aws s3 cp s3://bucket-name/filename.txt .
或同步整个文件夹:
aws s3 sync s3://bucket-name/folder/ local-folder/
这是否意味着我需要创建自己的bucket来将数据下载到?您是否拥有该文件,或者您知道该文件在哪里?我不知道,我只获得了访问密钥和密钥,并且被告知数据在AWS上。所以bucket name是我要下载的数据bucket的名称,而不是控制台上的bucket,对吗?那么,数据bucket不存在于您的AWS帐户中?为了从S3下载文件,您需要3件事。数据桶、s3对象密钥中的文件路径和您的访问密钥具有获取对象的权限