Boto can’t connect to bucket names with ‘.’ dot

This is the long issue with tons of options on how to make it work:

Can’t use bucket names with dots #2836 –

This is what worked for me:

conn = boto.s3.connect_to_region(

Have to use connect_to_region and pass in the region where you created your bucket and use the OrdinaryCallingFormat calling format. Otherwise I’d get the following errors:

Note that this is not possible to do using boto.connect_s3.

Without sending in the region:

Traceback (most recent call last):
File "/home/jj/code/site/venv/lib/python3.4/site-packages/boto/s3/", line 553, in head_bucket
response.status, response.reason, body)
boto.exception.S3ResponseError: S3ResponseError: 301 Moved Permanently

Not using the right calling format (boto.connect_s3)

Traceback (most recent call last):
return _old_match_hostname(cert, hostname)
File "/usr/lib/python3.4/", line 285, in match_hostname
% (hostname, ', '.join(map(repr, dnsnames))))
ssl.CertificateError: hostname '' doesn't match either of '', '*', '', '*', '', '*', '*'