地味に引っかかりそうなので、メモに残しておきます。
C# のLambda関数は Test Function で動作確認すると思いますが、ログの出力先をTest FunctionのLog outputエリア(下図)に出力したい場合は、Console.WriteLine
では出力できません。
Test FunctionのLog outputエリアに出力するには、以下のコードのように、コンテキストから Logger を取得してログを出力する必要があります。
public class Function { public void FunctionHandler(object input, ILambdaContext context) { // Log output エリア/Cloud Watch Log に出力 context.Logger.LogLine("Output Log output area."); // Cloud Watch Log に出力 Console.WriteLine("Output Cloud Watch Log."); } }
この関数を Test Function で実行すると、以下のように Log output エリアにログが出力されます。
なお、Cloud Watch Log には以下のように両方のログが出力されます。
2018-11-01 17:27:48: START RequestId: 03aea60a-ddb0-11e8-af4f-b3bfe7a78db1 Version: $LATEST 2018-11-01 17:27:49: Output Log output area. 2018-11-01 17:27:49: Output Cloud Watch Log. 2018-11-01 17:27:49: END RequestId: 03aea60a-ddb0-11e8-af4f-b3bfe7a78db1 2018-11-01 17:27:49: REPORT RequestId: 03aea60a-ddb0-11e8-af4f-b3bfe7a78db1 Duration: 905.66 ms Billed Duration: 1000 ms Memory Size: 256 MB Max Memory Used: 20 MB