0

このリンクを読んでい ます http://docs.aws.amazon.com/AmazonS3/2006-03-01/API/RESTBucketGET.html

私が使いたい例はこれです

The following GET request specifies the delimiter parameter with value "/", and the prefix parameter with value photos/2006/.

レスポンスは

GET /?prefix=photos/2006/&delimiter=/ HTTP/1.1
Host: example-bucket.s3.amazonaws.com
Date: Wed, 01 Mar  2009 12:00:00 GMT
Authorization: AWS AKIAIOSFODNN7EXAMPLE:xQE0diMbLRepdf3YB+FIEXAMPLE=

返されるレスポンスは

<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Name>example-bucket</Name>
  <Prefix>photos/2006/</Prefix>
  <Marker></Marker>
  <MaxKeys>1000</MaxKeys>
  <Delimiter>/</Delimiter>
  <IsTruncated>false</IsTruncated>

  <CommonPrefixes>
    <Prefix>photos/2006/feb/</Prefix>
  </CommonPrefixes>
  <CommonPrefixes>
    <Prefix>photos/2006/jan/</Prefix>
  </CommonPrefixes>
</ListBucketResult>

それはわかりましたが、botoを使用してdjango/pythonでそれを実装する方法がわかりません。

また、xml の代わりに JOSN を取得する方法はありますか。

4

1 に答える 1

2

boto では、次のような同様のリクエストを作成できます。

import boto

s3 = boto.connect_s3()
bucket = s3.lookup('example-bucket')
for key in bucket.list(prefix='photos/2006/', delimiter='/'):
    print k.name

boto が行うことは、S3 からの XML 出力を解析し、それを Python オブジェクトに変換することです。したがって、バケットをリストすると、一連の Key オブジェクトが返され、各オブジェクトは S3 内のオブジェクトを表します。

boto や S3 には、データを自動的に JSON に変換するものはありませんが、Python を記述して Key オブジェクトの情報を JSON に変換することはできます。

于 2013-06-20T11:43:07.793 に答える