【问题标题】:How to download a file via the browser from Amazon S3 using Python (and boto) at Google App Engine?如何在 Google App Engine 上使用 Python(和 boto)通过浏览器从 Amazon S3 下载文件?
【发布时间】:2011-01-07 23:57:51
【问题描述】:

我有一个 python 脚本在 Google App Engine 中运行,带有 boto 1.9b,它获取 S3-Bucket 中的所有密钥。输出格式为 HTML 表。

bucket_instance = conn_s3.get_bucket(bucketname)
liste_keys = bucket_instance.get_all_keys()

table = '<table>'
for i in range(laenge_liste_keys):
  table = table + '<tr><td>'+str(liste_keys[i].name)+</td></tr>'
table = '</table>'

如何将密钥名称实现为使用户能够通过浏览器下载密钥的链接?

提前致谢!

【问题讨论】:

    标签: python html google-app-engine amazon-s3 boto


    【解决方案1】:

    找到了解决办法。

    generate_url(expires_in, method='GET', headers=None, query_auth=True, force_http=False)
    

    这使得为每个在 x 秒内有效的密钥创建一个链接变得很容易。

    【讨论】:

      【解决方案2】:

      文件的公共 URL 类似于:

      http://s3.amazonaws.com/bucket_name/key_name  
      

      因此,在您的代码中,添加链接及其指向该 URL 的 href 属性。

      【讨论】:

      • 我不是 100% 确定,但我认为,这仅适用于具有 ACL 公开读取的密钥。
      • 正确。您无法通过 Internet 读取没有公共读取权限的文件。
      猜你喜欢
      • 2011-01-05
      • 2010-11-01
      • 2012-08-31
      • 1970-01-01
      • 1970-01-01
      • 2012-10-15
      • 2011-04-26
      • 2013-05-22
      • 1970-01-01
      相关资源
      最近更新 更多