SetIntegrationRequest-Richtlinie

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Richtliniensymbol

Übersicht

Mit der SetIntegrationRequest-Richtlinie können Sie ein Anfrageobjekt für eine Integration erstellen, die Sie ausführen möchten. In der Richtlinie müssen Sie die Details des API-Triggers und die für die Ausführung der Integration erforderlichen Eingabeparameter konfigurieren. Wenn Sie die SetIntegrationRequest-Richtlinie ausführen, wird ein Anfrageobjekt erstellt und in einer Ablaufvariable gespeichert. Das Anfrageobjekt enthält alle Informationen, die zum Ausführen der Integration erforderlich sind. Die Integration wird zu diesem Zeitpunkt noch nicht ausgeführt. Zum Ausführen der Integration müssen Sie entweder die IntegrationCallout-Richtlinie aufrufen oder einen IntegrationEndpoint festlegen. Sowohl die IntegrationCallout-Richtlinie als auch der IntegrationEndpoint erfordern das Anfrageobjekt, um die Integration auszuführen.

Diese Richtlinie ist eine erweiterbare Richtlinie, deren Verwendung je nach Apigee-Lizenz Auswirkungen auf die Kosten oder die Nutzung haben kann. Informationen zu Richtlinientypen und Auswirkungen auf die Nutzung finden Sie unter Richtlinientypen.

<SetIntegrationRequest>

Gibt die SetIntegrationRequest-Richtlinie an.

Standardwert
Erforderlich? Erforderlich
Typ Komplexer Typ
Übergeordnetes Element
Untergeordnete Elemente <ApiTrigger>
<DisplayName>
<IntegrationName>
<IntegrationRegion>
<Parameters>
<ProjectId>
<Request>
<ScheduleTime>

Die folgende Tabelle enthält eine allgemeine Beschreibung der untergeordneten Elemente des Elements <SetIntegrationRequest>:

Untergeordnetes Element Erforderlich? Beschreibung
<ApiTrigger> Erforderlich Name des API-Triggers, der in der Integration aufgerufen werden soll.
<DisplayName> Optional Ein benutzerdefinierter Name für die Richtlinie.
<IntegrationName> Optional Name der auszuführenden Integration.
<IntegrationRegion> Erforderlich Name der Region, in der sich die Integration befindet.
<Parameters> Optional Eingabeparameter der Integration.
<ProjectId> Optional Name des Google Cloud-Projekts mit der Integration, die Sie ausführen möchten.
<Request> Optional Name der Ablaufvariablen zum Speichern des Anfrageobjekts.
<ScheduleTime> Optional Der Zeitpunkt, zu dem die Integration ausgeführt werden muss.

Die SetIntegrationRequest-Richtlinie verwendet die folgende Syntax:

Syntax

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<SetIntegrationRequest continueOnError="[true|false]" enabled="[true|false]" name="Set-Integration-Request">
  <DisplayName>POLICY_DISPLAY_NAME</DisplayName>
  <ProjectId ref="FLOW_VARIABLE_NAME">GOOGLE_CLOUD_PROJECT_ID</ProjectId>
  <IntegrationName ref="FLOW_VARIABLE_NAME">INTEGRATION_NAME</IntegrationName>
  <IntegrationRegion ref="FLOW_VARIABLE_NAME">INTEGRATION_REGION</IntegrationRegion>
  <ApiTrigger ref="FLOW_VARIABLE_NAME">API_TRIGGER_NAME</ApiTrigger>
  <ScheduleTime>PARAMETER_VALUE</ScheduleTime>
  <Parameters>
    <Parameter name="PARAMETER_NAME" type="PARAMETER_DATATYPE" ref="FLOW_VARIABLE_NAME">PARAMETER_VALUE</Parameter>
    <ParameterArray name="ARRAY_NAME" type="ARRAY_DATATYPE" ref="FLOW_VARIABLE_NAME>
      <Value ref="FLOW_VARIABLE_NAME>PARAMETER_VALUE</Value>
      <Value ref="FLOW_VARIABLE_NAME>PARAMETER_VALUE</Value>
      <Value ref="FLOW_VARIABLE_NAME>PARAMETER_VALUE</Value>
    </ParameterArray>
  </Parameters>
  <Request>FLOW_VARIABLE_NAME</Request>
</SetIntegrationRequest>

Beispiel

Das folgende Beispiel zeigt die SetIntegrationRequest-Richtliniendefinition:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<SetIntegrationRequest continueOnError="false" enabled="true" name="Set-Integration-Request">
  <DisplayName>Set Integration Request Policy</DisplayName>
  <ProjectId ref="my_projectid_var">apigee_staging_1</ProjectId>
  <IntegrationName ref="my_integration_ref">integration_1</IntegrationName>
  <IntegrationRegion ref="my_integration_ref">asia-east1</IntegrationRegion>
  <ApiTrigger ref="my_api_trigger_ref">API-Trigger-2</ApiTrigger>
  <ScheduleTime>2022-01-15T01:30:15Z</ScheduleTime>
  <Parameters>
    <Parameter name="my_str_param" type="string" ref="flow_var_1">someText</Parameter>
    <ParameterArray name="my_array_param" type="integer" ref="flow_var_2">
      <Value ref="flow_var_3">1</Value>
      <Value ref="flow_var_4">2</Value>
      <Value ref="flow_var_5">3</Value>
    </ParameterArray>
  </Parameters>
  <Request>my_request_var</Request>
</SetIntegrationRequest>

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.

Verweis auf untergeordnetes Element

In diesem Abschnitt werden die untergeordneten Elemente von <SetIntegrationRequest> beschrieben.

<DisplayName>

Wird zusätzlich zum Attribut name verwendet, um die Richtlinie im Proxy-Editor der Verwaltungs-UI mit einem anderen, natürlicher klingenden Namen zu versehen.

Das Element <DisplayName> ist für alle Richtlinien gleich.

Standardwert
Erforderlich? Optional. Wenn Sie <DisplayName> weglassen, wird der Wert des Attributs name der Richtlinie verwendet.
Typ String
Übergeordnetes Element <PolicyElement>
Untergeordnete Elemente Keine

Das <DisplayName>-Element verwendet die folgende Syntax:

Syntax

<PolicyElement>
  <DisplayName>POLICY_DISPLAY_NAME</DisplayName>
  ...
</PolicyElement>

Beispiel

<PolicyElement>
  <DisplayName>My Validation Policy</DisplayName>
</PolicyElement>

Das <DisplayName>-Element hat keine Attribute oder untergeordneten Elemente.

<ProjectId>

Gibt den Namen des Google Cloud-Projekts an.

Apigee weist den von Ihnen für dieses Element angegebenen Wert der Ablaufvariable integration.project.id zu.

Standardwert
Erforderlich? Optional
Typ String
Übergeordnetes Element <SetIntegrationRequest>
Untergeordnete Elemente Keine

Das <ProjectId>-Element verwendet die folgende Syntax:

Syntax

<ProjectId ref="FLOW_VARIABLE_NAME">GOOGLE_CLOUD_PROJECT_ID</ProjectId>

Beispiel

Im folgenden Beispiel wird die Richtlinie so konfiguriert, dass die Ablaufvariable my_projectid_var zum Abrufen der Projekt-ID verwendet wird. Wenn die Ablaufvariable zur Laufzeit nicht aufgelöst wird, verwenden Sie apigee_staging_1 als Projekt-ID:

<ProjectId ref="my_projectid_var">apigee_staging_1</ProjectId>

In der folgenden Tabelle werden die Attribute von <ProjectId> beschrieben:

Attribut Erforderlich? Typ Beschreibung
ref Optional String Gibt die Ablaufvariable an, aus der Apigee die Google Cloud-Projekt-ID lesen soll. Sie können das Element <ProjectId> auf eine der folgenden Arten festlegen:
  • <ProjectId>val</ProjectId>: Verwenden Sie val als Projekt-ID.
  • <ProjectId ref="refval"/>: Lösen Sie refval dynamisch auf, um die Projekt-ID zu ermitteln. Apigee meldet eine Ausnahme, wenn die aufgelöste Projekt-ID ungültig ist oder refval nicht aufgelöst wurde.
  • <ProjectId ref="refval">val</ProjectId>: Lösen Sie refval dynamisch auf, um die Projekt-ID zu ermitteln. Apigee meldet eine Ausnahme, wenn die aufgelöste Projekt-ID ungültig ist. Wenn refval nicht aufgelöst wird, verwenden Sie val als Projekt-ID.

<IntegrationName>

Gibt die auszuführende Integration an.

Apigee weist den von Ihnen für dieses Element angegebenen Wert der Ablaufvariable integration.name zu.

Der Integrationsname muss folgende Benennungsanforderungen erfüllen:

  • Muss mit Buchstaben oder Ziffern beginnen und enden.
  • Darf keine Leerzeichen enthalten.
  • Darf nicht zwei aufeinanderfolgende Binde- oder Unterstriche enthalten.
Standardwert
Erforderlich? Optional
Typ String
Übergeordnetes Element <SetIntegrationRequest>
Untergeordnete Elemente Keine

Das <IntegrationName>-Element verwendet die folgende Syntax:

Syntax

<IntegrationName ref="FLOW_VARIABLE_NAME">INTEGRATION_NAME</IntegrationName>

Beispiel

Im folgenden Beispiel wird die Richtlinie so konfiguriert, dass sie die Ablaufvariable my_integration_ref zum Abrufen des Integrationsnamens verwendet. Wenn die Ablaufvariable zur Laufzeit nicht aufgelöst wird, verwenden Sie integration_1 als Integrationsnamen:

<IntegrationName ref="my_integration_ref">integration_1</IntegrationName>

In der folgenden Tabelle werden die Attribute von <IntegrationName> beschrieben:

Attribut Erforderlich? Typ Beschreibung
ref Optional String Gibt die Ablaufvariable an, aus der Apigee den Integrationsnamen lesen soll. Sie können das Element <IntegrationName> auf eine der folgenden Arten festlegen:
  • <IntegrationName>val</IntegrationName>: Verwenden Sie val als Integrationsnamen.
  • <IntegrationName ref="refval"/>: Lösen Sie refval dynamisch auf, um den Namen der Integration zu ermitteln. Apigee meldet eine Ausnahme, wenn der aufgelöste Integrationsname ungültig ist oder refval nicht aufgelöst wurde.
  • <IntegrationName ref="refval">val</IntegrationName>: Lösen Sie refval dynamisch auf, um den Namen der Integration zu ermitteln. Apigee meldet eine Ausnahme, wenn der aufgelöste Integrationsname ungültig ist. Wenn refval nicht aufgelöst wird, verwenden Sie val als Integrationsnamen.

<IntegrationRegion>

Gibt die Region an, in der die Integration vorhanden ist.

Zur Laufzeit weist Apigee den Wert des Elements der Ablaufvariable integration.region zu, erstellt eine regionsbasierte Ziel-URL und speichert die URL in der Ablaufvariable integration.target.url.

Die regionsbasierte Ziel-URL hat folgendes Format: https://integration.region-integrations.googleapis.com

Die Integrationsregion muss von Application Integration unterstützt werden. Informationen zu den unterstützten Regionen von Appliation Integration finden Sie unter Unterstützte Regionen.

Standardwert
Erforderlich? Erforderlich
Typ String
Übergeordnetes Element <SetIntegrationRequest>
Untergeordnete Elemente Keine

Das <IntegrationRegion>-Element verwendet die folgende Syntax:

Syntax

<IntegrationRegion ref="FLOW_VARIABLE_NAME">INTEGRATION_REGION</IntegrationRegion>

Beispiel

Im folgenden Beispiel wird die Richtlinie so konfiguriert, dass sie die Ablaufvariable my_integration_region_ref zum Abrufen der Integrationsregion verwendet. Wenn die Ablaufvariable zur Laufzeit nicht aufgelöst wird, wird asia-east1 als Region der Integration verwendet:

<IntegrationRegion ref="my_integration_region_ref">asia-east1</IntegrationRegion>

In der folgenden Tabelle werden die Attribute von <IntegrationRegion> beschrieben:

Attribut Erforderlich? Typ Beschreibung
ref Optional String Gibt die Ablaufvariable an, aus der Apigee die Integrationsregion lesen soll. Sie können das Element <IntegrationRegion> auf eine der folgenden Arten festlegen:
  • <IntegrationRegion>val</IntegrationRegion>: Verwenden Sie val als Integrationsregion.
  • <IntegrationRegion ref="refval"/>: Lösen Sie refval dynamisch auf, um den Namen der Region zu ermitteln. Apigee meldet eine Ausnahme, wenn die aufgelöste Integrationsregion ungültig ist oder refval nicht aufgelöst wurde.
  • <IntegrationRegion ref="refval">val</IntegrationRegion>: Lösen Sie refval dynamisch auf, um den Namen der Region zu ermitteln. Apigee meldet eine Ausnahme, wenn die aufgelöste Integrationsregion ungültig ist. Wenn refval nicht aufgelöst wird, verwenden Sie val als Integrationsregion.

<ApiTrigger>

Gibt den auszuführenden API-Trigger an.

Sie müssen den Namen des API-Triggers im Format api_trigger/API_TRIGGER_NAME angeben.

Apigee weist den von Ihnen für dieses Element angegebenen Wert der Ablaufvariable integration.api.trigger zu.

Wenn Sie den <IntegrationName> angegeben haben, wird nur der API-Trigger dieser Integration ausgeführt. Wenn Sie jedoch <IntegrationName> nicht angegeben haben, werden alle Integrationen mit dem angegebenen API-Trigger ausgeführt.

Standardwert
Erforderlich? Erforderlich
Typ String
Übergeordnetes Element <SetIntegrationRequest>
Untergeordnete Elemente Keine

Das <ApiTrigger>-Element verwendet die folgende Syntax:

Syntax

<ApiTrigger ref="FLOW_VARIABLE_NAME">API_TRIGGER_NAME</ApiTrigger>

Beispiel

Im folgenden Beispiel wird die Richtlinie so konfiguriert, dass die Ablaufvariable my_api_trigger_ref zum Abrufen des API-Triggenamens verwendet wird. Wenn die Ablaufvariable zur Laufzeit nicht aufgelöst wird, verwenden Sie api_trigger/API-Trigger-2 als API-Triggername:

<ApiTrigger ref="my_api_trigger_ref">api_trigger/API-Trigger-2</ApiTrigger>

In der folgenden Tabelle werden die Attribute von <ApiTrigger> beschrieben:

Attribut Erforderlich? Typ Beschreibung
ref Optional String Gibt die Ablaufvariable an, aus der Apigee den API-Triggernamen lesen soll. Sie können das Element <ApiTrigger> auf eine der folgenden Arten festlegen:
  • <ApiTrigger>val</ApiTrigger>: Verwenden Sie val als API-Triggernamen.
  • <ApiTrigger ref="refval"/>: Lösen Sie refval dynamisch auf, um den Triggernamen zu ermitteln. Apigee meldet eine Ausnahme, wenn der aufgelöste API-Triggername ungültig ist oder refval nicht aufgelöst wurde.
  • <ApiTrigger ref="refval">val</ApiTrigger>: Lösen Sie refval dynamisch auf, um den Triggernamen zu ermitteln. Apigee meldet eine Ausnahme, wenn der aufgelöste API-Triggername ungültig ist. Wenn refval nicht aufgelöst wird, verwenden Sie val als Triggernamen.

<ScheduleTime>

Gibt den Zeitpunkt an, zu dem die Integration ausgeführt werden muss.

Wenn die Zeit kleiner oder gleich der aktuellen Zeit ist, wird die Integration sofort ausgeführt. Sie müssen die Zeit im Format yyyy-mm-ddThh:mm:ssZ angeben, wobei Z die UTC-Zeitzone ist. Wenn Sie beispielsweise 2022-01-15T01:30:15Z angeben, wird die Integration am 15.1.2022 um 1:30:15 Uhr UTC ausgeführt. Sie können die Zeitzone auch mit einem Zeitversatz zu UTC angeben. Wenn Sie beispielsweise 2022-01-15T01:30:15-08:00 angeben, wird die Integration am 15.1.2022 um 1:30:15 Uhr PST ausgeführt. Weitere Informationen zum Zeitformat finden Sie unter Kombinierte Datums- und Uhrzeitdarstellungen.

Standardwert
Erforderlich? Optional
Typ String
Übergeordnetes Element <SetIntegrationRequest>
Untergeordnete Elemente Keine

Das <ScheduleTime>-Element verwendet die folgende Syntax:

Syntax

<ScheduleTime>PARAMETER_VALUE</ScheduleTime>

Beispiel

Im folgenden Beispiel wird die Ausführung der Integration für 2022-01-15T01:30:15Z geplant:

<ScheduleTime>2022-01-15T01:30:15Z</ScheduleTime>

<Parameters>

Gibt die Eingabeparameter an, die zum Ausführen der Integration erforderlich sind.

Sie können einzelne Parameter oder Parameterarrays angeben.

  • Wenn Sie einen einzelnen Parameter angeben möchten, verwenden Sie das Element <Parameter>.
  • Verwenden Sie das Element <ParameterArray>, um ein Parameter-Array anzugeben.
Standardwert
Erforderlich? Optional
Typ Komplexer Typ
Übergeordnetes Element <SetIntegrationRequest>
Untergeordnete Elemente <Parameter>
<ParameterArray>

In der folgenden Tabelle werden die Attribute von <Parameters> beschrieben:

Attribut Erforderlich? Typ Beschreibung
substitutionVariableChar Optional Char Ermöglicht die Festlegung benutzerdefinierter Trennzeichen zur Übergabe von Ablaufvariablenwerten als Vorlagenargumente im untergeordneten Element <Parameter>.

Das <Parameters>-Element verwendet die folgende Syntax:

Syntax

<Parameters substitutionVariableChar="SUBSTITUTION_CHAR">
  <Parameter name="PARAMETER_NAME" type="PARAMETER_DATATYPE" ref="FLOW_VARIABLE_NAME" >PARAMETER_VALUE</Parameter>
  <Parameter name="PARAMETER_NAME" type="PARAMETER_DATATYPE">SUBSTITUTION_CHAR FLOW_VARIABLE_NAME SUBSTITUTION_CHAR</Parameter>
  <ParameterArray name="ARRAY_NAME" type="ARRAY_DATATYPE ref="FLOW_VARIABLE_NAME"">
    <Value>PARAMETER_VALUE</Value>
    <Value ref="FLOW_VARIABLE_NAME"/>
    <Value ref="FLOW_VARIABLE_NAME">PARAMETER_VALUE</Value>
  </ParameterArray>
</Parameters>

Beispiel

Im folgenden Beispiel werden der Parameter my_str_param und das Parameter-Array my_array_param initialisiert:

<Parameters substitutionVariableChar="#">
  <Parameter name="my_str_param" type="string" ref="flow_var_1">someText</Parameter>
  <Parameter name="strVar" type="string">#flowvar1#</Parameter>
  <ParameterArray name="my_array_param" type="integer" ref="flow_var_2">
    <Value>1</Value>
    <Value ref="flow_var_3"/>
    <Value ref="flow_var_4">3</Value>
  </ParameterArray>
</Parameters>

Apigee behandelt leere <Parameter>- und <ParameterArray>-Elemente als null-Werte. Beispielsweise werden Deklarationen wie <Parameter></Parameter> und <ParameterArray></ParameterArray> als null-Werte behandelt.

<Parameter>

Gibt einen Eingabeparameter an.

Standardwert
Erforderlich? Optional
Typ String
Übergeordnetes Element <Parameters>
Untergeordnete Elemente Keine

Sie können den Parameterwert auf folgende Weise angeben:

  • <Parameter name="my_param" type="string">val</Parameter>: Verwenden Sie val als Parameterwert. Wenn val ungültig ist, meldet Apigee eine Ausnahme.
  • <Parameter name="my_param" type="string" ref="refval"/>: Lösen Sie die Ablaufvariable refval zur Laufzeit auf und verwenden Sie ihren Wert. Apigee meldet eine Ausnahme, wenn der aufgelöste refval-Wert ungültig ist oder refval nicht aufgelöst wurde.
  • <Parameter name="my_param" type="string" ref="refval">val</Parameter>: Die Ablaufvariable refval zur Laufzeit auflösen und dessen Wert verwenden. Apigee meldet eine Ausnahme, wenn der aufgelöste refval-Wert ungültig ist. Wenn refval nicht aufgelöst wird, verwendet Apigee val als Parameterwert.
  • <Parameter name="my_param" type="json">{"name":"$#flowval#$"}</Parameter>: Verwenden Sie $#FLOW_VARIABLE_NAME#$, um Werte der Ablaufvariablen als Vorlagenargument im Parameter zu übergeben. Apigee löst die Ablaufvariable flowval zur Laufzeit auf und verwendet ihren Wert. Eine Ausnahme wird gemeldet, wenn der aufgelöste flowval-Wert ungültig ist.
  • <Parameter name="my_param" type="json">{"Name":""SUBSTITUTION_CHAR FlowvalSUBSTITUTION_CHAR "}</Parameter>: Wo SUBSTITUTION_CHAR den Wert für das substitutionVariableChar-Attribut von dem übergeordneten <Parameters>-Element angibt. Apigee löst die Ablaufvariable flowval zur Laufzeit auf und verwendet ihren Wert. Eine Ausnahme wird gemeldet, wenn der aufgelöste flowval-Wert ungültig ist.

Das <Parameter>-Element verwendet die folgende Syntax:

Syntax
<Parameters substitutionVariableChar="SUBSTITUTION_CHAR">
  <Parameter name="PARAMETER_NAME" type="PARAMETER_DATATYPE">PARAMETER_VALUE</Parameter>
  <Parameter name="PARAMETER_NAME" type="PARAMETER_DATATYPE" ref="FLOW_VARIABLE_NAME"/>
  <Parameter name="PARAMETER_NAME" type="PARAMETER_DATATYPE" ref="FLOW_VARIABLE_NAME">PARAMETER_VALUE</Parameter>
  <Parameter name="PARAMETER_NAME" type="json">$#FLOW_VARIABLE_NAME#$</Parameter>
  <Parameter name="PARAMETER_NAME" type="PARAMETER_DATATYPE">SUBSTITUTION_CHAR FLOW_VARIABLE_NAME SUBSTITUTION_CHAR</Parameter>
</Parameters>
Beispiel 1

Im folgenden Beispiel wird Parameter my_str_param als String deklariert und der Wert auf someText gesetzt.

<Parameters>
  <Parameter name="my_str_param" type="string">someText</Parameter>
</Parameters>
Beispiel 2

Im folgenden Beispiel wird der Parameter my_double_param als Double deklariert und dem Parameter der Wert der Ablaufvariable flow_var zugewiesen.

<Parameters>
  <Parameter name="my_double_param" type="double" ref="flow_var"/>
</Parameters>
Beispiel 3

Im folgenden Beispiel wird der Wert auf den Ganzzahlparameter my_int_param_1 gesetzt.

<Parameters>
  <Parameter name="my_int_param_1" type="integer" ref="flow_var_1">96</Parameter>
</Parameters>

Wenn in diesem Beispiel die Ablaufvariable flow_var_1 erfolgreich aufgelöst wird, wird my_int_param_1 auf den Wert der Ablaufvariable gesetzt. Wenn flow_var_1 jedoch nicht aufgelöst werden kann, wird my_int_param_1 auf 96 festgelegt.

Beispiel 4

Im folgenden Beispiel werden Werte für die JSON-Parameter my_json_param_1 und my_json_param_2 festgelegt.

<Parameters>
  <Parameter name="my_json_param_1" type="json" ref="flow_var_1">{name:"Apple", color:"Red"}</Parameter>
  <Parameter name="my_json_param_2" type="json">{name:"Banana", color:"Yellow"}</Parameter>
</Parameters>

Wenn in diesem Beispiel die Ablaufvariable flow_var_1 erfolgreich aufgelöst wird, wird my_json_param_1 auf den Wert der Ablaufvariable flow_var_1 gesetzt. Wenn flow_var_1 jedoch nicht aufgelöst wird, ist my_json_param_1 auf {name:"Apple", color:"Red"} festgelegt. Der Parameter my_json_param_2 ist auf {name:"Banana", color:"Yellow"} gesetzt, da kein ref-Attribut angegeben ist.

Beispiel 5

Im folgenden Beispiel wird der Wert für den JSON-Parameter template_json_param mithilfe des Ablaufvariablenwerts festgelegt, der in einer Standardvorlage übergeben wird.

  <Parameters>
    <Parameter name="template_json_param" type="json">{"name":"$#flow_var_1#$"}</Parameter>
</Parameters>
  

Wenn in diesem Beispiel die Ablaufvariable flow_var_1 erfolgreich aufgelöst wird, wird template_json_param auf den Wert der Ablaufvariable flow_var_1 gesetzt. Wenn flow_var_1 jedoch nicht aufgelöst wird, löst Apigee eine Ausnahme aus.

Beispiel 6

Im folgenden Beispiel wird der Wert für den JSON-Parameter template_json_param mit dem Attribut substitutionVariableChar festgelegt.

<Parameters substitutionVariableChar="#">
    <Parameter name="template_json_param" type="json">{"name":"#flow_var_1#"}</Parameter>
</Parameters>
  

Wenn in diesem Beispiel die Ablaufvariable flow_var_1 erfolgreich aufgelöst wird, wird template_json_param auf den Wert der Ablaufvariable flow_var_1 gesetzt. Wenn flow_var_1 jedoch nicht aufgelöst wird, löst Apigee eine Ausnahme aus.

In der folgenden Tabelle werden die Attribute von <Parameter> beschrieben:

Attribut Erforderlich? Typ Beschreibung
name Erforderlich String Name des Parameters.
type Erforderlich String Datentyp des Parameters. Unterstützte Typen sind integer, string, boolean, double und json.
ref Optional String Gibt die Ablaufvariable an, aus der Apigee den Parameterwert lesen soll. Apigee verwendet die folgenden Kriterien, um den Parameterwert festzulegen:
  • Wenn die Ablaufvariable zur Laufzeit aufgelöst wird und gültig ist, verwendet Apigee den Wert der Ablaufvariablen.
  • Wenn die Ablaufvariable zur Laufzeit aufgelöst wird, aber ungültig ist, meldet Apigee eine Ausnahme.
  • Wenn die Ablaufvariable zur Laufzeit nicht aufgelöst wird, verwendet Apigee den Elementwert <Parameter>. Wenn der Elementwert ungültig ist, meldet Apigee einen Fehler.

<ParameterArray>

Gibt ein Array mit Eingabeparametern an.

Standardwert
Erforderlich? Optional
Typ Komplexer Typ
Übergeordnetes Element <Parameters>
Untergeordnete Elemente <Value>

Das Element <Parameters> kann mehrere <ParameterArray>-Elemente enthalten. Für ein Parameterarray können Sie den Wert der Arrayelemente festlegen, indem Sie entweder den tatsächlichen Wert angeben oder eine Ablaufvariable im Attribut ref angeben. Wenn Sie eine Ablaufvariable angeben, werden die Array-Elemente auf den Wert der Ablaufvariablen festgelegt. In den Beispielen in diesem Abschnitt werden die verschiedenen Möglichkeiten zur Konfiguration des Elements <ParameterArray> beschrieben.

Das <ParameterArray>-Element verwendet die folgende Syntax:

Syntax
<Parameters>
  <ParameterArray name="ARRAY_NAME" type="ARRAY_DATATYPE" ref="FLOW_VARIABLE_NAME">
    <Value ref="FLOW_VARIABLE_NAME"/>
    <Value ref="FLOW_VARIABLE_NAME">PARAMETER_VALUE</Value>
    <Value>PARAMETER_VALUE</Value>
  </ParameterArray>
  <ParameterArray name="ARRAY_NAME" type="ARRAY_DATATYPE" ref="FLOW_VARIABLE_NAME"/>
  <ParameterArray name="ARRAY_NAME" type="ARRAY_DATATYPE">
    <Value ref="FLOW_VARIABLE_NAME"/>
    <Value ref="FLOW_VARIABLE_NAME">PARAMETER_VALUE</Value>
    <Value>PARAMETER_VALUE</Value>
  </ParameterArray>
<Parameters/>
Example-1

Im folgenden Beispiel wird my_array_param als Ganzzahlarray deklariert und der Wert der Arrayelemente auf 1, 2 und 3 festgelegt:

<Parameters>
  <ParameterArray name="my_array_param" type="integer">
    <Value>1</Value>
    <Value>2</Value>
    <Value>3</Value>
  </ParameterArray>
<Parameters/>
Example-2

Im folgenden Beispiel wird my_array_param als doppeltes Array deklariert. Dabei gilt:

  • Das erste Element wird auf den Wert der Ablaufvariablen flow_var_1 gesetzt.
  • Das zweite Element wird auf 3.0 gesetzt.
<Parameters>
  <ParameterArray name="my_array_param" type="double">
    <Value ref="flow_var_1"/>
    <Value>3.0</Value>
  </ParameterArray>
<Parameters/>
Example-3

Im folgenden Beispiel wird my_array_param als boolesches Array deklariert und auf den Wert der Ablaufvariablen flow_var_1 festgelegt.

<Parameters>
  <ParameterArray name="my_array_param" type="boolean" ref="flow_var_1">
    <Value>true</Value>
    <Value>false</Value>
    <Value>false</Value>
  </ParameterArray>
<Parameters/>

Wenn in diesem Beispiel flow_var_1 erfolgreich aufgelöst wird, wird my_array_param auf die Werte des Arrays flow_var_1 gesetzt. Wenn flow_var_1 jedoch nicht aufgelöst wird, wird das Array my_array_param auf die Werte der Value-Elemente festgelegt.

Example-4

Im folgenden Beispiel wird my_array_param als JSON-Array deklariert und auf den Wert der Ablaufvariablen flow_var_1 gesetzt.

<Parameters>
  <ParameterArray name="my_array_param" type="json" ref="flow_var_1"/>
<Parameters/>

Wenn in diesem Beispiel flow_var_1 erfolgreich aufgelöst wird, wird my_array_param auf die Werte des Arrays flow_var_1 gesetzt. Wenn flow_var_1 jedoch nicht aufgelöst wird, meldet Apigee eine Ausnahme.

Example-5

Im folgenden Beispiel wird my_array_param als String-Array deklariert und auf die Werte der Ablaufvariablen flow_var_1 gesetzt.

<Parameters>
  <ParameterArray name="my_array_param" type="string" ref="flow_var_1">
    <Value ref="flow_var_2"/>
    <Value>test_string</Value>
  </ParameterArray>
<Parameters/>

Wenn in diesem Beispiel flow_var_1 erfolgreich aufgelöst wird, wird my_array_param auf die Werte des Arrays flow_var_1 gesetzt. Nur wenn flow_var_1 nicht aufgelöst werden kann, wird my_array_param auf die in den <Value>-Elementen angegebenen Werte festgelegt.

In der folgenden Tabelle werden die Attribute von <ParameterArray> beschrieben:

Attribut Erforderlich? Typ Beschreibung
name Erforderlich String Name des Parameter-Arrays.
type Erforderlich String Datentyp des Parameterarrays. Unterstützte Typen sind integer, string, boolean und double.
ref Optional String Gibt die Ablaufvariable an, aus der Apigee die Arraywerte lesen soll. Apigee verwendet die folgenden Kriterien, um den Parameterwert festzulegen:
  • Wenn die Ablaufvariable zur Laufzeit aufgelöst wird und gültig ist, verwendet Apigee den Wert der Ablaufvariablen.
  • Wenn die Ablaufvariable zur Laufzeit aufgelöst wird, aber ungültig ist, meldet Apigee eine Ausnahme.
  • Wenn die Ablaufvariable zur Laufzeit nicht aufgelöst wird, verwendet Apigee die in den <Value>-Elementen angegebenen Werte.
<Value>

Gibt den Wert eines Arrayelements an.

Standardwert
Erforderlich? Optional
Typ String
Übergeordnetes Element <ParameterArray>
Untergeordnete Elemente Keine

Jedes Element des Arrays muss ein separates <Value>-Element sein. Sie können den Wert auf folgende Weise angeben:

  • <Value>val</Value>: Verwenden Sie val als Elementwert. Wenn val ungültig ist, meldet Apigee eine Ausnahme.
  • <Value ref="refval"/>: Lösen Sie die Ablaufvariable refval zur Laufzeit auf und verwenden Sie ihren Wert. Apigee meldet eine Ausnahme, wenn der aufgelöste refval-Wert ungültig ist oder refval nicht aufgelöst wurde.
  • <Value ref="refval">val</Value>: Lösen Sie die Ablaufvariable refval zur Laufzeit auf und verwenden Sie ihren Wert. Apigee meldet eine Ausnahme, wenn der aufgelöste refval-Wert ungültig ist. Wenn refval nicht aufgelöst wird, verwendet Apigee val als Elementwert.
  • <Value>val1 $#flowval#$</Value>: Verwenden Sie $#FLOW_VARIABLE_NAME#$, um Werte der Ablaufvariablen als Vorlagenargument in Value zu übergeben. Apigee löst die Ablaufvariable flowval zur Laufzeit auf und verwendet ihren Wert. Eine Ausnahme wird gemeldet, wenn der aufgelöste flowval-Wert ungültig ist.

Das <Value>-Element verwendet die folgende Syntax:

Syntax
<ParameterArray name="ARRAY_NAME" type="ARRAY_DATATYPE" ref="FLOW_VARIABLE_NAME">
  <Value>PARAMETER_VALUE</Value>
  <Value ref="FLOW_VARIABLE_NAME"/>
  <Value ref="FLOW_VARIABLE_NAME">PARAMETER_VALUE</Value>
</ParameterArray>
Beispiel 1

Im folgenden Beispiel wird my_array_param als Ganzzahlparameterarray mit den Werten 1, 2 und 3 deklariert:

<ParameterArray name="my_array_param" type="integer">
  <Value>1</Value>
  <Value>2</Value>
  <Value>3</Value>
</ParameterArray>
Beispiel 2

Im folgenden Beispiel wird my_array_param als Stringparameter-Array mit Werten der Ablaufvariablen flow_var_1 und flow_var_2 deklariert:

<ParameterArray name="my_array_param" type="string">
  <Value ref="flow_var_1"/>
  <Value ref="flow_var_2"/>
</ParameterArray>
Beispiel 3

Im folgenden Beispiel wird my_array_param als Stringparameter-Array deklariert:

<ParameterArray name="my_array_param" type="string">
   <Value ref="flow_var_1">string_1</Value>
   <Value ref="flow_var_2">string_2</Value>
</ParameterArray>

Wenn in diesem Beispiel die Ablaufvariable erfolgreich aufgelöst wird, wird der Array-Elementwert auf den Wert der flow_var_1-Ablaufvariablen gesetzt. Wenn flow_var_1 jedoch nicht aufgelöst wird, wird der Arrayelementwert auf string_1 gesetzt.

Beispiel 4

Im folgenden Beispiel wird der Wert für den Stringarrayparameter template_strArray_param mit dem in einer Vorlage übergebenen Wert der Ablaufvariablen festgelegt.

  <Parameters>
    <ParameterArray name="template_strArray_param" type="string">
    <Value>apple $#flow_var_1#$</Value>
    </ParameterArray>
  </Parameters>
  

Wenn in diesem Beispiel die Ablaufvariable erfolgreich aufgelöst wird, wird der Array-Elementwert auf den Wert der flow_var_1-Ablaufvariablen gesetzt. Wenn flow_var_1 jedoch nicht aufgelöst wird, meldet Apigee eine Ausnahme.

In der folgenden Tabelle werden die Attribute von <Value> beschrieben:

Attribut Erforderlich? Typ Beschreibung
ref Optional String Gibt die Ablaufvariable an, aus der Apigee den Parameterwert lesen soll. Apigee verwendet die folgenden Kriterien, um den Parameterwert festzulegen:
  • Wenn die Ablaufvariable zur Laufzeit aufgelöst wird und gültig ist, verwendet Apigee den Wert der Ablaufvariablen.
  • Wenn die Ablaufvariable zur Laufzeit aufgelöst wird, aber ungültig ist, meldet Apigee eine Ausnahme.
  • Wenn die Ablaufvariable zur Laufzeit nicht aufgelöst wird, verwendet Apigee den Wert des Elements <Value>. Wenn der Elementwert ungültig ist, meldet Apigee einen Fehler.

<Request>

Gibt den Namen der Ablaufvariablen zum Speichern der Anfrage an.

Nach Ausführen der Richtlinie wird ein neues Anfragenachrichtenobjekt erstellt und in der FLOW_VARIABLE_NAME-Variablen gespeichert, die Sie abfragen können, um die Anfrage zu lesen.

Wenn Sie keinen Namen einer Ablaufvariablen angeben, speichert die Richtlinie die Anfrage in der Anfragenachricht und überschreibt gegebenenfalls die vorhandene Anfragenachricht.

Standardwert Anfrage
Erforderlich? Optional
Typ String
Übergeordnetes Element <SetIntegrationRequest>
Untergeordnete Elemente Keine

Das <Request>-Element verwendet die folgende Syntax:

Syntax

<Request>FLOW_VARIABLE_NAME</Request>

Beispiel

Im folgenden Beispiel wird das Anfrageobjekt in der Ablaufvariable my_request_var gespeichert:

<Request>my_request_var</Request>

Fehlercodes

In diesem Abschnitt werden die Fehlercodes, die Fehlermeldungen sowie die Fehlervariablen beschrieben, die von Apigee festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. 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.setintegrationrequest.EmptyParameterArray 500

Dieser Fehler tritt auf, wenn das Element <ParameterArray> die Attribute name und type hat, aber nicht das Attribut ref oder <Value>.

steps.setintegrationrequest.EmptyParameterArrayValue 500

Dieser Fehler tritt auf, wenn das Element <Value> leer ist und das Attribut ref nicht festgelegt ist.

steps.setintegrationrequest.InvalidResolvedFlowVariable 500

Dieser Fehler tritt auf, wenn die im Attribut ref des Elements angegebene Ablaufvariable nicht in einen gültigen Wert aufgelöst werden kann.

  • Bei den Elementen ProjectId, IntegrationName oder ApiTrigger tritt dieser Fehler auf, wenn die Ablaufvariable zu einem Nullwert, einem leeren String oder einem ungültigen Datentyp aufgelöst wird.

    Ein gültiger Wert für diese Elemente ist:

    • ProjectId: Siehe die Anforderungen für die Benennung von Project ID im Abschnitt Vorbereitung.
    • IntegrationName: Siehe die Anforderungen für die Benennung des Elements IntegrationName.
    • ApiTrigger: Der Name sollte mit api_trigger/ beginnen.
  • Für das Element ParameterArray tritt dieser Fehler auf, wenn die Ablaufvariable in einen leeren String aufgelöst wird.
steps.setintegrationrequest.MismatchedTypeAndResolvedRef 500

Dieser Fehler tritt auf, wenn die im ref-Attribut des <Parameter>-Elements angegebene Ablaufvariable aufgelöst wird, der Datentyp des Ablaufvariablenwerts jedoch nicht mit dem im type-Attribut angegebenen Datentyp übereinstimmt.

steps.setintegrationrequest.MismatchedTypeAndResolvedRefOfParameterArray 500

Dieser Fehler tritt auf, wenn die im ref-Attribut des <ParameterArray>-Elements angegebene Ablaufvariable aufgelöst wird, aber der Datentyp des Ablaufvariablenwerts nicht mit dem im type-Attribut angegebenen Datentyp übereinstimmt.

steps.setintegrationrequest.MismatchedTypeAndResolvedRefOfParameterArrayValue 500

Dieser Fehler tritt auf, wenn die im ref-Attribut des <Value>-Elements angegebene Ablaufvariable aufgelöst wird, aber der Datentyp des Ablaufvariablenwerts nicht mit dem im type-Attribut des übergeordneten Elements <ParameterArray> angegebenen Datentyp übereinstimmt.

steps.setintegrationrequest.RequestVariableNotMessageType 500 Dieser Fehler tritt auf, wenn die vom Request-Element angegebene Ablaufvariable nicht vom Typ Nachricht ist.
steps.setintegrationrequest.RequestVariableNotRequestMessageType 500 Dieser Fehler tritt auf, wenn die vom Element Request angegebene Ablaufvariable nicht vom Typ Anfragenachricht ist.
steps.setintegrationrequest.UnresolvedVariable 500

Dieser Fehler tritt auf, wenn Apigee die in den Elementen <Parameter>, <ParameterArray> oder <Value> angegebenen Ablaufvariablen nicht auflösen kann.

Fehlervariablen

Wenn in einer Richtlinie Ausführungsfehler auftreten, generiert Apigee Fehlermeldungen. Sie können sich diese Fehlermeldungen in der Fehlerantwort ansehen. Häufig sind vom System generierte Fehlermeldungen im Kontext Ihres Produkts möglicherweise nicht relevant. Sie können die Fehlermeldungen basierend auf dem Fehlertyp anpassen, um die Nachrichten aussagekräftiger zu machen.

Zum Anpassen der Fehlermeldungen können Sie entweder Fehlerregeln oder die RaiseFault-Richtlinie verwenden. Informationen zu Unterschieden zwischen Fehlerregeln und der RaiseFault-Richtlinie finden Sie unter FaultRules-Richtlinie im Vergleich zur RaiseFault-Richtlinie. Prüfen Sie, ob Bedingungen mit dem Element Condition in den Fehlerregeln und in der RaiseFault-Richtlinie verwendet werden. Apigee stellt Fehlervariablen bereit, die für jede Richtlinie eindeutig sind. Die Werte der Fehlervariablen werden festgelegt, wenn eine Richtlinie Laufzeitfehler auslöst. Mit diesen Variablen können Sie nach bestimmten Fehlerbedingungen suchen und entsprechende Maßnahmen ergreifen. Weitere Informationen zum Prüfen von Fehlerbedingungen finden Sie unter Bedingungen erstellen.

In der folgenden Tabelle werden die für diese Richtlinie spezifischen Fehlervariablen beschrieben.

Variablen Wo Beispiel
fault.name Der fault.name kann mit einem der Fehler übereinstimmen, die in der Tabelle Laufzeitfehler aufgeführt sind. Der Fehlername ist der letzte Teil des Fehlercodes. fault.name Matches "UnresolvedVariable"
SetIntegrationRequest.POLICY_NAME.failed POLICY_NAME ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. SetIntegrationRequest.set-integration-request-1.failed = true
Weitere Informationen zu Richtlinienfehlern finden Sie unter Was Sie über Richtlinienfehler wissen müssen.

Weitere Informationen

Weitere Informationen zur Application Integration finden Sie unter Übersicht: Application Integration.