web-dev-qa-db-ja.com

AWS Lambda Python 3.7ランタイム例外ログ

Python 3.7ランタイムの使用中にスローされた未処理の例外は、Python 3.6にあるため、CloudWatchに記録されないようです。 Python 3.7この情報を取得するには?

AWSフォーラムにも投稿

複製するには:

1。次のようにラムダ関数を作成します:

import logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
def lambda_handler(event, context):
logger.info("This shows fine")
raise Exception("I failed")  

2。 Python 3.6 runtimeを使用してこの関数を実行します

START RequestId: a2b6038b-0e5f-11e9-9226-9dfc35a22dcc Version: $LATEST
[INFO]  2019-01-02T07:25:52.797Z    a2b6038b-0e5f-11e9-9226-9dfc35a22dcc //This shows fine
 I failed: Exception
Traceback (most recent call last):
File "/var/task/lambda_function.py", line 9, in lambda_handler
        raise Exception("I failed")
Exception: I failed

END RequestId: a2b6038b-0e5f-11e9-9226-9dfc35a22dcc
REPORT RequestId: a2b6038b-0e5f-11e9-9226-9dfc35a22dcc  Duration: 1.12 ms   Billed Duration: 100 ms     Memory Size: 128 MB Max Memory Used: 21 MB

2。 Python 3.7ランタイムに切り替えて再度実行する...スタックトレースなし

    START RequestId: 3840aa8e-0e5d-11e9-bece-45a2022a53c6 Version: $LATEST
    [INFO]  2019-01-02T07:08:35.170Z    3840aa8e-0e5d-11e9-bece-45a2022a53c6    This shows fine

    END RequestId: 3840aa8e-0e5d-11e9-bece-45a2022a53c6
    REPORT RequestId: 3840aa8e-0e5d-11e9-bece-45a2022a53c6  Duration: 2.20 ms   Billed Duration: 100 ms     Memory Size: 128 MB Max Memory Used: 20 MB  
13
DJeppson

これはAWS Lambdaのバグです。 12月中旬に気づき、問題を提起しました。回答には次の内容が含まれています。「これは本物の問題として識別され、現在Lambdaチームが問題の解決に取り組んでいることをお知らせします。ただし、残念ながら、この問題が解決される時期についてはETAがありません。 」

私の解決策は、Amazonが修正するまでpython3.6ランタイムに戻すことでした。

1
gwk

Exceptionは組み込み関数であり、3.6と3.7の両方で機能するため、これは奇妙です。

回避策として、カスタム例外を作成することをお勧めします。これは簡単な例です。

test.py

class Error(Exception):
    pass

class CustomException(Error):
    pass

raise CustomException("I failed")

実行時の結果は次のとおりです。

TK$ python3 test.py 

Traceback (most recent call last):
 File "test.py", line 7, in <module>
    raise CustomException("I failed")
__main__.CustomException: I failed
0
TK Kim