Attributsätze verwenden

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Ein Attributsatz 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 einen umgebungsbasierten Attributsatz 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:

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

Ebenso können Sie umgebungsspezifische Routinginformationen speichern:

  • Der Attributsatz test-env.properties enthält das Attribut db-url=mydomain.test.datasource.com.
  • Der Attributsatz 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 den Attributsatz erstellen. Es ist nicht möglich, ein Attributsatz 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 den Attributsatz enthält. Kein anderer API-Proxy oder eine Überarbeitung desselben Proxys kann auf diesen bestimmten Attributsatz 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 diesen Attributsatz 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 einen einfachen Attributsatz, der 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 einen Attributsatz, der 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 einen Attributsatz hinzuzufügen, der mithilfe der API einer Umgebung zugeordnet wird, erstellen Sie die Attributsatzdatei 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 ein Attributsatz 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 einen Attributsatz, der 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 einen Attributsatz aktualisieren möchten, der über die API auf eine Umgebung beschränkt ist, aktualisieren Sie die Attributsatzdatei 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 der Attributsatz 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 einen Attributsatz, der 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 einen Attributsatz zu löschen, der ü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 der Attributsatz 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 einem Attributsatz 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 Ihr Attributsatz 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 einem Attributsatz abzurufen:

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

Im folgenden Beispiel wird der Wert des Attributs foo im Attributsatz "MyPropSet" abgerufen:

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

Sie können auch die ExtractVariables-Richtlinie verwenden, um den Wert eines Attributs aus einem Attributsatz 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 den heruntergeladenen Attributsatz herunter und stellt ihn für die Ausführung von Proxys bereit.