Questa pagina descrive i file di configurazione necessari per creare un servizio gRPC gestito da Endpoints.
Prerequisiti
Per iniziare, questa pagina presuppone che tu abbia:
- Un progetto Google Cloud.
- Conoscenza di base di un servizio API gRPC.
- Hai installato gRPC e gli strumenti gRPC. Per maggiori dettagli, consulta la guida introduttiva a gRPC.
Scegliere il nome del servizio
Cloud Endpoints utilizza il nome che configuri File YAML di configurazione API gRPC come nome del tuo servizio.Il nome del servizio API deve essere univoco su Google Cloud. Poiché Endpoints utilizza nomi compatibili con DNS per identificare i servizi. consigliamo di utilizzare il nome di dominio o il nome del sottodominio dell'API come servizio nome. Con questo approccio, il nome del servizio visualizzato nella sezione Endpoint Servizi corrisponda al nome utilizzato nelle richieste all'API. Inoltre, se il nome del servizio e il nome di dominio sono uguali, puoi creare un portale Cloud Endpoints per gli utenti dell'API. Endpoints ha i seguenti requisiti per il nome del servizio:
- La lunghezza massima del nome di dominio è 253 caratteri.
- Il nome di dominio deve iniziare con una lettera minuscola.
-
Ogni sezione del nome di dominio, delimitata da punti, ha quanto segue:
requisiti:
- Deve iniziare con una lettera minuscola.
- Non deve terminare con un trattino.
- Gli altri caratteri possono essere lettere minuscole, numeri o trattini.
- La lunghezza massima è di 63 caratteri.
Puoi registrare un tuo dominio personalizzato (ad esempio example.com
) o utilizzare un dominio gestito da Google.
Utilizzare un dominio gestito da Google
Google possiede e gestisce il dominiocloud.goog
. Se vuoi utilizzare un dominio gestito da Google, devi utilizzare l'ID progetto Google Cloud come parte del nome del servizio. Poiché i progetti Google Cloud hanno un ID progetto univoco a livello mondiale, questo requisito garantisce che il nome del servizio sia univoco.
Se vuoi utilizzare il dominio cloud.goog
, il nome del servizio deve essere
nel formato, dove YOUR_API_NAME
è il nome del
e l'API YOUR_PROJECT_ID
è il tuo
ID progetto Google Cloud:
YOUR_API_NAME.endpoints.YOUR_PROJECT_ID.cloud.goog`
Per utilizzare questo dominio come nome di dominio dell'API, leggi
Configurazione del DNS sul dominio cloud.goog
.
Utilizzo di un dominio personalizzato
Se non vuoi utilizzare un dominio gestito da Google, puoi usare un dominio personalizzato
(ad esempio, myapi.mycompany.com
) che disponi dell'autorizzazione a utilizzare.
Prima di eseguire il deployment della configurazione dell'API, segui i passaggi descritti in
Verifica la proprietà del dominio.
Configurazione del buffer di protocollo
Crea un file
.proto
per il tuo servizio. Leggi Guida per gli sviluppatori
per maggiori dettagli.Compila i buffer di protocollo utilizzando il comando Compilatore
protoc
per la tua lingua. Ad esempio:protoc --proto_path=. \ --include_imports \ --include_source_info \ --descriptor_set_out=api_descriptor.pb \ bookstore.proto
Nel comando precedente,
--proto_path
è impostato sulla directory di lavoro corrente. Nel tuo ambiente di build gRPC, se utilizzi una directory diversa per.proto
file di input, modifica--proto_path
in modo che il compilatore cerchi directory in cui hai salvato il file.proto
.Se il comando
protoc
per generare il file descrittore non va a buon fine, assicurati che:- La tua versione di
protoc
è aggiornata. - Hai specificato
--proto_path
o la sua forma abbreviata-I
per le directory principali dei file.proto
importati. Puoi scoprire di più nel documentazione sui buffer di protocollo. - Hai specificato
--include_imports
.
Se vuoi che i tuoi client accedano al tuo servizio gRPC utilizzando HTTP con JSON, devi specificare la modalità di traduzione dei dati HTTP con JSON a gRPC. Ti consigliamo di annotare le API definite nel tuo file
.proto
. Letto Transcodifica di HTTP/JSON in gRPC per ulteriori informazioni.- La tua versione di
Configurazione del file di configurazione del servizio gRPC
Devi creare un file YAML di configurazione del servizio gRPC. In questo file specifichi il nome del servizio e le restrizioni di utilizzo, ad esempio la richiesta di una chiave API.
Puoi utilizzare il file api_config.yaml
dell'esempio Libreria come modello.
Salva una copia di
api_config.yaml
.Inserisci il nome del servizio nel campo
name
. Ad esempio:name: bookstore.endpoints.example-project-12345.cloud.goog
Inserisci il titolo visualizzato nella pagina Endpoints > Servizi nella console Google Cloud. Ad esempio:
title: Bookstore gRPC API
Inserisci il nome dell'API nel campo
apis:name
. Il testo inserito deve corrispondere esattamente al nome completo dell'API nel file.proto
. Ad esempio:apis: - name: endpoints.examples.bookstore.Bookstore
Configura il resto del file. Ad esempio:
# # API usage restrictions. # usage: rules: # ListShelves methods can be called without an API Key. - selector: endpoints.examples.bookstore.Bookstore.ListShelves allow_unregistered_calls: true
Leggi l'articolo Regole e selettori. per ulteriori informazioni.
Passaggi successivi
- Deployment della configurazione di Endpoints
- Esegui il deployment del backend dell'API
- Configurazione dell'autenticazione
Altri esempi gRPC
- Versione Java dell'esempio della libreria.
L'esempio
getting-started-grpc
è disponibile su GitHub nelle seguenti lingue: