gpt4 book ai didi

python - 无法使用boto连接aws s3 bucket

转载 作者:太空狗 更新时间:2023-10-29 17:52:06 25 4
gpt4 key购买 nike

AWS_ACCESS_KEY_ID = '<access key>'
AWS_SECRET_ACCESS_KEY = '<my secret key>'
Bucketname = 'Bucket-name'
import boto
from boto.s3.key import Key
import boto.s3.connection
conn = boto.connect_s3(AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,
host ='s3.ap-southeast-1.amazonaws.com',
is_secure=True, # uncommmnt if you are not using ssl
calling_format = boto.s3.connection.OrdinaryCallingFormat(),
)
bucket = conn.get_bucket(Bucketname)

错误:

  Traceback (most recent call last):
File "uploads3.py", line 69, in <module>
upload_hello_file_s3()
File "uploads3.py", line 25, in upload_hello_file_s3
bucket = conn.get_bucket(Bucketname)
File "/usr/local/lib/python2.7/dist-packages/boto/s3/connection.py", line 431, in get_bucket
bucket.get_all_keys(headers, maxkeys=0)
File "/usr/local/lib/python2.7/dist-packages/boto/s3/bucket.py", line 364, in get_all_keys
'', headers, **params)
File "/usr/local/lib/python2.7/dist-packages/boto/s3/bucket.py", line 321, in _get_all
query_args=s)
File "/usr/local/lib/python2.7/dist-packages/boto/s3/connection.py", line 543, in make_request
override_num_retries=override_num_retries)
File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 937, in make_request
return self._mexe(http_request, sender, override_num_retries)
File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 899, in _mexe
raise e
socket.gaierror: [Errno -2] Name or service not known

请帮我解决这个问题,桶名和访问 key 和 secret key 都没有问题。

最佳答案

您还可以使用以下 (boto.s3.connect_to_region):

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

AWS_ACCESS_KEY_ID = '<access key>'
AWS_SECRET_ACCESS_KEY = '<my secret key>'
Bucketname = 'Bucket-name'


conn = boto.s3.connect_to_region('ap-southeast-1',
aws_access_key_id=AWS_ACCESS_KEY_ID,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
is_secure=True, # uncomment if you are not using ssl
calling_format = boto.s3.connection.OrdinaryCallingFormat(),
)
bucket = conn.get_bucket(Bucketname)

这样您就不必关心具有完整主机名的“确切”端点。是的,就像@garnaat 提到的那样,使用最新的 boto API。

关于python - 无法使用boto连接aws s3 bucket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22454559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com