无法使用BOTO连接到S3

时间:2017-03-24 01:35:00

标签: amazon-web-services amazon-s3 boto boto3

我正在尝试使用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)

1 个答案:

答案 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()