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.propertiesenthält das Attributlog-level=error. - Die Attributgruppe
test-env.propertiesenthält das Attributlog-level=debug.
Ebenso können Sie umgebungsspezifische Routinginformationen speichern:
- Die Attributgruppe
test-env.propertiesenthält das Attributdb-url=mydomain.test.datasource.com. - Die Attributgruppe
prod-env.propertiesenthält das Attributdb-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:
- Erstellen Sie die Attributsatzdatei.
- Fügen Sie die Attributsatzdatei einem API-Proxykonfigurationsset hinzu.
- 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
nameauf den Namen des Attributs fest. - Setzen Sie den Abfrageparameter
typeaufproperties. - Übergeben Sie den Inhalt der Attributsatzdatei als
application/octet-streamodermultipart/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=splitwithsoundmanWeitere 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:
- Aktualisieren Sie die Attributsatzdatei.
- Laden Sie das API-Proxykonfigurationsset mithilfe der API-Proxy-Revision-API mit den folgenden Optionen herunter:
- Setzen Sie den Abfrageparameter
formataufbundle. - Setzen Sie den
Accept-Header aufapplication/zip.
- Setzen Sie den Abfrageparameter
- Fügen Sie die Attributsatzdatei einem API-Proxykonfigurationsset hinzu.
- 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-streamodermultipart/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:
- Laden Sie das API-Proxykonfigurationsset mithilfe der API-Proxy-Revision-API mit den folgenden Optionen herunter:
- Setzen Sie den Abfrageparameter
formataufbundle. - Setzen Sie den
Accept-Header aufapplication/zip.
- Setzen Sie den Abfrageparameter
- Löschen Sie die Attributsatzdatei aus dem API-Proxykonfigurationsset.
- 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=barenthält, istfooder Name des Attributs undbarder 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:
- Die Hybridverwaltungsebene validiert den Attributatz. Wenn sie gültig sind, werden die Attribute auf der Verwaltungsebene gespeichert.
- Der Synchronizer ruft die Attributsatzdaten ab und speichert sie lokal auf der Laufzeitebene.
- Der Nachrichtenprozessor lädt die heruntergeladene Attributgruppe herunter und stellt sie für die Ausführung von Proxys bereit.