LambdaでLambda の function一覧を取得する
概要
Lambda で Python ( boto3 ) を使って Lambda の function 名一覧を取得する方法です。
ポイント
boto3 での Lambda function の情報を取得するためには list_functions を使用します。
list_functions では取得されたオブジェクト件数が、リクエストパラメータで指定した MaxItems
以上存在した場合には、NextMarker
という値がレスポンスで返却されます。
その値を次のAPIコールにMarker
パラメータとして与えることで残りの値を取得することができます。
前提
- Python 3.7 で動作確認
サンプルコード
import boto3 client = boto3.client('lambda') ary_function_name = [] def function_list(max_items=50, next_marker=None): if next_marker: r = client.list_functions(MaxItems=max_items, Marker=next_marker) else: r = client.list_functions(MaxItems=max_items) for functions in r['Functions']: ary_function_name.append(functions['FunctionName']) if 'NextMarker' in r: return function_list(max_items=max_items, next_marker=r['NextMarker']) else: return def lambda_handler(event, context): r = function_list() print(ary_function_name) return
まとめ
これで function 名の取得ができます。
他にも boto3 を利用していると Marker
を使用するケースがあると思うので参考にしてみてください。