Attribute verwalten

Diese Seite gilt für Apigee und Apigee Hybrid.

Übersicht

Sie können sich ein Attribut als Metadaten einer Ressource vorstellen. Im Fall einer API-Ressource kann die API beispielsweise ein Attribut namens Target Users haben, das angibt, ob die API für den öffentlichen, privaten oder internen Gebrauch bestimmt ist.

Attribute bieten folgende Vorteile:

  • Sie können die Suchergebnisse nach Attributen filtern. Je mehr Attribute Sie haben, desto leichter können Sie die Suchergebnisse eingrenzen.
  • Sie können Ihren API-Hub-Ressourcen benutzerdefinierte Daten zuordnen.

Der API-Hub speichert ein Attribut im Schlüssel/Wert-Format. 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: Lebenszyklusphase, API-Compliance, API-Akkreditierung, SLO usw. 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 wie Dev, Stage, UAT oder Prod 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:

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

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

  3. Wenn Sie einen neuen Wert hinzufügen möchten, klicken Sie auf Wert hinzufügen und geben Sie den gewünschten Wert ein.
  4. 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.

Nutzerattribute

Nutzerattribute werden von Ihnen basierend auf Ihren Anforderungen definiert.

Nutzerattribute anzeigen

Console

Wenn Sie alle Nutzerattribute sehen möchten, rufen Sie in der Google Cloud Console die Seite API-Hub > Einstellungen auf. Sie können alle Nutzerattribute auf dem Tab Attribute im Abschnitt Nutzerattribute ansehen.

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:

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

  2. Klicken Sie auf Attribut hinzufügen.

    Daraufhin wird der Bereich Neues Attribut hinzufügen geöffnet.

  3. 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 Beschreibung des Attributs ein.
    • Kardinalität : Geben Sie eine Zahl zwischen 1 und 20 ein. Die Kardinalität gibt die maximale Anzahl von Werten an, die das Attribut haben darf.
    • Ressourcentyp: Wählen Sie einen Ressourcentyp aus.
  4. Wenn Sie einen neuen Wert hinzufügen möchten, klicken Sie auf Wert hinzufügen und geben Sie den gewünschten Wert ein.
  5. 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:

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

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

    • Geben Sie zum Aktualisieren des Attributnamens den neuen Namen in das Feld Name ein.
    • Wenn Sie einen neuen Wert hinzufügen möchten, klicken Sie auf Wert hinzufügen und geben Sie den gewünschten Wert ein.
    • Wenn Sie einen vorhandenen Wert löschen möchten, klicken Sie neben dem Wert auf Löschen.
  3. 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.