Deployment di un'app Node.js autonoma

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:

  1. In una finestra del terminale, cd la directory radice dell'applicazione Node.js.
  2. Esegui l'utilità apigeetool con deploynodeapp comando:

    $ 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}
    
    Ad esempio:

    $ apigeetool deploynodeapp -n myNodeApp -d . -m server.js -o myorg -e test -b /myNodeApp -u ntesla -p myPassword
    
  3. 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.

  4. Testa il proxy. Ad esempio:

    $ curl http://myorg-test.apigee.net/myNodeApp
    Hello, My Node App!
    
  5. 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.

  1. Nella pagina di riepilogo del proxy API, fai clic su +Proxy API.
  2. Nella finestra di dialogo Nuovo proxy API, seleziona Node.js esistente.
  3. Utilizza il pulsante Scegli file per selezionare uno o più file Node.js per: per l'importazione.
  4. Assegna un nome al proxy. In questo esempio, lo chiamiamo hellonode.
  5. Aggiungi la versione /v1 al percorso di base del progetto. Il controllo delle versioni dell'API pratica.
  6. Fai clic su Crea.
  7. Fai clic su Sviluppo per accedere alla visualizzazione Sviluppo.
  8. Apri il file TargetEndpoint nell'editor di codice.
  9. Assicurati che l'elemento <ScriptTarget> specifichi il file Node.js principale, ad esempio segue:


    <ScriptTarget>
            <ResourceURL>node://server.js</ResourceURL>
            <Properties/>
    </ScriptTarget>
    
  10. 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:

  1. Nella vista Sviluppo, seleziona Nuovo Script dal menu Nuovo.
  2. Nella finestra di dialogo Aggiungi script, seleziona il tipo di file Nodo e assegna un nome allo script.
  3. 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.

[[{&quot;type&quot;:&quot;media&quot;,&quot;view_mode&quot;:&quot;media_large&quot;,&quot;fid&quot;:&quot;2431&quot;,&quot;attributes&quot;:{&quot;alt&quot;:&quot;&quot;,&quot;class&quot;:&quot;media-image&quot;,&quot;height&quot;:&quot;312&quot;,&quot;typeof&quot;:&quot;foaf:Image&quot;,&quot;width&quot;:&quot;417&quot;}}]]

In fase di importazione File Node.js dal tuo file system

Per importare un file Node.js dal tuo file system al proxy:

  1. Nella vista Sviluppo, seleziona Nuovo Script dal menu Nuovo.
  2. Nella finestra di dialogo Aggiungi script, fai clic su Importa script.
  3. Utilizza lo strumento File per selezionare il file Node.js.
  4. Il nome del file viene aggiunto alla finestra di dialogo, ma puoi modificarlo se vuoi.
  5. Fai clic su Aggiungi. Il file viene visualizzato nella sezione Script della barra di navigazione e si apre nell'editor.
  6. 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 &lt;ScriptTarget&gt; della definizione dell'endpoint di destinazione. Per specificare quale file è il principale Node.js, segui questi passaggi:

  1. Sotto Endpoint di destinazione nel Navigatore, fai clic sul nome dell'endpoint di destinazione (di solito chiamata default).
  2. Nell'editor di codice, modifica il campo <ScriptTarget> modificando l'elemento &lt;ResourceURL&gt; 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 inserire node://hello-world.js nell'elemento ResourceURL.
  3. 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.

  1. In Endpoint proxy nel Navigatore, fai clic sul nome dell'endpoint proxy (di solito chiamata default).
  2. Nell'editor di codice, modifica la risorsa <HttpProxyConnection> modificando l'elemento &lt;BasePath&gt; con il nome che desideri. Ad esempio, se il valore <BasePath> corrente è v1/hello e volevi che fosse v1/my-node-file, cambia il parametro <BasePath> come questo:

    &lt;BasePath&gt;/v1/my-node-file&lt;/BasePath&gt;
  3. Fai clic su Salva.
  4. 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.

  1. Nella pagina di riepilogo del proxy API, fai clic su Sviluppa.
  2. Nella pagina Sviluppo, seleziona Scarica revisione corrente.
  3. Decomprimi il file scaricato sul sistema.
di Gemini Advanced.

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.