Бессерверный , функция как услуга (FaaS) или просто облачные функции позволяют вам писать код, который будет работать в облаке. Вы можете использовать несколько различных языков, таких как JavaScript (Node.js), Swift, Python, Java, PHP и другие, чтобы написать код функции. Приятно, что вам не нужно беспокоиться о серверах, контейнерах, развертывании и т. Д. Вы пишете код, и облачная платформа обеспечит его выполнение!
В этом посте вы узнаете, как создать функцию Hello World . Вы будете использовать IBM Cloud Functions для создания и запуска функции (дополнительную информацию об этом см. В конце). А сейчас давайте перейдем к созданию вашей первой функции.
Создание и тестирование облачной функции
В этом разделе вы создадите и протестируете новую функцию.
-
-
- Зарегистрируйте бесплатную учетную запись Lite IBM Cloud или войдите в существующую учетную запись
- Нажмите на каталог
- Удалите метку: фильтр Lite и нажмите Enter, чтобы обновить список услуг
- Введите функции и нажмите Enter
- Нажмите на поле Функции
- Нажмите на кнопку Начать создание
- Нажмите на опцию Создать действие
- Введите helloworld для имени действия .
- Оставьте значение по умолчанию для Enclosing Package .
- Для среды выполнения также оставьте значение по умолчанию Node.js
- Нажмите кнопку Создать . Редактор кода с кодом функции загрузится и будет выглядеть так:
- Вы не использовали шаблон, но даже функция по умолчанию поставляется с базовым кодом JavaScript, который возвращает Hello World .
- Функция называется основной .
- Объект params позволяет передавать параметры в функцию. Я расскажу об этом в другом сообщении в блоге.
- return возвращает объект JSON с ответом функции. В данном случае это просто текст.
Следующим шагом является проверка функции.
- Нажмите кнопку Invoke (вверху справа в редакторе). Результат должен выглядеть так:
-
Вы только что создали новую облачную функцию (вы не писали никакого кода, но пока это нормально), и вы также смогли протестировать эту функцию прямо в облаке.
Весьма вероятно, что вы захотите вызвать эту функцию как REST API. К счастью, это очень легко сделать.
Вызов в качестве REST API
В этом разделе вы вызовете функцию как API REST.
- С левой стороны, нажмите Конечные точки
- В разделе CURL вы увидите команду curl для вызова этой функции. Нажмите значок глаза, чтобы отобразить имя пользователя / пароль. Базовая аутентификация используется для защиты этой функции
- Нажмите на значок копирования, чтобы скопировать команду curl
- Откройте окно терминала и вставьте команду curl. Вы должны увидеть полный ответ JSON от API (функция):
Также возможно вызвать API функции непосредственно из адресной строки браузера. Чтобы сделать это, отформатируйте URL в следующем формате:
1
|
|
Замените имя пользователя и пароль фактическими значениями. Вы сможете увидеть эти значения, нажав на значок глаза . Вот как это выглядит при запуске из Chrome:
Вызвать как веб-действие
В этом разделе вы узнаете, как вызвать функцию как веб-действие. Веб-действие очень похоже на API, который вы вызывали в предыдущем разделе, только без аутентификации. В веб-действии аутентификация зависит от разработчика.
-
-
- Нажмите на вкладку Конечные точки
- Установите флажок Включить как веб-действие
- Нажмите кнопку Сохранить
- Скопируйте URL-адрес и вставьте его в адресную строку браузера. Вы должны увидеть это в браузере:
123
{
"message"
:
"Hello World"
}
Если вы используете последнюю версию Firefox, вы должны увидеть отформатированную версию этого вывода (из-за встроенных инструментов Firefox)
-
Облачные функции IBM
В этой записи блога я использовал функции IBM Cloud Functions для создания облачной функции. В основе IBM Cloud Functions лежит популярный проект Apache OpenWhisk с открытым исходным кодом .
Резюме
В этом посте вы узнали, как создать свою первую облачную функцию. Это было быстро и просто. Теперь это пространство не ново (как может подумать большинство людей). Облачная среда, в которой вы могли выполнять код, была частью компаний типа Backend as a Service (BaaS) или Mobile Backend as a Service (mBaas). Такие компании, как Parse (приобретенный Facebook, а затем с открытым исходным кодом), StackMob (приобретенный PayPal), Kinvey (приобретенный Progress) и Appery.io предоставили (Appery.io и Kinvey предоставляют сегодня) возможность писать и выполнять код в облаке не беспокоясь о серверах. У вас были некоторые ограничения на ресурсы и другая структура ценообразования. Это тема для другого поста в блоге.
Опубликовано на Java Code Geeks с разрешения Макса Каца, партнера нашей программы JCG . Смотрите оригинальную статью здесь: Создайте безсерверную функцию «Hello World»
Мнения, высказанные участниками Java Code Geeks, являются их собственными. |