2017-06-13 1 views
0

J'ai essayé plusieurs tentatives pour établir une connexion avec un service compatible S3, mais je continue d'obtenir une erreur. Le code suivant renvoie l'erreur ci-dessous. Des idées?Boto region_name missing

import os 
import boto 
import boto.s3.connection 
from boto.s3.key import Key 

try: 

    conn = boto.s3.connect_to_region(region = 'nil', 
    aws_access_key_id = 'xx', 
    aws_secret_access_key = 'xx', 
    host = 'ds41s3-scs.xx.com', 
    calling_format = boto.s3.connection.OrdinaryCallingFormat(), 
    ) 

    response = s3.list_buckets() 

except Exception,e: 
    print str(e) 
    print "error" 

L'erreur:

TypeError: connect_to_region() missing 1 required positional argument: 'region_name' 
+0

Vous pouvez également regarder les clients conçus pour les services S3 compatibles, tels que: https://github.com/ minio/minio-py –

Répondre

0

Go pour dernière version de AWS SDK pour Python (boto3) qui supporte les dernières fonctionnalités

import boto3 
client = boto3.client('s3') 

response = client.list_buckets() 
1

Pourquoi le region ensemble à nil? La signature de connect_to_region est:

boto.s3.connect_to_region(region_name, **kw_params) 

Il vous manque l'argument obligatoire: region_name

+0

Le service S3 que j'utilise n'a pas de régions. J'ai également essayé d'utiliser region_name au lieu de simplement region mais il montre la même erreur. – user3080315