2017-03-24 36 views
0

botoを使用してS3に接続しようとしています。BOTOを使用してS3に接続できません

私はS3バケットを一覧表示することができていますが、S3のCLIコマンドを使用して詳細が、のbotoは接続

のbotoバージョン確立することができません:2.46.1 Pythonのバージョン:次のように私のコードは2.7.12

をし、あなたがAWS CLIでプレイしたので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

のようなものでなければなりません自分のバケツ。 「ピアによる接続リセット」は、通常、ネットワークの問題を示すものです。常に発生している場合は、VPNを経由しているかどうか、または何かがネットワーク経由でAPIリクエストを拒否しているかどうかを確認してください。別のネットワークから試して、原因を絞り込んでください(例:自宅と仕事、別のVLAN、電話テザーなど)。 –

+0

あなたの確認のためにありがとうジョン、私は同様のことがあった。 – suj

+2

'Bucketname = 'bucket/private/im ...' *何?バケツは名前に '/'をつけることはできません。これがどんな価値があるのか​​わかりませんが、バケット名ではありません。 –

答えて

1

は、なぜあなたは、〜/ .aws/*資格情報の設定を使用boto3するようにコードを変更する起動しないのですか?あなたがこれを行うには、CLI AWSを使用している場合

まず、これは接頭辞に

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() 
+0

boto3 upload_file()を使用してファイルをアップロードするのにかかった時間を取得する方法はありますか? – suj

+0

@suj:診断のアップロード速度に関するもう一つの質問です。 – mootmoot

関連する問題