Статьи

Создайте безсерверную функцию «Hello World»

Бессерверный , функция как услуга (FaaS) или просто облачные функции позволяют вам писать код, который будет работать в облаке. Вы можете использовать несколько различных языков, таких как JavaScript (Node.js), Swift, Python, Java, PHP и другие, чтобы написать код функции. Приятно, что вам не нужно беспокоиться о серверах, контейнерах, развертывании и т. Д. Вы пишете код, и облачная платформа обеспечит его выполнение!

В этом посте вы узнаете, как создать функцию Hello World . Вы будете использовать IBM Cloud Functions для создания и запуска функции (дополнительную информацию об этом см. В конце). А сейчас давайте перейдем к созданию вашей первой функции.

Создание и тестирование облачной функции

В этом разделе вы создадите и протестируете новую функцию.

      1. Зарегистрируйте бесплатную учетную запись Lite IBM Cloud или войдите в существующую учетную запись
      2. Нажмите на каталог
      3. Удалите метку: фильтр Lite и нажмите Enter, чтобы обновить список услуг
      4. Введите функции и нажмите Enter
      5. Нажмите на поле Функции
        Создание новой функции

        Создание новой функции

      6. Нажмите на кнопку Начать создание
      7. Нажмите на опцию Создать действие
      8. Введите helloworld для имени действия .
        1. Оставьте значение по умолчанию для Enclosing Package .
        2. Для среды выполнения также оставьте значение по умолчанию Node.js
      9. Нажмите кнопку Создать . Редактор кода с кодом функции загрузится и будет выглядеть так:
        Код функции

        Код функции

        • Вы не использовали шаблон, но даже функция по умолчанию поставляется с базовым кодом JavaScript, который возвращает Hello World .
        • Функция называется основной .
        • Объект params позволяет передавать параметры в функцию. Я расскажу об этом в другом сообщении в блоге.
        • return возвращает объект JSON с ответом функции. В данном случае это просто текст.
          Следующим шагом является проверка функции.
      10. Нажмите кнопку Invoke (вверху справа в редакторе). Результат должен выглядеть так:
      бессерверной

      Ответ функции

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

Весьма вероятно, что вы захотите вызвать эту функцию как REST API. К счастью, это очень легко сделать.

Вызов в качестве REST API

В этом разделе вы вызовете функцию как API REST.

  1. С левой стороны, нажмите Конечные точки
  2. В разделе CURL вы увидите команду curl для вызова этой функции. Нажмите значок глаза, чтобы отобразить имя пользователя / пароль. Базовая аутентификация используется для защиты этой функции
    бессерверной

    команда скручивания

  3. Нажмите на значок копирования, чтобы скопировать команду curl
  4. Откройте окно терминала и вставьте команду curl. Вы должны увидеть полный ответ JSON от API (функция):
бессерверной

Ответ функции (JSON отформатирован с помощью jsonlint.com)

Также возможно вызвать API функции непосредственно из адресной строки браузера. Чтобы сделать это, отформатируйте URL в следующем формате:

1
https://username:[email protected]/api/v1/namespaces/maxkatzorg_dev/actions/hello?blocking=true

Замените имя пользователя и пароль фактическими значениями. Вы сможете увидеть эти значения, нажав на значок глаза . Вот как это выглядит при запуске из Chrome:

Вызов из браузера

Вызвать как веб-действие

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

      1. Нажмите на вкладку Конечные точки
      2. Установите флажок Включить как веб-действие
      3. Нажмите кнопку Сохранить
      4. Скопируйте URL-адрес и вставьте его в адресную строку браузера. Вы должны увидеть это в браузере:
        1
        2
        3
        {
           "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, являются их собственными.