今回はpythonでs3にあるファイルの最終更新時刻を更新してみました。
最終的にやりたかったことは、バッチ処理を行う際にファイルの最終更新時刻を確認します。その最終更新時刻が24時間以内なら指定の処理を行う。
ということがやりたいことです。では進めていきましょう。
最終更新時刻を取得
まずは必要なモジュールをインポートします。
#必要なモジュールをインポート
import boto3
import datetime
#確認したいs3のバケット名、ファイル位置を定数へ
SRC_BUCKET_NAME="○○○" #元データバケット名
SRC_OBJECT_KEY="△△△" #元データ先
#s3を使いますよーってやつ
s3 = boto3.resource('s3')
#引数で今回取得したいファイルの場所等を渡す。
object_summery = s3.ObjectSummary(SRC_BUCKET_NAME, SRC_OBJECT_KEY)
#対象のファイルのlast_modified(最終更新時刻)を表示
print(object_summery.last_modified)
Code language: PHP (php)
last_modifiedのほかにも所有者やその他情報も取得できるようですね。
下記二つを参考にしました。
AWS SDK for Python (Boto3) で S3 のオブジェクトの所有者情報を取得する際に気をつけること
S3 resource ObjectSummary owner not available
まとめ
よくわからん時は参考にしたサイトをしっかり読み直すことも大切です。
英語だからってさらっと流していたら、意外と答えはそこにあったりするので注意したいところ。
結構時間はかかったんですけど、やるべきことはシンプルでした(笑)