Passaggio 4: creazione di un'organizzazione

Hai creato un account e un progetto Google Cloud e hai attivato le API. Ora puoi creare la tua organizzazione.

Prerequisito

Per creare un'organizzazione, devi soddisfare una delle seguenti condizioni:

  • Avere un account di valutazione. Gli account di valutazione scadono dopo 60 giorni. A quel punto, l'organizzazione verrà eliminata.
  • Avere un account a pagamento

In caso contrario, devi contattare il team di vendita di Apigee prima di poter continuare.

Per creare una nuova organizzazione e eseguirne il provisioning:

  1. Nella riga di comando, ottieni le credenziali di autenticazione gcloud, come mostrato nell'esempio seguente:

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

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

    echo $TOKEN

    Il token dovrebbe essere visualizzato come stringa codificata.

    Per saperne di più, consulta la panoramica dello strumento a riga di comando gcloud.

  2. Crea le seguenti variabili di ambiente per gli elementi dell'organizzazione. Li utilizzerai nel comando per creare l'organizzazione.
    • PROJECT_ID (obbligatorio) è il progetto Google Cloud che vuoi collegare alla nuova organizzazione abilitata all'ibrido. Si tratta dell'ID generato da Google per te nel passaggio 2: creazione di un progetto Google Cloud.
      export PROJECT_ID=your_project_id

      Nome dell'ID progetto con punto finale

    • ORG_NAME (obbligatorio) è l'ID programmatico che vuoi per la tua organizzazione abilitata all'uso ibrido.
      export ORG_NAME=$PROJECT_ID
    • ORG_DISPLAY_NAME (Facoltativo) è il nome facile da ricordare della tua organizzazione. Questo valore non deve essere univoco e può includere spazi e caratteri speciali. Ad esempio, "La mia organizzazione ibrida".
      ORG_DISPLAY_NAME="friendly_name"

      I contenuti dei nomi delle variabili che contengono spazi devono essere racchiusi tra virgolette doppie. Ad esempio: "La mia organizzazione"

    • ORGANIZATION_DESCRIPTION (Facoltativo) sono informazioni sull'organizzazione che vuoi utilizzare come promemoria del suo scopo. Ad esempio, "La mia prima organizzazione".
      ORGANIZATION_DESCRIPTION="description_text"
    • ANALYTICS_REGION (obbligatorio) è la regione principale per lo spazio di archiviazione dei dati di analisi.
      export ANALYTICS_REGION=analytics_region

      dove analytics_region è 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) è il tipo di runtime dell'organizzazione Apigee, dove HYBRID è il runtime Apigee hybrid gestito dall'utente.
      export RUNTIMETYPE=HYBRID
  3. Invia una richiesta POST autenticata all'API Create organizations.

    L'esempio seguente mostra la struttura della richiesta che crea un'organizzazione:

    curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \
      -d '{
        "name":"'"$ORG_NAME"'",
        "displayName":"'"$ORG_DISPLAY_NAME"'",
        "description":"'"$ORGANIZATION_DESCRIPTION"'",
        "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 dell'organizzazione dovrebbe rispondere 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 delloperazione a lunga esecuzione il cui ID Apigee è stato restituito nella richiesta di creazione iniziale. 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",
        "displayName": "display_name",
        "description": "description",
        "createdAt": "1600817805771",
        "lastModifiedAt": "1600817805771",
        "properties": {
          "property": [
            {
              "name": "features.hybrid.enabled",
              "value": "true"
            },
            {
              "name": "features.mart.connect.enabled",
              "value": "true"
            }
          ]
        },
        "analyticsRegion": "us-central1",
        "runtimeType": "HYBRID",
        "subscriptionType": "TRIAL"
      }
    }

    Se non hai inserito una descrizione, questo campo non viene visualizzato nella risposta.

Visualizzare i dettagli dell'organizzazione

Puoi visualizzare i dettagli dei metadati dell'organizzazione che hai creato utilizzando un'API Apigee. Puoi anche utilizzare un'API per elencare tutte le organizzazioni a cui ha accesso il tuo account Google Cloud. Per eseguire queste azioni, utilizza l'API organizations.

Prima di provare le API, aggiorna il token di autorizzazione:

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

Visualizzare i dettagli dell'organizzazione

Per visualizzare i dettagli di una singola organizzazione:

Invia una richiesta GET (senza corpo) al seguente endpoint dell'API Get Organizations:

https://apigee.googleapis.com/v1/organizations/org_name

Il seguente esempio recupera i dettagli dell'organizzazione hybrid-example:

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

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

L'esempio seguente mostra una risposta con i dettagli dell'organizzazione hybrid-example:

{
  "name": "organizations/org_name/operations/long_running_operation_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
    "operationType": "INSERT",
    "targetResourceName": "org_name",
    "state": "FINISHED"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.apigee.v1.Organization",
    "name": "org_name",
    "displayName": "display_name",
    "description": "description",
    "createdAt": "1600817805771",
    "lastModifiedAt": "1600817805771",
    "properties": {
      "property": [
        {
          "name": "features.hybrid.enabled",
          "value": "true"
        },
        {
          "name": "features.mart.connect.enabled",
          "value": "true"
        }
      ]
    },
    "analyticsRegion": "us-central1",
    "runtimeType": "HYBRID",
    "subscriptionType": "TRIAL"
  }
}

Elenco organizzazioni

Per visualizzare un elenco di tutte le organizzazioni a cui ha accesso il tuo account Google Cloud:

Invia una richiesta GET (senza corpo) al seguente endpoint dell'API List organizations:

https://apigee.googleapis.com/v1/organizations

Ad esempio:

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

La risposta alla richiesta contiene un array di tutte le organizzazioni abilitate all'utilizzo dell'ibrido a cui hai accesso, in formato JSON.

L'esempio seguente mostra una risposta con una singola organizzazione, hybrid-example:

{
  "organizations": [
    {
      "organization": "hybrid-example",
      "projectIds": [
        "hybrid-example"
      ]
    }
  ]
}

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"
      }
    ]
  }
}

L'esempio seguente mostra una risposta a un errore comune: l'ID organizzazione contiene caratteri illegali (i caratteri maiuscoli non sono consentiti negli ID organizzazione):

{
  "error": {
    "code": 400,
    "message": "invalid Organization ID \"MY-ORG\": \"MY-ORG\" is an invalid Organization ID",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "",
        "detail": "[ORIGINAL ERROR] generic::invalid_argument: invalid Organization ID \"MY-ORG\":
          \"My-ORG\" is an invalid Organization ID [google.rpc.error_details_ext]
          { message: \"invalid Organization ID \\\"MY-ORG\\\": \\\"MY-ORG\\\" is an invalid
          Organization ID\" }"
      }
    ]
  }
}

In questo caso, puoi rinominare l'organizzazione con lettere minuscole e inviare nuovamente la richiesta.

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.
1 2 3 4 (AVANTI) Passaggio 5: crea un gruppo di ambienti