我正在尝试使用boto连接S3。
我能够使用s3 CLI命令列出S3存储桶详细信息,但是boto无法建立连接
boto版本:2.46.1 Python版本:2.7.12
我的代码如下,error message is "[Errno 104] Connection reset by peer"
#!/home/python-workdir/python-2.7.12/bin/python
import os, sys
import math
import boto
from boto.s3.key import Key
import boto.s3.connection
AWS_ACCESS_KEY_ID = 'XXXXXXXXXXXXXXXXXXXXX'
AWS_SECRET_ACCESS_KEY = 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY'
Bucketname = 'bucket/private/im/poc/master/1/testbucket'
conn = boto.s3.connect_to_region('ap-southeast-2',
aws_access_key_id=AWS_ACCESS_KEY_ID,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
calling_format = boto.s3.connection.OrdinaryCallingFormat(),
)
print "conn success"
bucket = conn.get_bucket(Bucketname)
答案 0 :(得分:1)
由于您使用的是AWS CLI,为什么不开始将代码更改为boto3,请使用〜/ .aws / *凭据设置?
首先,如果您使用aws cli执行此操作,则包括前缀
aws s3 ls s3://bucket/private/im/poc/master/1/testbucket
所以代码应该是这样的
import boto3
Bucketname = 'bucket'
prefix = '/private/im/poc/master/1/testbucket'
s3 = boto3.resource("s3")
mybucket = s3.Bucket(Bucketname)
all_object = mybucket.objects.all()