Che cos'è l'emulatore Apigee

Questa pagina si applica a Apigee e Apigee ibrido.

Visualizza la 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 degli 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 Deployment di ambienti

  • Visualizza le risorse di test attive (vedi Esportazione di risorse di test nell'emulatore Apigee

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 di versioni dell'emulatore Apigee 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, quindi 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 container dell'emulatore Apigee.

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

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

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

È installata l'ultima immagine della versione dell'emulatore Apigee selezionata. Al termine dell'installazione, viene visualizzato il seguente messaggio, Emulator installed successfully e lo stato del container Apigee Emulator diventa Pronto.

Installa l'emulatore Apigee

Aggiunta di un container 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 sull'emulatore Apigee per cui vuoi aggiungere un container.

  3. Fai clic su +. Ti verrà richiesto 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 nei vari container. Il valore predefinito è 8080.

  5. Inserisci il valore numerico da utilizzare come porta del traffico per il container 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 container viene aggiunto.

Visualizzazione delle informazioni sullo stato dell'emulatore Apigee

Visualizza le informazioni sullo stato dell'emulatore Apigee 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 dell'emulatore Apigee in uso.

Informazioni sullo stato dell'emulatore Apigee

Utilizzo dell'interfaccia a riga di comando di Docker

Per visualizzare le informazioni sullo stato del container per l'emulatore Apigee e le sue porte configurate, esegui docker ps nella scheda Terminale. Di seguito fornisce una risposta di esempio. 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

Vedi anche Personalizzazione del container Docker di 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 container Apigee Emulator 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 l'emulatore Apigee 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 container Apigee Emulator 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 sull'emulatore Apigee nella sezione Emulatori Apigee e fai clic su Icona Aggiorna Emulatore Apigee.

Utilizzo dell'interfaccia a riga di comando di Docker

Per aggiornare l'emulatore Apigee, esegui questi comandi Docker nella scheda Terminale, utilizzando la versione più recente appropriata:

  • 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 dell'emulatore Apigee. 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.

Arresto dell'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 arrestare l'emulatore Apigee, posiziona il cursore sul container Apigee Emulator nella sezione Emulatori Apigee e fai clic su Icona Arresta Emulator Apigee.

Utilizzo dell'interfaccia a riga di comando di Docker

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

L'emulatore Apigee viene arrestato e lo stato viene modificato in Not running:

Non in esecuzione

Vedi anche Personalizzazione del container Docker di runtime Apigee.

Eliminazione di un container 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 container Apigee Emulator 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 arrestare l'immagine di installazione dell'emulatore Apigee. Ad esempio: docker rm MyContainer

Il contenitore viene eliminato.

Vedi anche Personalizzazione del container Docker di runtime Apigee.

Personalizzazione del container Docker di 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 fornito. 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 container. 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 come parte della build Insiders (v1.21.0 e successive). Installa la build di Insider, come descritto in Installare le build di Insiders.

  2. Fai clic su Gestisci > Impostazioni e cerca apigee docker.

  3. In Cloudcode > Apigee: Opzioni Docker, fai clic su Modifica in settings.json. Le opzioni personalizzabili sono 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.

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

Durante il test dei proxy che dipendono dall'autenticazione basata sull'account di servizio Google Cloud, Apigee Emulator deve accedere alla chiave dell'account di servizio Google. Segui i passaggi per configurare l'emulatore Apigee in modo da supportare l'autenticazione basata su account di servizio.

Creazione e download della chiave dell'account di servizio

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

Scarica la chiave del file system locale, in modo che possa essere fornita all'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 di 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 di container da utilizzare 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":""
    }

Configurazione dell'emulatore Apigee per supportare il proxy di inoltro HTTP

Spesso le destinazioni di backend associate a un proxy possono essere raggiunte solo tramite un proxy di forwarding HTTP. L'emulatore Apigee può essere configurato in modo da utilizzare il proxy di inoltro 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 Personalizzazione del container Docker di runtime Apigee.

  2. Nella sezione environmentVariables delle opzioni Docker, aggiungi la variabile FORWARD_PROXY che punta all'indirizzo proxy di inoltro 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.