Как я могу увидеть ранее загруженный лямбда-код .NET

#c# #.net #aws-lambda

#c# #.net #aws-lambda

Вопрос:

Некоторое время назад я работал над некоторыми лямбда-функциями, используя .NET Core 3.1. У меня больше нет их исходных кодов, и они мне нужны. Как я могу получить его из консоли AWS? Я попытался «Экспортировать» и загрузить, но сгенерированный ZIP-файл не содержит никаких узнаваемых файлов (.cs / solution). Если кто-нибудь может направить меня в правильном направлении, я буду очень благодарен. Заранее спасибо!

Комментарии:

1. Ну, вы не должны были потерять исходный код. Лучшее, что у вас есть, — это скомпилированный код, поэтому вам понадобится что-то вроде Reflector / ILDASM

2. Я согласен: я не должен был его потерять. Спасибо за ваш вклад, я сразу же рассмотрю эти варианты.

Ответ №1:

Основываясь на вашем сообщении, рассматриваемый лямбда-код был разработан с помощью C # и развернут с использованием процесса zip-файла, в отличие от более нового требования к образу Docker.

Когда код для выполнения лямбда-кода загружается в AWS Lambda, zip-файл содержит необходимые DLL-файлы для выполнения процесса. Другими словами, необработанный C # был скомпилирован в dll, и у вас нет доступа к исходным исходным файлам. Теперь у вас есть доступ только к zip-файлу с развернутыми DLL.

Единственный вариант — использовать такой инструмент, как .NET Reflector, dotPeek или аналогичный, для декомпиляции исходного кода. Однако исходный код не будет выглядеть точно так, как было написано изначально. Скорее, исходный код будет переписан с другим синтаксисом, но логика останется прежней.