nomurabbitのブログ

【AWS】Lambdaで単位変換してみた【C#】

こんにちは!nomurabbitです。
今回は、C#のLambdaで
単位変換してみます。

変換系のメソッドをまとめておくと
とても便利ですよね。

テンプレートの準備

まず、Lambdaのテンプレートを準備します。

.NET Core3.1のテンプレートは、
この記事この記事を参考にしてください。

ソースコード

今回は単純な数値の演算です。
ソースコードのポイントは下記の通りです。

public GlbResponseBody GetAction(GlbRequestBody glbRequestBody)
{
    try
    {
        string argPressure   = glbRequestBody.Pressure;
        string argVokume     = glbRequestBody.Volume;
        string argTemprtures = glbRequestBody.Temperture;

        GlbResponseBody glbResponseBody = new GlbResponseBody();

        glbResponseBody.Message = "I'm trying unit conversion.";

        // atm -> pa
        glbResponseBody.Pressure = ((int)(double.Parse(argPressure) * GlbUtil.ATM_2_PACAL)).ToString();

        // m3 -> L
        glbResponseBody.Volume = ((int)(double.Parse(argVokume) * GlbUtil.M3_2_L)).ToString();

        // dc -> K
        glbResponseBody.Temperture = (double.Parse(argTemprtures) + GlbUtil.STD_KELVIN).ToString("F2");

        return glbResponseBody;
    }
    catch (System.Exception e)
    {
        throw e;
    }
}

GitHubソースコードを載せていますので、
よろしければ参考にしてください。

github.com

変換対象の単位は、

  • 圧力(atm , Pa
  • 温度(℃ , K)
  • 体積(L , m3)

です。

リクエストの各値を単位変換して
レスポンスで返すプログラムです。

以上で単位変換するLambdaをC#で書くことができると思います。

よかったら試してみてください。
では!