Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
В этой статье рассказывается, как развернуть приложение Node.js из локальной системы в Apigee Edge.
В этой статье рассказывается, как использовать инструмент командной строки apigeetool для развертывания приложений Node.js в Apigee Edge.
Развертывание кода Node.js в Apigee Edge
Вы можете развернуть существующее приложение API Node.js, включая все зависимые модули Node.js, из локальной системы в Apigee Edge с помощью утилиты командной строки apigeetool. Утилита автоматически объединяет приложение и его зависимости в прокси-сервер API и развертывает его в Edge.
Например, вы использовали Express для создания веб-приложения в Node.js. Приложение работает как HTTP-сервер, который принимает и обрабатывает HTTP-запросы, возвращает данные и т. д. Когда вы используете apigeetool для развертывания приложения Node.js в Edge, оно упаковывается в прокси и выполняется в контексте платформы Edge. Затем вы можете вызвать приложение через новый URL прокси и добавить в него стандартные функции Edge, такие как безопасность OAuth, правила квоты, правила защиты от угроз, условные потоки, кеширование и многие другие.
Что делает apigeetool?
При запуске утилиты apigeetool с параметром deploynodeapp она:
- Создает пакет конфигурации прокси-сервера API для размещения приложения Node.js.
- Упаковывает приложение Node.js с любыми пакетами Node.js, установленными с помощью NPM (Node Packaged Modules).
- Импортирует пакет конфигурации прокси-сервера API в указанную организацию в Apigee Edge с помощью Edge Management API.
- Развертывает прокси-сервер API в среде.
- Выполняет приложение Node.js в Apigee Edge и делает его доступным через сеть.
Подготовка к использованию apigeetool
Прежде чем начать, установите утилиту apigeetool.
Установить apigeetool можно с помощью npm или путем клонирования и связывания кода с GitHub.
Установка с помощью npm
Модуль apigeetool и его зависимости предназначены для Node.js и доступны через npm с помощью следующей команды:
$ sudo npm install -g apigeetool
Обычно параметр -g помещает модули в:
/usr/local/lib/node_modules/apigeetool на компьютерах с ОС на базе Unix.
Установка из GitHub
Скачайте или клонируйте инструменты API Platform Tools с сайта GitHub. Инструкции по установке приведены в файле README в корневом каталоге репозитория.
$ git clone https://github.com/apigee/apigeetool-node.git
После установки убедитесь, что исполняемый файл apigeetool находится в переменной Path. Вы можете протестировать, как это работает, введя:
$ apigeetool -h
Развертывание приложения Node.js в Edge с помощью apigeetool
Примечание. Перед развертыванием вам нужно узнать название организации Apigee Edge, имя пользователя и пароль для аккаунта Apigee Edge. Эта информация нужна, чтобы правильно составить команду apigeetool.
Чтобы развернуть приложение Node.js с помощью apigeetool:
- В окне терминала
cdкорневой каталог приложения Node.js. - Выполните утилиту
apigeetoolс командойdeploynodeapp:
Пример:$ apigeetool deploynodeapp -n {A name for your new proxy} -d {The root directory of your Node.js app} -m {The name of the main Node.js file} -o {Your org name on Edge} -e {The environment to deploy to} -b {The base URL for your proxy} -u {Your Edge email address} -p {Your Edge password}
$ apigeetool deploynodeapp -n myNodeApp -d . -m server.js -o myorg -e test -b /myNodeApp -u ntesla -p myPassword
- Проверьте выходные данные в окне терминала. Она будет выглядеть примерно так:
Importing new application myNodeApp Imported new app revision 1 Deploying revision 1 Deployed. Proxy: "myNodeApp" Revision 1 Environment: test BasePath: /myNodeApp Status: deployed
Если вы видите статус "Развернуто", все готово. Все прошло гладко. Ваше приложение Node.js обернуто в прокси-сервер API, развернуто в Edge, запущено и готово обрабатывать запросы. Он готов к тестированию.
- Проверьте прокси-сервер. Пример:
$ curl http://myorg-test.apigee.net/myNodeApp Hello, My Node App!
- При желании войдите в аккаунт Apigee Edge и перейдите на страницу прокси API в интерфейсе управления. Вы увидите новый прокси-сервер в списке.
Как apigeetool обрабатывает зависимые файлы и модули
Если приложение Node.js зависит от установленных модулей, apigeetool обрабатывает их, архивируя папку node_modules и добавляя ее в пакет прокси. Дополнительных действий не требуется. То же самое относится к каталогам, содержащим дополнительный исходный код. Утилита apigeetool архивирует их и развертывает вместе с пакетом.
Редактировать файлы в этих заархивированных каталогах в редакторе интерфейса управления Edge нельзя. Если вам нужно их изменить, вы можете экспортировать проект, отредактировать файлы локально, а затем повторно развернуть их с помощью apigeetool или импортировать экспортированный проект с помощью интерфейса управления. Также ознакомьтесь с разделом Экспорт и импорт прокси с кодом Node.js.
Основная информация об использовании apigeetool
Чтобы получить основную информацию о параметрах утилиты apigeetool, введите:
$ apigeetool deploynodeapp -h Usage: deploynodeapp -n [name] -o [organization] -e [environment] -d [directory name] -m [main script file] -u [username] -p [password] -b [base path] -l [apigee API url] -z [zip file] -i -h -o Apigee organization name -e Apigee environment name -n Apigee proxy name -d Apigee proxy directory -m Main script name: Should be at the top level of the directory -u Apigee user name -p Apigee password -b Base path (optional, defaults to /) -L Apigee API URL (optional, defaults to https://api.enterprise.apigee.com) -z ZIP file to save (optional for debugging) -i import only, do not deploy -R Resolve Node.js modules on Apigee Edge. Equivalent to running npm install on your project. -U Uploads Node.js modules to Apigee Edge. -h Print this message
Как создать новый прокси-сервер с помощью существующих файлов Node.js
Другой способ интегрировать существующее приложение Node.js в прокси-сервер API – добавить приложение при создании прокси-сервера. Это можно сделать в интерфейсе управления и диалоговом окне New API Proxy (Новый прокси API).
- На странице со сводкой по прокси-серверу API нажмите +API Proxy (+Прокси API).
- В диалоговом окне New API Proxy (Новый прокси API) выберите Existing Node.js (Существующий Node.js).
- Нажмите кнопку Выбрать файлы и выберите один или несколько файлов Node.js для импорта.
- Укажите название прокси-сервера. В этом примере мы называем его
hellonode. - Добавьте версию
/v1в базовый путь проекта. Рекомендуем использовать управление версиями API. - Нажмите Создать.
- Нажмите Разработка, чтобы перейти в режим разработки.
- Откройте файл
TargetEndpointв редакторе кода. - Убедитесь, что элемент
<ScriptTarget>указывает на основной файл Node.js, как показано ниже:
<ScriptTarget> <ResourceURL>node://server.js</ResourceURL> <Properties/> </ScriptTarget>
- Нажмите Сохранить.
Добавление и вызов новых файлов ресурсов Node.js
Вы также можете добавить код Node.js в прокси напрямую, используя интерфейс или загрузив его из локальной файловой системы. Вы также можете указать, какой файл Node.js является основным. Именно его вызывает Edge при развертывании прокси.
Добавление новых файлов Node.js через интерфейс
В интерфейсе управления можно добавить дополнительные исходные файлы Node.js в прокси-сервер, размещенный на платформе Edge. Вы можете создать их прямо в интерфейсе или импортировать из файловой системы. Сначала рассмотрим, как это сделать в интерфейсе.
Чтобы создать файл ресурса Node.js:
- В представлении "Разработка" выберите Новый > Скрипт в меню "Новый".
- В диалоговом окне "Добавить скрипт" выберите тип файла Node и укажите название скрипта.
- Нажмите Добавить.

В редакторе откроется новый пустой файл Node.js. Вы можете вырезать и вставить код в файл. Файл также появится в разделе "Скрипты" в навигаторе.
[[{"type":"media","view_mode":"media_large","fid":"2431","attributes":{"alt":"","class":"media-image","height":"312","typeof":"foaf:Image","width":"417"}}]]
Импорт файлов Node.js из файловой системы
Чтобы импортировать файл Node.js из файловой системы в прокси-сервер:
- В представлении "Разработка" выберите Новый > Скрипт в меню "Новый".
- В диалоговом окне "Добавить скрипт" нажмите Импортировать скрипт.
- Выберите файл Node.js с помощью инструмента выбора файлов.
- Название файла будет добавлено в диалоговое окно, но вы можете изменить его.
- Нажмите Добавить. Файл появится в разделе Scripts (Скрипты) на панели навигации и откроется в редакторе.
- Нажмите Сохранить.
Если вы хотите использовать импортированный файл, вам нужно выполнить дополнительный шаг, как описано в следующем разделе.
Как вызвать импортированный файл Node.js
Нельзя просто вызвать недавно импортированный или созданный файл Node.js. Это связано с тем, что Edge требует, чтобы один из файлов Node.js был основным. Основной файл указывается в элементе <ScriptTarget> определения целевой конечной точки. Чтобы указать, какой файл является основным файлом Node.js, выполните следующие действия:
- В разделе Target Endpoints (Целевые конечные точки) в навигаторе нажмите на название целевой конечной точки (обычно default).
- В редакторе кода измените элемент <ScriptTarget>, заменив <ResourceURL> на название файла, который вы хотите сделать основным файлом Node.js. Например, если вы хотите, чтобы основным файлом был файл
hello-world.js, в элементе ResourceURL нужно указатьnode://hello-world.js. - Нажмите Сохранить.

Теперь вы можете вызвать файл, используя тот же путь прокси, что и раньше. Например, мы рассматривали пример Hello World!, в котором указан базовый путь v1/hello. Однако вы можете изменить базовый путь, отредактировав конечную точку прокси.
- В разделе Proxy Endpoints (Конечные точки прокси) в навигаторе нажмите на название конечной точки прокси (обычно default).
- В редакторе кода измените элемент <HttpProxyConnection>, заменив <BasePath> на нужное название. Например, если текущее значение <BasePath> –
v1/hello, а вы хотите изменить его наv1/my-node-file, измените элемент <BasePath> следующим образом:
<BasePath>/v1/my-node-file</BasePath>
- Нажмите Сохранить.
- Вызовите прокси-сервер, используя новый базовый путь, например так:
$ curl http://myorg-test.apigee.net/v1/my-node-file Hello, World!
Экспорт и импорт прокси-сервера с кодом Node.js
После того как вы развернете в Edge прокси-сервер, содержащий код Node.js, вы всегда сможете экспортировать его обратно в свою систему, поработать с ним там, а затем повторно импортировать в Edge с помощью интерфейса управления. Такой подход к разработке с использованием преобразования туда и обратно применяется довольно часто.
- На странице сводки прокси-сервера API нажмите Разработка.
- На странице "Разработка" выберите Скачать текущую версию.
- Распакуйте скачанный файл.
Вы можете импортировать пакет прокси-сервисов обратно в Edge, выбрав Импортировать в новую версию в том же меню.
Вы также можете использовать API для развертывания прокси-серверов. Подробнее о том, как развернуть прокси-серверы из командной строки…
Дальнейшие действия
В следующем разделе Как добавить Node.js в существующий прокси-сервер API рассказывается, как добавить приложение Node.js в существующий прокси-сервер в файловой системе и развернуть его в Edge.