ReadPropertySet-Richtlinie

Ü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 name kann Buchstaben, Ziffern, Leerzeichen, Bindestriche, Unterstriche und Punkte enthalten. Dieser Wert darf 255 Zeichen nicht überschreiten.

Optional können Sie das Element <DisplayName> verwenden, um die Richtlinie im Proxy-Editor der Verwaltungs-UI mit einem anderen Namen in einer natürlichen Sprache zu versehen.

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 Name anhand der ref aufzulösen, dann den Wert. Wenn keines von beiden aufgelöst werden kann, gilt <DefaultValue>, sofern angegeben.

<Name> und <Key> ergeben zusammen propertyset.{value_resolved_from_Name}.{value_resolved_from_Key}.

<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 Key anhand der ref aufzulösen, dann den Wert. Wenn keines von beiden aufgelöst werden kann, gilt <DefaultValue>, sofern angegeben.

<Name> und <Key> ergeben zusammen propertyset.{value_resolved_from_Name}.{value_resolved_from_Key}.

<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:

  • Wert liegt außerhalb des Bereichs (nicht in dem spezifischen Ablauf verfügbar, in dem die Richtlinie ausgeführt wird)
  • oder
  • Der Wert kann nicht aufgelöst werden (ist nicht definiert).

Wenn <IgnoreUnresolvedVariables> auf „false“ gesetzt ist und <DefaultValue> nicht angegeben ist, schlägt die Auflösung fehl.

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:
  • Weder Referenz noch Name sind für <Name> festgelegt
  • Weder Referenz noch Name sind für <Key> festgelegt
  • Für <AssignTo> wurde kein Wert angegeben.

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.