2012-11-19 26 views
8

私は現在Amazon S3と働いています。Amazon S3でtouch()ファイルを開く方法はありますか?

変更された日付を確認するプログラムを作成しています。

私が必要とするのは、修正された日付を編集するソリューションです。

すべてのファイルをループしてそのまま保存することができますが、これは悪い解決策のようです。

PHPにはこの素晴らしい機能がありますtouch()

解決策を知っている人はいますか、同じ問題がありますか?私にお知らせください。

答えて

5

copy object要求で同じことを達成できます。これは、CopySourceをターゲットキーと同じに指定します。

本質的に、対応するソースバケット/ターゲットバケット/キーを使用してS3にPUT Object - COPYリクエストを発行します。

+0

これは正確に何がわかりますか?それは各ファイルのGETとPUTリクエストを起動しますか? –

+0

この情報を含めるために私の答えを編集しました。 – tkotisis

+0

パーフェクト。ありがとう! –

13

@Daniel Goldenさんの@tkotisis answerのコメントに対する反応です。少なくともAWS CLIツールでは、アイテムを自分自身にコピーさせることはできません。ただし、メタデータを更新してコピーを強制的に実行することはできます。

$ aws s3 cp --metadata '{"touched":"now"}' s3://path/to/object s3://path/to/object 

これは、コンテンツ、所有者、およびメタデータを置き換えるオブジェクトを再作成します(呼び出し側にダウンロードして再アップロードします)。これにより、接続されたラムダイベントもトリガされます。

-1

AWSはan issue on Githubで報告されているtouch()をサポートしていません。