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:
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.
Visualizza un elenco delle versioni di Apigee Emulator utilizzando uno dei seguenti metodi e prendi nota del valore Tag:
- Utilizza Google Container Registry all'indirizzo: https://gcr.io/apigee-release/hybrid/apigee-emulator
- Utilizza Docker Hub all'indirizzo: https://registry.hub.docker.com/r/google/apigee-emulator/tags
Per aggiungere una versione dell'emulatore Apigee all'estensione Cloud Code, fai clic su
Gestisci > Impostazioni e cercaapigee emulators
.Fai clic su Aggiungi elemento.
Inserisci il valore Tag ottenuto nel passaggio 1. Ad esempio:
1.10.0
ogoogle/apigee-emulator:1.10.0
Fai clic su OK.
L'emulatore appena aggiunto verrà mostrato nella relativa visualizzazione.
Installazione dell'emulatore Apigee
Per installare l'emulatore Apigee:
Espandi la voce emulatori in Sviluppo locale per visualizzare l'elenco degli emulatori.
Posiziona il cursore sulla versione dell'emulatore Apigee che vuoi installare.
Fai clic su .
Ti viene chiesto di configurare il contenitore dell'emulatore Apigee.
Inserisci un nome univoco per il contenitore Apigee Emulator e premi Invio. Inserisci caratteri alfanumerici, trattini (-) o trattini bassi (_).
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
.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.
Aggiunta di un contenitore per l'emulatore Apigee
Per aggiungere un container per l'emulatore Apigee utilizzando la UI:
Espandi la sezione Emulatori in Sviluppo locale.
Posiziona il cursore sopra l'emulatore Apigee per cui vuoi aggiungere un contenitore.
Fai clic su +. Ti verrà chiesto di configurare il contenitore.
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
.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
.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.
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 .
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
:
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 .
L'emulatore Apigee viene reimpostato e lo stato è impostato su Ready
:
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 .
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 .
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
:
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 . 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 . 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 . Il valore predefinito è none . |
Per personalizzare il container Docker di runtime Apigee:
Questa funzionalità è disponibile nella build Insiders (v1.21.0 e successive). Installa la build di Insider, come descritto in Installare le build di Insiders.
Clic
Gestisci > Impostazioni e cercaapigee docker
.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":"" }
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:
Apri le opzioni Docker, come descritto in Personalizzazione del container Docker di runtime Apigee qui sopra.
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" }
Nella sezione
environmentVariables
delle opzioni Docker, aggiungi la variabileGOOGLE_APPLICATION_CREDENTIALS
che punta al file nel percorso montato:"environmentVariables": { "GOOGLE_APPLICATION_CREDENTIALS":"/emulator/keys/apigee-sa-key.json" }
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:
Apri le opzioni Docker, come descritto in Personalizzare il contenitore Docker del runtime Apigee.
Nella sezione
environmentVariables
delle opzioni Docker, aggiungi la variabileFORWARD_PROXY
che punta all'indirizzo del proxy inoltrante come URL HTTP"environmentVariables": { "FORWARD_PROXY":"http://proxy_host:proxy_port" }
Salva le impostazioni e crea una nuova istanza di container per i test.