Che cos'è l'emulatore Apigee

Questa pagina si applica ad Apigee e Apigee hybrid.

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 il deployment e il test del 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:

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 sul runtime, nonché le porte di controllo e di traffico.

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

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

  • Visualizza le risorse di test attive (consulta 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 prendi nota del valore Tag:

  2. Per aggiungere una versione di Apigee Emulator 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 viene visualizzato nella cartella emulator.

Installazione dell'emulatore Apigee

Per installare l'emulatore Apigee:

  1. Espandi la cartella emulators nella tua area 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.

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 contenitore per l'emulatore Apigee utilizzando l'interfaccia utente:

  1. Espandi la cartella emulators.

    Espandi Emulatori Apigee

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

  3. Fai clic su +.

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

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

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

Il contenitore viene aggiunto.

Visualizzazione delle informazioni sullo stato dell'emulatore Apigee

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

Utilizzo dell'interfaccia utente

Per visualizzare le informazioni sullo stato di Apigee Emulator, incluse le informazioni su Docker e sul runtime, espandi il contenitore 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 contenitore per Apigee Emulator 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 Personalizzare il contenitore Docker di Apigee Runtime.

Avvio dell'emulatore Apigee

Avvia Apigee Emulator 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 contenitore 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 Personalizzare il contenitore Docker di Apigee runtime.

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 e fai clic su Icona Reimposta Apigee Emulator.

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 Personalizzare il contenitore Docker di Apigee Runtime.

Riavviare l'emulatore Apigee

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

Aggiornamento dell'emulatore Apigee

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

Utilizzo dell'interfaccia utente

Per aggiornare l'emulatore Apigee, posiziona il cursore sull'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 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 IMAGE_NAME 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

Consulta anche Personalizzare il container Docker del runtime Apigee.

Arrestare l'emulatore Apigee

Interrompi Apigee Emulator utilizzando l'interfaccia utente o la CLI Docker come descritto nelle seguenti sezioni.

Utilizzo dell'interfaccia utente

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

Utilizzo dell'interfaccia a riga di comando Docker

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

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

Apigee Emulator non in esecuzione

Vedi anche Personalizzare il contenitore Docker di Apigee Runtime.

Eliminazione di un contenitore per l'emulatore Apigee

Elimina un contenitore per l'emulatore Apigee utilizzando l'interfaccia utente o il client 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 e fai clic su Icona Cestino per eliminare un contenitore.

Utilizzo dell'interfaccia a riga di comando Docker

Per eliminare un contenitore per l'emulatore Apigee, esegui i seguenti comandi Docker nella scheda Terminale:

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

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

Il contenitore viene eliminato.

Consulta anche Personalizzare il contenitore Docker di Apigee Runtime.

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 specificati. Il valore predefinito è "" (nessuno).
detached Controlla se l'opzione --detached viene utilizzata durante l'esecuzione del contenitore. 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 le 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 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 contenitore. 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 del runtime Apigee:

  1. Questa funzionalità è disponibile nella build per gli addetti ai lavori (v1.21.0 e versioni successive). Installa la build per gli addetti ai lavori, come descritto in Installare le build per gli addetti ai lavori.

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

  3. In Cloudcode > Apigee: Docker Options (Cloudcode > Apigee: Docker Options), fai clic su Modifica in settings.json. Le opzioni personalizzabili vengono visualizzate nel settings.json file, 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.

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

Quando testi i 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 Apigee Emulator in modo da supportare l'autenticazione basata sull'account 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. Crea una chiave per l'account di servizio, come descritto in Creare 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 di Apigee Emulator:

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

    container.

  2. Nella sezione volumes delle opzioni Docker, aggiungi un nuovo volume in modo che il percorso della chiave dell'account di servizio scaricato sia disponibile nel contenutore. 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 contenitore:

    "volumes": {
      "/opt/apigee/keys":"/emulator/keys"
    }
  3. Nella sezione environmentVariables delle opzioni Docker, aggiungi la variabile GOOGLE_APPLICATION_CREDENTIALS che rimanda 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 del 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 il proxy forward durante la connessione ai target utilizzando una variabile di ambiente denominata FORWARD_PROXY.

Per configurare le impostazioni di Apigee Emulator:

  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 rimanda 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 del contenitore per i test.