【问题标题】:how to use boto to connect/upload a file?如何使用 boto 连接/上传文件?
【发布时间】:2023-03-24 13:15:02
【问题描述】:

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

我很惊讶您需要将您的凭据以明文形式存储在文件中,但这正是我正在尝试做的事情,尽管一开始我并没有输入密码,并且预计会出现错误。

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

进口博托

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

【问题讨论】:

    标签: python amazon-s3 boto


    【解决方案1】:

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

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

    您应该会看到大量信息转储到控制台中,并且可能包含有关正在发生的事情的线索。

    【讨论】:

    • 我刚试了一下,它仍然挂起,输出中没有什么特别有用的东西。我很乐意发布输出,但添加 cmets 不允许输入除字符流之外的任何内容,但我确信一定有某种方法
    • 如您在上面看到的,我想出了如何插入调试输出,但似乎很奇怪需要在主问题块中完成,或者是否有其他方法可以做到这一点?抱歉,我不会在这个论坛上花很多时间,尽管考虑到用户的知识,我想我会的。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2023-04-07
      • 1970-01-01
      • 2017-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-06
      • 2014-12-16
      • 1970-01-01
      相关资源
      最近更新 更多