-2

AmazonS3サービスに保存されているファイルのダウンロードを追跡する方法を探しています。APIをダウンロードしたところ、かなり迷子になりました。そこに保存されているファイルの情報を取得するために、APIから使用する必要のあるオブジェクトとメソッドを知りたいだけです。リクエストを行った人のアドレスを含むダウンロードを追跡したい。

よろしくお願いします。

4

1 に答える 1

1

ロギングバケット内のファイルのダウンロードについて話している場合は、次のようなものを使用します。

  • S3に接続します(アクセス/秘密鍵を使用)
  • と題されたバケツを開く"loggingBucket"
  • そのバケット内の各オブジェクトを取得します
  • ファイルを読み込んで処理します
  • 各ファイルを処理した後、それを削除します

サンプルコードは次のとおりです。

BasicAWSCredentials credentials =
    new BasicAWSCredentials("accessKey", "secretAccessKey");
AmazonS3Client client = new AmazonS3Client(credentials);

for (ObjectListing listing = client.listObjects("loggingBucket");;
        listing = client.listNextBatchOfObjects(listing)) {
    // run through each listing to process it
    for (S3ObjectSummary summary : listing.getObjectSummaries()) {
        String bucketName = summary.getBucketName();
        String fileName = summary.getKey();
        S3Object object = client.getObject(bucketName, fileName);
        S3ObjectInputStream stream = object.getObjectContent();
        BufferedReader reader =
            new BufferedReader(new InputStreamReader(stream));
        ... process the file here writing it locally or something
        // delete the file afterwards
        client.deleteObject(bucketName, fileName);
    }
    // we may need to get more files
    if (!listing.isTruncated()) {
        break;
    }
}

これが希望どおりでない場合は、投稿を編集してください。

于 2012-09-28T22:12:35.117 に答える