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 Google Cloud. Per impostazione predefinita, un account Google Cloud ti consente di creare di valutazione dell'organizzazione Apigee. Le organizzazioni di valutazione scadono dopo 60 giorni. A quel punto, l'organizzazione verranno eliminati.
  • Avere un account Google Cloud e un abbonamento Apigee a pagamento abilitati all'interno di Google Cloud Progetto e account di fatturazione. Un abbonamento a pagamento ti consente di creare Apigee completamente scalabili e scalabili implementazioni. Contatta il team di vendita Apigee per acquistare un account a pagamento e ottenere l'abbonamento. in un bucket con il controllo delle versioni attivo.

Per creare una nuova organizzazione ed eseguirne il provisioning:

  1. Nella riga di comando, ottieni la tua autenticazione gcloud le credenziali utilizzando il comando seguente:

    Linux e MacOS

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

    Per verificare che il token sia stato compilato, usa echo come 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 compilato, usa echo come nell'esempio seguente:

    echo %TOKEN%

    Il token dovrebbe essere visualizzato come stringa codificata.

  2. Assicurati di aver definito le variabili di ambiente necessarie con i seguenti comandi:
    echo ${PROJECT_ID}
    echo ${ORG_NAME}
    echo ${ORG_DISPLAY_NAME}
    echo ${ORGANIZATION_DESCRIPTION}
    echo ${ANALYTICS_REGION}
    echo ${RUNTIMETYPE}

    Se necessario, crea o ridefinisci le seguenti variabili di ambiente per gli elementi del dell'organizzazione. Le utilizzerai nel comando per creare l'organizzazione.

    • PROJECT_ID (Obbligatorio) è il progetto Google Cloud che ti interessa associato alla nuova organizzazione con abilitazione 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 ID progetto con punto finale

    • ORG_NAME (Obbligatorio) è l'ID pubblicità programmatica per la tua organizzazione con abilitazione ibrida.
      export ORG_NAME=$PROJECT_ID
    • ORG_DISPLAY_NAME (Facoltativo) è il nome semplice per il tuo dell'organizzazione. Questo valore non deve essere univoco e può includere spazi e spazi speciali caratteri. Ad esempio, "La mia organizzazione ibrida".
      ORG_DISPLAY_NAME="friendly_name"

      I contenuti del nome della variabile che contengono spazi devono essere racchiusi tra virgolette doppie. Ad esempio: "La mia organizzazione".

    • ORGANIZATION_DESCRIPTION (Facoltativo) contiene informazioni su organizzazione che vuoi utilizzare per ricordarne lo scopo. Ad esempio, "La mia prima organizzazione".
      ORGANIZATION_DESCRIPTION="description_text"
    • ANALYTICS_REGION (Obbligatorio) è la regione principale per e analisi dei dati.
      export ANALYTICS_REGION=analytics_region

      Dove analytics_region è uno dei seguenti:

      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 soddisfi i requisiti di archiviazione della tua organizzazione.

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

    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":"'"$ORG_DISPLAY_NAME"'",
        "description":"'"$ORGANIZATION_DESCRIPTION"'",
        "runtimeType":"'"$RUNTIMETYPE"'",
        "analyticsRegion":"'"$ANALYTICS_REGION"'"
      }' \
      "https://apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"

    A una richiesta di creazione riuscita, l'API delle organizzazioni deve rispondere con un messaggio simile a:

    {
      "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 modello asincrono a lunga esecuzione operativa. Puoi utilizzare questo ID per controllare lo stato della richiesta di creazione della tua organizzazione (descritto nel passaggio 5).
    • org_name è l'ID della tua nuova organizzazione attualmente durante la creazione.

    Come indica la proprietà state nella risposta, Apigee ha iniziato a creare la nuova organizzazione, 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.

  4. Salva l'ID operazione a lunga esecuzione in una variabile di ambiente. Ti 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 Apigee ha restituito 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 le possibili risposte a questa richiesta:

    IN_PROGRESS

    Se Apigee sta ancora creando l'organizzazione, Apigee 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"
      }
    }
    

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

    TERMINATA

    Una volta eseguito il provisioning dell'organizzazione, lo stato dell'operazione a lunga esecuzione viene 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": "ORG_DISPLAY_NAME",
        "description": "ORGANIZATION_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": {}
        }
      }
    }
    

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

Visualizza i dettagli dell'organizzazione

Puoi visualizzare i dettagli dei metadati per l'organizzazione che hai creato 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 delle organizzazioni.

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

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

Ottieni dettagli dell'organizzazione

Per visualizzare i dettagli relativi a una singola organizzazione:

Invia una richiesta GET (senza corpo) alla seguente API per ottenere l'organizzazione endpoint:

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

L'esempio seguente fornisce i dettagli sull'organizzazione $ORG_NAME: In questo esempio il campo $ORG_NAME è impostato su "apigee-example".

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

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

L'esempio seguente mostra una risposta con i dettagli sull'organizzazione apigee-example:

{
  "name": "apigee-example",
  "displayName": "apigee-example-org",
  "description": "Apigee Example Org",
  "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": {}
  }
}

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) 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, apigee-example:

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

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 hanno questo 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 (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 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 tuo progetto Google Cloud (che hai creato nel Passaggio 2: crea un progetto Google Cloud) non è ancora ibrido in un bucket con il controllo delle versioni attivo. 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 tuo token di autenticazione gcloud non è valido oppure è obsoleto oppure non lo 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 sottoposta a provisioning. Puoi inviare una richiesta a l'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 solo creare un'organizzazione per progetto.
409 Org proposed_org_name 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 ibridi. Invia di nuovo con un nuovo ID organizzazione proposto; Ad esempio, aggiungi un valore numerico alla fine all'ID precedente che hai provato.
1 2 3 4 (SUCCESSIVO) Passaggio 5: crea un gruppo di ambienti