Estoy tratando de conectar S3 usando boto.
Puedo enumerar los detalles del depósito S3 usando los comandos CLI s3 pero boto no puede establecer la conexión
versión de boto: 2.46.1 Versión de Python: 2.7.12
Mi código es el siguiente y el 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)Ya que ha jugado con AWS CLI, ¿por qué no comienza a cambiar su código a boto3, usa la configuración de credenciales ~/.aws/*?
Primero, si usa aws cli para hacer esto, incluya el prefijo
aws s3 ls s3://bucket/private/im/poc/master/1/testbucketAsí que el código debería ser algo como esto
import boto3 Bucketname = 'bucket' prefix = '/private/im/poc/master/1/testbucket' s3 = boto3.resource("s3") mybucket = s3.Bucket(Bucketname) all_object = mybucket.objects.all()