Obiettivi
Scrivi, esegui il deployment e attiva una funzione Cloud Run HTTP che accede a Spanner.
Costi
Questo documento utilizza Spanner e Cloud Run Functions, che sono componenti fatturabili di Google Cloud.
Per informazioni sul costo dell'utilizzo di Spanner, consulta Prezzi di Spanner.
Per informazioni sul costo dell'utilizzo di Cloud Run Functions, incluse le chiamate gratuite, consulta Prezzi di Cloud Run Functions.
Prima di iniziare
Questo documento presuppone che tu disponga di un'istanza Spanner denominata
test-instancee di un database denominatoexample-dbche 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 sull'uso della console o i tutorial per iniziare a usare Go, Java, Node.js o Python.Abilita le API Cloud Run Functions e Cloud Build.
Installa e inizializza gcloud CLI.
Se hai già installato gcloud CLI, aggiornala eseguendo il seguente comando:
gcloud components updatePrepara l'ambiente di sviluppo:
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 l'esempio come file ZIP ed estrarlo.
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
In alternativa puoi scaricare l'esempio come file ZIP ed estrarlo.
Go
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
In alternativa puoi scaricare l'esempio come file ZIP ed estrarlo.
Java
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
In alternativa puoi scaricare l'esempio come file ZIP ed estrarlo.
Passa alla directory che contiene il codice campione di Cloud Run Functions per accedere a Spanner:
Node.js
cd nodejs-docs-samples/functions/spanner/
Python
cd python-docs-samples/functions/spanner/
Go
cd golang-samples/functions/spanner/
Java
cd java-docs-samples/functions/spanner/
Dai un'occhiata al codice campione:
Node.js
Python
Go
Java
La funzione invia una query SQL per recuperare tutti i dati
Albumsdal database. La funzione viene eseguita quando effettui 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 functions deploy get \ --runtime nodejs22 --trigger-http
Utilizza il flag --runtime
per specificare l'ID runtime di una
versione di Node.js supportata per eseguire
la funzione.
Python
gcloud functions deploy spanner_read_data \ --runtime python312 --trigger-http
Utilizza il flag --runtime
per specificare l'ID runtime di una
versione di Python supportata per eseguire
la funzione.
Go
gcloud functions deploy HelloSpanner \ --runtime go121 --trigger-http
Utilizza il flag --runtime
per specificare l'ID runtime di una
versione di Go supportata per eseguire
la funzione.
Java
gcloud functions deploy java-spanner-function \ --entry-point functions.HelloSpanner \ --runtime java17 \ --memory 512MB --trigger-http
Utilizza il flag --runtime
per specificare l'ID runtime di una
versione di Java supportata per eseguire
la funzione.
Il deployment della funzione potrebbe richiedere fino a due minuti.
Prendi nota del valore url restituito al termine del deployment della funzione. Lo
utilizzerai quando attivi la funzione.
Puoi visualizzare le funzioni di cui è stato eseguito il deployment nella pagina Cloud Run Functions nella console Google Cloud . Puoi anche creare e modificare le funzioni in questa pagina e ottenere dettagli e diagnostica per le tue funzioni.
Attiva la funzione
Invia una richiesta HTTP alla funzione:
Node.js
curl "https://REGION-PROJECT_ID.cloudfunctions.net/get"
Python
curl "https://REGION-PROJECT_ID.cloudfunctions.net/spanner_read_data"
Go
curl "https://REGION-PROJECT_ID.cloudfunctions.net/HelloSpanner"
Java
curl "https://REGION-PROJECT_ID.cloudfunctions.net/java-spanner-function"
dove REGION e PROJECT_ID
corrispondono ai valori visibili nel terminale quando viene completato il deployment della funzione. Dovresti vedere un output che mostra i risultati della
query SQL, supponendo che tu abbia seguito un
tutorial introduttivo e popolato 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 Functions utilizzate in questo documento:
Elimina l'istanza:
gcloud spanner instances delete test-instanceElimina la funzione di cui hai eseguito il deployment:
Node.js
gcloud functions delete get
Python
gcloud functions delete spanner_read_data
Go
gcloud functions delete HelloSpanner
Java
gcloud functions delete java-spanner-function