如何使用boto上传文件到S3存储桶中的目录

15 浏览
0 Comments

如何使用boto上传文件到S3存储桶中的目录

我想使用Python在S3存储桶中复制文件。

例如:我有一个名为test的存储桶。在该存储桶中,我有两个名为“dump”和“input”的文件夹。现在我想使用Python将本地目录中的文件复制到S3“dump”文件夹中… 有人可以帮我吗?

admin 更改状态以发布 2023年5月21日
0
0 Comments
import boto3
s3 = boto3.resource('s3')
BUCKET = "test"
s3.Bucket(BUCKET).upload_file("your/local/file", "dump/file")

:这段内容是HTML代码,表示为加粗的数字123。

0
0 Comments

注意:此答案使用boto。 参见使用boto3其他答案,该答案是更新版

尝试这个...

import boto
import boto.s3
import sys
from boto.s3.key import Key
AWS_ACCESS_KEY_ID = ''
AWS_SECRET_ACCESS_KEY = ''
bucket_name = AWS_ACCESS_KEY_ID.lower() + '-dump'
conn = boto.connect_s3(AWS_ACCESS_KEY_ID,
        AWS_SECRET_ACCESS_KEY)
bucket = conn.create_bucket(bucket_name,
    location=boto.s3.connection.Location.DEFAULT)
testfile = "replace this with an actual filename"
print 'Uploading %s to Amazon S3 bucket %s' % \
   (testfile, bucket_name)
def percent_cb(complete, total):
    sys.stdout.write('.')
    sys.stdout.flush()
k = Key(bucket)
k.key = 'my test file'
k.set_contents_from_filename(testfile,
    cb=percent_cb, num_cb=10)

[更新]我不是一个python程序员,所以感谢您提供有关导入语句的提示。此外,我不建议将凭据放在您自己的源代码中。如果您在AWS内部运行此代码,请使用带有实例配置文件的IAM凭据(http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html),并在Dev/Test环境中使用像AdRoll的Hologram之类的工具来保持相同的行为(https://github.com/AdRoll/hologram

0