Diese Seite gilt für Apigee und Apigee Hybrid.
Übersicht
Sie können sich ein Attribut als Metadaten für eine Ressource vorstellen. Bei einer API-Ressource kann die API beispielsweise ein Attribut namens Target Users
haben, das angibt, ob die API für die öffentliche, private oder interne Nutzung bestimmt ist. Es gibt viele weitere solcher Attribute.
Attribute sind auf folgende Weise nützlich:
- Sie können die Suchergebnisse nach Attributen filtern. Je mehr Attribute Sie haben, desto leichter können Sie die Suchergebnisse eingrenzen.
- Sie können benutzerdefinierte Attribute erstellen und API-Hub-Ressourcen zuordnen.
Im API-Hub wird ein Attribut im Schlüssel/Wert-Format gespeichert. Dabei ist der Schlüssel der Name des Attributs und der Wert der entsprechende Wert des Attributs. Der Wert kann in einem der folgenden Formate vorliegen:
- String
- Enum
- JSON
Die Attribute können zwei Typen haben:
- Systemattribute, die vom API-Hub vordefiniert sind.
- Von Ihnen definierte Nutzerattribute
Systemattribute
Systemattribute werden vom API-Hub für jeden Ressourcentyp vordefiniert. Die Liste dieser Attribute und ihre Wertdefinitionen können sich von Release zu Release des API-Hubs ändern. Beispiele für Systemattribute sind Lebenszyklusphase, API-Compliance, API-Akkreditierung und SLO. Diese Attribute können für eine Ressource obligatorisch oder optional sein. Wenn ein Attribut für eine Ressource obligatorisch ist, müssen Sie den Wert des Attributs beim Registrieren der Ressource festlegen.
Die Werte von Systemattributen vom Typ Enum
können unveränderlich oder änderbar sein.
- Unveränderlich: Sie können die vorhandenen Werte nicht ändern. Sie können jedoch dem Attribut neue änderbare Werte hinzufügen. Das Attribut
oas-version
hat beispielsweise die Werte 2.1, 3.0 und 3.1. Sie können diese Werte nicht aktualisieren, aber neue benutzerdefinierte Werte hinzufügen. - Veränderlich: Sie können vorhandene Werte hinzufügen, bearbeiten oder löschen. Beispielsweise kann das Attribut
lifecycle-stage
anfangs Werte wieDev
,Stage
,UAT
oderProd
haben. Sie können diese vorhandenen Werte bearbeiten und neue hinzufügen.
Systemattribute anzeigen
Console
Um sich alle Systemattribute anzusehen, rufen Sie in der Google Cloud Console die Seite API-Hub > Einstellungen auf. Auf dem Tab Systemattribute finden Sie alle vorhandenen Systemattribute.
REST API
Um alle Systemattribute einer Ressource anzuzeigen, senden Sie eine GET
-Anfrage an die folgende API:
https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes
Weitere Informationen zur API finden Sie unter ListAttributes.
Das folgende Beispiel zeigt den API-Aufruf zum Abrufen der Systemattribute für alle Ressourcen.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-type: application/json" \ -X GET \ https://apihub.googleapis.com/v1/projects/test-project-1/locations/us-central1/attributes?filter=definition_type=SYSTEM_DEFINED
Systemattribut vom Typ Enum bearbeiten
Für einen veränderbaren Wert können Sie die folgenden Vorgänge ausführen:
- Neuen Wert hinzufügen
- Vorhandenen Wert aktualisieren
- Vorhandenen Attributwert löschen
Die Beispiele in diesem Abschnitt zeigen, wie die zulässigen Werte eines Systemattributs des Typs "Enum" aktualisiert werden.
Console
So fügen Sie einen Wert für ein Systemattribut hinzu:
Rufen Sie in der Google Cloud Console die Seite API-Hub > Einstellungen auf.
Daraufhin werden alle vorhandenen Systemattribute im Bereich Systemattribute auf dem Tab Attribute angezeigt.
- Klicken Sie für das Attribut, dem Sie einen Wert hinzufügen möchten, auf Bearbeiten.
Daraufhin wird der Bearbeitungsbereich des Attributs geöffnet, in dem die vorhandenen Attributwerte angezeigt werden.
- Wenn Sie einen neuen Wert hinzufügen möchten, klicken Sie auf Element hinzufügen und geben Sie den gewünschten Wert ein.
- Klicken Sie auf Speichern.
REST API
Wenn Sie zulässige Werte eines systemdefinierten Attributs vom Typ „Enum“ aktualisieren möchten, senden Sie eine PATCH-Anfrage an die folgende API:
https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes/ATTRIBUTE
Weitere Informationen zur API finden Sie unter UpdateAttribute.
Das folgende Beispiel zeigt den API-Aufruf zum Aktualisieren der Werte des Attributs Business unit
.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{"allowed_values": [ { "id": "bu1", "display_name": "Business unit 1", "description": "The API can be used by business unit 1" }, { "id": "bu2", "display_name": "Business unit 2", "description": "The API can be used by business unit 2" }, { "id": "bu3", "display_name": "Business unit 3", "description": "The API can be used by business unit 3" }]}' \ -X PATCH https://apihub.googleapis.com/v1/projects/test-15/locations/us-central1/attributes/system-business-unit?update_mask=allowed_values
Es ist wichtig zu verstehen, wie der API-Hub die Anfragenlast für die UpdateAttribute API interpretiert.
- Wenn der in der Nutzlast angegebene Wert bereits vorhanden ist, prüft der API-Hub, ob der Wert in der Nutzlast aktualisiert wurde, und überschreibt den Wert, falls er aktualisiert wurde.
- Wenn der Wert in der Nutzlast nicht verfügbar ist, interpretiert der API-Hub es so, dass der Wert gelöscht werden soll und löscht den Wert.
- Wenn in der Nutzlast ein neuer Wert verfügbar ist, fügt der API-Hub dem Attribut den neuen Wert hinzu.
Benutzerdefinierte Attribute
Benutzerdefinierte attribute werden von Ihnen basierend auf Ihren Anforderungen definiert.
Benutzerdefinierte Attribute ansehen
Console
Wenn Sie sich alle Nutzerattribute ansehen möchten, rufen Sie in der Google Cloud Console die Seite API-Hub > Einstellungen auf. Auf dem Tab Attribute finden Sie im Abschnitt Benutzerdefinierte Attribute alle Nutzerattribute.
REST API
Wenn Sie alle Nutzerattribute einer Ressource aufrufen möchten, senden Sie eine GET
-Anfrage an die folgende API:
https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes
Weitere Informationen zur API finden Sie unter ListAttributes.
Das folgende Beispiel zeigt den API-Aufruf zum Abrufen der Nutzerattribute für die API-Ressource.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-type: application/json" \ -X GET \ https://apihub.googleapis.com/v1/projects/test-project-1/locations/us-central1/attributes?filter=definition_type=USER_DEFINED
Neues Nutzerattribut hinzufügen
Console
So fügen Sie ein neues Nutzerattribut hinzu:
Rufen Sie in der Google Cloud Console die Seite API-Hub > Einstellungen auf.
Daraufhin werden alle Nutzerattribute im Bereich Nutzerattribute auf dem Tab Attribute angezeigt.
- Klicken Sie auf Attribut erstellen.
Daraufhin wird der Bereich Neues Attribut hinzufügen geöffnet.
- Geben Sie die folgenden Informationen ein:
- ID : Geben Sie eine eindeutige Kennzeichnung für das Attribut ein.
- Wenn Sie das Feld leer lassen, generiert der API-Hub automatisch eine eindeutige ID für Sie.
- Wenn Sie einen Wert manuell eingeben möchten, muss er für alle Attribute eindeutig sein.
- Name: Geben Sie einen Namen für das Attribut ein.
- Beschreibung : Geben Sie optional eine Attributbeschreibung ein.
- Maximal zulässige Werte : Geben Sie eine Zahl zwischen 1 und 20 ein. Diese Einstellung gibt die maximale Anzahl von Werten an, die das Attribut haben kann.
- Ressourcentyp : Wählen Sie einen Ressourcentyp aus.
- ID : Geben Sie eine eindeutige Kennzeichnung für das Attribut ein.
- Wenn Sie einen neuen Wert für den Enum-Typ hinzufügen möchten, klicken Sie auf Element hinzufügen und geben Sie den gewünschten Wert ein.
- Klicken Sie auf Speichern.
REST API
Wenn Sie ein neues Nutzerattribut hinzufügen möchten, senden Sie eine POST
-Anfrage an die folgende API:
https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes?attribute_id=NEW_ATTRIBUTE_NAME
Weitere Informationen zur API finden Sie unter CreateAttribute.
Das folgende Beispiel zeigt den API-Aufruf zum Erstellen des Nutzerattributs attribute-01
.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "display_name" : "custom attribute", "description" : "custom attribute details", "definition_type" : "USER_DEFINED", "scope" : "API", "data_type" : "ENUM", "allowed_values" : [ { "id" : "value-1", "display_name" : "Value 1", "description" : "Value 1 test description", "immutable" : false, }, { "id" : "value-2", "display_name" : "Value 2", "description" : "Value 2 test description", "immutable" : false, }, ], "cardinality" : 4, "mandatory" : false }' \ -X POST https://apihub.googleapis.com/v1/projects/test-15/locations/us-central1/attributes?attribute_id=attribute-01
Nutzerattribut bearbeiten
Sie können die folgenden Änderungen an einem Nutzerattribut vornehmen:
- Attributnamen aktualisieren
- Neuen Attributwert hinzufügen
- Vorhandenen Attributwert löschen
Console
So bearbeiten Sie ein Nutzerattribut:
Rufen Sie in der Google Cloud Console die Seite API-Hub > Einstellungen auf.
Daraufhin werden alle vorhandenen Nutzerattribute im Bereich Nutzerattribute auf dem Tab Attribute angezeigt.
- Klicken Sie für das Attribut, das Sie bearbeiten möchten, auf Bearbeiten.
Daraufhin wird der Bearbeitungsbereich des Attributs geöffnet, in dem die vorhandenen Attributwerte angezeigt werden.
- Sie können den Namen, die Beschreibung und die maximal zulässigen Werte bearbeiten. Bei Enum-Typen können Sie neue Werte hinzufügen. Wenn Sie einen neuen Wert für einen Enum-Typ hinzufügen möchten, klicken Sie auf Element hinzufügen und geben Sie den gewünschten Wert ein.
- Klicken Sie auf Speichern.
REST API
Wenn Sie ein Nutzerattribut bearbeiten möchten, senden Sie eine PATCH
-Anfrage an die folgende API:
https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes/ATTRIBUTE
Weitere Informationen zur API finden Sie unter UpdateAttribute.
Das folgende Beispiel zeigt die Aktualisierung des Nutzerattributs API Visibility
über den API-Aufruf.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{"name": "projects/test-15/locations/us-central1/attributes/API Visibility", display_name" : "API Visibility Updated", "allowedValues": [ { "id": "internal", "displayName": "Internal", "description": "The API is visible internally in an organization" }, { "id": "external", "displayName": "External", "description": "The API is visible externally in an organization" }, { "id": "public", "displayName": "Public", "description": "The API is visible public in an organization" } ]}' \ -X PATCH https://autopush-apihub.sandbox.googleapis.com/v1/projects/common-dev-15/locations/us-central1/attributes/API Visibility?update_mask=display_name,allowed_values
Es ist wichtig zu verstehen, wie der API-Hub die Anfragenlast für die UpdateAttribute API interpretiert.
- Wenn der in der Nutzlast angegebene Wert bereits vorhanden ist, prüft der API-Hub, ob der Wert in der Nutzlast aktualisiert wurde. Ist das der Fall, wird er überschrieben.
- Wenn der Wert in der Nutzlast nicht verfügbar ist, interpretiert der API-Hub es so, dass der Wert gelöscht werden soll und löscht den Wert.
- Wenn in der Nutzlast ein neuer Wert verfügbar ist, fügt der API-Hub dem Attribut den neuen Wert hinzu.