Übersicht
Die ReadPropertySet-Richtlinie liest Attributsätze und füllt die Ablaufvariable mit den Ergebnissen.
Diese Richtlinie ist eine Standardrichtlinie, die in jeder Umgebung bereitgestellt werden kann. Informationen zu Richtlinientypen und zur Verfügbarkeit bei jedem Umgebungstyp finden Sie unter Richtlinientypen.
Element <ReadPropertySet>
Definiert eine ReadPropertySet-Richtlinie.
Standardwert | Siehe Standardrichtlinie Tab unten |
Erforderlich? | Erforderlich |
Typ | Komplexes Objekt |
Übergeordnetes Element | – |
Untergeordnete Elemente |
<Read> |
Das <ReadPropertySet>
-Element verwendet die folgende Syntax:
Syntax
Das <ReadPropertySet>
-Element verwendet die folgende Syntax:
<ReadPropertySet name="read-property-set"> <Read> <Name ref="set-ref">property-set-name</Name> <Key ref="key-ref">key-name</Key> <AssignTo>var1</AssignTo> <DefaultValue>default-value</DefaultValue> </Read> ... <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> </ReadPropertySet>
Standardrichtlinie
Das folgende Beispiel zeigt die Standardeinstellungen, wenn Sie Ihrem Ablauf in der Apigee-UI eine ReadPropertySet-Richtlinie hinzufügen:
<ReadPropertySet name="read-property-set"> <Read> <Name ref="set-ref">property-set-name</Name> <Key ref="key-ref">key-name</Key> <AssignTo>var1</AssignTo> <DefaultValue>default-value</DefaultValue> </Read> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> </ReadPropertySet>
Wenn Sie eine neue ReadPropertySet-Richtlinie in die Apigee-UI einfügen, enthält die Vorlage Stubs für alle möglichen Vorgänge. Informationen zu erforderlichen Elementen finden Sie unten.
Dieses Element hat folgende Attribute, die allen Richtlinien gemeinsam sind:
Attribut | Standard | Erforderlich? | Beschreibung |
---|---|---|---|
name |
- | Erforderlich |
Der interne Name der Richtlinie. Der Wert des Attributs Optional können Sie das Element |
continueOnError |
false | Optional | Legen Sie false fest, um einen Fehler zurückzugeben, wenn eine Richtlinie fehlschlägt. Dies ist für die meisten Richtlinien das erwartete Verhalten. Legen Sie true fest, damit die Ablaufausführung auch nach dem Fehlschlagen einer Richtlinie fortgesetzt wird. Weitere Informationen:
|
enabled |
wahr | Optional | Setzen Sie den Wert auf true , um die Richtlinie zu erzwingen. Legen Sie false fest, um die Richtlinie zu deaktivieren. Die Richtlinie wird nicht durchgesetzt, selbst wenn sie mit einem Ablauf verknüpft ist. |
async |
false | Verworfen | Dieses Attribut wurde verworfen. |
Die folgende Tabelle enthält eine allgemeine Beschreibung der untergeordneten Elemente von
<ReadPropertySet>
:
Untergeordnetes Element | Erforderlich? | Beschreibung |
---|---|---|
<Read> |
Erforderlich | Liest und löst eine Attributsatzvariable auf und setzt sie auf eine angegebene Ablaufvariable. |
<IgnoreUnresolvedVariables> |
Optional | Bestimmt, ob die Verarbeitung beendet wird, wenn ein Property-Set nicht aufgelöst werden kann. |
Beispiel
In diesem Abschnitt finden Sie ein Beispiel für <ReadPropertySet>
.
Beispiel
In diesem Beispiel wird <ReadPropertySet>
verwendet, um propertyset.environment.name.request.headers.api-version
abzurufen und target_url
zuzuweisen. Wenn der Wert der Property-Gruppe nicht abgerufen werden kann, wird stattdessen https://httpbin.org/get
verwendet.
<ReadPropertySet name="read-property-set"> <Read> <Name ref="set-ref">environment.name</Name> <Key ref="key-ref">request.headers.api-version</Key> <AssignTo>target_url</AssignTo> <DefaultValue>https://httpbin.org/get</DefaultValue> </Read> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> </ReadPropertySet>
Verweis auf untergeordnetes Element
In diesem Abschnitt werden die untergeordneten Elemente von <ReadPropertySet>
beschrieben.
<Read>
Löst eine Attributsatzvariable auf und setzt das Ergebnis in eine Ablaufvariable.
Das Element <Read>
gibt die Variable des Property-Sets an, die aufgelöst werden soll, und die Ablaufvariable, auf die dieser Wert festgelegt werden soll. Außerdem enthält es einen optionalen Standardwert, der für den Fall eines nicht aufgelösten Attributsatzes verwendet wird. Sie können mehrere <Read>
-Elemente in einer einzelnen <ReadPropertySet>
-Richtlinie angeben.
Standardwert | – |
Erforderlich? | Optional |
Typ | Komplexer Typ |
Übergeordnetes Element |
<ReadPropertySet>
|
Untergeordnete Elemente |
<Name> <Key> <AssignTo> <DefaultValue> |
Das <Read>
-Element verwendet die folgende Syntax:
Syntax
<Read> <Name ref="set-ref">property-set-name</Name> <Key ref="key-ref">key-name</Key> <AssignTo>var1</AssignTo> <DefaultValue>default-value</DefaultValue> </Read>
Beispiel
In diesem Beispiel wird mit <ReadPropertySet>
propertyset.environment.name.request.headers.api-version
abgerufen und target_url
zugewiesen. Wenn der Wert des Attributsatzes nicht abgerufen wird, wird stattdessen https://httpbin.org/get
verwendet.
<ReadPropertySet name="read-property-set"> <Read> <Name ref="environment.name">my-property-set-name</Name> <Key ref="request.headers.api-version">my-property-set-key</Key> <AssignTo>target_url</AssignTo> <DefaultValue>https://httpbin.org/get</DefaultValue> </Read> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> </ReadPropertySet>
Die folgende Tabelle enthält eine allgemeine Beschreibung der untergeordneten Elemente von
<Read>
.
Untergeordnetes Element | Erforderlich? | Beschreibung |
---|---|---|
<Name> |
Erforderlich | String Der Attributsatz, aus dem gelesen werden soll. Geben Sie die ref , den Wert oder beides an.
Apigee versucht zuerst, die
|
<Key> |
Erforderlich | String Der Schlüssel des Attributsatzes, der zum Auflösen der Variable verwendet wird. Geben Sie die ref , den Wert oder beides an.
Apigee versucht zuerst, die
|
<AssignTo> |
Erforderlich | String Gibt die Ablaufvariable an, der die aufgelöste Variable zugewiesen werden soll. |
<DefaultValue> |
Optional | String Gibt einen Standardwert an, der verwendet wird, wenn die Variable nicht aufgelöst werden kann. |
<IgnoreUnresolvedVariables>
Bestimmt, ob die Verarbeitung beendet wird, wenn ein Property-Set nicht aufgelöst werden kann. Auf true
festlegen, um nicht aufgelöste Variablen zu ignorieren und die Verarbeitung fortzusetzen.
IgnoreUnresolvedVariables
gilt nicht, wenn <DefaultValue>
angegeben ist.
Standardwert | Falsch |
Erforderlich? | Optional |
Typ | Boolesch |
Übergeordnetes Element |
<ReadPropertySet>
|
Untergeordnete Elemente | Keine |
Fehlerreferenz
In diesem Abschnitt werden die zurückgegebenen Fehlercodes und Fehlermeldungen beschrieben, die von Apigee speziell für die Richtlinie <ReadPropertySet>
festgelegt werden.
Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
Fehlercode | HTTP-Status | Ursache |
---|---|---|
steps.readpropertyset.UnresolvedVariable |
500 |
Dieser Fehler tritt auf, wenn für eine Variable, die in der ReadPropertySet-Richtlinie angegeben ist, Folgendes gilt:
Wenn |
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy mit dieser Richtlinie bereitstellen.
Fehlername | Ursache |
---|---|
steps.readpropertyset.EmptyReads |
Die Richtlinie enthält keine untergeordneten <Read> -Elemente. |
steps.readpropertyset.FieldUnset |
Dieser Code wird zurückgegeben, wenn einer der folgenden Punkte zutrifft:
|
Fehlervariablen
Diese Variablen werden festgelegt, wenn diese Richtlinie zur Laufzeit einen Fehler auslöst. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen.
Variablen | Wo | Beispiel |
---|---|---|
fault.name="FAULT_NAME" |
FAULT_NAME ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name Matches "UnresolvedVariable" |
readpropertyset.POLICY_NAME.failed |
POLICY_NAME ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | readpropertyset.RPS-SetResponse.failed = true |
Beispiel für eine Fehlerantwort
{ "fault": { "faultstring": "ReadPropertySet[RPS-SetResponse]: unable to resolve variable [variable_name]", "detail": { "errorcode": "steps.readpropertyset.UnresolvedVariable" } } }
Beispiel für eine Fehlerregel
<FaultRule name="ReadPropertySet Faults"> <Step> <Name>RPS-CustomSetVariableErrorResponse</Name> <Condition>(fault.name = "SetVariableFailed")</Condition> </Step> <Condition>(readpropertyset.failed = true)</Condition> </FaultRule>
Schemas
Jeder Richtlinientyp wird durch ein XML-Schema (.xsd
) definiert. Zu Referenzzwecken sind Richtlinienschemas auf GitHub verfügbar.