Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Введение
В этой теме объясняется, как добавить приложение Node.js к существующему прокси-серверу в локальной файловой системе и как развернуть прокси-сервер в Apigee Edge.
Подготовка среды разработки
В этой теме мы предполагаем, что у вас уже настроена среда разработки на основе прокси-сервера в вашей локальной системе и вы хотите интегрировать в неё приложение Node.js.
Базовая структура прокси-приложения, включающего приложение Node.js, соответствует схеме, показанной на рисунке ниже, с базовой папкой /apiproxy и подпапками для ресурсов , целей и прокси . Папка apiproxy/resources/node — это место, где должны быть размещены файлы Node.js. Остальные папки содержат XML-файлы, определяющие конечные точки прокси и целей, потоки прокси, условные потоки и так далее. Более полное описание структуры API-прокси см. в справочнике по настройке API-прокси .

Помните, что любой код Node.js, являющийся частью прокси, должен находиться в каталоге /apiproxy/resources/node . Именно там Edge ожидает его найти при развертывании.
Укажите целевой объект Node.js с помощью ScriptTarget.
Ключ к интеграции Node.js в прокси-сервер заключается в указании элемента <ScriptTarget> в XML-файле целевой конечной точки. В структуре файлов прокси-сервера этот XML-файл находится в папке apiproxy/targets . По умолчанию имя файла — default.xml.
Для понимания контекста, учтите, что целевая конечная точка обычно указывает на какой-либо бэкэнд-сервис. В данном случае мы обращаемся к фиктивному целевому сервису Apigee. Определение целевой конечной точки выглядит следующим образом:
<TargetEndpoint name="default"> <Description/> <Flows/> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <HTTPTargetConnection> <URL>http://mocktarget.apigee.net/</URL> </HTTPTargetConnection> <PostFlow name="PostFlow"> <Request/> <Response/> </PostFlow> </TargetEndpoint>
Элемент <HTTPTargetConnection> указывает URL-адрес серверной службы, а именно целевой службы-заглушки Apigee.
Однако в случае Node.js целевым объектом является само приложение Node.js. Это указывается с помощью `<ScriptTarget>` в файле apiproxy/targets/default.xml .
Вместо использования элемента <HTTPTargetConnection> для указания URL-адреса серверной части, приложение Node.js указывается напрямую с помощью элемента <ScriptTarget>, например, так:
<TargetEndpoint name="default"> <ScriptTarget> <ResourceURL>node://server.js</ResourceURL> </ScriptTarget> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> </TargetEndpoint>
Параметр <ResourceURL> всегда должен начинаться с префикса node:// , за которым следует имя основного скрипта Node.js. И, как отмечалось ранее, ресурсы Node.js должны находиться в /apiproxy/resources/node в области действия API-прокси.
В параметре ScriptTarget можно задать дополнительные параметры. Подробнее см. раздел «Расширенная настройка ScriptTarget» .
Для примера приведем исходный код основного файла Node.js, который называется server.js . Это базовый HTTP-сервер, который возвращает "Hello World!" при получении запроса:
var http = require('http'); console.log('node.js application starting...'); var svr = http.createServer(function(req, resp) { resp.end('Hello, Node!'); }); svr.listen(process.env.PORT || 9000, function() { console.log('Node HTTP server is listening'); });
В итоге, предположим, что основное приложение Node.js реализовано в файле server.js , а конфигурации конечных точек называются default.xml , тогда API-прокси, содержащий скрипт Node.js, имеет следующую структуру:
/apiproxy/proxyName.xml /apiproxy/proxies/default.xml /apiproxy/targets/default.xml /apiproxy/resources/node/server.js
Подготовка к развертыванию приложения
В большинстве приложений Node.js есть файлы зависимостей, и в базовом каталоге находится файл package.json . В этом случае рекомендуется запустить утилиту npm , чтобы убедиться, что каталог node_modules верхнего уровня заполнен зависимостями перед развертыванием. Если какие-либо удаленные зависимости не включены в node_modules , ваше приложение Node.js не будет работать в Edge.
С помощью утилиты npm вы можете легко получить все зависимости в свою файловую систему:
- В корневом каталоге вашего Node.js-приложения выполните следующую команду:
$ npm install
или
$ npm update
После установки необходимых зависимостей вы будете готовы развернуть свой прокси-сервер в Edge.
Разверните приложение Node.js в Apigee Edge.
Перед развертыванием вам потребуется знать название вашей организации, имя пользователя и пароль от вашей учетной записи Apigee Edge . Эта информация необходима для корректного формирования команды инструмента развертывания.
Вот команда. Она предполагает (с флагом -d), что вы находитесь в корневом каталоге вашего прокси. Если ваш прокси называется foo , то введите эту команду из каталога foo :
$ apigeetool deployproxy -u username -p password -o org -e test -n hellonode -d .
$ apigeetool deployproxy -h
Вкратце:
- -n Этот флаг позволяет указать имя прокси-сервера, который будет создан при развертывании приложения. Вы увидите это имя в пользовательском интерфейсе управления.
- -d Указывает корневой каталог прокси-сервера API.
- Параметры -o , -e , -u и -p указывают название организации, среду развертывания, имя пользователя и пароль.
Протестируйте новый API-прокси.
Вы только что добавили приложение Node.js к существующему API-прокси и развернули прокси в Apigee Edge! Чтобы протестировать его, выполните эту команду cURL. Предполагается, что используется базовый путь по умолчанию (/) (базовый путь указывается в файле конфигурации конечной точки прокси). Обязательно замените org_name на название вашей организации. Если у вас не установлен cURL, вы можете ввести URL-адрес в браузере.
$ curl http://org_name-test.apigee.net/
Hello, Node!
Новый прокси-сервер отображается в пользовательском интерфейсе управления.
Войдите в свою учетную запись Apigee Edge и перейдите на страницу API-прокси. Там вы увидите прокси-сервер под названием "hellonode".

Нажмите на "hellonode", чтобы просмотреть подробную информацию о прокси-сервере. В режиме разработки вы можете увидеть загруженный вами исходный код, добавить политики, отредактировать потоки и так далее.

Следующие шаги
Для получения информации об отладке приложений Node.js, работающих в Apigee Edge, см. раздел «Отладка и устранение неполадок прокси-серверов Node.js» .
, Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Введение
В этой теме объясняется, как добавить приложение Node.js к существующему прокси-серверу в локальной файловой системе и как развернуть прокси-сервер в Apigee Edge.
Подготовка среды разработки
В этой теме мы предполагаем, что у вас уже настроена среда разработки на основе прокси-сервера в вашей локальной системе и вы хотите интегрировать в неё приложение Node.js.
Базовая структура прокси-приложения, включающего приложение Node.js, соответствует схеме, показанной на рисунке ниже, с базовой папкой /apiproxy и подпапками для ресурсов , целей и прокси . Папка apiproxy/resources/node — это место, где должны быть размещены файлы Node.js. Остальные папки содержат XML-файлы, определяющие конечные точки прокси и целей, потоки прокси, условные потоки и так далее. Более полное описание структуры API-прокси см. в справочнике по настройке API-прокси .

Помните, что любой код Node.js, являющийся частью прокси, должен находиться в каталоге /apiproxy/resources/node . Именно там Edge ожидает его найти при развертывании.
Укажите целевой объект Node.js с помощью ScriptTarget.
Ключ к интеграции Node.js в прокси-сервер заключается в указании элемента <ScriptTarget> в XML-файле целевой конечной точки. В структуре файлов прокси-сервера этот XML-файл находится в папке apiproxy/targets . По умолчанию имя файла — default.xml.
Для понимания контекста, учтите, что целевая конечная точка обычно указывает на какой-либо бэкэнд-сервис. В данном случае мы обращаемся к фиктивному целевому сервису Apigee. Определение целевой конечной точки выглядит следующим образом:
<TargetEndpoint name="default"> <Description/> <Flows/> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <HTTPTargetConnection> <URL>http://mocktarget.apigee.net/</URL> </HTTPTargetConnection> <PostFlow name="PostFlow"> <Request/> <Response/> </PostFlow> </TargetEndpoint>
Элемент <HTTPTargetConnection> указывает URL-адрес серверной службы, а именно целевой службы-заглушки Apigee.
Однако в случае Node.js целевым объектом является само приложение Node.js. Это указывается с помощью `<ScriptTarget>` в файле apiproxy/targets/default.xml .
Вместо использования элемента <HTTPTargetConnection> для указания URL-адреса серверной части, приложение Node.js указывается напрямую с помощью элемента <ScriptTarget>, например, так:
<TargetEndpoint name="default"> <ScriptTarget> <ResourceURL>node://server.js</ResourceURL> </ScriptTarget> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> </TargetEndpoint>
Параметр <ResourceURL> всегда должен начинаться с префикса node:// , за которым следует имя основного скрипта Node.js. И, как отмечалось ранее, ресурсы Node.js должны находиться в /apiproxy/resources/node в области действия API-прокси.
В параметре ScriptTarget можно задать дополнительные параметры. Подробнее см. раздел «Расширенная настройка ScriptTarget» .
Для примера приведем исходный код основного файла Node.js, который называется server.js . Это базовый HTTP-сервер, который возвращает "Hello World!" при получении запроса:
var http = require('http'); console.log('node.js application starting...'); var svr = http.createServer(function(req, resp) { resp.end('Hello, Node!'); }); svr.listen(process.env.PORT || 9000, function() { console.log('Node HTTP server is listening'); });
В итоге, предположим, что основное приложение Node.js реализовано в файле server.js , а конфигурации конечных точек называются default.xml , тогда API-прокси, содержащий скрипт Node.js, имеет следующую структуру:
/apiproxy/proxyName.xml /apiproxy/proxies/default.xml /apiproxy/targets/default.xml /apiproxy/resources/node/server.js
Подготовка к развертыванию приложения
В большинстве приложений Node.js есть файлы зависимостей, и в базовом каталоге находится файл package.json . В этом случае рекомендуется запустить утилиту npm , чтобы убедиться, что каталог node_modules верхнего уровня заполнен зависимостями перед развертыванием. Если какие-либо удаленные зависимости не включены в node_modules , ваше приложение Node.js не будет работать в Edge.
С помощью утилиты npm вы можете легко получить все зависимости в свою файловую систему:
- В корневом каталоге вашего Node.js-приложения выполните следующую команду:
$ npm install
или
$ npm update
После установки необходимых зависимостей вы будете готовы развернуть свой прокси-сервер в Edge.
Разверните приложение Node.js в Apigee Edge.
Перед развертыванием вам потребуется знать название вашей организации, имя пользователя и пароль от вашей учетной записи Apigee Edge . Эта информация необходима для корректного формирования команды инструмента развертывания.
Вот команда. Она предполагает (с флагом -d), что вы находитесь в корневом каталоге вашего прокси. Если ваш прокси называется foo , то введите эту команду из каталога foo :
$ apigeetool deployproxy -u username -p password -o org -e test -n hellonode -d .
$ apigeetool deployproxy -h
Вкратце:
- -n Этот флаг позволяет указать имя прокси-сервера, который будет создан при развертывании приложения. Вы увидите это имя в пользовательском интерфейсе управления.
- -d Указывает корневой каталог прокси-сервера API.
- Параметры -o , -e , -u и -p указывают название организации, среду развертывания, имя пользователя и пароль.
Протестируйте новый API-прокси.
Вы только что добавили приложение Node.js к существующему API-прокси и развернули прокси в Apigee Edge! Чтобы протестировать его, выполните эту команду cURL. Предполагается, что используется базовый путь по умолчанию (/) (базовый путь указывается в файле конфигурации конечной точки прокси). Обязательно замените org_name на название вашей организации. Если у вас не установлен cURL, вы можете ввести URL-адрес в браузере.
$ curl http://org_name-test.apigee.net/
Hello, Node!
Новый прокси-сервер отображается в пользовательском интерфейсе управления.
Войдите в свою учетную запись Apigee Edge и перейдите на страницу API-прокси. Там вы увидите прокси-сервер под названием "hellonode".

Нажмите на "hellonode", чтобы просмотреть подробную информацию о прокси-сервере. В режиме разработки вы можете увидеть загруженный вами исходный код, добавить политики, отредактировать потоки и так далее.

Следующие шаги
Для получения информации об отладке приложений Node.js, работающих в Apigee Edge, см. раздел «Отладка и устранение неполадок прокси-серверов Node.js» .