In questa pagina viene descritto come risolvere gli errori che potresti riscontrare quando eseguire il deployment della configurazione di Cloud Endpoints. I messaggi di errore visualizzati contengono informazioni specifiche per il tuo progetto. Ad esempio, potresti visualizzare un messaggio di errore contenente l'ID del progetto. In questa pagina puoi vedere valori segnaposto come YOUR_PROJECT_ID.
Dopo ogni passaggio, esegui di nuovo il comando gcloud endpoints services deploy
per visualizzare
se l'errore è stato risolto.
Impossibile convertire in configurazione del servizio
ERROR: (gcloud.endpoints.services.deploy) INVALID_ARGUMENT:
Cannot convert to service config. http: undefined field <unknown>
on message <RequestType>
Verifica che nel file .proto
non siano presenti campi che non corrispondono tra
messaggi di buffer di protocollo e
mappature di transcodifica.
Ad esempio, il seguente codice in un file .proto
genera questo
errore. L'opzione di mappatura su Unary
specifica un campo denominato
undefined
non presente nel messaggio Request
definizione di Kubernetes.
rpc Unary(Request) Response { option (google.api.http) { get : "/{undefined}" }; } message Request { string defined = 1; }
Non è consentito recuperare le impostazioni del progetto
ERROR: (gcloud.endpoints.services.deploy) PERMISSION_DENIED:
Not allowed to get project settings for project YOUR_PROJECT_ID
- Esegui di nuovo l'autenticazione con gcloud CLI per confermare l'autenticazione
con un account che dispone dell'autorizzazione per accedere al progetto visualizzato nell'errore
messaggio:
gcloud auth login
Si apre una nuova scheda del browser e ti viene chiesto di scegliere un account.
- Verifica che l'ID progetto visualizzato nel messaggio di errore corrisponda a
al progetto Google Cloud in cui intendi eseguire il deployment
Configurazione degli endpoint per:
gcloud projects list
- Verifica che per gcloud CLI sia impostato l'ID progetto corretto come
progetto attuale:
gcloud config set project YOUR_PROJECT_ID
Il chiamante non dispone dell'autorizzazione
ERROR: (gcloud.endpoints.services.deploy) PERMISSION_DENIED:
Caller does not have permission 'servicemanagement.services.create' on
project YOUR_PROJECT_ID
Quando esegui il primo deployment della configurazione di Endpoints, Service Management crea un servizio gestito per l'API. Per creare un modello gestito devi disporre almeno del ruolo Editor a livello di progetto. Dopo che Service Management ha creato il servizio gestito, il numero minimo richiesto le autorizzazioni per rieseguire il deployment di una configurazione di Endpoints è Ruolo Editor configurazione servizio (roles/servicemanagement.configEditor) sul servizio. Per ulteriori informazioni, consulta Concedere l'accesso all'API.
Impossibile verificare la proprietà del nome di dominio
ERROR: (gcloud.endpoints.services.deploy) PERMISSION_DENIED:
Ownership for domain name YOUR_DOMAIN_NAME on project
YOUR_PROJECT_ID cannot be verified
- Se hai un dominio personalizzato (ad es.
example.com
) configurata nel camponame
diapi_config.yaml
devi verificare il nome di dominio prima di poter eseguire il deployment della configurazione del servizio. - Se utilizzi il dominio
cloud.goog
, verifica che il valore per il camponame
sia nel formato seguente e che il progetto L'ID è corretto:API_NAME.endpoints.YOUR_PROJECT_ID.cloud.goog
Risoluzione di altri errori
Se hai ricevuto un errore non elencato qui o se le informazioni non sono state visualizzate
risolvere il problema, eseguire di nuovo il comando gcloud
con il flag
per visualizzare le informazioni di debug:
gcloud --verbosity=debug endpoints services deploy api_descriptor.pb api_config.yaml api_config_http.yaml