Бессерверная платформа с функциями Azure

Я пишу услуги с Serverless Framework & Azure Functions. Примеры там очень простые. Но когда я пытаюсь сделать еще один шаг, я сталкиваюсь с проблемой. В настоящее время учусь у AWS Lambda, а затем пытаюсь реализовать это на Azure Functions.

Целью этого является:

1) Реализуйте функции как классы es6, а затем создайте проект с помощью веб-пакета.

2) Найдите правильную структуру проекта, которая имеет больше смысла.

3) Следуйте шаблону SoC.

Я создал проект github https://github.com/GeekOnGadgets/serverless-azure-settings и когда я пытаюсь собрать этот проект serverless package, он создает папку .serverless и внутри нее находится файл .zip (скомпилированная версия). Который, как я понимаю, развертывается в Azure при запуске serverless deploy. Но когда я проверяю Azure, функция — это просто код разработки, а не скомпилированный (см. код ниже).

Может кто-нибудь, пожалуйста, помогите с этим. Любые предложения приветствуются.

import Settings from './src/Settings/Settings'

module.exports.settings = (event, context, callback) => {
    let settings = new Settings();

    const response = {
        statusCode: 200,
        headers: {
            "Content-Type": "application/json"
        },
        body: JSON.stringify(settings.dev()),
    };
    callback(null, response);
}

person GeekOnGadgets    schedule 03.05.2017    source источник
comment
с js это в основном связывание, а компиляция происходит на стороне клиента/браузере. что касается лазурных функций, я не уверен, нужно ли их объединять и создавать пакеты сборки. это простые функции, которые вы создаете.   -  person Aravind    schedule 03.05.2017


Ответы (2)


Действительно, функции JavaScript Azure работают на nodejs, поэтому модули commonjs являются естественным форматом. Node также изначально поддерживает большую часть ES6, хотя версия Node для функций может быть не последней.

однако существует текущая проблема со скоростью загрузки всех зависимостей в node_modules. Это связано с доступом к файлам, поэтому существует обходной путь для объединения всего в один скрипт, на который указывает package.json -> main.

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

person Steve Lee    schedule 03.05.2017