Risoluzione dei problemi di deployment della configurazione di Cloud Endpoints

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 contenere informazioni specifiche del tuo progetto. Ad esempio, potresti notare contenente il tuo ID 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 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 barra finale da tutti i percorsi. Ad esempio, il seguente snippet in un documento OpenAPI restituisce 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

  1. 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.

  2. 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
  3. 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 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, 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, vedi Concessione dell'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) configurata nel campo host del documento OpenAPI, devi verifica 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 campo host sia nel formato seguente e che il progetto L'ID è corretto:
    API_NAME.endpoints.YOUR_PROJECT_ID.cloud.goog
  • Se utilizzi il dominio appspot.com (supportato solo per App Engine), verifica che il campo host sia nel seguente formato e che l'ID progetto sia corretto:
    YOUR_PROJECT_ID.appspot.com

Risoluzione di altri errori

Se hai ricevuto un errore non elencato qui o se le informazioni non sono presenti risolvere il problema, eseguire di nuovo il comando gcloud con il flag per visualizzare le informazioni di debug:

gcloud --verbosity=debug endpoints services deploy openapi.yaml

Passaggi successivi