Help us understand the problem. What is going on with this article?

AWS CLI でS3のログをgrepしたい(Windows環境)

S3バケットへのアクセスログを有効にしたものの、ログファイルが細かく分かれてしまい検索が難しい。。。
そこで一括で検索できればよいなと思い、作成しました。

下記を参考にさせていただきました。
こちらはシェルスクリプトでしたが、Windows環境で実行する用にバッチファイルに変換しました。
https://dev.classmethod.jp/cloud/aws/grep-s3-files-by-aws-cli/

s3loggrep.bat
rem You need to install jq.

rem どのログファイルに文字列がヒットしたか知りたいため、あえてecho on にしています。
rem @echo off


rem AWS CLIのクレデンシャル情報を分けている場合は、プロファイル名を指定します。
rem 分けてなければ"default"でよいです。
set PROF_NAME="default"

rem 検索対象のバケット名を指定します。
set S3_BUCKET=testbacket

rem ログファイルの接頭辞を指定します。
set S3_KEY_PREFEX="testlog"

rem 検索したい文字列を指定します。
set SEARCH_STR="hogehoge"

rem list-objects-v2の出力を、jqを用いることで"Key"のみを抽出し、
rem さらに↑で指定した接頭辞で絞ってテキストファイルに出力します。
aws s3api list-objects-v2 --bucket %S3_BUCKET% --profile %PROF_NAME% |jq -r ".Contents[].Key" |findstr %S3_KEY_PREFEX% > list.txt

rem ログ名の降順でソートして別のテキストファイルに出力します。
sort /r list.txt > list2.txt


rem テキストファイルから順番にKeyを呼び出し、文字列を検索するループ処理です。
for /f %%i in (list2.txt) do (
  aws s3 cp s3://%S3_BUCKET%/%%i - --profile %PROF_NAME% | findstr %SEARCH_STR%
)
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away