Passaggio 4: creazione di un'organizzazione

Hai creato un account e un progetto Google Cloud e hai abilitato le API. Ora puoi creare dell'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 l'eliminazione.
  • 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 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 mostrato nell'esempio seguente:

    echo $TOKEN

    Il token dovrebbe essere visualizzato come stringa codificata.

    Per ulteriori informazioni, vedi Panoramica dello strumento a riga di comando gcloud.

  2. Invia una richiesta POST autenticata all'API Create organizations.

    L'esempio seguente mostra la struttura di richieste che crea un'organizzazione:

    curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \
      -d '{
        "name":"org_name",
        "displayName":"display_name",
        "description":"organization_description",
        "runtimeType":"runtime_type",
        "analyticsRegion":"analytics_region"
      }' \
      "https://apigee.googleapis.com/v1/organizations?parent=projects/project_ID"

    Dove:

    • (Obbligatorio) org_name è l'ID programmatico che vuoi per la tua organizzazione abilitata all'uso ibrido. L'ID organizzazione deve corrispondere a quello di Google Cloud l'ID progetto che hai creato nel Passaggio 2: crea un progetto Google Cloud. Ad esempio: hybrid-42.
    • (Obbligatorio) runtime_type è il tipo di runtime dell'organizzazione Apigee, dove HYBRID è il runtime ibrido Apigee gestito dall'utente.
    • (Obbligatorio) analytics_region è la regione principale per l'archiviazione dei dati di analisi. Scegli una delle opzioni seguenti:
      asia-northeast1 australia-southeast1 us-west1
      us-central1 us-east1 europe-west1
      europe-west2

      Forniamo questa opzione in modo che tu possa scegliere una regione geograficamente vicina o se la tua organizzazione ha altri requisiti di archiviazione.

    • (Obbligatorio) project_ID è il progetto Google Cloud che vuoi associare alla tua nuova organizzazione abilitata all'ibrido. Questo è l'ID che Google ha generato per te nel Passaggio 2: crea un progetto Google Cloud.
    • (Facoltativo) display_name è il nome semplice del tuo dell'organizzazione. Questo valore non deve essere univoco e può includere spazi e spazi caratteri. Ad esempio, "La mia organizzazione ibrida".
    • (Facoltativo) organization_description sono informazioni su organizzazione che vuoi utilizzare per ricordarne lo scopo. Ad esempio, "La mia prima organizzazione".

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

    {
      "name": "organizations/organization_ID/operations/long_running_operation_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
        "operationType": "INSERT",
        "targetResourceName": "organizations/organization_ID",
        "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 della tua organizzazione (descritto più avanti).
    • organization_ID è 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, vedi Risolvere i problemi relativi alla creazione dell'organizzazione.

  3. Puoi controllare lo stato dell'operazione di lunga durata il cui ID Apigee è stato restituito nella richiesta di creazione iniziale. Per farlo, utilizza l'API Operations, come mostrato nell'esempio seguente:
    curl -H "Authorization: Bearer $TOKEN" \
      "https://apigee.googleapis.com/v1/organizations/organization_ID/operations/long_running_operation_ID"

    I seguenti esempi mostrano le possibili risposte a questa richiesta:

    COMPLETATO

    Una volta eseguito il provisioning dell'organizzazione, lo stato dell'operazione a lunga esecuzione viene FINISHED, come mostrato nell'esempio seguente:

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

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

    Complimenti! Hai creato una nuova organizzazione ed è pronta per essere utilizzata. Tu puoi continuare con il Passaggio 5: aggiungi un ambiente.

    IN_PROGRESS

    Se Apigee sta ancora creando l'organizzazione, risponde con lo stato IN_PROGRESS, come mostrato nell'esempio seguente:

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

    Dovresti attendere ancora un po' prima di tentare di verificare che il processo di creazione l'operazione.

Risoluzione dei problemi relativi alla creazione dell'organizzazione

Quando crei un'organizzazione con l'API per la creazione di organizzazioni, potresti visualizzare un errore risposta. 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": "type.googleapis.com/google.rpc.DebugInfo",
        "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 risoluzioni 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 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 un massimo di 32 caratteri.
400 Unsupported analytics region Non hai specificato il valore di analyticsRegion nel corpo della richiesta o 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 è stato ancora abilitato per l'utilizzo in modalità ibrida. Ciò potrebbe indicare un problema di fatturazione o qualche altro errore correlati 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 non è valido o non è aggiornato 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 che conteneva un ID progetto o un percorso non corretti.
403 Unable to retrieve project information L'organizzazione non è ancora stata creata o non è stato ancora eseguito il provisioning. Puoi inviare una richiesta a l'API Operations per controllare lo stato dell'operazione a lunga esecuzione, come descritto nella procedura descritta sopra.
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_organization_ID already exists Hai provato a creare un'organizzazione che ha lo stesso ID di un'organizzazione che ha già esiste già. 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.

Recuperare informazioni sull'organizzazione

Puoi ottenere un elenco di tutte le organizzazioni a cui ha accesso il tuo account oppure puoi ottenere dettagli su un'organizzazione specifica tramite il relativo ID. Per eseguire queste azioni, utilizza l'API organizations.

Elenco organizzazioni

Per ottenere un elenco di tutte le organizzazioni:

Invia una richiesta GET (senza corpo) alla seguente API List Organization endpoint:

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 ibride che a cui hai accesso, in formato JSON.

L'esempio seguente mostra una risposta con una singola organizzazione, "my-org-42":

{
  "organizations": [
    {
      "organization": "my-org-42",
      "projectIds": [
        "my-project"
      ]
    }
  ]
}

Scopri i dettagli

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/organization_ID

L'esempio seguente fornisce i dettagli sull'evento "my-org-42" organizzazione:

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

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

L'esempio seguente mostra una risposta con i dettagli dell'evento "my-org-42" organizzazione:

{
  "name": "my-org-42",
  "createdAt": "1572550611",
  "lastModifiedAt": "1572550611",
  "environments": [
    "my-environment"
  ],
  "analyticsRegion": "us-east1"
}
1 2 3 4 (SUCCESSIVO) Passaggio 5: aggiungere un ambiente