Che cos'è l'emulatore Apigee

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza documentazione di Apigee Edge.

Apigee Emulator è un'immagine Docker personalizzata fornita pubblicamente agli sviluppatori per eseguire il deployment e testare i proxy API in un ambiente di sviluppo locale. Le immagini Docker vengono pubblicate regolarmente in gcr.

Quando è tutto pronto per eseguire il deployment e il test del tuo primo proxy API, dovrai utilizzare la sezione emulatori per visualizzare e gestire le versioni degli emulatori e il ciclo di vita degli emulatori configurati.

Questa sezione ti consente di:

Dettagli della sezione emulatori

  • Visualizza le diverse versioni degli emulatori installate e i container creati per ogni versione, incluse le relative informazioni Docker e runtime, nonché le porte di controllo e traffico

  • Aggiungi, elimina, avvia, arresta, reimposta, aggiorna e aggiorna la visualizzazione dei container dell'emulatore Apigee, come descritto in Gestire l'emulatore Apigee

  • Visualizza le applicazioni attualmente di cui è stato eseguito il deployment (vedi Ambienti di deployment

  • Visualizza le risorse di test attive (vedi Esportazione delle risorse di test in Apigee Emulator

Gestione dell'emulatore Apigee

Gestisci l'emulatore Apigee come descritto nelle sezioni seguenti. Vedi anche Esplorazione dell'emulatore Apigee.

Scelta della versione dell'emulatore

Per impostazione predefinita, la visualizzazione dell'emulatore mostra una versione stabile. Tuttavia, è semplice scegliere una versione diversa in base alle tue esigenze.

  1. Visualizza un elenco delle versioni di Apigee Emulator utilizzando uno dei seguenti metodi e prendi nota del valore Tag:

  2. Per aggiungere una versione dell'emulatore Apigee all'estensione Cloud Code, fai clic su Gestisci > Impostazioni e cerca apigee emulators.

  3. Fai clic su Aggiungi elemento. Impostazioni dell'emulatore

  4. Inserisci il valore Tag ottenuto nel passaggio 1. Ad esempio: 1.10.0 o google/apigee-emulator:1.10.0

  5. Fai clic su OK.

  6. L'emulatore appena aggiunto verrà mostrato nella relativa visualizzazione.

Installazione dell'emulatore Apigee

Per installare l'emulatore Apigee:

  1. Espandi la voce emulatori in Sviluppo locale per visualizzare l'elenco degli emulatori. Espandi emulatori Apigee

  2. Posiziona il cursore sulla versione dell'emulatore Apigee che vuoi installare.

  3. Fai clic su Installa l'emulatore Apigee.

    Installa l'emulatore Apigee

    Ti viene chiesto di configurare il contenitore dell'emulatore Apigee.

  4. Inserisci un nome univoco per il contenitore Apigee Emulator e premi Invio. Inserisci caratteri alfanumerici, trattini (-) o trattini bassi (_).

  5. Inserisci un valore numerico univoco da utilizzare come porta di controllo per il contenitore Apigee Emulator e premi Invio. Per impostazione predefinita, la porta di controllo è 8080.

  6. Inserisci un valore numerico univoco da utilizzare come porta di traffico per il contenitore Apigee Emulator e premi Invio. Per impostazione predefinita, la porta per il traffico è 8998.

L'immagine più recente della versione di Apigee Emulator selezionata è installata. Al termine dell'installazione, viene visualizzato il messaggio Emulator installed successfully e lo stato del contenitore Apigee Emulator diventa Pronto.

Installa l'emulatore Apigee

Aggiunta di un contenitore per l'emulatore Apigee

Per aggiungere un container per l'emulatore Apigee utilizzando la UI:

  1. Espandi la sezione Emulatori in Sviluppo locale.

    Espandi Emulatori Apigee

  2. Posiziona il cursore sopra l'emulatore Apigee per cui vuoi aggiungere un contenitore.

  3. Fai clic su +. Ti verrà chiesto di configurare il contenitore.

  4. Inserisci il valore numerico da utilizzare come porta di controllo per il container Apigee Emulator e premi Invio. La porta di controllo deve essere univoca tra i container. Il valore predefinito è 8080.

  5. Inserisci il valore numerico da utilizzare come porta di traffico per il contenitore Apigee Emulator e premi Invio. La porta del traffico deve essere univoca tra i container. Il valore predefinito è 8998.

  6. Inserisci un nome univoco per il container dell'emulatore Apigee e premi Invio. Inserisci caratteri alfanumerici, trattini (-) o trattini bassi (_).

Il contenitore viene aggiunto.

Visualizzazione delle informazioni sullo stato dell'emulatore Apigee

Visualizza le informazioni sullo stato di Apigee Emulator come descritto nelle sezioni seguenti.

Utilizzo dell'interfaccia utente

Per visualizzare le informazioni sullo stato dell'emulatore Apigee, incluse le informazioni Docker e runtime, espandi il container nella sezione Emulatori Apigee. Le informazioni visualizzate corrispondono alla versione di Apigee Emulator in uso.

Informazioni sullo stato dell'emulatore Apigee

Utilizzo dell'interfaccia a riga di comando Docker

Per visualizzare le informazioni sullo stato del container per l'emulatore Apigee e la sua configurazione porte, esegui docker ps nella scheda Terminale. Di seguito è riportato un esempio di risposta. La risposta effettiva che vedi dipende dalla versione dell'emulatore Apigee in uso:

CONTAINER ID   IMAGE                                COMMAND       CREATED        STATUS        PORTS                                      NAMES
33756b8c5c5b   ...apigee-emulator:1.11.0   "/usr/bin…"   10 hours ago   Up 10 hours   7000-7001/tcp, 0.0.0.0:8080->8080/tcp...   apigee-emulator

Consulta anche Personalizzare il container Docker del runtime Apigee.

Avvio dell'emulatore Apigee

Avvia l'emulatore Apigee come descritto nelle sezioni seguenti.

Utilizzo dell'interfaccia utente

Per avviare l'emulatore Apigee, posiziona il cursore sul contenitore dell'emulatore Apigee che vuoi avviare e fai clic su Icona Avvia emulatore Apigee.

Utilizzo dell'interfaccia a riga di comando di Docker

Per avviare l'emulatore Apigee, esegui docker start apigee-emulator nella scheda Terminale.

Lo stato impostato su Ready:

Informazioni sullo stato dell'emulatore Apigee

Vedi anche Personalizzazione del container Docker di runtime Apigee.

Reimpostazione dell'emulatore Apigee

Reimposta Apigee Emulator per rimuovere tutti i deployment e le risorse di test esportate come descritto nelle sezioni seguenti.

Utilizzo dell'interfaccia utente

Per reimpostare l'emulatore Apigee, posiziona il cursore sul contenitore dell'emulatore Apigee nella sezione Emulatori Apigee e fai clic su Icona Reimposta Emulatore Apigee.

L'emulatore Apigee viene reimpostato e lo stato è impostato su Ready:

Informazioni sullo stato dell'emulatore Apigee

Nella scheda Output vengono visualizzate le seguenti informazioni:

Resetting the Apigee Emulator
Reset completed

Vedi anche Personalizzazione del container Docker di runtime Apigee.

Riavvio dell'emulatore Apigee

Per riavviare l'emulatore Apigee, esegui docker restart container-name nella scheda Terminale. Ad esempio: docker restart MyContainer

Di seguito viene fornito un esempio della risposta: MyContainer

Aggiornamento dell'emulatore Apigee in corso...

Se l'emulatore Apigee non è sincronizzato con la versione più recente, puoi aggiornare la versione installata utilizzando l'interfaccia utente o l'interfaccia a riga di comando di Docker, come descritto nelle sezioni seguenti.

Utilizzo dell'interfaccia utente

Per aggiornare l'emulatore Apigee, posiziona il cursore sopra l'emulatore Apigee nella sezione Emulatori Apigee e fai clic su Aggiorna l'icona dell'emulatore Apigee.

Utilizzo dell'interfaccia a riga di comando Docker

Per aggiornare Apigee Emulator, esegui i seguenti comandi Docker nella scheda Terminal, utilizzando la versione appropriata più recente:

  • Esegui docker ps per ottenere il nome dell'immagine. Esempio: gcr.io/apigee-release/hybrid/apigee-emulator:Emulator version

  • Esegui docker pull imagename per aggiornare l'immagine di installazione di Apigee Emulator. Esempio: docker pull gcr.io/apigee-release/hybrid/apigee-emulator:Emulator version

L'emulatore Apigee viene aggiornato e viene visualizzato il seguente messaggio: Emulator version is up to date

Vedi anche Personalizzazione del container Docker di runtime Apigee.

Arrestare l'emulatore Apigee

Arresta l'emulatore Apigee utilizzando l'interfaccia utente o l'interfaccia a riga di comando di Docker, come descritto nelle sezioni seguenti.

Utilizzo dell'interfaccia utente

Per interrompere l'emulatore Apigee, posiziona il cursore sul contenitore dell'emulatore Apigee nella sezione Emulatori Apigee e fai clic su Icona Arresta Apigee Emulator.

Utilizzo dell'interfaccia a riga di comando Docker

Per arrestare l'emulatore Apigee, esegui docker stop apigee-emulator nella scheda Terminale.

L'emulatore Apigee viene interrotto e lo stato diventa Not running:

Non in esecuzione

Consulta anche Personalizzare il container Docker del runtime Apigee.

Eliminazione di un contenitore per l'emulatore Apigee

Elimina un container per l'emulatore Apigee utilizzando l'interfaccia utente o l'interfaccia utente di Docker, come descritto nelle sezioni seguenti.

Utilizzo dell'interfaccia utente

Per eliminare l'emulatore Apigee, posiziona il cursore sul contenitore dell'emulatore Apigee nella sezione Emulatori Apigee e fai clic su .

Utilizzo dell'interfaccia a riga di comando di Docker

Per eliminare un container per l'emulatore Apigee, esegui questi comandi Docker nella scheda Terminale:

  • Esegui docker stop container per arrestare l'immagine di installazione dell'emulatore Apigee (se non è già stata arrestata). Ad esempio: docker stop MyContainer

  • Esegui docker rm container per interrompere l'immagine di installazione di Apigee Emulator. Ad esempio: docker rm MyContainer

Il contenitore viene eliminato.

Vedi anche Personalizzazione del container Docker di runtime Apigee.

Personalizzazione del container Docker del runtime Apigee

Puoi personalizzare la riga di comando Docker utilizzata per controllare le istanze dell'emulatore Apigee utilizzando le opzioni seguenti.

Opzione Descrizione
additionalArguments Aggiungi uno o più argomenti. Gli argomenti vengono aggiunti al comando docker run esattamente come specificato. Il valore predefinito è "" (nessuno).
detached Consente di stabilire se utilizzare l'opzione --detached durante l'esecuzione del container. Il valore predefinito è true.
dns Controlla il flag -dns del servizio DNS, come descritto in Servizi DNS. Il valore predefinito è 8.8.8.8.
environmentVariables Aggiungi variabili di ambiente al comando docker run, come descritto in Opzioni. I valori, se forniti, vengono aggiunti al comando docker run utilizzando -e name=value. L'elenco predefinito include "XTERM": "xterm-256color".
labels Aggiungi una o più etichette da collegare al contenitore. Le etichette vengono aggiunte al comando docker run utilizzando -l label:value. Il valore predefinito è none.
privileged Consente di stabilire se utilizzare l'opzione --privileged durante l'esecuzione del container. Il valore predefinito è true.
volumes Aggiungi uno o più volumi da montare sul contenitore. I volumi vengono aggiunti al comando docker run utilizzando -v label:value. Il valore predefinito è none.

Per personalizzare il container Docker di runtime Apigee:

  1. Questa funzionalità è disponibile nella build Insiders (v1.21.0 e successive). Installa la build di Insider, come descritto in Installare le build di Insiders.

  2. Clic Gestisci > Impostazioni e cerca apigee docker.

  3. In Cloudcode > Apigee: Docker Options (Cloudcode > Apigee: Docker Options), fai clic su Modifica in settings.json (Modifica in settings.json). Le opzioni personalizzabili vengono visualizzate nel file settings.json, come mostrato di seguito:

    "cloudcode.apigee.dockerOptions": {
      "environmentVariables": {
          "XTERM": "xterm-256-color"
      },
      "dns": "8.8.8.8",
      "detached": true
      "privileged": true,
      "labels": {},
      "volumes": {},
      "additionalArguments":""
    }
  4. Modifica le opzioni, se necessario, e salva il file.

Personalizzare l'emulatore Apigee per supportare l'autenticazione basata su account di servizio

Quando testi i proxy che dipendono dall'autenticazione basata su account di servizio Google Cloud, Apigee Emulator deve accedere alla chiave dell'account di servizio Google. Segui i passaggi per configurare Apigee Emulator in modo che supporti l'autenticazione basata su account di servizio.

Creazione e download della chiave dell'account di servizio

Crea un account di servizio Google Cloud con il ruolo Creatore token account di servizio, un requisito necessario per supportare gli account di servizio in Apigee Emulator. Creare una chiave per il servizio come descritto in Crea una chiave dell'account di servizio.

Scarica la chiave nel file system locale in modo che possa essere fornita al nell'emulatore Apigee.

Configurazione dell'emulatore Apigee

Per configurare le impostazioni dell'emulatore Apigee:

  1. Apri le opzioni Docker, come descritto in Personalizzazione del container Docker di runtime Apigee qui sopra.

  2. Nella sezione volumes delle opzioni Docker, aggiungi un nuovo volume in modo che il percorso della chiave dell'account di servizio scaricato possa essere reso disponibile nel container. Supponendo che la chiave sia stata scaricata nel percorso /opt/apigee/keys/apigee-sa-key.json, la seguente impostazione monta i contenuti di /opt/apigee/keys nel percorso /emulator/keys all'interno del container:

    "volumes": {
      "/opt/apigee/keys":"/emulator/keys"
    }
  3. Nella sezione environmentVariables delle opzioni Docker, aggiungi la variabile GOOGLE_APPLICATION_CREDENTIALS che punta al file nel percorso montato:

    "environmentVariables": {
      "GOOGLE_APPLICATION_CREDENTIALS":"/emulator/keys/apigee-sa-key.json"
    }

  4. Salva le impostazioni e crea una nuova istanza del contenitore che può essere utilizzata per i test.

L'esempio seguente mostra come associare una chiave dell'account di servizio Google all'emulatore Apigee.

"cloudcode.apigee.dockerOptions": {
      "environmentVariables": {
          "XTERM": "xterm-256-color",
          "GOOGLE_APPLICATION_CREDENTIALS":"/emulator/keys/apigee-sa-key.json"
      },
      "dns": "8.8.8.8",
      "detached": true
      "privileged": true,
      "labels": {},
      "volumes": {
         "/opt/apigee/keys":"/emulator/keys"
      },
      "additionalArguments":""
    }

Configurare l'emulatore Apigee per supportare il proxy in avanti HTTP

Spesso i target di backend associati a un proxy possono essere raggiunti solo utilizzando un proxy in avanti HTTP. L'emulatore Apigee può essere configurato per utilizzare proxy durante la connessione alle destinazioni utilizzando una variabile di ambiente denominata FORWARD_PROXY.

Per configurare le impostazioni dell'emulatore Apigee:

  1. Apri le opzioni Docker, come descritto in Personalizzare il contenitore Docker del runtime Apigee.

  2. Nella sezione environmentVariables delle opzioni Docker, aggiungi la variabile FORWARD_PROXY che punta all'indirizzo del proxy inoltrante come URL HTTP

    "environmentVariables": {
      "FORWARD_PROXY":"http://proxy_host:proxy_port"
    }

  3. Salva le impostazioni e crea una nuova istanza di container per i test.