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_PROFILE
、AWS_REGION
などの環境変数により暗示的な設定を行うことができます。
その場合、--aws-access-key-id
や--aws-secret-access-key
などのコマンドラインオプションが不要になります。コマンドラインオプションが指定されている場合は、環境変数より優先されて適用されます。
LightFile Lambda関数との違い
LightFileコマンドとは別のパッケージとして、LightFile Lambda関数が存在します。
LightFile LambdaファンクションもS3バケット内のファイル(オブジェクト)を処理の対象としますが、S3バケットに追加された瞬間にリアルタイムで軽量化する点がLightFileコマンドと異なります。
LightFileコマンドは、バッチ処理で定期的にS3バケットをスキャンし、作成または変更されたファイルを軽量化します。