Я предполагаю, что вам нужно установить архиватор npm и упаковать зависимости node_modules вместе с вашим index.js (файл обработчика для вашей точки входа лямбда). Вы можете заархивировать и развернуть / загрузить его на свою лямбду.
Также взгляните на https://github.com/serverless/serverless инфраструктуру, которая облегчит подобные вещи.
Используйте атрибут [XmlInclude]
в базовом классе, чтобы сообщить сериализатору XML о производных классах, чтобы он мог выяснить, что создавать. Ваш последний фрагмент кода должен работать правильно.
Вы можете прочитать корневой узел файла XML и вместо использования оператора switch вы можете написать свой код следующим образом -
Type yourType = Type.GetType("Your Type");
XmlSerializer xs = new XmlSerializer(yourType);
Я не думаю, что есть какой-либо другой способ, кроме чтения XML потому что, если вы не знаете тип, вы ничего не можете сделать.
Насколько я знаю, более простого способа сделать это не существует.
Лично я предпочитаю более универсальное решение (поскольку мне приходится сериализовать множество различных классов в моем коде) : сохранить имя типа сериализованным вместе со значением.
Вы можете взглянуть на этот вопрос для некоторых деталей: Сериализация в XML и включение типа сериализованного объекта