Zipgrepを使用したAWSラムダ関数全体のキーワードの検索
4723 ワード
ハウツー
ユースケース
私は、バージョン管理で管理されていない多くの直接の書かれたラムダを含むカオス的な検証アカウントで、ラムダを含んでいる特定のキーワードをチェックするのにそれを使いました.
zipファイルとしてすべてのAWSラムダ関数をダウンロード
この優れたスクリプトを使用してください.
nemani/download_all_lambda_functions.sh
必要条件
wgetがインストールされます.
aws cliがインストールされます.
用途
# This block is not necessary if you set a default profile
export AWS_DEFAULT_PROFILE=xxxxx
export AWS_DEFAULT_REGION=ap-northeast-1
export AWS_DEFAULT_OUTPUT=text
# Run
bash download_all_lambda_functions.sh
ノート
スクリプトは、“すべてのLAMBA機能をダウンロード完了!”しかし、ちょうどバックグラウンドでタスクを投げたので、それは完了していない.
すべてのバックグラウンドタスクが終了したときにシグナルはない.
それで、私はダウンロードタスクが止まって、ZIPファイルの数が機能と一致するとき、それが完了すると思いました.
出力結果
各関数のZIPファイルは、LambdaCloud関数/*でダウンロードされます.
ノート
それは地域によってそれらを得るために少し迷惑です.
各地域のダウンロード先フォルダを分離することをお勧めします.
zipファイル内のキーワードを検索する
使用例
foobarの検索
cd lambda_functions
for file in *.zip; do
res=`zipgrep -n foobar $file`
if [ -n "$res" ]; then
echo "x:$file";
echo "$res";
else
echo "o:$file";
fi
done
出力結果の例
x:aaaa-checker.zip
lambda_function.py:30: target = "foobar",
o:bbbbb-deleter.zip
o:ccccc-notifier.zip
x:ddddd-test.zip
lambda_function.py:21: print("foobar"),
...
備考
働かなかったもう一つの方法
find . /lambda_functions -name '*.zip' | xargs -I file zipgrep foobar file
このコマンドは、キーワードが検出されたZIPを知りませんでしたので、私には不十分でした.時間を取る
を返します.Env環境、grepは長い時間がかかります.
Reference
この問題について(Zipgrepを使用したAWSラムダ関数全体のキーワードの検索), 我々は、より多くの情報をここで見つけました https://dev.to/shu85t/search-for-a-keyword-across-all-aws-lambda-functions-with-zipgrep-52ahテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol