2

ファイルのローカル バージョンのサイズが異なる場合にのみ S3 データ リポジトリからファイルをダウンロードして、帯域幅と時間を節約する小さな関数を作成しました。

最終更新日時が異なる場合にのみダウンロードするように改善したいと思います。HEAD(httrパッケージから)を使用してチェックを行い、リモートファイルとfile.infoローカルファイルの日時を取得できます。

しかし、(見たとおり)ファイルの新しいコピーをダウンロードすると、作成/最終更新時刻としてSysdateが表示されます。異なるタイムゾーンによる潜在的な問題を含め、新しいローカルコピーの日時をサーバーからのもので更新する方法が必要です。

file.info はファイルのプロパティを書き込めないようです。

どうすればそれを行うことができますか?

4

1 に答える 1

2

できるとは思いませんし、できたとしても、そのアプローチは私には少し信頼できないようです(たとえば、タイムゾーンについて言及しました)。md5sum代わりに、ファイル(そのコンテンツの一意の表現) に依存して、いつ変更されたかを判断することをお勧めします。

library(tools)
if (md5sum(remote) != md5sum(local)) file.copy(remote, local)
于 2014-10-08T10:08:07.430 に答える