Вот три распространенных способа создания функций Lambda с помощью AWS

1656638180 vot tri rasprostranennyh sposoba sozdaniya funkczij lambda s pomoshhyu aws

Сэм Уильямс

1*JuAJNrCky6mkF4upt0emCg

Функции AWS Lambda невероятны! Это функции, размещенные в Amazon Web Services, которые можно активировать разными способами.

Одной из лучших сторон является то, что вы платите только за время работы Lambda. Есть что-то, что запускается всего раз в час и занимает всего 2 секунды? Вы будете платить всего за 48 секунд в день! Это безумие по сравнению с использованием круглосуточного экземпляра AWS EC2 или вашего собственного приватного сервера.

Сегодня мы создадим лямбда-функцию и рассмотрим три лучших способа работы с кодом.

Создание лямбда-функции

После того, как вы настроили аккаунт AWS, есть несколько способов создать новую функцию Lambda. Мы будем использовать консоль AWS.

Консоль AWS

В консоли AWS можно найти AWS Lambda в разделе «Сервисы». который приведет вас к консоли Lambda.

1*23UBDu9eiNn9CasvX9dUqg

Это то, что вы увидите, если это ваша первая Lambda. Щелкните это Создайте функцию кнопку, чтобы начать настройку первой функции.

Вы попадете на страницу настройки, где настроите некоторые аспекты функции (имя, время выполнения, роль). Вы можете создать Lambda из Blueprints или Serverless Application Repos, но в этом примере мы создадим его с нуля.

1*jmKCKMsIPuMLhgsMxNMBog

Введите имя вашей функции (оно должно быть уникальным для пользователя или подчиненной учетной записи), выберите среду выполнения (мы будем использовать Node.js 8.10) и выберите роль.

Вам придется создать новую роль, если у вас ее нет. Создайте его из шаблона, и вы можете уйти Шаблоны политик пуст.

Написание кода лямбда-функции

Одно из больших преимуществ Lambdas состоит в том, что вы можете выбрать, как вы будете писать и редактировать их. Для этого есть три основных способа

  • лямбда консоль
  • Облако9
  • На вашей локальной машине

Я собираюсь рассмотреть все три и обсудить преимущества и недостатки каждого из них.

Способ 1: лямбда-консоль

Это экран, на который вы попали при создании функции. Вы увидите, что происходит многое. То, что нас волнует сейчас, это Код функции раздел, примерно на полпути вниз.

1*VxeSaa8uQgP92Wl4zCPMUg

Здесь у нас есть базовый редактор. Я считаю, что он основан на Cloud 9 IDE и работает очень хорошо для простых функций Lambda. Вы можете увидеть, что обработчик является асинхронной функцией, поскольку я решил использовать Node 8.10. Если вы предпочитаете обратные вызовы, то Node 6.10 — это среда выполнения для вас.

1*Ukr1dY8xL4mT2IIEw0DVZg

Преимущества

  • Это солидный редактор.
  • Вы можете получить доступ к нему с любого компьютера через консоль AWS.

Недостатки

  • Кажется, он не стабилен на 100%. Иногда это не позволяет сохранить, поэтому вам приходится скопировать всю работу в локальный файл, перезагрузить страницу и скопировать свою работу обратно. Я надеюсь, что это скоро будет исправлено!
  • У него нет терминала. Это означает, что вы не можете установить пакеты с помощью NPM, используя только этот метод.

Способ 2: редактор Cloud9

Amazon недавно приобрела Cloud9, платформу онлайн-разработки. Кажется, он запускает очень базовую версию Ubuntu, интегрированную с остальной платформой AWS.

Искать Облако9 в консоли AWS перейдите на страницу и выберите Создать среду. Отсюда вы даете название своей среде и переходите к следующему шагу.

Здесь вы можете выбрать, на чем вы хотите запускать эту среду. Прекрасно то, что t2.micro имеет право на бесплатный уровень, поэтому вы можете использовать этот метод, не взимая ничего, если вы используете бесплатный уровень. Мне никогда не требовалось ничего мощнее t2.micro.

1*mIMSy6hKCQuer20ZOTjVSQ

Продолжите отсюда и вы попадете в свою новую среду Cloud9!

1*uaTpBEey0EHYd-_aWa165g

Интересно то, что у вас есть доступ ко всем своим функциям Lambda из среды Cloud9. Нажмите Ресурсы AWS и под Удаленные функции вы найдете все свои функции. Щелкните функцию Lambda, которую вы хотите редактировать, а затем нажмите значок загрузки выше, чтобы импортировать ее в среду.

Когда это будет сделано, вы будете работать над этим локально.

1*P2Y6g3Juw5T7lltbooxhbg

Когда вы закончите, просто выберите функцию, над которой вы работали, из локального списка и нажмите кнопку загрузки. Через несколько секунд он будет опубликован со всеми внесенными вами изменениями.

Преимущества

  • Опять же это все удаленно, поэтому вам не нужно беспокоиться о том, что вы забудете сделать свою работу или сохранить ее на карту памяти, если вы работаете на нескольких машинах.
  • Получить свои функции и загрузить их очень просто. Это, безусловно, лучше всего в этом методе.
  • Теперь у вас есть интегрированный терминал, позволяющий устанавливать пакеты npm и делать все, что вы хотите, с помощью терминала.

Недостатки

  • Он все еще испытывает те же проблемы со стабильностью, что и редактор Lambda. У меня было несколько случаев, когда я пытался сохранить функцию, но не мог, приходилось копировать в локальный, обновлять и повторно копировать в Cloud 9. Через несколько раз я сдался и перешел в локальное редактирование.

Способ 3: Локальное редактирование

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

1*XMS7swq0ptF24er7L0fgmg

Преимущества

  • Большинство разработчиков будут работать с локальным редактированием. Мы можем использовать наши любимые IDE, расширения и цветовые схемы.
  • Он стабилен (пока работает ваш компьютер).

Недостатки

  • Нет привлекательной кнопки, чтобы получить и скачать свою работу в AWS.
  • Ваша работа локальна, поэтому иметь нескольких пользователей или просто работать на нескольких устройствах сложнее.

Локальные приемы редактирования

Поскольку преимущества этого метода так привлекательны (или недостатки других методов так ужасны), мы воспользуемся некоторыми основными обходными путями. Чтобы настроить все необходимое, понадобится около 15 минут!

AWS CLI

Чтобы скачать нашу работу в AWS, мы можем использовать AWS CLI. Это позволяет нам загружать zip-файл в нашу аккаунт AWS, которая заполняет определенную Lambda.

Для этого нам сначала нужно настроить AWS CLI. Вы можете установить его с помощью этого руководства или введя npm install -g aws-cli в ваш терминал. Теперь нам нужно настроить пользователя для входа в наш CLI.

В IAM Management нажмите Добавить пользователя, дайте пользователю имя и выберите Программный доступ. Это позволит нам действовать как пользователь удаленно.

1*LkB76XZZwPt6soPHPtWlCQ

На экране разрешений выберите Прикрепите существующие политики напрямую и выберите AdministatorAccess. Это позволит вам делать все, что угодно через CLI. Вы можете установить более строгую политику для этого пользователя, если хотите, или если к нему имеет доступ другое лицо.

Перед тем, как вам укажут ключи доступа, есть другой экран. Скопируйте ключи доступа и откройте терминал. Выполните команду aws configure который попросит вас о 4 вещах.

AWS Access Key ID [None]: "Your Access Key ID"AWS Secret Access Key [None]: "Your Secret Access Key"Default region name [eu-west-1]:Default output format [json]:

Первые два находятся на последней странице создания пользователя, а следующие два можно оставить по умолчанию или изменить на любой.

Использование AWS CLI

Теперь, когда мы настроили CLI, мы можем использовать его для значительного облегчения жизни. Если у вас есть папка с функцией Lambda, которая хранится там, мы можем запустить несколько простых команд для загрузки ее в AWS.

cd MyLambdaFunctionrm index.zipzip –X –r ./index.zip *aws lambda update-function-code     --function-name MyLambdaFunction     --zip-file fileb://index.zipcd ..

Сценарий сборки AWS CLI

Это замечательно, но вводить все это всякий раз, когда вы хотите скачать новую версию Lambda, станет утомительным. Поэтому мы будем использовать сценарий сборника.

Чтобы этот сценарий работал, вам нужна структура папок. Каждая лямбда имеет папку с соответствующими файлами и region.txt.

1*XEed7aP1zbg6CyB3B8maWA

Этот сценарий не только запускает основные команды AWS CLI, но и выполняет дополнительные проверки npm install и повторяет подробности прогресса.

Это может выглядеть как сложный сценарий, но его можно легко разбить. Первые 32 строчки переместим в папку функции Лямбда, запустите npm install и проверьте, установлен ли AWS CLI. Строка 38 заархивирует папку, за исключением определенных файлов, а строка 42 загружает файл zip.

Теперь все, что вам нужно сделать, это перейти в главную папку, где находится функция Lambdas, и запустить

./build.sh example-lambda

Этот сценарий можно модифицировать и расширить, чтобы включить загрузку в зависимости от региона, пакетную загрузку нескольких функций Lambda или интеграцию Git.

Git

Большинство читающих это будут использовать Git каждый день. Это причина: это упрощает жизнь.

Наличие репозитория Git для всех ваших функций Lambda – отличный способ работать с командами разработчиков или самостоятельно на нескольких машинах.

Резюме

Существует три распространенных способа редактирования функций Lambda: в консоли Lambda, Cloud 9 и локально.

Существуют преимущества и недостатки всех трех методов, но я считаю, что лучшим выбором является написать функцию локально и развернуть ее с помощью сценария развертывания.

Если вы нашли эту статью полезной, похлопайте ее и следите за мной, чтобы получить дополнительные пособия AWS и статьи для разработчиков!

ДАЛЬШЕ → Поздравьтесь со своим собственным чат-ботом Amazon Lex

1*-leQk1ik68WjLB__Vc9IXw

Добавить комментарий

Ваш адрес email не будет опубликован.