Passaggio 2: crea un'organizzazione

In questo passaggio, creerai un Organizzazione Apigee.

Per creare una nuova organizzazione e eseguirne il provisioning:

  1. Nella riga di comando, recupera le credenziali di autenticazione gcloud utilizzando il seguente comando:

    Linux e MacOS

    export 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.

    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. Nel passaggio 1, hai creato la variabile di ambiente PROJECT_ID. Aggiungi le seguenti variabili di ambiente. Seleziona la scheda corrispondente al tipo di organizzazione di cui hai bisogno: Nessuna residenza dei dati o Residenza dei dati:

    Nessuna residenza dei dati

    Linux/MacOS

    export ORG_NAME=$PROJECT_ID
    export ANALYTICS_REGION="ANALYTICS_REGION"
    export RUNTIMETYPE=HYBRID

    Windows

    set ORG_NAME=$PROJECT_ID
    set ANALYTICS_REGION="ANALYTICS_REGION"
    set RUNTIMETYPE=HYBRID

    Dove:

    • ORG_NAME (obbligatorio): questo valore deve corrispondere a PROJECT_ID.
    • ANALYTICS_REGION (obbligatorio): la regione principale per lo spazio di archiviazione dei dati di analisi. Per un elenco delle regioni di Apigee API Analytics disponibili, consulta Sedi Apigee.
    • RUNTIMETYPE (obbligatorio): deve essere impostato su HYBRID.

    Residenza dei dati

    Linux e MacOS

    export ORG_NAME=$PROJECT_ID
    export ANALYTICS_REGION="ANALYTICS_REGION"
    export RUNTIMETYPE=HYBRID
    export CONTROL_PLANE_LOCATION="YOUR_CONTROL_PLANE_LOCATION"
    export CONSUMER_DATA_REGION="YOUR_CONSUMER_DATA_REGION"
    export BILLING_TYPE="SUBSCRIPTION"

    Windows

    set ORG_NAME=$PROJECT_ID
    set ANALYTICS_REGION="ANALYTICS_REGION"
    set RUNTIMETYPE=HYBRID
    set CONTROL_PLANE_LOCATION="YOUR_CONTROL_PLANE_LOCATION"
    set CONSUMER_DATA_REGION="YOUR_CONSUMER_DATA_REGION"
    set BILLING_TYPE="SUBSCRIPTION"

    Dove:

    • ORG_NAME: questo valore deve corrispondere a PROJECT_ID.
    • ANALYTICS_REGION: la regione principale per e analisi dei dati. Per un elenco delle regioni disponibili per l'analisi dell'API Apigee, consulta Località Apigee.
    • RUNTIMETYPE: deve essere impostato su HYBRID.
    • CONTROL_PLANE_LOCATION: la posizione in cui sono archiviati i contenuti principali dei clienti, ad esempio i bundle proxy. Per un elenco, consulta Regioni del piano di controllo dell'API Apigee disponibili.
    • CONSUMER_DATA_REGION: una sottoregione della regione del piano di controllo. Devi specificare sia CONTROL_PLANE_LOCATION che CONSUMER_DATA_REGION. Per un elenco delle regioni di dati dei consumatori disponibili, consulta Località Apigee.
    • BILLING_TYPE: deve essere impostato su "SUBSCRIPTION". Questo è il tipo di fatturazione per la tua organizzazione Apigee ibrida. Per maggiori informazioni, consulta la pagina Diritti di abbonamento.

    Ad esempio:

    export ORG_NAME=$PROJECT_ID
    export ANALYTICS_REGION="us-west1"
    export RUNTIMETYPE=HYBRID
    export CONSUMER_DATA_REGION="us-west1"
    export CONTROL_PLANE_LOCATION="us"
    export BILLING_TYPE="SUBSCRIPTION"
    
  3. Chiama la seguente API Apigee per creare l'organizzazione:

    Nessuna residenza dei dati

    curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \
      -d '{
        "name":"'"$ORG_NAME"'",
        "runtimeType":"'"$RUNTIMETYPE"'",
        "analyticsRegion":"'"$ANALYTICS_REGION"'"
      }' \
      "https://apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"

    Residenza dei dati

    curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \
      -d '{
        "name":"'"$ORG_NAME"'",
        "billingType":"'"$BILLING_TYPE"'",
        "runtimeType":"'"$RUNTIMETYPE"'",
        "apiConsumerDataLocation":"'"$CONSUMER_DATA_REGION"'",
        "analyticsRegion":"'"$ANALYTICS_REGION"'"
      }' \
      "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"

    In caso di richiesta di creazione andata a buon fine, l'API Organizations risponde 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 della tua organizzazione (descritto 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, vedi Risolvere i 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 dell'operazione a lungo termine il cui ID è stato restituito dalla richiesta di creazione. A tale scopo, utilizza l'API Operations. Ad esempio:

    Nessuna residenza dei dati

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

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

    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",
        "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": {}
        }
      }
    }

    Residenza dei dati

    curl -H "Authorization: Bearer $TOKEN" \
      "https://$CONTROL_PLANE_LOCATION-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"
      }
    }

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

    COMPLETATO

    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",
        "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": "SUBSCRIPTION",
        "apiConsumerDataLocation": "CONSUMER_DATA_REGION",
        "expiresAt": "1631421073171",
        "addonsConfig": {
          "advancedApiOpsConfig": {},
          "integrationConfig": {},
          "monetizationConfig": {}
        }
      }
    }
  6. Puoi utilizzare l'API Apigee Organizations per recuperare informazioni su un'organizzazione dopo la sua creazione.

    Ad esempio:

    Nessuna residenza dei dati

    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.

    {
      "name": "apigee-example",
      "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": "PAID",
      "projectId": "apigee-example",
      "state": "ACTIVE",
      "billingType": "SUBSCRIPTION",
      "expiresAt": "1631421073171",
      "addonsConfig": {
        "advancedApiOpsConfig": {},
        "integrationConfig": {},
        "monetizationConfig": {}
      }
    }

    Residenza dei dati

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

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

    {
      "name": "apigee-example",
      "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": "PAID",
      "projectId": "apigee-example",
      "state": "ACTIVE",
      "billingType": "SUBSCRIPTION",
      "expiresAt": "1631421073171",
      "addonsConfig": {
        "advancedApiOpsConfig": {},
        "integrationConfig": {},
        "monetizationConfig": {}
      }
    }

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

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 fino a 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 è ancora stato abilitato per il funzionamento ibrido. 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 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 solo creare 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 di nuovo con un nuovo ID organizzazione proposto; Ad esempio, aggiungi un valore numerico alla fine all'ID precedente che hai provato.

Passaggio successivo

Vai al passaggio 3: Crea un gruppo di ambienti.