1

誰かがボトで働いたことがあるなら、私はあなたが助けることができるかどうか疑問に思いました。私は現在このコードを持っています:

from boto.s3.connection import S3Connection
from boto.s3.key import Key

conn = S3Connection(XXX, YYY)
bucket = conn.get_bucket('bucketname')
latest = max(bucket, key=lambda k: k.name)
latest.get_contents_to_filename()

私は2つのことについて混乱しています、そして本当にいくつかの助けをいただければ幸いです:

  1. バケット内にディレクトリを作成しました。このスクリプトがバケット内の単一のディレクトリ、つまりS3バケット全体ではなく「写真」のみを参照するようにするにはどうすればよいですか?
  2. ダウンロード場所を指定する方法。このスクリプトは、S3バケットから最新の日時名ファイルを取得してダウンロードするように設計されていますが、ダウンロード先を指定できるかどうか疑問に思いました。
4

1 に答える 1

2

私にとっても大変でしたが、これはディレクトリを備えたファイルシステムではないことを理解する必要があります。

問題を解決するには:

プレフィックスパラメータを使用できます(GitHubのbotoから):

:param prefix:リストを特定のプレフィックスに制限できます。たとえば、prefix ='/ foo /'を指定してメソッドを呼び出すと、イテレータは文字列'/foo/'で始まるキーのみを循環します。

https://github.com/boto/boto/blob/develop/boto/s3/bucket.py

219行目を見てください

私が読んでいるコードは次のようなものです。

def read_file(self, key_name):
    k = Key(self.__bucket)
    k.key = key_name
    if k.exists():
        rawData = k.read()
    else :
        rawData = None
    return rawData
于 2012-12-19T10:39:49.873 に答える