Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
В этом разделе объясняется, как развернуть приложение Node.js из локальной системы в Apigee Edge. В этом разделе мы обсудим, как использовать инструмент командной строки под названием apigeetool
для развертывания приложений Node.js в Apigee Edge.
О развертывании кода Node.js в Apigee Edge
Вы можете развернуть существующее приложение Node.js API, включая любые зависимые модули 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).
- Импортирует пакет конфигурации прокси-сервера API в указанную организацию в Apigee Edge с помощью API управления Edge.
- Развертывает прокси-сервер 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
на машинах под управлением *nix.
Установка с GitHub
Загрузите или клонируйте инструменты платформы API с GitHub. Инструкции по установке см. в файле README в корневом каталоге репозитория.
$ git clone https://github.com/apigee/apigeetool-node.git
После завершения установки убедитесь, что исполняемый файл apigeetool
находится в вашем пути. Вы можете проверить это, набрав:
$ 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 — добавить приложение при создании прокси. Вы можете сделать это полностью через пользовательский интерфейс управления и диалоговое окно «Новый прокси API».
- На странице сводной информации о прокси-сервере API нажмите +Прокси-сервер API .
- В диалоговом окне «Новый прокси-сервер API» выберите «Существующий 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.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.
- Имя файла добавляется в диалоговое окно, но при желании вы можете его изменить.
- Нажмите Добавить . Файл появится в разделе «Скрипты» навигатора и откроется в редакторе.
- Нажмите Сохранить .
Если вы хотите вызвать импортированный файл, потребуется дополнительный шаг, как описано в следующем разделе.
Вызов импортированного файла Node.js
Вы не можете просто вызвать только что импортированный или созданный файл Node.js. Причина в том, что Edge требует, чтобы один файл Node.js был основным . Основной файл указан в элементе <ScriptTarget> определения целевой конечной точки. Чтобы указать, какой файл является основным файлом Node.js, выполните следующие действия:
- В разделе «Целевые конечные точки» в навигаторе щелкните имя целевой конечной точки (обычно называемой « по умолчанию »).
- В редакторе кода отредактируйте элемент <ScriptTarget>, изменив <ResourceURL>, чтобы оно отражало имя файла, который вы хотите сделать основным файлом Node.js. Например, если вы хотите, чтобы файл с именем
hello-world.js
был основным файлом, вы должны ввести:node://hello-world.js
в элементе ResourceURL. - Нажмите Сохранить .
На этом этапе вы можете вызвать файл, используя любой путь прокси, который вы использовали ранее. Например, мы рассматривали Hello World! пример, где указан базовый путь v1/hello
. Однако вы можете изменить базовый путь, отредактировав конечную точку прокси.
- В разделе «Конечные точки прокси-сервера» в навигаторе щелкните имя конечной точки прокси-сервера (обычно называемой « по умолчанию »).
- В редакторе кода отредактируйте элемент <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
После развертывания прокси-сервера, содержащего код Node.js, в Edge вы всегда можете экспортировать прокси-сервер обратно в свою систему, работать с ним там, а затем повторно импортировать его в Edge с помощью пользовательского интерфейса управления. Этот тип метода разработки «туда-обратно» широко используется.
- На странице сводной информации о прокси-сервере API нажмите « Разработать» .
- На странице «Разработка» выберите «Загрузить текущую версию» .
- Разархивируйте загруженный файл в вашей системе.
Вы можете импортировать пакет прокси обратно в Edge, выбрав «Импортировать в новую ревизию» в том же меню.
Вы также можете использовать API для развертывания прокси. Подробности см. в разделе «Развертывание прокси из командной строки» .
Следующие шаги
В следующем разделе « Добавление Node.js к существующему прокси-серверу API» мы объясним, как добавить приложение Node.js к существующему прокси-серверу в вашей файловой системе и развернуть его в Edge.