S3バケット上のファイルを軽量化するには

LightFileコマンドは、同一ファイルシステム以外にもS3バケット内のファイル(オブジェクト)を軽量化することができます。

次のようにコマンドを実行します。

$ lightfile --serial <シリアルコード> \
  --file-system s3 \
  --s3-region <S3バケットのリージョン> \
  --s3-bucket <接続先ドメイン名またはIPアドレス> \
  --s3-prefix <S3バケット内で処理するファイルのプレフィックス> \
  --aws-access-key-id <AWSユーザーのアクセスキーID> \
  --aws-secret-access-key <AWSユーザーのシークレットアクセスキー>

awsコマンドで構成済みの認証情報を利用するには

AWSのリソースを管理するawsコマンドのconfigureサブコマンドでAWSログイン済みの場合、ユーザーディレクトリの.aws/credentialsファイルにアクセスキーIDとシークレットアクセスキーが保存されています。

awsコマンドと同様に、その認証情報に加えAWS_PROFILEAWS_REGIONなどの環境変数により暗示的な設定を行うことができます。

その場合、--aws-access-key-id--aws-secret-access-keyなどのコマンドラインオプションが不要になります。コマンドラインオプションが指定されている場合は、環境変数より優先されて適用されます。

LightFile Lambda関数との違い

LightFileコマンドとは別のパッケージとして、LightFile Lambda関数が存在します。

LightFile LambdaファンクションもS3バケット内のファイル(オブジェクト)を処理の対象としますが、S3バケットに追加された瞬間にリアルタイムで軽量化する点がLightFileコマンドと異なります。

LightFileコマンドは、バッチ処理で定期的にS3バケットをスキャンし、作成または変更されたファイルを軽量化します。