簡體   English   中英

錯誤是使用boto for python從S3檢索數據

[英]Error was retrieving data from S3 using boto for python

我正在嘗試使用boto for python從Amazon S3獲取數據。

from boto.s3.connection import S3Connection

AWS_KEY = 'MY_KEY'
AWS_SECRET = 'MY_SECRET'
aws_connection = S3Connection(AWS_KEY, AWS_SECRET)
bucket = aws_connection.get_bucket('s3://mybucket.buckets.com/')
for file_key in bucket.list():
    print file_key.name

我正在傳遞一個有效的Key,secret_key和Bucketname。

當我嘗試執行上面的代碼時,我收到以下錯誤 -

Traceback (most recent call last):
  File "MyPython_Script.py", line 7, in <module>
    bucket = aws_connection.get_bucket('s3://mybucket.buckets.com/')
  File "/usr/local/lib/python2.7/site-packages/boto/s3/connection.py", line 506, in get_bucket
    return self.head_bucket(bucket_name, headers=headers)
  File "/usr/local/lib/python2.7/site-packages/boto/s3/connection.py", line 525, in head_bucket
    response = self.make_request('HEAD', bucket_name, headers=headers)
  File "/usr/local/lib/python2.7/site-packages/boto/s3/connection.py", line 668, in make_request
    retry_handler=retry_handler
  File "/usr/local/lib/python2.7/site-packages/boto/connection.py", line 1071, in make_request
    retry_handler=retry_handler)
  File "/usr/local/lib/python2.7/site-packages/boto/connection.py", line 1030, in _mexe
    raise ex
socket.gaierror: [Errno 8] nodename nor servname provided, or not known

知道如何克服這個錯誤嗎? 我的格式是否用於傳遞桶名稱是否正確?

您只需要傳遞桶的名稱,而不是無縫的URL(請注意,s3端點將是http://s3-aws-region.amazonaws.com/bucket

如果你正在使用boto2

from boto.s3.connection import S3Connection

AWS_KEY = 'MY_KEY'
AWS_SECRET = 'MY_SECRET'
aws_connection = S3Connection(AWS_KEY, AWS_SECRET)
bucket = aws_connection.get_bucket('bucket_name', validate=False)
for file_key in bucket.list():
    print file_key.name

如果你正在使用boto3

import boto3

s3 = boto3.resource('s3')
bucket = s3.Bucket('name')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM