Viji
@Viji
DevOps Engineer

Как начинает работь следующая AWS .net Lambda?

кто-то сможет обьяснить работу подобного примера кода?

1. Будет ли иницироваться переменная runnerName при вызове Lambda?
2. Любая C# программа начинается с какого-либо класса - а как в данном случае мы знаем какой класс является первым? Только из-за нахождения в нем метода FunctionHandler?
3. Как работает эта assembly [assembly: LambdaSerializer(.... ?

using Amazon.Lambda.Core;

// Assembly attribute to enable the Lambda function's JSON input to be converted into a .NET class.
[assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.SystemTextJson.DefaultLambdaJsonSerializer))]

namespace SimpleScheduling.Lambda;

public class Function
{
    var runnerName = "Jim Wilson";
    public void FunctionHandler(EventInfo input,
        ILambdaContext context)
    {
        switch (input.ActionName)
        {
            case "PatreonMail":
                context.Logger.LogInformation($"Received call for {input.ActionName}");
                break;
            case "VipPatreonMail":
                context.Logger.LogInformation($"Received call for {input.ActionName}");
                break;
            default:
                context.Logger.LogInformation($"Unknown action");
                break;
        }
    }
}

public class EventInfo
{
    public string ActionName { get; set; }
}
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
1. Конечно будет. Почему нет?
2. Это описано в документации к AWS Lambda.
https://aws.amazon.com/ru/blogs/compute/developing...
В зависимости от того, на какое событие эта лямбда реагирует - AWS будет искать функцию с разным именем.
3. В комментарии же описано - там указано, какой сериализатор будет использован для десериализации json.
Этот атрибут, очевидно, будет прочитан на стороне AWS Lambda.

PS: А где "С уважением, Вадим"?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы