📝

[小ネタ] Lambda 関数実行中に関数の自己削除ができるか

に公開

結論

できました。

検証

以下のコードで検証しました。

import boto3
import json

def lambda_handler(event, context):
    function_name = context.function_name
    lambda_client = boto3.client('lambda')
    
    try:
        response = lambda_client.delete_function(FunctionName=function_name)
        
        return {
            'statusCode': 200,
            'body': '関数の削除を実行しました'
        }
    except Exception as e:
        return {
            'statusCode': 500,
            'body': json.dumps(f'エラー: {str(e)}')
        }

実行結果は以下の通りです。

{
  "statusCode": 200,
  "body": "関数の削除を実行しました"
}

実行中に関数を自己削除できました。

まとめ

今回は Lambda 関数実行中に関数の自己削除ができるかという内容を紹介しました。
どなたかの参考になれば幸いです。

Discussion