如何使用boto连接/上传文件?

时间:2013-01-11 16:32:15

标签: python amazon-s3 boto

我刚刚注册了一个S3帐户,安装了boto,现在想尝试上传文件。我将此作为参考 - http://aws.amazon.com/articles/3998

我很惊讶您需要将凭据作为明文存储在文件中,但这就是我正在尝试做的事情,但是一开始我不会输入我的密码并期望得到错误。

所以我按照指示在python中执行了以下操作:

导入boto

s3 = boto.connect_s3()

S3

S3Connection:s3.amazonaws.com

并且命令成功,但我预计会因为我的凭据错误而导致错误,但是这可能只是一个连接对象,并且在创建存储桶时应该发生真正的错误。所以我试过这个:

bucket = s3.create_bucket('1234567mjs7654321')

并且命令已经挂了超过10分钟。

我必须相信有一些非常基本的我做错了但不知道它可能是什么。

这是启用调试的结果:

s3.create_bucket('1234567mjs7654321')
2013-01-11 17:58:17,765 foo [DEBUG]:path=/
2013-01-11 17:58:17,766 foo [DEBUG]:auth_path=/1234567mjs7654321/
2013-01-11 17:58:17,766 foo [DEBUG]:Method: PUT
2013-01-11 17:58:17,766 foo [DEBUG]:Path: /
2013-01-11 17:58:17,766 foo [DEBUG]:Data:
2013-01-11 17:58:17,766 foo [DEBUG]:Headers: {}
2013-01-11 17:58:17,766 foo [DEBUG]:Host: 1234567mjs7654321.s3.amazonaws.com
2013-01-11 17:58:17,766 foo [DEBUG]:establishing HTTPS connection:              host=1234567mjs7654321.s3.amazonaws.com, kwargs={}
2013-01-11 17:58:17,766 foo [DEBUG]:Token: None
2013-01-11 17:58:17,766 foo [DEBUG]:StringToSign:
PUT

2 个答案:

答案 0 :(得分:0)

我无法想象为什么它会悬挂。我建议尝试将完整的调试日志记录到控制台,如下所示:

import boto
boto.set_stream_logger('foo')
s3 = boto.connect_s3(debug=2)
s3.create_bucket('1234567mjs7654321')

您应该会看到很多信息被丢弃到控制台,或许这将包含有关正在发生的事情的线索。

答案 1 :(得分:0)

解决!!!我的机器上存在访问问题,虽然我还不确定它是什么,但它确实可以在不同的系统上运行。我很失望它没有告诉我这件事。