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.

Autorizzazioni obbligatorie

L'autore dell'organizzazione deve avere almeno il ruolo Amministratore organizzazione Apigee. Se sei il proprietario del progetto, hai automaticamente l'autorizzazione per creare un'organizzazione. Tuttavia, se deleghi la creazione dell'organizzazione a un proprietario non proprietario del progetto, a quell'utente deve essere concesso il ruolo Amministratore organizzazione Apigee nel tuo progetto. Per informazioni sulla concessione dei ruoli, vedi Concessione, modifica e revoca dell'accesso alle risorse.

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: configura il DNS