Passaggio 2: crea un'organizzazione

In questo passaggio, crei un'organizzazione Apigee.

Per creare una nuova organizzazione e eseguirne il provisioning:

  1. Nella riga di comando, recupera le credenziali di autenticazione gcloud utilizzando il seguente comando:

    Linux / MacOS

    export TOKEN=$(gcloud auth print-access-token)

    Per verificare che il token sia stato inserito, utilizza echo, come illustrato nell'esempio seguente:

    echo $TOKEN

    Il token dovrebbe essere visualizzato come stringa codificata.

    Windows

    for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a

    Per verificare che il token sia stato inserito, utilizza echo, come illustrato nell'esempio seguente:

    echo %TOKEN%

    Il token dovrebbe essere visualizzato come stringa codificata.

  2. Nel passaggio 1, hai creato la variabile di ambiente PROJECT_ID. Aggiungi queste variabili di ambiente:

    Linux / MacOS

    export ORG_NAME=$PROJECT_ID
    export ANALYTICS_REGION="ANALYTICS_REGION"
    export RUNTIMETYPE=HYBRID

    Windows

    set ORG_NAME=$PROJECT_ID
    set ANALYTICS_REGION="ANALYTICS_REGION"
    set RUNTIMETYPE=HYBRID

    Dove:

    • ORG_NAME (obbligatorio): questo valore deve corrispondere a PROJECT_ID.
    • ANALYTICS_REGION (obbligatorio): la regione principale per lo spazio di archiviazione dei dati di analisi, in cui la variabile è impostata su uno dei seguenti valori:
      asia-northeast1 asia-south1 asia-east1 asia-southeast1
      australia-southeast1 us-central1 us-east1 us-west1
      asia-southeast2 europe-west1 europe-west2

      Scegli una regione geograficamente vicina o chesoddisfa i requisiti di archiviazione della tua organizzazione.

    • RUNTIMETYPE (obbligatorio): deve essere impostato su HYBRID.
  3. Chiama la seguente API Apigee per creare l'organizzazione:
    curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \
      -d '{
        "name":"'"$ORG_NAME"'",
        "runtimeType":"'"$RUNTIMETYPE"'",
        "analyticsRegion":"'"$ANALYTICS_REGION"'"
      }' \
      "https://apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"

    In caso di richiesta di creazione andata a buon fine, l'API Organizations risponde con un messaggio simile al seguente:

    {
      "name": "organizations/org_name/operations/LONG_RUNNING_OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
        "operationType": "INSERT",
        "targetResourceName": "organizations/org_name",
        "state": "IN_PROGRESS"
      }
    }

    Dove:

    • LONG_RUNNING_OPERATION_ID è l'UUID di un'operazione asincrona a lunga esecuzione. Puoi utilizzare questo ID per controllare lo stato della richiesta di creazione dell'organizzazione (descritta nel passaggio 5).
    • org_name è l'ID della nuova organizzazione che è attualmente in fase di creazione.

    Come indicato dalla proprietà state nella risposta, Apigee ha iniziato a creare la nuova organizzazione, pertanto il suo stato è IN_PROGRESS. Questa procedura può richiedere diversi minuti.

    Se viene visualizzato un messaggio di errore, consulta Risoluzione dei problemi relativi alla creazione dell'organizzazione.

  4. Salva l'ID operazione a lunga esecuzione in una variabile di ambiente. Sarà utile per le attività di gestione future.

    Sintassi

    export LONG_RUNNING_OPERATION_ID=LONG_RUNNING_OPERATION_ID

    Esempio

    export LONG_RUNNING_OPERATION_ID=6abc8a72-46de-f9da-bcfe-70d9ab347e4f
  5. Puoi controllare lo stato dell'operazione a lunga esecuzione il cui ID è stato restituito dalla richiesta di creazione. A tale scopo, utilizza l'API Operations. Ad esempio:
    curl -H "Authorization: Bearer $TOKEN" \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/operations/$LONG_RUNNING_OPERATION_ID"

    I seguenti esempi mostrano possibili risposte a questa richiesta:

    IN_PROGRESS

    Se Apigee sta ancora creando l'organizzazione, risponde con lo stato IN_PROGRESS. Ad esempio:

    {
      "name": "organizations/ORG_NAME/operations/LONG_RUNNING_OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
        "operationType": "INSERT",
        "targetResourceName": "organizations/ORG_NAME",
        "state": "IN_PROGRESS"
      }
    }

    Ti consigliamo di attendere un po' di più prima di tentare di verificare il completamento della procedura di creazione.

    COMPLETATO

    Una volta eseguito il provisioning dell'organizzazione, lo stato dell'operazione a lunga esecuzione è FINISHED. Ad esempio:

    {
      "name": "organizations/ORG_NAME/operations/LONG_RUNNING_OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
        "operationType": "INSERT",
        "targetResourceName": "organizations/ORG_NAME",
        "state": "FINISHED"
      },
      "done": true,
      "response": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.Organization",
        "name": "ORG_NAME",
        "description": "",
        "createdAt": "1626237148461",
        "lastModifiedAt": "1626237149384",
        "properties": {
          "property": [
            {
              "name": "features.hybrid.enabled",
              "value": "true"
            },
            {
              "name": "features.mart.connect.enabled",
              "value": "true"
            }
          ]
        },
        "analyticsRegion": "ANALYTICS_REGION",
        "runtimeType": "HYBRID",
        "subscriptionType": "TRIAL",
        "state": "ACTIVE",
        "billingType": "EVALUATION",
        "expiresAt": "1631421073171",
        "addonsConfig": {
          "advancedApiOpsConfig": {},
          "integrationConfig": {},
          "monetizationConfig": {}
        }
      }
    }
  6. Puoi utilizzare l'API Apigee Organizations per recuperare informazioni su un'organizzazione dopo la sua creazione. Ad esempio:

    curl -H "Authorization: Bearer $TOKEN" \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"

    La risposta alla tua richiesta contiene i dettagli dell'organizzazione specificata in formato JSON.

    {
      "name": "apigee-example",
      "createdAt": "1626237148461",
      "lastModifiedAt": "1626237149384",
      "properties": {
        "property": [
          {
            "name": "features.hybrid.enabled",
            "value": "true"
          },
          {
            "name": "features.mart.connect.enabled",
            "value": "true"
          }
        ]
      },
      "analyticsRegion": "us-west1",
      "runtimeType": "HYBRID",
      "subscriptionType": "TRIAL",
      "projectId": "apigee-example",
      "state": "ACTIVE",
      "billingType": "EVALUATION",
      "expiresAt": "1631421073171",
      "addonsConfig": {
        "advancedApiOpsConfig": {},
        "integrationConfig": {},
        "monetizationConfig": {}
      }
    }

Risoluzione dei problemi relativi alla creazione dell'organizzazione

Quando crei un'organizzazione con l'API Create organizations, potresti ricevere una risposta con un errore. Le risposte sono simili alle seguenti:

{
  "error": {
    "code": HTTP_error_code,
    "message": "short_error_message",
    "status": "high_level_error_type",
    "details": [
      {
        "@type": "specific_error_type",
        "detail": "expanded_error_description"
      }
    ]
  }
}

La seguente tabella elenca gli errori che potresti ricevere e le potenziali soluzioni quando provi a creare una nuova organizzazione:

Codice errore HTTP Errore HTTP Descrizione
400 Invalid JSON payload received La struttura dei dati nella richiesta contiene un errore di sintassi o il percorso all'endpoint non è corretto.
400 Invalid organization ID L'ID organizzazione richiesto non può contenere lettere maiuscole o caratteri speciali diversi dai trattini. Deve contenere solo lettere minuscole, numeri e/o trattini. Può contenere fino a un massimo di 32 caratteri.
400 Unsupported analytics region Non hai specificato il valore di analyticsRegion nel corpo della richiesta oppure il valore specificato non è una delle opzioni valide.
400 Does not have an Apigee entitlement Il progetto Google Cloud (creato nel passaggio 2: creazione di un progetto Google Cloud) non è ancora stato abilitato per il funzionamento ibrido. Potrebbe trattarsi di un problema di fatturazione o di un altro errore relativo al tuo account Google Cloud. Per ulteriori informazioni, contatta il team di vendita di Apigee.
401 Request had invalid authentication credentials Il token di autenticazione gcloud è errato o obsoleto oppure non ne hai incluso uno nella richiesta. Genera un nuovo token e invia di nuovo l'indirizzo.
403 Permission denied on resource project project_ID Potresti aver inviato una richiesta contenente un ID progetto o un percorso non corretto.
403 Unable to retrieve project information L'organizzazione non è ancora stata creata o non è stato ancora eseguito il provisioning. Puoi inviare una richiesta all'API Operations per controllare lo stato dell'operazione a lunga esecuzione, come descritto nel passaggio 5.
409 Organization already exists Hai provato a creare più di un'organizzazione per il progetto Google Cloud. Puoi creare soltanto un'organizzazione per progetto.
409 Org proposed_org_name already exists Hai provato a creare un'organizzazione con lo stesso ID di un'altra già esistente. Gli ID organizzazione devono essere univoci per tutti i clienti ibride. Invia nuovamente con un nuovo ID organizzazione proposto; ad esempio, accoda un valore numerico alla fine dell'ID precedente che hai provato.

Passaggio successivo

Vai al passaggio 3: Crea un gruppo di ambienti.