Статьи

Как вызвать внешний REST API из облачной функции

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

  1. Войдите в учетную запись IBM Cloud
  2. Нажмите Каталог
  3. Удалите метку: фильтр Lite и функции типа
  4. Нажмите на поле Функции
  5. Нажмите кнопку Начать создание
  6. Нажмите Создать действие
  7. В поле « Имя действия» введите ajoke и нажмите кнопку « Создать» . Новая облачная функция будет создана с сообщением Hello World
  8. Замените код функции следующим кодом, который вызывает сторонний REST API, который возвращает случайную шутку:
    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    13
    14
    15
    16
    17
    18
    var request = require("request");
     
    function main(params) {
       var options = {
          json: true
       };
     
       return new Promise(function (resolve, reject) {
          request(options, function (err, resp) {
             if (err) {
                console.log(err);
                return reject({err: err});
             }
          return resolve({joke:resp.body.value.joke});
          });
       });
    }
    • Код прост. Он использует пакет запроса Node.js для подключения к внешнему REST API
    • Внешний REST API возвращает случайную шутку
    • Обещание JavaScript используется для вызова REST API
    • В конце облачная функция возвращает ответ в формате JSON
  9. Теперь нажмите кнопку Сохранить , чтобы сохранить код. После сохранения кода кнопка изменится на Invoke . Нажмите кнопку, чтобы вызвать функцию. В правой панели вы должны увидеть случайную шутку:
    1
    2
    3
    {
      "joke": "Project managers never ask Chuck Norris for estimations... ever."
    }

Вот как это выглядит в редакторе IBM Cloud Functions:

Код облачной функции

Код облачной функции

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

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

  1. С левой стороны, нажмите Конечные точки
  2. Установите флажок «Включить как веб- действие» и нажмите « Сохранить».
  3. Скопируйте URL и войдите в адресную строку браузера.

Вот как это выглядит в Firefox:

Вызов функции облака

Это было легко, правда?

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

Опубликовано на Java Code Geeks с разрешения Макса Каца, партнера нашей программы JCG . См. Оригинальную статью здесь: Как вызвать внешний REST API из облачной функции.

Мнения, высказанные участниками Java Code Geeks, являются их собственными.