AWSコマンドでs3にあるファイルの中身を見る

Linux
この記事は約3分で読めます。

 

 

AWSが提供するLinux(Amazon Linux)を業務で使用しています。

 

データを貯めておくストレージとして、s3というサービスも使用しています。

AWSのコマンドラインインターフェースのAWS CLIではs3にあるファイルをcatできません。

 

しかし、今回紹介する方法で中身を見ることができます。

 

 

 

 

s3上に置いてあるファイルの中身を見たいという場合、通常であれば以下のようにs3からコンピュータにコピーして、それを開くということをすると思います。

# s3からコピー
aws s3 cp s3://[bucket_name]/file.zip /tmp/file.zip

# コピーしたファイルを開く
zcat /tmp/file.zip | head

 

これってすごく面倒な作業です。

 

パパっとcatして中身を確認できたほうが楽です。

 

しかしながら、AWS CLIで使えるコマンドは限られています。

usage: aws [options]   [ ...] [parameters]
To see help text, you can run:

 aws help
 aws  help
 aws   help
aws: error: argument subcommand: Invalid choice, valid choices are:

ls                                       | website                                
cp                                       | mv                                      
rm                                       | sync                                    
mb                                       | rb                                      
presign                                

↑catはない!

 

 

                 

s3にあるファイルの中身を見る

 

cpコマンドを使うと実は中身を確認できます。

具体的には、cpコマンドのコピー先にハイフン(-)を指定すると中身を見ることができます。

aws s3 cp s3://[bucket_name]/file.txt -

catコマンドで中身を見るのとほぼ同じ動作になります。

 

パイプを使って次のコマンドに渡こともできます。

# ファイルを開いて、文字コード変換、zcatしてheadする
aws s3 cp s3://[bucket_name]/test.zip - | nkf -w | zcat | head

 

これはとっても便利です。

 

 

私はs3にあるデータを直接覗くことは普段はしませんが、データの調査等でときどき中身を確認することがあります。

いちいちコピーしなくても済むこの方法はとても重宝します。

コメント

タイトルとURLをコピーしました