Deployment di un proxy API

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Non puoi richiamare un proxy API finché non è stato eseguito il deployment. Dopo aver creato un nuovo proxy API o apportato una modifica a uno esistente, puoi eseguirne il deployment nel tuo cluster.

Quando crei una nuova revisione di un proxy API senza modificarne il percorso di base, quindi la esegui il deployment in un ambiente in cui è già stato eseguito il deployment, la revisione precedente viene annullata e la nuova revisione viene eseguita al suo posto.

Esegui il deployment di un proxy API

Esegui il deployment di una revisione del proxy API come descritto per uno dei seguenti metodi.

Interfaccia utente di Apigee

Per eseguire il deployment di un proxy API:

  1. Nella console Google Cloud , vai alla pagina Sviluppo proxy > Proxy API.

    Vai a Proxy API

  2. Fai clic sul proxy API di cui vuoi eseguire il deployment. La UI mostra la pagina Panoramica:

    Dettagli del proxy API, inclusi lo stato del deployment per ambiente, i dettagli dell'endpoint proxy e i dettagli dell'endpoint di destinazione.

  3. Per eseguire il deployment delle modifiche, fai clic su Esegui il deployment per visualizzare la finestra di dialogo Esegui il deployment:

    Endpoint di destinazione selezionati in Explorer proxy.

  4. Inserisci i seguenti valori:
    • Revisione: il numero di revisione del proxy che vuoi eseguire il deployment.
    • Ambiente: l'ambiente in cui vuoi eseguire il deployment del proxy.
    • (Facoltativo) Service account: un service account per il proxy.
  5. Fai clic su Esegui il deployment.

L'interfaccia utente avvia il processo di deployment della revisione selezionata.

Quando il proxy viene sottoposto a deployment, la colonna Stato nella sezione Deployment mostra un'icona verde per indicare che è stato eseguito il deployment della revisione 1 del proxy.

Icona di stato del proxy di cui è stato eseguito il deployment

API Apigee

Le sezioni seguenti forniscono esempi di utilizzo dell'API Apigee per eseguire il deployment delle revisioni del proxy API ed elencare i deployment per la tua organizzazione.

Vedi anche Visualizzare lo stato del deployment.

Creare un report sulle modifiche al deployment prima del deployment

Il deployment di un proxy in più di un ambiente nello stesso gruppo di ambienti potrebbe causare un comportamento indefinito. Per determinare se ciò si verificherà, puoi generare un report utilizzando il metodo generateDeployChangeReport come segue:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/deployments:generateDeployChangeReport" \
-X POST \
-H "Authorization: Bearer $TOKEN"

Viene restituito un report sulle modifiche al deployment che ti avvisa se un percorso di base nel proxy che vuoi eseguire il deployment non riceverà traffico a causa di un deployment esistente che utilizza già quel percorso di base.

Deployment di una revisione del proxy API utilizzando l'API

Per eseguire il deployment di una revisione del proxy API, utilizza la seguente chiamata API:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/deployments" \
  -X POST \
  -H "Authorization: Bearer $TOKEN"

Dove $TOKEN è impostato sul tuo token di accesso OAuth 2.0, come descritto in Ottenere un token di accesso OAuth 2.0. Per informazioni sulle opzioni curl utilizzate in questo esempio, consulta la sezione Utilizzo di curl. Per una descrizione delle variabili di ambiente che puoi utilizzare, consulta Impostazione delle variabili di ambiente per le richieste API Apigee.

Di seguito è riportato un esempio di output della risposta. In questo esempio, la revisione 1 del proxy API helloworld è stata implementata correttamente nell'ambiente test:

{
  "environment": "test",
  "apiProxy": "helloworld",
  "revision": "1",
  "deployStartTime": "1559149080457"
}

Per saperne di più, consulta Deploy proxy API revision API.

Elenco dei deployment utilizzando l'API

Per elencare tutti i deployment di proxy API e flussi condivisi per la tua organizzazione, inserisci la seguente chiamata API:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/deployments" \
  -X GET \
  -H "Authorization: Bearer $TOKEN"

Dove $TOKEN è impostato sul tuo token di accesso OAuth 2.0, come descritto in Ottenere un token di accesso OAuth 2.0. Per informazioni sulle opzioni curl utilizzate in questo esempio, consulta la sezione Utilizzo di curl. Per una descrizione delle variabili di ambiente che puoi utilizzare, consulta Impostazione delle variabili di ambiente per le richieste API Apigee.

Di seguito è riportato un esempio di risposta. In questo esempio, sono stati implementati tre proxy API, incluso helloworld, che è stato implementato nella sezione precedente.

{
  "deployments": [
    {
      "environment": "test",
      "apiProxy": "helloworld",
      "revision": "1",
      "deployStartTime": "1559149080457"
    },
    {
      "environment": "test",
      "apiProxy": "weather",
      "revision": "1",
      "deployStartTime": "1558620435217"
    },
    {
      "environment": "test",
      "apiProxy": "testproxy",
      "revision": "2",
      "deployStartTime": "1558635113086"
    }
  ]
}

gcloud

Le sezioni seguenti forniscono esempi di utilizzo dei comandi CLI gcloud apigee per eseguire il deployment delle revisioni del proxy API ed elencare i deployment per la tua organizzazione.

Vedi anche Visualizzare lo stato del deployment.

Per ulteriori informazioni e una descrizione delle variabili di ambiente utilizzate negli esempi, consulta Guida introduttiva all'utilizzo di gcloud con Apigee.

Deployment di una revisione del proxy API utilizzando gcloud CLI

Per eseguire il deployment di una revisione del proxy API, utilizza il seguente comando gcloud:

gcloud apigee apis deploy $REV --api=$API --environment=$ENV

Di seguito è riportato un esempio di output della risposta. In questo esempio, la revisione 1 del proxy API helloworld è stata implementata correttamente nell'ambiente test:

Using Apigee organization 'my-org'
apiProxy: helloworld
deployStartTime: '1598032332802'
environment: test
revision: '1'

Per saperne di più, consulta Deploy proxy API revision CLI.

Elenco dei deployment utilizzando gcloud CLI

Per elencare tutti i deployment di proxy API e flussi condivisi per la tua organizzazione, utilizza il seguente comando gcloud:

gcloud apigee deployments list

Di seguito è riportato un esempio di risposta. In questo esempio, sono stati implementati tre proxy API, incluso helloworld, che è stato implementato nella sezione precedente.

Using Apigee organization `my-org`
 - apiProxy: helloworld
   deployStartTime: 1598032332802
   environment: test
   revision: 1
 - apiProxy: weather
   deployStartTime: 1558620435217
   environment: test
   revision: 1
 - apiProxy: testproxy
   deployStartTime: 1558635113086
   environment: test
   revision: 2

Per saperne di più, consulta Elenco dei deployment CLI.

Risoluzione dei problemi

Se non riesci a eseguire il deployment del proxy API, verifica se si applica uno dei seguenti scenari comuni.

Limitazioni di denominazione per i gruppi di ambienti

Se il nome del gruppo di ambienti non rispetta le limitazioni di denominazione, il proxy non verrà implementato. In alcuni casi, è possibile creare un gruppo di ambienti e aggiungervi ambienti senza dover soddisfare queste limitazioni. Tuttavia, questo impedirà il deployment del proxy.

Consulta Creazione di gruppi di ambienti per una descrizione delle linee guida e delle limitazioni relative alla denominazione.

Ambiente creato con un nome ambiente utilizzato in precedenza

Se crei un ambiente con lo stesso nome di un ambiente eliminato in precedenza, il proxy non verrà implementato. Ad esempio, se hai creato un ambiente denominato prod-1 dopo aver creato ed eliminato un ambiente prod-1, dovrai rimuoverlo. Per risolvere il problema, segui questi passaggi:

  1. Scollega l'ambiente prod-1 dal gruppo di ambienti utilizzando l' API.
  2. Elimina l'ambiente prod-1 utilizzando l'API.
  3. Crea un nuovo ambiente. Ad esempio, prod-2.
  4. Collega il nuovo ambiente prod-2 al gruppo di ambienti utilizzando l' API.