Questa pagina descrive come risolvere gli errori che potresti riscontrare durante 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 vedrai valori segnaposto come YOUR_PROJECT_ID.
Dopo ogni passaggio, esegui di nuovo il comando gcloud endpoints services deploy
per verificare se l'errore è stato risolto.
Impossibile convertire in configurazione del servizio
ERROR: unknown location: http: In path template '[PATH]':
unexpected end of input '/'.'
Questo errore viene visualizzato quando uno o più percorsi nel documento OpenAPI includono un carattere barra finale (/
). Per risolvere il problema, rimuovi la barra diagonale finale da tutti i percorsi. Ad esempio, lo snippet seguente in un
documento OpenAPI genera questo errore:
paths: "/echo/": post: description: "Echo back a given message."
Per risolvere il problema, rimuovi la barra finale da /echo/
:
paths: "/echo": post: description: "Echo back a given message."
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 verificare di aver eseguito l'autenticazione con un account che ha l'autorizzazione per accedere al progetto visualizzato nel messaggio di errore:
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 al progetto Google Cloud in cui intendi eseguire il deployment della configurazione di Endpoints:
gcloud projects list
- Verifica che l'gcloud CLI abbia impostato l'ID progetto corretto come progetto corrente:
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 per la prima volta il deployment della configurazione di Endpoints, Service Management crea un servizio gestito per la tua API. Per creare un servizio gestito, devi disporre almeno del ruolo Editor a livello di progetto. Dopo che Service Management ha creato il servizio gestito, le autorizzazioni minime richieste per eseguire nuovamente il deployment di una configurazione di Endpoints sono il ruolo Editor di configurazione del 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 esempio
example.com
) configurato nel campohost
del documento OpenAPI, devi verificare il nome di dominio prima di poter eseguire il deployment del documento OpenAPI. - Se utilizzi il dominio
cloud.goog
, verifica che il valore per il campohost
sia nel seguente formato e che l'ID progetto sia corretto:API_NAME.endpoints.YOUR_PROJECT_ID.cloud.goog
- Se utilizzi il dominio
appspot.com
(supportato solo per App Engine), verifica che il campohost
sia nel seguente formato e che l'ID progetto sia corretto:YOUR_PROJECT_ID.appspot.com
Risolvere altri errori
Se hai ricevuto un errore non elencato qui o se le informazioni non hanno risolto il problema, esegui di nuovo il comando gcloud
con il flag per visualizzare le informazioni di debug:
gcloud --verbosity=debug endpoints services deploy openapi.yaml