Passaggio 4: creazione di un'organizzazione

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

Prerequisiti

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

Se nessuna di queste condizioni è vera, devi contattare il team di vendita Apigee prima di poter continuare.

Per creare una nuova organizzazione ed eseguirne il provisioning:

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

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

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

    echo $TOKEN

    Il token dovrebbe essere visualizzato come stringa codificata.

    Per maggiori informazioni, consulta la panoramica dello strumento a riga di comando gcloud.

  2. Crea le seguenti variabili di ambiente per gli elementi dell'organizzazione. Le utilizzerai nel comando per creare l'organizzazione.
    • PROJECT_ID (Obbligatorio) è il progetto Google Cloud che vuoi associare alla nuova organizzazione ibrida. Questo è l'ID che Google ha generato per te nel Passaggio 2: crea un progetto Google Cloud.
      export PROJECT_ID=your_project_id

      Nome dell'ID progetto con punto finale

    • ORG_NAME (Obbligatorio) è l'ID pubblicità programmatica che vuoi per la tua organizzazione ibrida.
      export ORG_NAME=$PROJECT_ID
    • ORG_DISPLAY_NAME (Facoltativo) è il nome facile da usare per la tua organizzazione. Questo valore non deve essere necessariamente 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) contiene le 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 l'archiviazione dei dati di analisi.
      export ANALYTICS_REGION=analytics_region

      Dove analytics_region corrisponde a uno dei seguenti valori:

      asia-northeast1 asia-south1 australia-southeast1
      us-central1 us-east1 us-west1
      europe-west2 europe-west1

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

    • RUNTIMETYPE (Obbligatorio) è il tipo di runtime dell'organizzazione Apigee, dove HYBRID è il runtime ibrido Apigee gestito dall'utente.
      export RUNTIMETYPE=HYBRID
  3. Invia una richiesta POST autenticata all'API Create organizzazioni.

    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"

    Se la richiesta di creazione viene approvata, l'API Organization 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 (descritto nel passaggio 5).
    • org_name è l'ID della nuova organizzazione attualmente in fase di creazione.

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

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

  4. Salva l'ID operazione a lunga esecuzione in una variabile di ambiente. Sarà utile per 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 Apigee ha restituito nella tua richiesta di creazione iniziale. Per farlo, 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 è ancora in fase di creazione dell'organizzazione, Apigee risponde con uno stato di 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"
        }
      }

    Dovresti attendere un po' più a lungo prima di provare a verificare che il processo di creazione sia completo.

    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, il campo non verrà visualizzato nella risposta.

Visualizza i dettagli dell'organizzazione

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

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

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

Recupera i dettagli dell'organizzazione

Per visualizzare i dettagli di una singola organizzazione:

Invia una richiesta GET (senza corpo) al seguente endpoint Ottieni l'API Per le organizzazioni:

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

L'esempio seguente restituisce i dettagli sull'organizzazione hybrid-example:

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

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

L'esempio seguente mostra una risposta con dettagli sull'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 ottenere 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 Organization:

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

Ad esempio:

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

La risposta alla tua richiesta contiene un array di tutte le organizzazioni abilitate per l'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"
      ]
    }
  ]
}

Risolvere i problemi relativi alla creazione dell'organizzazione

Quando crei un'organizzazione con l'API Create organizzazioni, potresti ricevere una risposta di errore. Le risposte hanno il seguente aspetto:

{
  "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 non ammessi (non sono consentiti caratteri maiuscoli 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.

Nella tabella seguente sono elencati gli errori che potresti ricevere e le potenziali soluzioni quando provi a creare una nuova organizzazione:

Codice di errore HTTP Errore HTTP Descrizione
400 Invalid JSON payload received La struttura dei dati nella richiesta contiene un errore di sintassi oppure il percorso dell'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 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 è tra le opzioni valide.
400 Does not have an Apigee entitlement Il tuo progetto Google Cloud (che hai creato nel Passaggio 2: crea un progetto Google Cloud) non è ancora stato abilitato per l'ambiente ibrido. Questo potrebbe indicare un problema di fatturazione o altri errori relativi al tuo account Google Cloud. Per ulteriori informazioni, contatta il team di vendita 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 o un percorso progetto errati.
403 Unable to retrieve project information L'organizzazione non è ancora stata creata o non è stato eseguito il provisioning. Puoi inviare una richiesta all'API Operations per verificare 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 una sola organizzazione per progetto.
409 Org proposed_org_name already exists Hai provato a creare un'organizzazione che ha lo stesso ID di un'organizzazione già esistente. Gli ID organizzazione devono essere univoci per tutti i clienti ibridi. Invia di nuovo con un nuovo ID organizzazione proposto; ad esempio, aggiungi un valore numerico alla fine dell'ID precedente che hai provato.
1 2 3 4 (AVANTI) Passaggio 5: crea un gruppo di ambienti