In diesem Schritt erstellen Sie eine Apigee-Organisation.
So erstellen Sie eine neue Organisation und stellen sie bereit:
-
Rufen Sie in der Befehlszeile die Anmeldedaten der
gcloud
-Authentifizierung mit dem folgenden Befehl ab:Linux / MacOS
export 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.
Windows
for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a
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.
-
In Schritt 1 haben Sie die Umgebungsvariable
PROJECT_ID
erstellt. Fügen Sie die folgenden Umgebungsvariablen hinzu. Wählen Sie den Tab aus, der dem Typ der gewünschten Organisation entspricht: Kein Datenstandort oder Datenstandort:Kein Datenstandort
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
Dabei gilt:
ORG_NAME
(erforderlich): Dieser Wert muss mitPROJECT_ID
übereinstimmen.ANALYTICS_REGION
(erforderlich): Die primäre Region für den Analysedatenspeicher. Eine Liste der verfügbaren Apigee API Analytics-Regionen finden Sie unter Apigee-Standorte.-
RUNTIMETYPE
(erforderlich): Muss aufHYBRID
gesetzt sein.
Datenstandort
Linux / 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"
Dabei gilt:
ORG_NAME
: Dieser Wert muss entsprechen denPROJECT_ID
.ANALYTICS_REGION
: Die primäre Region für den Analysedatenspeicher. Eine Liste der verfügbaren Apigee API Analytics-Regionen finden Sie unter Apigee-Standorte.RUNTIMETYPE
: Muss aufHYBRID
festgelegt werden.CONTROL_PLANE_LOCATION
: Der Speicherort, an dem wichtige Kundeninhalte wie Proxy-Bundles gespeichert werden. Eine Liste finden Sie unter Verfügbare Regionen der Apigee API-Steuerungsebene.CONSUMER_DATA_REGION
: Eine Subregion der Region der Steuerungsebene. Sie müssen sowohl das AttributCONTROL_PLANE_LOCATION
undCONSUMER_DATA_REGION
. Eine Liste der verfügbaren Regionen für Nutzerdaten finden Sie unter Apigee-Standorte.BILLING_TYPE
: Muss auf"SUBSCRIPTION"
festgelegt werden. Dies ist der Abrechnungstyp für Ihre Apigee Hybrid-Organisation. Weitere Informationen findest du unter Aboberechtigungen.
Beispiel:
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"
- Rufen Sie zum Erstellen der Organisation die folgende Apigee API auf:
Kein Datenstandort
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"
Datenstandort
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"
Bei einer erfolgreichen Erstellungsanfrage antwortet die Organizations API mit einer Nachricht wie dieser:
{ "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 daherIN_PROGRESS
. Dieser Vorgang kann einige Minuten dauern.Wenn Sie eine Fehlermeldung erhalten, lesen Sie die Informationen unter Fehlerbehebung beim Erstellen von Organisationen.
- 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
- Sie können den Status des lang andauernden Vorgangs prüfen, dessen ID von der Erstellungsanfrage zurückgegeben wurde. Verwenden Sie dazu die Operations API. Beispielsweise:
Kein Datenstandort
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", "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": {} } } }
Datenstandort
curl -H "Authorization: Bearer $TOKEN" \ "https://$CONTROL_PLANE_LOCATION-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", "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": {} } } }
- Mit der Apigee Organizations API können Sie Informationen zu einer Organisation abrufen, nachdem sie erstellt wurde.
Beispiel:
Kein Datenstandort
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
Die Antwort auf Ihre Anfrage enthält Details zur angegebenen Organisation im JSON-Format.
{ "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": {} } }
Datenstandort
curl -H "Authorization: Bearer $TOKEN" \ "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME"
Die Antwort auf Ihre Anfrage enthält Details zur angegebenen Organisation im JSON-Format.
{ "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": {} } }
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" } ] } }
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. |
400 |
'global' violates constraint in constraints/gcp.resourceLocations
on the resource projects/PROJECT_ID, Control Plane Region |
Sie haben versucht, eine Organisation zu erstellen, die möglicherweise nicht berechtigt ist, ein kostenpflichtiges Abo zu nutzen. Apigee Hybrid-Organisationen vom Typ EVAL unterstützen den Datenstandort nicht. |
400 |
runtimeType HYBRID is not supported for PAYG_V2, use CLOUD instead: invalid argument |
Sie haben versucht, eine Organisation in einem Projekt mit einer Berechtigung für die Abrechnung nach Nutzung zu erstellen. Wenden Sie sich bei Fragen zu Berechtigungen für Organisationen an Ihren Google Cloud-Kundenbetreuer. |
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. |
403 |
Permission denied on resource project organizations/PROJECT_ID/deployedIngressConfig |
Sie haben versucht, eine Organisation zu erstellen, die aber nicht die richtigen Berechtigungen hat. Wenden Sie sich bei Fragen zu Berechtigungen für Organisationen an Ihren Google Cloud-Kundenbetreuer. |
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. |
Nächster Schritt
Gehen Sie zu Schritt 3: Umgebungsgruppe erstellen.