Attributsätze verwenden

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Eine Attributgruppe ist eine benutzerdefinierte Sammlung von Schlüssel/Wert-Paaren, in der Daten gespeichert werden. API-Proxys können diese Daten bei der Ausführung abrufen.

Vorteile von Attributsätzen

In der Regel verwenden Sie Attributsätze zum Speichern nicht ablaufender Daten, die in Ihrer API-Proxy-Logik nicht hartcodiert sein sollten. Sie können an einem beliebigen Ort, an dem Sie auf Ablaufvariablen zugreifen können, auf Attributdatensätze zugreifen.

Ein häufiger Anwendungsfall für Attributsätze ist die Bereitstellung von Werten, die einer Umgebung oder einer anderen Umgebung zugeordnet sind. Sie können beispielsweise eine umgebungsbasierte Attributgruppe mit Konfigurationswerten erstellen, die für Proxys spezifisch sind, die in Ihrer Testumgebung ausgeführt werden, und einen weiteren Satz für Ihre Produktionsumgebung.

Beispiel:

  • Die Attributgruppe prod-env.properties enthält das Attribut log-level=error.
  • Die Attributgruppe test-env.properties enthält das Attribut log-level=debug.

Ebenso können Sie umgebungsspezifische Routinginformationen speichern:

  • Die Attributgruppe test-env.properties enthält das Attribut db-url=mydomain.test.datasource.com.
  • Die Attributgruppe prod-env.properties enthält das Attribut db-url=mydomain.prod.datasource.com.

Umfang von Attributsätzen-Gruppen

Sie können ein Attribut auf eine API-Proxy-Revision oder eine Umgebung beschränken, wenn Sie die Attributgruppe erstellen. Es ist nicht möglich, eine Attributgruppe festzulegen, die auf eine Organisation festgelegt ist.

In der folgenden Tabelle werden das Verhalten und die Verwaltung von Attributsätzen mit API-Proxy und Organisationsbereich erläutert:

Umfang Laufzeitverhalten Verwaltung
API-Proxy Attribute sind nur für die Überarbeitung des API-Proxys verfügbar, der die Ressource für die Attributgruppe enthält. Kein anderer API-Proxy oder eine Überarbeitung desselben Proxys kann auf diese bestimmte Attributgruppe zugreifen. Administratoren können die / resourcefiles Apigee-API oder die Benutzeroberfläche verwenden, um Attributsätze zu erstellen und zu bearbeiten. Wenn Sie den API-Proxy in der Benutzeroberfläche speichern, wird eine neue Überarbeitung erstellt und das geänderte Attribut wird nur dieser Überarbeitung zugeordnet.
Umgebung Attribute sind für alle Überarbeitungen aller API-Proxys innerhalb dieser Umgebung verfügbar. API-Proxys in anderen Umgebungen können nicht auf diese Attributgruppe zugreifen. Administratoren müssen die Apigee API /resourcefiles zum Erstellen, Anzeigen, Aktualisieren oder Löschen von Umgebungsbereichen verwenden. Diese Attributsätze werden nicht angezeigt und können nicht in der Apigee-Benutzeroberfläche bearbeitet werden.

Einschränkungen von Attributsätzen

Apigee erzwingt, wie unter Beschränkungen beschrieben, Attribute. Außerdem müssen Attributsatzdateien die gleiche Syntax verwenden wie Java-Attributdateien, mit einer Ausnahme: Sie können keine geschweiften Klammern ({}) in Attributsatzdateien verwenden.

Attributsatzdateien erstellen

Normalerweise speichern Sie Attributsätze als Name/Wert-Paare in einer Datei. Attributsatzdateien sind Ressourcendateien vom Typ properties.

Attributsatzdateien unterstützen die gleiche Syntax wie Java-Attributdateien; Sie können beispielsweise Unicode-Werte enthalten und können #- oder !-Zeichen als Kommentarzeichen verwenden. Beachten Sie diese eine Ausnahme: Sie können in Attributsatzdateien keine geschweiften Klammern ({}) verwenden.

Sie müssen das Suffix .properties einem Attributnamen hinzufügen. Beispiel: myconfig.my_key.properties ist zulässig, aber myconfig.my_key nicht zulässig.

Die Struktur einer Attributsatzspezifikation ist: property_set_name.property_name.properties. Der Name des Attributsatzes und der Attributname dürfen keine Punkte enthalten. Beispiel: myconfig.my_key.properties ist zulässig, myconfig.my.key.properties und my.config.my_key.properties sind jedoch nicht zulässig.

Das folgende Beispiel zeigt eine einfache Attributgruppe, die mehrere Attribute definiert:

# myProps.properties file
# General properties
foo=bar
baz=biff

# Messages/notes/warnings
message=This is a basic message.
note_message=This is an important message.
error_message=This is an error message.

# Keys
publickey=abc123
privatekey=splitwithsoundman

Nachdem Sie eine Attributsatzdatei erstellt haben, laden Sie sie über die Benutzeroberfläche oder API in Apigee hoch.

Attributsätze mit der Benutzeroberfläche verwalten

Verwalten Sie Attributsätze, die für eine API-Proxy-Überarbeitung festgelegt sind, genauso wie andere Ressourcen. Weitere Informationen finden Sie unter Ressourcen mithilfe der Benutzeroberfläche verwalten.

Attributsätze mit der API verwalten

Verwalten Sie Attributsätze, die auf eine API-Proxy-Überarbeitung oder -Umgebung beschränkt sind, mithilfe der API, wie in den folgenden Abschnitten beschrieben.

Attributsätze mit der API erstellen

In den folgenden Abschnitten wird beschrieben, wie Sie über die API Attributsätze für eine API-Proxy-Revision oder eine Umgebung erstellen.

Erstellen Sie mithilfe der API Attributsätze, die auf eine API-Proxy-Überarbeitung beschränkt sind

So erstellen Sie eine Attributgruppe, die mit der API auf eine API-Proxy-Revision beschränkt ist:

  1. Erstellen Sie die Attributsatzdatei.
  2. Fügen Sie die Attributsatzdatei einem API-Proxykonfigurationsset hinzu.
  3. Laden Sie das Set mit der API API-Proxy erstellen oder API-Proxy-Revision aktualisieren hoch.

Mit der API auf eine Umgebung beschränkte Attributsätze erstellen

Um eine Attributgruppe hinzuzufügen, die mithilfe der API einer Umgebung zugeordnet wird, erstellen Sie die Attributgruppendatei und laden Sie sie dann in eine Umgebung in Ihrer Organisation hoch, indem Sie eine POST - Anfrage an die folgende Ressource senden: https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles

Geben Sie in Ihrer Anfrage die folgenden Informationen an:

  • Legen Sie den Abfrageparameter name auf den Namen des Attributs fest.
  • Setzen Sie den Abfrageparameter type auf properties.
  • Übergeben Sie den Inhalt der Attributsatzdatei als application/octet-stream oder multipart/form-data

Im folgenden Beispiel wird eine Attributgruppe mit dem Namen MyPropSet aus der Datei /Users/myhome/myprops.properties importiert:

curl -X POST "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles?name=MyPropSet&type=properties"
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: multipart/form-data" \
  -F file=@/Users/myhome/myprops.properties
  

Dabei ist $TOKEN auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl-Optionen finden Sie unter curl verwenden.

Im Folgenden finden Sie ein Beispiel für die Antwort:

{
  "name": "MyPropSet",
  "type": "properties"
}

Weitere Informationen finden Sie unter Ressourcendatei-API erstellen.

Attributsätze mit der API aufrufen

In den folgenden Abschnitten wird beschrieben, wie Sie mithilfe der API die für eine Umgebung festgelegten Attributsätze aufrufen.

Mit der API alle auf eine Umgebung beschränkte Attributsätze aufrufen

Senden Sie eine GET-Anfrage an die folgende Ressource, um alle Attributsätze anzusehen, die für eine Umgebung mit der API gelten: https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/properties

Im folgenden Beispiel werden alle Attributsätze in der Testumgebung aufgelistet:

curl -X GET "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties" \
  -H "Authorization: Bearer $TOKEN"
  

Dabei ist $TOKEN auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl-Optionen finden Sie unter curl verwenden.

Im Folgenden finden Sie ein Beispiel für die Antwort:

{
  "resourceFile": [
    {
      "name": "MyPropSet",
      "type": "properties"
    }
  ]
}

Weitere Informationen finden Sie unter API-Dateien für Umgebungsressourcen auflisten.

Mit der Api die Inhalte eines auf eine Umgebung beschränkten Attributsatzes aufrufen

Wenn Sie den Inhalt eines Attributsatzes aufrufen möchten, der über eine API in einer Umgebung festgelegt ist, senden Sie eine GET-Anfrage an die folgende Ressource: https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/properties/name

Im folgenden Beispiel wird der Inhalt des in der Testumgebung festgelegten Attributs MyPropSet angezeigt:

curl -X GET "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties/MyPropSet" \
  -H "Authorization: Bearer $TOKEN"
  

Dabei ist $TOKEN auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl-Optionen finden Sie unter curl verwenden.

Im Folgenden finden Sie ein Beispiel für die Antwort:

# myProps.properties file
# General properties
foo=bar
baz=biff

# Messages/notes/warnings
message=This is a basic message.
note_message=This is an important message.
error_message=This is an error message.

# Keys
publickey=abc123
privatekey=splitwithsoundman

Weitere Informationen finden Sie unter API-Dateien für Umgebungsressourcen auflisten.

Attributsätze mithilfe der API aktualisieren

In den folgenden Abschnitten wird beschrieben, wie Sie mit einer API eine API-Proxy-Revision oder -Umgebung aktualisieren.

Mit der API auf eine API-Proxy-Version beschränkte Attributsätze aktualisieren

So aktualisieren Sie eine Attributgruppe, die mit der API auf eine API-Proxy-Revision beschränkt ist:

  1. Aktualisieren Sie die Attributsatzdatei.
  2. Laden Sie das API-Proxykonfigurationsset mithilfe der API-Proxy-Revision-API mit den folgenden Optionen herunter:
    • Setzen Sie den Abfrageparameter format auf bundle.
    • Setzen Sie den Accept-Header auf application/zip.
  3. Fügen Sie die Attributsatzdatei einem API-Proxykonfigurationsset hinzu.
  4. Laden Sie das API-Proxykonfigurationsset mit der Update API-Proxy-Überarbeitungs-API hoch.

Mit der API auf eine Umgebung beschränkte Attributsätze aktualisieren

Wenn Sie eine Attributgruppe aktualisieren möchten, die über die API auf eine Umgebung beschränkt ist, aktualisieren Sie die Attributgruppendatei und laden Sie sie dann in eine Umgebung in Ihrer Organisation hoch, indem Sie eine PUT - Anfrage an die folgende Ressource senden: https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/{type}/{name}

Geben Sie in Ihrer Anfrage die folgenden Informationen an:

  • Setzen Sie {type} auf properties.
  • Legen Sie {name} auf den Namen des Attributs fest, das Sie aktualisieren möchten.
  • Übergeben Sie den Inhalt der Attributsatzdatei als application/octet-stream oder multipart/form-data

Im folgenden Beispiel wird die Attributgruppe MyPropSet mit dem Inhalt der Datei /Users/myhome/myprops-revised.properties aktualisiert:

curl -X PUT "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties/MyPropSet"
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: multipart/form-data" \
  -F file=@/Users/myhome/myprops-revised.properties
  

Dabei ist $TOKEN auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl-Optionen finden Sie unter curl verwenden.

Im Folgenden finden Sie ein Beispiel für die Antwort:

{
  "name": "MyPropSet",
  "type": "properties"
}

Weitere Informationen finden Sie unter API für Ressourcendatei aktualisieren.

Attributsätze mit der API löschen

In den folgenden Abschnitten wird beschrieben, wie Attributsätze, die sich auf eine API-Proxy-Revision oder eine Umgebung beziehen, mithilfe der API gelöscht werden.

Mit der API auf eine API-Proxy-Version beschränkte Attributsätze löschen

So löschen Sie eine Attributgruppe, die auf eine API-Proxy-Revision beschränkt ist:

  1. Laden Sie das API-Proxykonfigurationsset mithilfe der API-Proxy-Revision-API mit den folgenden Optionen herunter:
    • Setzen Sie den Abfrageparameter format auf bundle.
    • Setzen Sie den Accept-Header auf application/zip.
  2. Löschen Sie die Attributsatzdatei aus dem API-Proxykonfigurationsset.
  3. Laden Sie das API-Proxykonfigurationsset mit der Update API-Proxy-Überarbeitungs-API hoch.

Mit der API auf eine Umgebung beschränkte Attributsätze löschen

Um eine Attributgruppe zu löschen, die über die API für eine Umgebung bestimmt ist, senden Sie eine DELETE-Anfrage an die folgende Ressource: https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/{type}/{name}

Übergeben Sie mit der Anfrage die folgenden Informationen:

  • Setzen Sie {type} auf properties.
  • Geben Sie für {name} den Namen der Property an, die Sie löschen möchten.

Im folgenden Beispiel wird die Attributgruppe MyPropSet gelöscht:

curl -X DELETE https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties/MyPropSet \
  -H "Authorization: Bearer $TOKEN"
  

Dabei ist $TOKEN auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl-Optionen finden Sie unter curl verwenden.

Im Folgenden finden Sie ein Beispiel für die Antwort:

{
  "name": "MyPropSet",
  "type": "properties"
}

Weitere Informationen finden Sie unter Ressourcendatei-API löschen.

Auf Attributsatzwerte zugreifen

Auf Werte für Attributsätze können Sie an einer beliebigen Stelle in einem API-Proxy zugreifen, auf der Sie Ablaufvariablen in Richtlinien, Abläufen, JavaScript-Code usw. aufrufen können.

Verwenden Sie die folgende Syntax, um auf Werte in einer Attributgruppe zuzugreifen:

propertyset.[property_set_name].[property_name]

Dabei gilt:

  • property_set_name ist der von Ihnen definierte Dateiname (wenn Sie die Benutzeroberfläche verwendet haben) oder der Wert des Abfrageparameters name, wenn Sie die API verwendet haben.
  • property_name ist der Name des Attributs. Wenn Ihre Attributgruppe beispielsweise foo=bar enthält, ist foo der Name des Attributs und bar der Wert.

Verwenden Sie beispielsweise in einer JavaScript-Richtlinie die Methode getVariable(), um einen Wert aus einer Attributgruppe abzurufen:

context.getVariable('propertyset.property_set_name.property_name);

Im folgenden Beispiel wird der Wert des Attributs foo in der Attributgruppe "MyPropSet" abgerufen:

context.getVariable('propertyset.MyPropSet.foo);

Sie können auch die ExtractVariables-Richtlinie verwenden, um den Wert eines Attributs aus einer Attributgruppe abzurufen und einer anderen Variablen zuzuweisen

<ExtractVariables name="ExtractVariables-1">
   <DisplayName>Extract a portion of the url path</DisplayName>
   <Source>request</Source>
   <Variable name="propertyset.MyPropSet.foo">
      <Pattern>{myVar}</Pattern>
   </Variable>
   <VariablePrefix>foobar</VariablePrefix>
   <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
</ExtractVariables>

In diesem Beispiel liest die Richtlinie die Variable aus dem Attribut name und weist der Variable den Wert im Element Pattern zu.

Wert eines Attributsatzschlüssels mithilfe der Richtlinie „Nachricht zuweisen” dynamisch zuweisen

Sie können die Richtlinie „Nachricht zuweisen” verwenden, um den Wert des Attributsatzschlüssels dynamisch einer Ablaufvariablen zuzuweisen. Weitere Informationen finden Sie in der Referenz zur Richtlinienzuweisung "Assign Message" in der Beschreibung PropertySetRef.

Für Apigee hybrid-Nutzer

Beachten Sie bei Verwendung von Apigee hybrid Folgendes:

  1. Die Hybridverwaltungsebene validiert den Attributatz. Wenn sie gültig sind, werden die Attribute auf der Verwaltungsebene gespeichert.
  2. Der Synchronizer ruft die Attributsatzdaten ab und speichert sie lokal auf der Laufzeitebene.
  3. Der Nachrichtenprozessor lädt die heruntergeladene Attributgruppe herunter und stellt sie für die Ausführung von Proxys bereit.