Eseguire il deployment di un'API in un gateway

Questa pagina descrive come eseguire il deployment di un'API in API Gateway.

Prerequisiti

Prima di poter eseguire il deployment di un'API in API Gateway, assicurati di svolgere le seguenti operazioni:

Requisiti per l'ID gateway

Molti dei comandi gcloud CLI mostrati di seguito richiedono di specificare l'ID del gateway, nel formato: GATEWAY_ID. API Gateway applica i seguenti requisiti per l'ID gateway:

  • La lunghezza massima è di 49 caratteri.
  • Deve contenere solo lettere minuscole, numeri o trattini.
  • Non deve iniziare con un trattino.
  • Non deve contenere un trattino basso.

Definire l'endpoint della configurazione API di cui è stato eseguito il deployment

Quando esegui il deployment di una configurazione API in un gateway, API Gateway crea un URL univoco per il gateway nel dominio gateway.dev. I client API utilizzano quindi un URL nel formato seguente per accedere alla configurazione API di cui è stato eseguito il deployment:

https://GATEWAY_ID-HASH.REGION_CODE.gateway.dev

dove GATEWAY_ID è il nome del gateway, HASH è il codice hash univoco generato durante il deployment dell'API, e REGION_CODE è il codice della località Cloud in cui hai eseguito il deployment del gateway.

Ad esempio:

https://my-gateway-a12bcd345e67f89g0h.uc.gateway.dev

Eseguire il deployment di un'API in un gateway

Per eseguire il deployment di un'API in un gateway:

Google Cloud Console

  1. Nella Google Cloud console, vai alla pagina API Gateway.

    Vai ad API Gateway

  2. Fai clic su Crea gateway.

    Viene visualizzata la pagina Crea gateway.

  3. In Seleziona un'API, seleziona Crea nuova API nel campo Seleziona un'API.
  4. Nel campo Nome visualizzato, inserisci il nome visualizzato dell'API.
  5. Nel campo ID API, inserisci l'ID dell'API. Consulta i requisiti per l'ID API per le linee guida per la denominazione delle API.
  6. (Facoltativo) Aggiungi etichette per l'API.
  7. Nella sezione Configurazione API, seleziona Crea una nuova configurazione API nel campo Seleziona una configurazione.
  8. Nel campo Carica una specifica API, carica un file .yaml o .json. Consulta i formati di file OpenAPI 2.0 e OpenAPI 3.x per la definizione dell'API.
  9. Nel campo Nome visualizzato, inserisci il nome visualizzato della configurazione API.
  10. Nell'elenco Seleziona un account di servizio, seleziona l'account di servizio richiesto. Questo account di servizio verrà utilizzato da API Gateway come identità.
  11. (Facoltativo) Aggiungi etichette per la configurazione API.
  12. Nella sezione Dettagli gateway, inserisci un nome visualizzato per il gateway.
  13. Nel campo Località, seleziona la Google Cloud regione in cui vuoi eseguire il deployment del gateway.
  14. (Facoltativo) Aggiungi etichette per API Gateway.
  15. Fai clic su Crea gateway.
  16. L'API appena creata è visibile nella home page di API Gateway.

Google Cloud CLI

  1. Convalida l'ID progetto restituito dal seguente comando per assicurarti che il gateway non venga creato nel progetto sbagliato.

    gcloud config list project

    Se devi modificare il progetto predefinito, esegui il seguente comando e sostituisci PROJECT_ID con l' Google Cloud ID progetto in cui vuoi creare il servizio:

    gcloud config set project PROJECT_ID
  2. Visualizza la guida per il comando gateway create:

    gcloud api-gateway gateways create --help
  3. Esegui il seguente comando per eseguire il deployment della configurazione API nel gateway:

    gcloud api-gateway gateways create GATEWAY_ID \
     --api=API_ID --api-config=CONFIG_ID \
     --location=GCP_REGION 

    dove:

    • GATEWAY_ID specifica l'ID del nuovo gateway. Se il gateway non esiste già, questo comando lo crea.
    • API_ID specifica l'ID dell'API API Gateway associata a questo gateway.
    • CONFIG_ID specifica l'ID della configurazione API di cui è stato eseguito il deployment nel gateway. Devi specificare una configurazione API quando crei un gateway.
    • GCP_REGION specifica la località Cloud per il gateway di cui è stato eseguito il deployment.

    Durante la creazione del gateway, gcloud CLI restituisce informazioni al terminale.

  4. Al termine, puoi utilizzare il seguente comando per visualizzare i dettagli del gateway:

    gcloud api-gateway gateways describe GATEWAY_ID \
     --location=GCP_REGION 

    Questo comando restituisce quanto segue:

    apiConfig: projects/PROJECT_ID/locations/global/apis/API_ID/configs/CONFIG_ID
    createTime: '2020-02-05T13:44:12.997862831Z'
    defaultHostname: my-gateway-a12bcd345e67f89g0h.uc.gateway.dev
    displayName: GATEWAY_ID
    name: projects/PROJECT_ID/locations/GCP_REGION/gateways/GATEWAY_ID
    serviceAccount:
     email: gateway-111111@222222-tp.iam.gserviceaccount.com
    state: ACTIVE
    updateTime: '2020-02-05T13:45:00.844705087Z'

    Prendi nota del valore della proprietà defaultHostname. Questa è la parte del nome host dell'URL del gateway. Per accedere a una configurazione API di cui è stato eseguito il deployment in questo gateway, utilizza un URL nel formato:

    https://my-gateway-a12bcd345e67f89g0h.uc.gateway.dev

gcloud CLI accetta molte opzioni, incluse quelle descritte nel riferimento gcloud. Inoltre, per API Gateway, puoi impostare le seguenti opzioni durante la creazione di un gateway:

  • --async: restituisce immediatamente il controllo al terminale, senza attendere il completamento dell'operazione.
  • --display-name=NAME: specifica il nome visualizzato del gateway, ovvero il nome mostrato nell'interfaccia utente. Non utilizzare spazi nel nome. Utilizza invece trattini e trattini bassi. Il valore predefinito è GATEWAY_ID.
  • --labels=KEY1=VALUE1,KEY2=VALUE2,...: specifica le etichette associate al gateway.

Elenco di gateway

Questa sezione spiega come visualizzare un elenco di tutti i gateway API di cui è stato eseguito il deployment nel tuo Google Cloud progetto.

Google Cloud Console

Nella Google Cloud console, vai alla pagina API Gateway > Gateway.

Vai a Gateway

Google Cloud CLI

Per elencare i gateway di un progetto specifico:

gcloud api-gateway gateways list 

Questo comando restituisce un output nel formato:

GATEWAY_ID        LOCATION       DISPLAY_NAME     STATE     CREATE_TIME          UPDATE_TIME
my-gateway        us-central1    my-gateway       ACTIVE    2021-01-07T00:04:19  2022-05-21T00:33:46

Per elencare i gateway di un progetto e una regione specifici:

gcloud api-gateway gateways list --location=GCP_REGION 

Utilizza un'espressione filter per elencare i gateway associati a un'API specifica:

gcloud api-gateway gateways list \
--filter="apiConfig:projects/PROJECT_ID/locations/global/apis/API_ID/*" \

In alternativa, utilizza questo filter per elencare i gateway di una configurazione API specifica:

gcloud api-gateway gateways list \
--filter="apiConfig:projects/PROJECT_ID/locations/global/apis/API_ID/configs/CONFIG_ID" \
--project=PROJECT_ID

Utilizza la regione e gli ID gateway per ottenere informazioni dettagliate sul gateway, inclusa l'identità della configurazione API di cui è stato eseguito il deployment nel gateway:

gcloud api-gateway gateways describe GATEWAY_ID \
--location=GCP_REGION 

Aggiornare un gateway

Aggiorna un gateway per:

  • Eseguire il deployment di una configurazione API diversa nel gateway
  • Aggiornare il nome visualizzato
  • Aggiornare le etichette

Google Cloud Console

Per aggiornare i dettagli di API Gateway, segui questi passaggi:

  1. Nella Google Cloud console, vai alla pagina API Gateway.

    Vai ad API Gateway

  2. Fai clic sull'API richiesta.
  3. Fai clic sulla scheda Gateway.
  4. Fai clic sul gateway richiesto.
  5. Fai clic su edit Modifica.
  6. Modifica il Nome visualizzato o le Etichette.
  7. Seleziona la Configurazione API richiesta oppure fai clic su Crea nuova configurazione API e crea la configurazione come mostrato qui.
  8. Fai clic su Aggiorna.
  9. Fai clic su per tornare alla pagina dell'elenco dei gateway.
  10. Nella pagina dell'elenco dei gateway, puoi visualizzare il gateway aggiornato.

Google Cloud CLI

Utilizza il seguente comando gcloud CLI per aggiornare un gateway esistente, dove UPDATE_OPTIONS viene sostituito con il flag e il valore dell'opzione del gateway che vuoi aggiornare:

gcloud api-gateway gateways update GATEWAY_ID \
UPDATE_OPTIONS --api=API_ID --location=GCP_REGION   

Ad esempio, per aggiornare la configurazione API di cui è stato eseguito il deployment nel gateway:

gcloud api-gateway gateways update GATEWAY_ID \
--api-config=NEW_CONFIG_ID --api=API_ID --location=GCP_REGION 

dove NEW_CONFIG_ID specifica la nuova configurazione API di cui eseguire il deployment nel gateway.

Per un elenco completo dei flag e degli argomenti di aggiornamento disponibili, consulta il riferimento gcloud api-gateway gateways update o utilizza il seguente comando per visualizzare tutte le opzioni di aggiornamento:

gcloud api-gateway gateways update --help

Eliminare un gateway

Questa sezione descrive come eliminare un gateway API esistente. Segui questi passaggi per rimuovere definitivamente un gateway e la relativa configurazione dal tuo Google Cloud progetto.

Google Cloud Console

  1. Nella Google Cloud console, vai alla pagina API Gateway > Gateway.

    Vai a Gateway

  2. Fai clic su Altro e poi su Elimina per eliminare il gateway API scelto.

Google Cloud CLI

Utilizza il seguente comando gcloud CLI per eliminare un gateway esistente:

gcloud api-gateway gateways delete GATEWAY_ID \
--location=GCP_REGION 

Passaggi successivi