This content originally appeared on DEV Community and was authored by Yasuhiro Matsuda
Lambdaが.NET8にも対応でき、NativeAOTもサポートされることとなった。
NativeAOTは.NET7からサポートされた機能ではあるものの、.NET7はLambdaではカスタムランタイム扱いとなるためかなりハードルが高かった。
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/dotnet-native-aot.html
今日はdotnet lambda invoke-functionを使ってテストを実施した際に想定しない結果が返り、時間を浪費した話を紹介する。
dotnet lambda の --payload は文字列も渡すことができるが、ファイルを渡すこともできる。
公式ドキュメントの例に倣って
dotnet lambda invoke-function myDotnetFunction --payload "hoge"
とすると、本来であれば
Payload:
"HOGE"
が返るはずが、hogeファイルがCLI実行時のカレントディレクトリに存在するとそのファイルを呼び出してしまい意図しないエラーに苦しむこととなる。
hogeではなく、パスを渡す必要があったので、dic/hogeなどで渡した場合にはdic/hogeというファイルがあった場合にそのファイルが参照されることになるので、さらに混乱することとなる。
気をつけて実行してみてほしい
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/csharp-package-cli.html
This content originally appeared on DEV Community and was authored by Yasuhiro Matsuda

Yasuhiro Matsuda | Sciencx (2025-02-04T21:13:59+00:00) .NET8ランタイムでLambdaをテストした時にハマったこと. Retrieved from https://www.scien.cx/2025/02/04/net8%e3%83%a9%e3%83%b3%e3%82%bf%e3%82%a4%e3%83%a0%e3%81%a7lambda%e3%82%92%e3%83%86%e3%82%b9%e3%83%88%e3%81%97%e3%81%9f%e6%99%82%e3%81%ab%e3%83%8f%e3%83%9e%e3%81%a3%e3%81%9f%e3%81%93%e3%81%a8/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.