Schritt 4: Organisation erstellen

Sie haben ein Google Cloud-Konto und ein Projekt erstellt und die APIs aktiviert. Jetzt können Sie Ihre Organisation erstellen.

Voraussetzung

Um eine Organisation zu erstellen, müssen Sie eine der folgenden Bedingungen erfüllen:

  • Haben Sie ein Kennenlernkonto? Kennenlernkonten laufen nach 60 Tagen ab. Die Organisation wird dann gelöscht.
  • Ein kostenpflichtiges Konto haben.

Wenn keiner dieser Punkte zutrifft, müssen Sie sich an Apigee Sales wenden, bevor Sie fortfahren können.

Erforderliche Berechtigungen

Der Ersteller der Organisation muss mindestens die Rolle Apigee-Organisationsadministrator haben. Als Projektinhaber haben Sie automatisch die Berechtigung, eine Organisation zu erstellen. Wenn Sie die Organisationserstellung an einen Nicht-Projektinhaber delegieren, muss diesem Nutzer in Ihrem Projekt jedoch die Rolle "Apigee-Organisationsadministrator" zugewiesen sein. Informationen zum Gewähren von Rollen finden Sie unter Zugriff auf Ressourcen erteilen, ändern und entziehen.

So erstellen Sie eine neue Organisation und stellen sie bereit:

  1. Rufen Sie in der Befehlszeile Ihre gcloud-Authentifizierungsdaten ab, wie im folgenden Beispiel gezeigt:

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

    Um zu prüfen, ob Ihr Token ausgefüllt wurde, verwenden Sie echo wie im folgenden Beispiel:

    echo $TOKEN

    Das Token sollte als codierter String angezeigt werden.

    Weitere Informationen finden sich in der Übersicht über das gcloud-Befehlszeilentool.

  2. Erstellen Sie die folgenden Umgebungsvariablen für die Elemente der Organisation. Sie benötigen sie im Befehl, um die Organisation zu erstellen.
    • PROJECT_ID (erforderlich) ist das Google Cloud-Projekt, das an die neue hybride Organisation gebunden werden soll. Dies ist die ID, die Google in Schritt 2: Google Cloud-Projekt erstellen für Sie erstellt hat.
      export PROJECT_ID=your_project_id

      Name der Projekt-ID mit Punkt

    • ORG_NAME (Erforderlich) ist die programmatische ID, die Sie für Ihre Hybrid-fähige Organisation wünschen.
      export ORG_NAME=$PROJECT_ID
    • ORG_DISPLAY_NAME (Optional) ist der nutzerfreundliche Name für Ihre Organisation. Dieser Wert muss nicht eindeutig sein und kann Leerzeichen und Sonderzeichen enthalten. Beispiel: "Meine Hybridorganisation".
      ORG_DISPLAY_NAME="friendly_name"

      Inhalte von Variablennamen, die Leerzeichen enthalten, müssen in doppelte Anführungszeichen gesetzt werden. Beispiel: "Meine Organisation"

    • ORGANIZATION_DESCRIPTION (Optional) sind Informationen zur Organisation, die Sie als Erinnerung an ihren Zweck verwenden möchten. Beispiel: "My first organization".
      ORGANIZATION_DESCRIPTION="description_text"
    • ANALYTICS_REGION (Erforderlich) ist die primäre Region zum Speichern von Analysedaten.
      export ANALYTICS_REGION=analytics_region

      Dabei kann analytics_region für folgendes stehen:

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

      Wählen Sie eine Region aus, die geografisch in der Nähe liegt oder eine der Speicheranforderungen Ihres Unternehmens erfüllt.

    • RUNTIMETYPE (Erforderlich) ist der Laufzeittyp der Apigee-Organisation, wobei HYBRID die vom Nutzer verwaltete Apigee-Hybridlaufzeit ist.
      export RUNTIMETYPE=HYBRID
  3. Senden Sie eine authentifizierte POST-Anfrage an die Create Organisations API.

    Das folgende Beispiel zeigt die Anfragestruktur, die eine Organisation erstellt:

    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"

    Bei einer erfolgreichen Erstellungsanfrage sollte die Organizations API mit einer Nachricht wie dieser antworten:

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

    Dabei gilt:

    • long_running_operation_ID ist die UUID eines asynchronen Vorgangs mit langer Ausführungszeit. Mit dieser ID können Sie den Status Ihrer Anfrage zum Erstellen einer Organisation prüfen (siehe Schritt 5).
    • org_name ist die ID der neuen Organisation, die aktuell erstellt wird.

    Da das Attribut state in der Antwort angibt, hat Apigee mit dem Erstellen der neuen Organisation begonnen. Der Status lautet daher IN_PROGRESS. Dieser Vorgang kann einige Minuten dauern.

    Wenn Sie eine Fehlermeldung erhalten, lesen Sie die Informationen unter Fehlerbehebung beim Erstellen von Organisationen.

  4. Speichern Sie die ID des lang andauernde Vorgangs in einer Umgebungsvariablen. Das wird bei zukünftigen Verwaltungsaufgaben hilfreich sein.

    Syntax

    export LONG_RUNNING_OPERATION_ID=long_running_operation_ID

    Beispiel

    export LONG_RUNNING_OPERATION_ID=6abc8a72-46de-f9da-bcfe-70d9ab347e4f
  5. Sie können den Status des lang andauernden Vorgangs prüfen, dessen ID Apigee bei Ihrer ersten Erstellungsanfrage zurückgegeben hat. Verwenden Sie dazu die Operations API. Beispiel:
    curl -H "Authorization: Bearer $TOKEN" \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/operations/$LONG_RUNNING_OPERATION_ID"

    Folgende Beispiele zeigen mögliche Antworten auf diese Anfrage:

    IN_PROGRESS

    Wenn Apigee noch die Organisation erstellt, antwortet Apigee mit dem Status IN_PROGRESS. Beispiel:

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

    Warten Sie noch etwas länger, bevor Sie prüfen, ob der Erstellungsvorgang abgeschlossen ist.

    FINISHED

    Wenn die Organisation bereitgestellt wurde, lautet der Status des lang andauernden Vorgangs FINISHED. Beispiel:

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

    Wenn Sie keine Beschreibung eingegeben haben, erscheint dieses Feld nicht in der Antwort.

Informationen zur Organisation aufrufen

Sie können die Metadatendetails für die Organisation abrufen, die Sie mit einer Apigee API erstellt haben. Außerdem haben Sie die Möglichkeit, mit einer API alle Organisationen aufzulisten, auf die Ihr Google Cloud-Konto Zugriff hat. Zum Ausführen dieser Aktionen die verwenden Sie die Organizations API.

Aktualisieren Sie vor der Nutzung der APIs Ihr Autorisierungstoken:

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

Details zur Organisation abrufen

So rufen Sie Details zu einer einzelnen Organisation ab:

Senden Sie eine GET-Anfrage (ohne Text) an den folgenden Get Organizations API-Endpunkt:

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

Das folgende Beispiel ruft Details zur Organisation hybrid-example ab:

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

Die Antwort auf Ihre Anfrage enthält Details zur angegebenen Organisation im JSON-Format.

Das folgende Beispiel zeigt eine Antwort mit Details zur Organisation 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"
  }
}

Organisationen auflisten

So rufen Sie eine Liste aller Organisationen ab, auf die Ihr Google Cloud-Konto Zugriff hat:

Senden Sie eine GET-Anfrage (ohne Text) an den folgenden Endpunkt der List Organizations API:

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

Beispiel:

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

Die Antwort auf Ihre Anfrage enthält ein Array aller Hybridorganisationen, auf die Sie Zugriff haben, im JSON-Format.

Das folgende Beispiel zeigt eine Antwort mit einer einzelnen Organisation hybrid-example:

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

Fehlerbehebung beim Erstellen einer Organisation

Wenn Sie eine Organisation mit der Create Organisations API erstellen, erhalten Sie möglicherweise eine Fehlermeldung. Antworten sehen so aus:

{
  "error": {
    "code": HTTP_error_code,
    "message": "short_error_message",
    "status": "high_level_error_type",
    "details": [
      {
        "@type": "specific_error_type",
        "detail": "expanded_error_description"
      }
    ]
  }
}

Das folgende Beispiel zeigt eine Antwort auf einen häufigen Fehler. Die Organisations-ID enthält unzulässige Zeichen (Großbuchstaben sind in Organisations-IDs nicht zulässig):

{
  "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 diesem Fall können Sie die Benennung der Organisation in Kleinbuchstaben ändern und Ihre Anfrage noch einmal senden.

In folgender Tabelle sind Fehler aufgeführt, die beim Erstellen einer neuen Organisation auftreten können, sowie mögliche Lösungswege:

HTTP-Fehlercode HTTP-Fehler Beschreibung
400 Invalid JSON payload received Entweder ist die Struktur der Daten in Ihrer Anfrage ein Syntaxfehler oder der Pfad zum Endpunkt ist falsch.
400 Invalid organization ID Die von Ihnen angeforderte Organisations-ID darf keine Großbuchstaben und keine Sonderzeichen (außer Bindestrichen) enthalten. Sie darf nur Kleinbuchstaben, Ziffern und/oder Bindestriche enthalten. Sie darf höchstens 32 Zeichen umfassen.
400 Unsupported analytics region Entweder haben Sie den Wert der analyticsRegion im Anfragetext nicht angegeben oder der von Ihnen angegebene Wert ist keine der gültigen Optionen.
400 Does not have an Apigee entitlement Ihr Google Cloud-Projekt, das Sie in Schritt 2: Google Cloud-Projekt erstellen erstellt haben, ist noch nicht hybrid. Dies könnte auf ein Problem mit der Abrechnung oder auf einen anderen Fehler im Zusammenhang mit Ihrem Google Cloud-Konto hindeuten. Weitere Informationen erhalten Sie von Apigee Sales.
401 Request had invalid authentication credentials Das Authentifizierungstoken gcloud ist entweder fehlerhaft oder veraltet oder Sie haben es nicht in die Anfrage aufgenommen. Generieren Sie ein neues Token und senden Sie die Adresse noch einmal.
403 Permission denied on resource project project_ID Möglicherweise haben Sie eine Anfrage mit einer falschen Projekt-ID oder einem falschen Pfad gesendet.
403 Unable to retrieve project information Die Organisation wurde noch nicht erstellt oder bereitgestellt. Sie können eine Anfrage an die Operations API senden, um den Status des lang andauernden Vorgangs zu prüfen, wie in Schritt 5 beschrieben.
409 Organization already exists Sie haben versucht, mehr als eine Organisation für das Google Cloud-Projekt zu erstellen. Sie können nur eine Organisation pro Projekt erstellen.
409 Org proposed_org_name already exists Sie haben versucht, eine Organisation mit einer ID zu erstellen, die bereits vorhanden ist. Organisations-IDs müssen für alle Hybrid-Kunden einmalig sein. Senden Sie die Anfrage nochmals, diesmal mit einer neuen Organisations-ID. Hängen Sie beispielsweise einen numerischen Wert an das Ende der zuvor genutzten ID an.
1 2 3 4 (WEITER) Schritt 5: DNS konfigurieren 6