2016-11-07 2 views
1

Amazon S3にプッシュする必要のあるサブディレクトリと多くのファイルを含むディレクトリがあります。私は 'R'ツールを使用しています。「R」と「aws.s3」を使用してクラウドにディレクトリをプッシュする方法

「このディレクトリとそのすべてをS3にプッシュ」と言うクリーン/簡単な方法はありますか?私は物事を一度に1つずつ押し上げ、手動でディレクトリ構造を再構築することを避けたいと考えています。

答えて

1

フル・パス名を使用してファイル名をput_object()に渡し、それらのパス名をオブジェクト・キーとして使用すると、暗黙的にディレクトリ構造を再作成できます。基本的には(あなたには、いくつかの方法で、オブジェクトのキーとして使用している場合、ファイル名を変更したいかもしれませんが)このように:

library("aws.s3") 
lapply(dir(full.names = TRUE, recursive = TRUE), function(filename) { 
    put_object(file = filename, object = filename, bucket = "mybucket") 
}) 

もあり、完全なファイルツリーのためにこれを行う(それはにISNべきで実験的な機能s3sync()広くテストされていません):

s3sync() 
+0

こんにちは、トーマス!あなたのコードをチェックしました。できます。しかし、2つのことを解決する必要があります:1)ディレクトリ名を "dir(、full.names = TRUE、recursive = TRUE)"に指定します。 2)ローカルディレクトリ構造を再作成した後、 "_____"の付いた追加のディレクトリが表示されます。ファイルはこのディレクトリにあります。それは正しいのですか、何かをする必要がありますか?ありがとう! – andrii

+1

@andriiこのコードは、現在のディレクトリが必要であると仮定しています( 'dir()'の最初の引数は空です)。他のファイルをコピーしようとすると、別のディレクトリを指定することができます。 '___'がどこから来ているのか分かりません。それはちょっと変です。 – Thomas

関連する問題