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 Attributlog-level=error
. - Der Attributsatz
test-env.properties
enthält das Attributlog-level=debug
.
Ebenso können Sie umgebungsspezifische Routinginformationen speichern:
- Der Attributsatz
test-env.properties
enthält das Attributdb-url=mydomain.test.datasource.com
. - Der Attributsatz
prod-env.properties
enthä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 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:
- 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 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
aufproperties
. - Übergeben Sie den Inhalt der Attributsatzdatei als
application/octet-stream
odermultipart/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:
- Aktualisieren Sie die Attributsatzdatei.
- Laden Sie das API-Proxykonfigurationsset mithilfe der API-Proxy-Revision-API mit den folgenden Optionen herunter:
- Setzen Sie den Abfrageparameter
format
aufbundle
. - 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 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
odermultipart/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:
- Laden Sie das API-Proxykonfigurationsset mithilfe der API-Proxy-Revision-API mit den folgenden Optionen herunter:
- Setzen Sie den Abfrageparameter
format
aufbundle
. - 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 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, istfoo
der Name des Attributs undbar
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:
- 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 den heruntergeladenen Attributsatz herunter und stellt ihn für die Ausführung von Proxys bereit.