Questo tutorial mostra come utilizzare Gemini per Google Cloud, un servizio collaboratore in Google Cloud, per esplorare, creare, modificare, testare ed eseguire il deployment un'app Python di esempio.
Per l'esempio seguente, supponiamo che tu sia uno sviluppatore che fa parte un team che sta sviluppando un'app di inventario. Sei responsabile della prototipazione di un che contiene alcuni metodi dell'API per operare come parte app di inventario. Vuoi sviluppare l'app nel tuo ambiente locale VS Code per poi eseguirne il deployment in Google Cloud. Tuttavia, hai dubbi quale servizio Google Cloud è più adatto al tuo caso d'uso.
In questo tutorial utilizzerai Gemini per Google Cloud insieme a Visual Studio Code come IDE per creare un'app di inventario di esempio con due metodi API.
Questo tutorial è rivolto agli sviluppatori di qualsiasi livello di esperienza che hanno hanno contribuito a creare app, ma potrebbero non conoscere tecnologie cloud. Si presuppone che tu abbia una certa esperienza nell'utilizzo di VS Code come del tuo IDE e che hai familiarità con Python e il framework Flask.
Obiettivi
Esplora i vari servizi Google che puoi usare per eseguire il deployment di un'app a Gemini basate sul contesto.
Chiedi a Gemini di fornire modelli che puoi usare per sviluppare un'app Python di base in Cloud Run.
Creare, esplorare e modificare l'app utilizzando Gemini per a spiegare e generare il codice.
Esegui e testa l'app in locale, quindi esegui il deployment in Google Cloud utilizzando Gemini per generare i passi.
Prodotti Google Cloud utilizzati
Questo tutorial utilizza i seguenti prodotti Google Cloud fatturabili. Utilizza il Calcolatore prezzi per generare una stima dei costi. in base all'utilizzo previsto.
- Cloud Run. Cloud Run è una piattaforma di computing che ti consente di eseguire i container direttamente sul database scalabile di Google dell'infrastruttura. Puoi eseguire il deployment di codice scritto in qualsiasi linguaggio di programmazione su in Cloud Run, se puoi creare un'immagine container da lì. Per informazioni sui prezzi, vedi Cloud Run.
Oltre al prodotto menzionato in precedenza, questo tutorial utilizza anche i seguenti prodotti:
Gemini. Gemini è un collaboratore sempre attivo in Google Cloud che offre assistenza basata sull'AI generativa a un'ampia gamma di utenti, tra cui sviluppatori e data scientist. Per offrire un'esperienza di assistenza integrata, Gemini è integrato in molti prodotti Google Cloud.
Estensione Cloud Code for VS Code. Questa estensione è un IDE plug-in che supporta il ciclo di sviluppo di Kubernetes le applicazioni Cloud Run. Per saperne di più sulle l'estensione Cloud Code, consulta le funzionalità di Cloud Code for VS Code.
Prima di iniziare
Installa una copia locale di VS Code, se non l'hai già fatto.
Installa l'estensione Cloud Code per VS Code.
Segui le istruzioni nella Guida all'installazione per installare Python, Git e il client Docker. Segui anche i passaggi per creare un progetto Google Cloud.
- Assicurati che Gemini sia configurato il tuo account utente e il tuo progetto Google Cloud.
Abilita Gemini per il tuo IDE.
Segui i passaggi per connetterti a Google Cloud nel tuo IDE e per selezionare una configurato per Google Cloud.
Esplora i servizi Google Cloud
Se non hai mai utilizzato Google Cloud, Gemini può aiutarti scegli i servizi Google Cloud che soddisfano i requisiti delle tue dell'applicazione.
Nel tuo IDE, puoi chattare con Gemini per ricevere assistenza. Utilizzo Nel riquadro Gemini, inserisci prompt (domande o istruzioni che descrivono l'aiuto che vuoi) e Gemini restituisce le risposte. Prompt può includere il contesto del codice esistente, che Google Cloud analizza per fornire risposte più utili o complete. Per ulteriori informazioni su come scrivere prompt in grado di generare risposte positive, vedi Scrivere prompt migliori per Gemini.
Per richiedere a Gemini informazioni sui servizi Google Cloud, segui questi passaggi:
Nella barra delle attività dell'IDE, fai clic su spark Gemini Code Assist.
Per trovare la barra delle attività di VS Code, vedi Interfaccia utente.
Nel riquadro Gemini Code Assist: Chat, inserisci il seguente prompt. quindi fai clic su Invia:
I am new to Google Cloud and I want to use the Cloud Code extension. Give me some examples of Google services that I can use to build and deploy a sample app using containers.
Gemini risponde con un elenco di servizi Google Cloud descrizioni.
In questo esempio, supponiamo che Gemini suggerisca Cloud Run e Cloud Run funzionano come due servizi Google Cloud che possono aiutarti a creare ed eseguire il deployment di un'app di esempio, ma hai bisogno di informazioni su questi servizi.
Scopri come e quando Gemini per Google Cloud utilizza i tuoi dati.
Inserisci una domanda aggiuntiva come la seguente:
What is the difference between Cloud Run and Cloud Functions? Explain to me in simple terms as I am new to Google Cloud.
Gemini risponde con le differenze dettagliate tra i due servizi Google Cloud.
(Facoltativo) Per reimpostare la cronologia chat, in Gemini Code Assist: Chat fai clic su Elimina Reimposta chat.
Crea un'app Python Hello World
Considera che vuoi utilizzare Cloud Run per creare ed eseguire il deployment l'app Python di base. Poiché non hai mai utilizzato Cloud Run Cloud Code, hai bisogno di assistenza con i passaggi per creare l'app. In questa sezione, chiedi a Gemini per creare un'app Python Hello World in Cloud Run.
Avvia il tuo IDE, se non l'hai ancora fatto.
Nella barra delle attività dell'IDE, fai clic su spark Gemini Code Assist.
Nel riquadro Gemini Code Assist: Chat, inserisci il seguente prompt. quindi fai clic su Invia:
How to create a new Cloud Run app in Cloud Code using the command palette? What languages are supported?
La tavolozza dei comandi in VS Code fornisce un elenco di tutti i comandi, inclusi i comandi per Cloud Code.
L'output è simile al seguente:
To create a new Cloud Run app in Cloud Code using the command palette, follow these steps: 1. Open the command palette (press Ctrl/Cmd+Shift+P or click View > Command Palette). 2. Run the "Cloud Code: New Cloud Run App" command. ...
Gemini mostra anche le lingue supportate per l'app Cloud Run.
Per questo esempio, scegli di utilizzare un ambiente Cloud Run basato su Python per creare l'app di esempio.
Per scoprire come creare un'app Python da un modello Cloud Run, digita questo prompt:
How do I create a Python app from a Cloud Run template using the command palette? I am using Cloud Code.
L'output è simile al seguente:
To create a Python app from a Cloud Run template using the command palette, follow these steps: 1. Open Cloud Code. 2. Click the Command Palette (press Ctrl/Cmd+Shift+P or click View > Command Palette). 3. Run the "Cloud Code: New Application" command. ...
Completa i passaggi forniti da Gemini nella risposta a creare un'app Python Hello World di base in Cloud Run. Puoi inoltre consultare la sezione seguente per creare l'ambiente Hello World Python.
Passaggi alternativi per creare un'app Python Hello World
Se non l'hai ancora fatto, avvia il tuo IDE.
Apri la tavolozza dei comandi: premi Comando+Shift+P (per macOS) oppure Ctrl+Shift+P (per Windows e Linux).
Nel campo della tavolozza dei comandi, inserisci
Cloud Code: New Application
e quindi fai clic sul risultato.Dall'elenco degli esempi disponibili, seleziona Applicazione Cloud Run.
Dall'elenco dei modelli disponibili, seleziona Python (Flask): Cloud Run.
Salva la nuova app nella posizione che preferisci.
Una notifica conferma la creazione dell'app.
Nel tuo IDE si apre un'anteprima del file README del servizio selezionato come mostrato nella figura 1:
Esplora l'app Python Hello World
Ora che hai creato l'app Hello World in Cloud Run, puoi usare Gemini per spiegare i file e gli snippet di codice di cui viene eseguito il deployment nel tuo IDE. Per esplorare il codice dell'app di esempio che hai creato, procedi nel seguente modo:
Avvia il tuo IDE.
Apri Explorer: premi Comando+Shift+E (per macOS) oppure Ctrl+Shift+E (per Windows e Linux).
Puoi visualizzare i file relativi alla tua app di esempio.
Nell'elenco dei file, fai clic su
Dockerfile
per visualizzarne i contenuti.Seleziona l'intero contenuto di
Dockerfile
, fai clic sull'icona della lampadina e poi fai clic su Spiega questo, come mostrato nella figura 2:Gemini genera una spiegazione in linguaggio naturale riguardo contenuti e funzione di
Dockerfile
. Se hai dubbi su alcuni punti all'interno della risposta, puoi porre domande aggiuntive.Per scoprire di più sul file
app.py
menzionato inDockerfile
, in Nel riquadro Gemini, inserisci questo prompt:What is the function of the app.py file in Dockerfile?
Gemini genera una risposta simile alla seguente:
The app.py file is the entrypoint for the container. It is the file that will be executed when the container is launched. In this case, the app.py file will run the Python code that is contained within it.
In alternativa, puoi anche selezionare il testo
app.py
inDockerfile
, fare clic sull'icona della lampadina e fai clic su Spiega questo.Apri Explorer: premi Comando+Shift+E (per macOS) oppure Ctrl+Shift+E (per Windows e Linux).
Apri il file
app.py
. Vedrai due variabili,K_SERVICE
eK_REVISION
.Per saperne di più sulle variabili nel file
app.py
, nella sezione Codice Gemini Assistenza: riquadro Chat, inserisci il seguente prompt:What is the function of `K_SERVICE` and `K_REVISION` in the `app.py` file?
In alternativa, puoi anche selezionare il testo seguente in Dockerfile, Fai clic sull'icona della lampadina e poi su Spiega questo:
service = os.environ.get('K_SERVICE', 'Unknown service') revision = os.environ.get('K_REVISION', 'Unknown revision')
La risposta è simile alla seguente:
The code above is using the os.environ module to get the values of the K_SERVICE and K_REVISION environment variables. These variables are set by Cloud Run when it deploys the service, and they contain the name of the service and the revision number, respectively. ...
Generare dati di esempio per l'app
Hai creato un'app Flask di base in Cloud Run. Prima di aggiungere funzionalità per creare l'app dell'inventario, ti serve un file contiene un elenco di esempi di articoli dell'inventario. Per usare Gemini per generare i dati di esempio pertinenti:
Per visualizzare i file relativi alla tua app di esempio, nell'IDE fai clic su Explorer.
Fai clic sull'icona Nuovo file e crea un file denominato
inventory.py
.Per consentire a Gemini di generare i dati di esempio, nella sezione Codice Gemini Assist: Chat, inserisci la seguente richiesta:
Create a variable called inventory which is a list of 3 JSON objects. Each JSON object has 2 attributes: productid and onhandqty. Both attributes are strings.
Gemini genera codice campione per tre oggetti JSON.
Nella risposta, fai clic su addInserisci nel file corrente per inserire l'esempio di codice nel il file
inventory.py
, come mostrato nella figura 3:Il file
inventory.py
è simile al seguente:inventory = [ {"productid": "milk", "onhandqty": "10"}, {"productid": "bread", "onhandqty": "5"}, {"productid": "eggs", "onhandqty": "12"} ]
Hai creato correttamente il file
inventory.py
, che include un degli elementi dell'inventario.
Modifica l'app Python Hello World
Dopo aver creato il file inventory.py
, introduci alcuni metodi dell'API in
il file app.py
che può operare sui dati di inventario. Per completare questa operazione
puoi usare la funzionalità di generazione del codice
in Gemini.
Per visualizzare i file correlati alla tua app di esempio, nell'IDE: fai clic su Explorer.
Per visualizzare i contenuti, fai clic sul file
app.py
.Modifica le istruzioni di importazione in modo che il file
app.py
includa i campiinventory.py
file:import os from flask import Flask, render_template from inventory import inventory
Per permettere a Gemini di generare il codice per il primo metodo API, nel file
app.py
, inserisci il seguente commento e premi Ctrl+Invio:# Generate an app route to display a list of inventory # items in the JSON format from the # inventory.py file. Use the GET method.
Gemini genera una risposta nel file
app.py
.A seconda della configurazione del sistema, la scorciatoia da tastiera per generare utilizzando Gemini potrebbe essere diverso Combinazione Ctrl+Invio utilizzata in questo tutorial.
Tieni il puntatore su qualsiasi parte della risposta.
Viene visualizzata una barra degli strumenti di Gemini.
Gemini potrebbe generare più di una risposta. Nella barra degli strumenti, puoi scorrere ogni risposta utilizzando i tasti < e <. Nell'esempio seguente, Gemini genera una sola risposta, come mostrato nella Figura 4:
.Per accettare l'esempio di codice suggerito, fai clic su Accetta nella barra degli strumenti.
L'output è simile al seguente:
# Generate an App route to display a list of inventory # items in the JSON format from the # inventory.py file. Use the GET method. @app.route('/inventory', methods=['GET']) def get_inventory(): """Return a list of inventory items.""" return jsonify(inventory)
(Facoltativo) Per saperne di più sulla funzione
jsonify(inventory)
, evidenzia il termine e chiedere a Gemini di spiegarti il codice.Modifica le istruzioni di importazione in modo che il file
app.py
includa i campi Funzionejsonify
:import os from flask import Flask, render_template, jsonify from inventory import inventory
Per aggiungere un altro metodo API, nel file
app.py
inserisci il metodo seguente al prompt, quindi premi Ctrl+Invio:# Generate an App route to get an inventory item # given the productid. Use the GET method. # If there is an invalid productid, # display a 404 error.
Gemini genera una risposta nel file
app.py
.Tieni il puntatore su qualsiasi parte della risposta.
Viene visualizzata una barra degli strumenti di Gemini.
Per accettare uno degli esempi di codice suggeriti, fai clic su Accetta nella barra degli strumenti.
L'output è simile al seguente:
# Generate an App route to get an inventory item # given the productid. Use the GET method. # If there is an invalid productid, # display a 404 error. @app.route('/inventory/<productid>', methods=['GET']) def get_inventory_item(productid): """Return an inventory item given the productid.""" for item in inventory: if item["productid"] == productid: return jsonify(item) return jsonify({"error": "Item not found"}), 404
Hai aggiunto due metodi dell'API per creare la tua app di inventario.
Esegui l'app in locale dal tuo IDE
Ora è tutto pronto per eseguire il deployment dell'app in locale da VS Code. Per eseguire il deployment dell'app, segui questi passaggi:
Avvia il tuo IDE, se non l'hai ancora fatto.
Nella barra delle attività dell'IDE, fai clic su spark Gemini Code Assist.
Nel riquadro Gemini Code Assist, inserisci il seguente prompt. Fai clic su Invia:
How do I run a Cloud Run app locally within Cloud Code? Is there an emulator?
Segui i passaggi nella risposta di Gemini per eseguire l'app localmente da VS Code. Puoi anche consultare la sezione seguente per eseguire il deployment di esempio l'app Cloud Run localmente da VS Code.
Passaggi alternativi per eseguire l'app localmente dal tuo IDE
Se non hai seguito i passaggi nella risposta di Gemini Nella sezione precedente, puoi seguire questi passaggi per eseguire il deployment della tua app di esempio:
Avvia il tuo IDE.
Apri la tavolozza dei comandi: premi Comando+Shift+P (per macOS) oppure Ctrl+Shift+P (per Windows e Linux).
Nel campo della tavolozza dei comandi, inserisci
Run on Cloud Run Emulator
e quindi fai clic sul risultato.Nel file di ambiente
Build
, mantieni i valori predefiniti e fai clic su Esegui.Questo tutorial utilizza Docker come opzione del builder.
Nel riquadro Output del tuo IDE puoi visualizzare l'avanzamento della build. Il processo di deployment effettivo potrebbe richiedere del tempo.
Starting to run the app using configuration 'Cloud Run: Run/Debug Locally' from .vscode/launch.json... To view more detailed logs, go to Output channel : "Cloud Run: Run/Debug Locally - Detailed" Dependency check started Dependency check succeeded Starting minikube, this may take a while...... ...
Per visualizzare l'app pubblicata, al termine del deployment fai clic sull'URL nella
Riquadro Output. Per una copia locale di VS Code, se hai specificato localhost 8080
,
la tua app di esempio è pubblicata all'URL http://localhost:8080
.
Testa i due metodi dell'API
Se l'app di esempio è pubblicata, puoi anche controllare se i due percorsi dell'app funzionano.
In questo esempio, supponiamo che l'URL dell'app sia http://localhost:8080
.
Per visualizzare la pagina di destinazione di esempio per la tua app, vai a http://localhost:8080
Per ottenere un elenco di tutti gli elementi dell'inventario, vai a http://localhost:8080/inventory.
Nel file
app.py
, per elencare tutti gli elementi dell'inventario, la funzione È in uso@app.route('/inventory', methods=['GET'])
.Per visualizzare un elemento dell'inventario specifico filtrato in base all'attributo
productid
: fai clic suhttp://localhost:8080/inventory/productid
.Ad esempio, http://localhost:8080/inventory/1, dove productid è uguale a 1.
Nel file
app.py
, per visualizzare un elemento di inventario specifico in base attributoproductid
, la funzione@app.route('/inventory/<productid>', methods=['GET'])
è in uso.
Esegui il deployment di un'app Cloud Run in Google Cloud
Ora puoi eseguire il deployment dell'app Cloud Run su Google Cloud. Puoi chiedere a Gemini di indicarti i passaggi oppure segui questi passaggi:
Apri la tavolozza dei comandi: premi Comando+Shift+P (per macOS) oppure Ctrl+Shift+P (per Windows e Linux).
Nel campo della tavolozza dei comandi, inserisci
Cloud Code: Deploy to Cloud Run
, e poi fare clic sul risultato.Nel riquadro delle impostazioni del servizio, imposta il tuo progetto Google Cloud.
Accetta le restanti impostazioni predefinite e fai clic su Esegui il deployment.
Cloud Code crea l'immagine, ne esegue il push al registro ed esegue il deployment in Cloud Run.
Per visualizzare il servizio in esecuzione, apri l'URL visualizzato in nella finestra di dialogo Esegui il deployment in Cloud Run.
Puoi anche seguire gli stessi passaggi Testa i due metodi dell'API per visualizzare l'app di esempio in in Google Cloud. Modifica gli URL di conseguenza.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alla in questo tutorial, puoi eliminare il progetto Google Cloud che hai creato per questo tutorial. In alternativa, puoi eliminare alle singole risorse.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Passaggi successivi
Informazioni su Quote e limiti di Gemini.
Informazioni su per Gemini.