Che cos'è l'emulatore Apigee

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Apigee Emulator consente di simulare un'installazione di Apigee nell'ambiente di sviluppo locale a scopo di test. Apigee Emulator non sostituisce un'installazione di Apigee per i test e non ha funzionalità identiche, ma semplifica i test dall'ambiente di sviluppo locale.

Apigee Emulator è disponibile come 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 sei pronto per il deployment e il test del tuo primo proxy API, devi utilizzare la sezione degli emulatori per visualizzare e gestire le versioni dell'emulatore e il ciclo di vita degli emulatori configurati.

Questa sezione ti consente di:

Sezione Dettagli degli emulatori

  • Visualizza le diverse versioni degli emulatori installati e i contenitori creati per ogni versione dell'emulatore, incluse le informazioni su Docker e runtime, nonché le porte di controllo e di traffico.

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

  • Visualizza le applicazioni di cui è stato eseguito il deployment (vedi Deployment degli ambienti).

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

Gestione dell'emulatore Apigee

Gestisci l'emulatore Apigee come descritto nelle sezioni seguenti.

Scegliere la versione dell'emulatore

Per impostazione predefinita, la cartella emulator mostra una versione stabile. Tuttavia, puoi scegliere una versione diversa in base ai tuoi requisiti.

  1. Visualizza un elenco delle versioni di Apigee Emulator utilizzando uno dei seguenti metodi e annota il valore del tag:

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

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

  4. Inserisci il valore di 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 viene visualizzato nella cartella emulator.

Installazione dell'emulatore Apigee

Per installare l'emulatore Apigee:

  1. Espandi la cartella emulatori nel tuo spazio di lavoro.

  2. Posiziona il cursore sulla versione di Apigee Emulator da installare.

  3. Fai clic su Icona del contenitore dell'emulatore Apigee.

    Installa il contenitore dell'emulatore Apigee

  4. Aggiungi un contenitore seguendo le istruzioni riportate in Aggiungere un contenitore per Apigee.

    Emulatore.

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

Installa l'emulatore Apigee

Aggiunta di un container per l'emulatore Apigee

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

  1. Espandi la cartella emulators.

    Espandi Emulatori Apigee

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

  3. Fai clic su +.

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

  5. 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.

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

Il contenitore 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 su Docker e sul runtime, espandi il container nella sezione emulatori. 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 le relative porte configurate, esegui docker ps nella scheda Terminale. Di seguito è riportato un esempio di risposta. La risposta effettiva che vedi dipende dalla versione di Apigee Emulator 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 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 che vuoi avviare e fai clic su Avvia il container dell'emulatore Apigee.

Utilizzo dell'interfaccia a riga di comando Docker

Per avviare l'emulatore Apigee, esegui docker start CONTAINER_NAME

nella scheda Terminale.

Lo stato sia impostato su Ready:

Informazioni sullo stato dell'emulatore Apigee

Vedi anche Personalizzazione del container Docker runtime Apigee.

Reimpostazione dell'emulatore Apigee

Reimposta l'emulatore Apigee per rimuovere tutte le implementazioni 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 e fai clic su Icona Reimposta emulatore Apigee.

L'emulatore Apigee viene reimpostato e lo stato viene 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 runtime Apigee.

Riavvio dell'emulatore Apigee

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

Aggiornamento dell'emulatore Apigee

Se l'emulatore Apigee non è sincronizzato con l'ultima versione, puoi aggiornare la versione installata utilizzando la UI o la CLI 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 e fai clic su Aggiorna l'icona dell'emulatore Apigee.

Utilizzo dell'interfaccia a riga di comando 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 IMAGE_NAME 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 del runtime Apigee.

Arresto dell'emulatore Apigee

Arresta l'emulatore Apigee utilizzando la UI o Docker CLI come descritto nelle sezioni seguenti.

Utilizzo dell'interfaccia utente

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

Utilizzo dell'interfaccia a riga di comando Docker

Per arrestare l'emulatore Apigee, esegui docker stop CONTAINER_NAME nella scheda Terminale.

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

L'emulatore Apigee non è in esecuzione

Vedi anche Personalizzazione del container Docker runtime Apigee.

Eliminazione di un contenitore per l'emulatore Apigee

Elimina un container per l'emulatore Apigee utilizzando la UI o Docker CL 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 e fai clic su Icona a forma di cestino per eliminare un contenitore.

Utilizzo dell'interfaccia a riga di comando Docker

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

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

  • Esegui docker rm CONTAINER_NAME per arrestare l'immagine di installazione dell'emulatore Apigee. Ad esempio: docker rm MyContainer

Il container viene eliminato.

Vedi anche Personalizzazione del container Docker runtime Apigee.

Personalizzazione del container Docker del runtime Apigee

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

Opzione Descrizione
additionalArguments Aggiungi uno o più argomenti. Gli argomenti vengono aggiunti al comando docker run esattamente come forniti. Il valore predefinito è "" (nessuno).
detached Controlla se l'opzione --detached viene utilizzata durante l'esecuzione del container. Il valore predefinito è true.
dns Controlla il flag del servizio DNS -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. Se forniti, i valori vengono aggiunti al comando docker run utilizzando -e name=value. L'elenco predefinito include "XTERM": "xterm-256color".
labels Aggiungi una o più etichette da allegare al contenitore. Le etichette vengono aggiunte al comando docker run utilizzando -l label:value. Il valore predefinito è none.
privileged Controlla se l'opzione --privileged viene utilizzata 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 del runtime Apigee:

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

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

  3. In Cloudcode > Apigee: Docker Options, fai clic su 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 e salva il file.

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

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

Creazione e download della chiave del account di servizio

Crea un Google Cloud service account con il ruolo Creatore token service account, che è un requisito per Apigee Emulator per supportare i service account. Crea una chiave per il service account, come descritto in Crea una chiave dell'account di servizio.

Scarica la chiave nel 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 di Docker di Apigee Runtime

    container.

  2. Nella sezione volumes delle opzioni Docker, aggiungi un nuovo volume in modo che il percorso della chiave delaccount di serviziot scaricata sia 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 di montaggio:

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

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

Il seguente esempio mostra come associare una chiave del account di servizio Google a Apigee Emulator.

"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 i target di backend associati a un proxy possono essere raggiunti solo utilizzando un proxy HTTP forward. L'emulatore Apigee può essere configurato per 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 del runtime Apigee.

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