Obiettivi
Scrivi, esegui il deployment e attiva una funzione Cloud HTTP che accede a Spanner.
Costi
Questo documento utilizza Spanner e Cloud Run, che sono componenti fatturabili di Google Cloud.
Per informazioni sul costo dell'utilizzo di Spanner, consulta la pagina Prezzi di Spanner.
Per informazioni sul costo di utilizzo di Cloud Run, incluse le invocazioni gratuite, consulta Prezzi di Cloud Run.
Prima di iniziare
Questo documento presuppone che tu abbia un'istanza Spanner denominata
test-instance
e un database denominatoexample-db
che utilizza lo schema dell'applicazione musicale. Per istruzioni su come creare un'istanza e un database con lo schema dell'applicazione musicale, consulta la guida rapida all'utilizzo della console o i tutorial per iniziare a utilizzare Node.js o Python.Abilita le API Cloud Run Functions, Cloud Run e Cloud Build.
Installa e inizializza la gcloud CLI.
Se hai già installato gcloud CLI, aggiornalo eseguendo il seguente comando:
gcloud components update
Prepara l'ambiente di sviluppo:
Node.js
Consulta la guida alla configurazione di Node.js.
Python
Consulta la guida alla configurazione di Python.
Prepara l'applicazione
Clona il repository dell'app di esempio sulla tua macchina locale:
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
In alternativa, puoi scaricare il sample come file ZIP ed estrarlo.
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
In alternativa, puoi scaricare il sample come file ZIP ed estrarlo.
Passa alla directory che contiene il codice di esempio delle funzioni Cloud Run per accedere a Spanner:
Node.js
cd nodejs-docs-samples/functions/spanner
Python
cd python-docs-samples/functions/spanner
Dai un'occhiata al codice di esempio:
Node.js
Python
La funzione invia una query SQL per recuperare tutti i dati
Albums
dal database. La funzione viene eseguita quando invii una richiesta HTTP all'endpoint della funzione.
esegui il deployment della funzione
Per il deployment della funzione con un trigger HTTP, esegui questo comando nella directory spanner
:
Node.js
gcloud beta run deploy nodejs-spanner-function \
--source . \
--region REGION \
--function spannerQuickstart \
--base-image RUNTIME_ID \
--log-http
Python
gcloud beta run deploy python-spanner-function \
--source . \
--region REGION \
--function spanner_read_data \
--base-image RUNTIME_ID \
--log-http
Sostituisci:
REGION con il nome della Google Cloud regione in cui vuoi eseguire il deployment della funzione (ad esempio
us-west1
).RUNTIME_ID con l'ID runtime appropriato (ad esempio
nodejs22
). Consulta Runtime dei linguaggi e immagini di base supportati.
Il deployment della funzione potrebbe richiedere fino a due minuti.
Prendi nota del valore url
restituito al termine del deployment della funzione. Lo userai quando attiverai la funzione.
Puoi visualizzare le funzioni di cui è stato eseguito il deployment nella pagina Cloud Run della console Google Cloud. In questa pagina puoi anche creare e modificare le funzioni, nonché visualizzarne dettagli e diagnostica.
Attiva la funzione
Invia una richiesta HTTP alla funzione:
curl URL
Sostituisci URL con il valore dell'URL restituito al termine del deployment della funzione.
Dovresti vedere un output che mostra i risultati della query SQL, supponendo che tu abbia completato un tutorial introduttivo e compilato il database:
SingerId: 2, AlbumId: 2, AlbumTitle: Forever Hold Your Peace
SingerId: 1, AlbumId: 2, AlbumTitle: Go, Go, Go
SingerId: 2, AlbumId: 1, AlbumTitle: Green
SingerId: 2, AlbumId: 3, AlbumTitle: Terrified
SingerId: 1, AlbumId: 1, AlbumTitle: Total Junk
Puoi anche visitare l'URL della funzione nel browser per visualizzare il risultato della query SQL.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi aggiuntivi per le risorse di Spanner e Cloud Run utilizzate in questo documento:
Elimina l'istanza:
gcloud CLI instances delete test-instance
Elimina il servizio Cloud Run di cui hai eseguito il deployment in questo tutorial:
Node.js
gcloud run services delete nodejs-spanner-function
Python
gcloud run services delete python-spanner-function
Passaggi successivi
- Scopri di più sulla scrittura di funzioni Cloud Run.
- Scopri di più sul deployment delle funzioni Cloud Run.
- Scopri di più sull'attivazione delle funzioni Cloud Run.