Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione
Documentazione di Apigee X. Informazioni
Questo argomento spiega come eseguire il deployment di un'applicazione Node.js dal tuo sistema locale su Apigee Edge.
In questo argomento, illustreremo come utilizzare uno strumento a riga di comando chiamato apigeetool
per
il deployment delle applicazioni Node.js in Apigee Edge.
Informazioni sul deployment del codice Node.js in Apigee Edge
Puoi eseguire il deployment di un'applicazione API Node.js esistente, inclusi tutti i moduli Node.js dipendenti,
dal sistema locale ad Apigee Edge, utilizzando un'utilità a riga di comando chiamata
apigeetool
. L'utilità raggruppa automaticamente l'applicazione e le sue dipendenze
in un proxy API e ne esegue il deployment su Edge.
Ad esempio, supponiamo che tu abbia utilizzato Express per creare un'applicazione web in Node.js. La
l'applicazione viene eseguita come un server HTTP che ascolta le richieste HTTP, le elabora
restituisce i dati e così via. Quando utilizzi apigeetool
per eseguire il deployment di un nodo Node.js
a Edge, viene eseguito il wrapping in un proxy e viene eseguito nel contesto
completamente gestita. Puoi quindi chiamare la tua applicazione tramite il nuovo URL del proxy e aggiungere valore
"vestindola" con funzionalità Edge standard come la sicurezza OAuth, i criteri per le quote,
criteri di protezione, flussi condizionali, memorizzazione nella cache e molto altro.
Che cosa fa apigeetool?
Quando esegui l'utilità apigeetool
con l'opzione deploynodeapp
,
Questo:
- Genera un bundle di configurazione proxy API per ospitare l'applicazione Node.js.
- Pacchettizza l'applicazione Node.js con qualsiasi pacchetto Node.js installato con NPM (Node) moduli in pacchetto).
- Importa il bundle di configurazione del proxy API nell'organizzazione specificata su Apigee Edge utilizzando l'API Edge Management.
- Esegue il deployment del proxy API in un ambiente.
- Esegue l'applicazione Node.js su Apigee Edge e la rende disponibile in ogni rete.
Preparazione per l'utilizzo di apigeetool
Prima di iniziare, devi installare l'utilità apigeetool
.
Puoi installare apigeetool tramite npm o clonando e collegando il codice da GitHub.
Installazione da npm
Il modulo apigeetool
e le sue dipendenze sono progettati per Node.js e sono
disponibili tramite npm utilizzando il seguente comando:
$ sudo npm install -g apigeetool
Di solito, l'opzione -g inserisce i moduli in:
/usr/local/lib/node_modules/apigeetool
su macchine basate su *nix.
Installazione da GitHub
Scarica o clona gli strumenti della piattaforma API da GitHub. Visualizza il file README nella per le istruzioni di installazione.
$ git clone https://github.com/apigee/apigeetool-node.git
Al termine dell'installazione, assicurati che l'eseguibile apigeetool
sia in
il tuo Percorso. Puoi provarlo digitando:
$ apigeetool -h
Deployment di un'applicazione Node.js in Edge con apigeetool
Nota: prima del deployment, devi conoscere la tua organizzazione Apigee Edge
il nome, il nome utente e la password del tuo Apigee
Account Edge. Queste informazioni sono necessarie per formare correttamente
il comando apigeetool
.
Per eseguire il deployment di un'applicazione Node.js utilizzando apigeetool
:
- In una finestra del terminale,
cd
la directory radice dell'applicazione Node.js. - Esegui l'utilità
apigeetool
condeploynodeapp
comando:
Ad esempio:$ 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
- Controlla l'output nella finestra del terminale. Sarà simile a questo:
Importing new application myNodeApp Imported new app revision 1 Deploying revision 1 Deployed. Proxy: "myNodeApp" Revision 1 Environment: test BasePath: /myNodeApp Status: deployed
Se vedi "Stato: deployment eseguito", tutto è pronto. È stato tutto senza problemi. L'app Node.js è aggregato in un proxy API, con deployment in Edge, in esecuzione e in attesa di gestire le richieste. È pronta per essere testata.
- Testa il proxy. Ad esempio:
$ curl http://myorg-test.apigee.net/myNodeApp Hello, My Node App!
- Se vuoi, accedi al tuo account Apigee Edge e vai alla pagina Proxy API del un'interfaccia utente di gestione. Il nuovo proxy verrà visualizzato nell'elenco.
In che modo apigeetool gestisce i file dipendenti moduli
Se la tua applicazione Node.js dipende dai moduli installati, apigeetool li gestisce mediante la compressione
la cartella node_modules
e aggiungerla al bundle proxy. Nessun'altra azione è
necessaria. Lo stesso vale per tutte le directory che contengono codice sorgente aggiuntivo. La
L'utilità apigeetool li comprime e li distribuisce con il bundle.
Non puoi modificare i file in queste directory compresse nell'editor della UI di gestione perimetrale. Se devi cambiarle, puoi esportare il progetto, modificare i file localmente ed eseguire di nuovo il deployment utilizzando apigeetool o importando il progetto esportato utilizzando l'interfaccia utente di gestione. Vedi anche "Esportazione e importazione di un proxy con il codice Node.js".
Informazioni di base sull'utilizzo per apigeetool
Per informazioni di base sull'utilizzo dei parametri di input dell'utilità apigeetool
,
inserisci:
$ 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
Creazione di un nuovo proxy con Node.js esistente file
Un altro modo per integrare un'applicazione Node.js esistente in un proxy API è aggiungere quando crei il proxy. Puoi farlo interamente tramite l'interfaccia utente di gestione e Finestra di dialogo Nuovo proxy API.
- Nella pagina di riepilogo del proxy API, fai clic su +Proxy API.
- Nella finestra di dialogo Nuovo proxy API, seleziona Node.js esistente.
- Utilizza il pulsante Scegli file per selezionare uno o più file Node.js per: per l'importazione.
- Assegna un nome al proxy. In questo esempio, lo chiamiamo
hellonode
. - Aggiungi la versione
/v1
al percorso di base del progetto. Il controllo delle versioni dell'API pratica. - Fai clic su Crea.
- Fai clic su Sviluppo per accedere alla visualizzazione Sviluppo.
- Apri il file
TargetEndpoint
nell'editor di codice. - Assicurati che l'elemento
<ScriptTarget>
specifichi il file Node.js principale, ad esempio segue:
<ScriptTarget> <ResourceURL>node://server.js</ResourceURL> <Properties/> </ScriptTarget>
- Fai clic su Salva.
Aggiunta e richiamo di una nuova risorsa Node.js file
Un altro modo per aggiungere il codice Node.js a un proxy è aggiungerlo direttamente, tramite l'interfaccia utente o tramite dal tuo file system locale. Puoi anche specificare quale file Node.js è il principale che è il file richiamato da Edge quando viene eseguito il deployment del proxy.
Aggiunta di nuovi elementi in corso... File Node.js tramite l'interfaccia utente
La UI di gestione consente di aggiungere ulteriori file di origine Node.js a un proxy che si trova su Edge completamente gestita. Puoi crearle direttamente nell'interfaccia utente o importarle dal tuo file system. Per prima cosa, vediamo come farlo dalla UI.
Per creare un nuovo file di risorse Node.js:
- Nella vista Sviluppo, seleziona Nuovo Script dal menu Nuovo.
- Nella finestra di dialogo Aggiungi script, seleziona il tipo di file Nodo e assegna un nome allo script.
- Fai clic su Aggiungi.
Il nuovo file Node.js vuoto si apre nell'editor. Puoi tagliare e incollare il codice
. Il file viene visualizzato anche nella sezione Script del riquadro di navigazione.
[[{"type":"media","view_mode":"media_large","fid":"2431","attributes":{"alt":"","class":"media-image","height":"312","typeof":"foaf:Image","width":"417"}}]]
In fase di importazione File Node.js dal tuo file system
Per importare un file Node.js dal tuo file system al proxy:
- Nella vista Sviluppo, seleziona Nuovo Script dal menu Nuovo.
- Nella finestra di dialogo Aggiungi script, fai clic su Importa script.
- Utilizza lo strumento File per selezionare il file Node.js.
- Il nome del file viene aggiunto alla finestra di dialogo, ma puoi modificarlo se vuoi.
- Fai clic su Aggiungi. Il file viene visualizzato nella sezione Script della barra di navigazione e si apre nell'editor.
- Fai clic su Salva.
Se vuoi richiamare il file importato, è necessario un passaggio aggiuntivo, come spiegato nel prossimo .
Richiamare un file Node.js importato
Non puoi semplicemente richiamare un file Node.js appena importato o creato. Il motivo è che Edge è necessario che un file Node.js sia il file main. Il file principale viene specificato nel <ScriptTarget> della definizione dell'endpoint di destinazione. Per specificare quale file è il principale Node.js, segui questi passaggi:
- Sotto Endpoint di destinazione nel Navigatore, fai clic sul nome dell'endpoint di destinazione (di solito chiamata default).
- Nell'editor di codice, modifica il campo <ScriptTarget> modificando l'elemento
<ResourceURL> in modo che rifletta il nome del file che vuoi che sia il file Node.js principale. Per
Ad esempio, se vuoi che un file chiamato
hello-world.js
sia il file principale, dovresti inserirenode://hello-world.js
nell'elemento ResourceURL. - Fai clic su Salva.
A questo punto, puoi richiamare il file con qualsiasi percorso proxy utilizzato in precedenza. Ad esempio:
stiamo guardando Hello World! esempio, dove il percorso di base v1/hello
è
specificato. Tuttavia, puoi cambiare il percorso di base modificando l'endpoint proxy.
- In Endpoint proxy nel Navigatore, fai clic sul nome dell'endpoint proxy (di solito chiamata default).
- Nell'editor di codice, modifica la risorsa <HttpProxyConnection> modificando l'elemento
<BasePath> con il nome che desideri. Ad esempio, se il valore <BasePath> corrente
è
v1/hello
e volevi che fossev1/my-node-file
, cambia il parametro <BasePath> come questo:
<BasePath>/v1/my-node-file</BasePath>
- Fai clic su Salva.
- Richiama il proxy utilizzando il nuovo percorso di base, in questo modo:
$ curl http://myorg-test.apigee.net/v1/my-node-file Hello, World!
Esportazione e importazione di un proxy con codice Node.js
Dopo aver eseguito il deployment di un proxy contenente codice Node.js in Edge, puoi sempre esportarlo nuovamente nel sistema, lavorarci lì e reimportarlo in Edge utilizzando l'interfaccia utente di gestione. Questo una sorta di tecnica di sviluppo andata e ritorno.
- Nella pagina di riepilogo del proxy API, fai clic su Sviluppa.
- Nella pagina Sviluppo, seleziona Scarica revisione corrente.
- Decomprimi il file scaricato sul sistema.
Puoi importare di nuovo il bundle proxy in Edge selezionando Importa in nuovo Revisione nello stesso menu.
Puoi utilizzare l'API anche per il deployment dei proxy. Consulta Deployment di proxy dal comando per informazioni dettagliate.
Passaggi successivi
Nell'argomento successivo, Aggiungere Node.js a un proxy API esistente, ti spieghiamo come aggiungere un'app Node.js a un proxy esistente proxy nel tuo file system ed eseguine il deployment su Edge.