Obiettivi
Scrivi, sottoponi a deployment e attiva una funzione Cloud Functions HTTP che accede a Spanner.
Costi
Questo documento usa Spanner e Cloud Functions, che sono componenti fatturabili di Google Cloud.
Per informazioni sul costo dell'utilizzo di Spanner, consulta i prezzi di Spanner.
Per informazioni sul costo dell'utilizzo di Cloud Functions, incluse le chiamate gratuite, consulta i prezzi di Cloud Functions.
Prima di iniziare
Questo documento presuppone la presenza di un'istanza Spanner denominata
test-instance
e un database denominatoexample-db
che utilizza lo schema dell'applicazione musicale. Per istruzioni sulla creazione di un'istanza e di un database con lo schema di applicazione Music, consulta la guida rapida all'utilizzo della console o i tutorial per iniziare a utilizzare Go, Java, Node.js o Python.Abilitare le API Cloud Functions e Cloud Build.
Installa e inizializza gcloud CLI.
Se hai già installato gcloud CLI, aggiornalo eseguendo questo comando:
gcloud components update
Prepara 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 di esempio di Cloud 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
Albums
dal tuo database. La funzione viene eseguita quando invii una richiesta HTTP all'endpoint della funzione.
Esegui il deployment della funzione
Per eseguire il deployment della funzione con un trigger HTTP, esegui questo comando nella directory spanner
:
Node.js
gcloud functions deploy nodejs-spanner-function \ --gen2 \ --runtime=nodejs20 \ --region=REGION
\ --source=. \ --entry-point=spannerQuickstart
--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 python-spanner-function \ --gen2 \ --runtime=python312 \ --region=REGION
\ --source=. \ --entry-point=spanner_read_data
--trigger-http
Utilizza il flag --runtime
per specificare l'ID runtime di una versione Python supportata per eseguire la funzione.
Go
gcloud functions deploy go-spanner-function \ --gen2 \ --runtime=go121 \ --region=REGION
\ --source=. \ --entry-point=HelloSpanner
--trigger-http
Utilizza il flag --runtime
per specificare l'ID runtime di una versione Go supportata per eseguire la funzione.
Java
gcloud functions deploy java-spanner-function \ --gen2 \ --runtime=java17 \ --region=REGION
\ --source=. \ --entry-point=functions.HelloSpanner \ --memory=512MB
--trigger-http
Utilizza il flag --runtime
per specificare l'ID runtime di una versione Java supportata per eseguire la funzione.
Sostituisci REGION con il nome della regione Google Cloud in cui vuoi eseguire il deployment della funzione (ad esempio, us-west1
).
Il deployment delle funzioni potrebbe richiedere fino a due minuti.
Nota il valore url
restituito al termine del deployment della funzione. La utilizzerai quando attivi la funzione.
Puoi visualizzare le funzioni di cui hai eseguito il deployment nella pagina Cloud Functions della console Google Cloud. Puoi anche creare e modificare le funzioni in questa pagina e ottenere dettagli e diagnostica per le funzioni.
Attiva la funzione
Esegui una richiesta HTTP alla funzione:
curl URL
Sostituisci URL con il valore dell'URL restituito al termine del deployment della funzione.
Dovresti visualizzare un output che mostra i risultati della query SQL, supponendo che tu abbia seguito un tutorial introduttivo e abbia completato 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 vedere il risultato della query SQL.
esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi aggiuntivi per le risorse Spanner e Cloud Functions utilizzate in questo documento:
Elimina l'istanza:
gcloud spanner instances delete test-instance
Elimina la funzione di cui hai eseguito il deployment:
Node.js
gcloud functions delete nodejs-spanner-function
Python
gcloud functions delete python-spanner-function
Go
gcloud functions delete go-spanner-function
Java
gcloud functions delete java-spanner-function