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>

This element has the following attributes that are common to all policies:

Attribute Default Required? Description
name N/A Required

The internal name of the policy. The value of the name attribute can contain letters, numbers, spaces, hyphens, underscores, and periods. This value cannot exceed 255 characters.

Optionally, use the <DisplayName> element to label the policy in the management UI proxy editor with a different, natural-language name.

continueOnError false Optional Set to false to return an error when a policy fails. This is expected behavior for most policies. Set to true to have flow execution continue even after a policy fails. See also:
enabled true Optional Set to true to enforce the policy. Set to false to turn off the policy. The policy will not be enforced even if it remains attached to a flow.
async   false Deprecated This attribute is deprecated.

Verweis auf untergeordnetes Element

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

<DisplayName>

Use in addition to the name attribute to label the policy in the management UI proxy editor with a different, more natural-sounding name.

The <DisplayName> element is common to all policies.

Default Value N/A
Required? Optional. If you omit <DisplayName>, the value of the policy's name attribute is used.
Type String
Parent Element <PolicyElement>
Child Elements None

The <DisplayName> element uses the following syntax:

Syntax

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

Example

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

The <DisplayName> element has no attributes or child elements.

<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

This section describes the fault codes, error messages, and the fault variables set by Apigee when this policy triggers an error. This information is essential if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.

Runtime errors

These errors can occur when the policy executes.

Fault code HTTP status Cause
steps.setintegrationrequest.EmptyParameterArray 500

This error occurs when the <ParameterArray> element has the name and type attributes, but doesn't have the ref attribute or a <Value> element.

steps.setintegrationrequest.EmptyParameterArrayValue 500

This error occurs when the <Value> element is empty and the ref attribute is not set.

steps.setintegrationrequest.InvalidResolvedFlowVariable 500

This error occurs when the flow variable specified in the ref attribute of an element fails to resolve to a valid value.

  • For the ProjectId, IntegrationName, or the ApiTrigger elements, this error occurs if the flow variable resolves to a null, an empty string, or an invalid data type.

    A valid value for these elements is as follows:

    • ProjectId: See the naming requirements for Project ID in the Before you begin section.
    • IntegrationName: See the naming requirements for the IntegrationName element.
    • ApiTrigger: The name should start with api_trigger/.
  • For the ParameterArray element, this error occurs if the flow variable resolves to an empty string.
steps.setintegrationrequest.MismatchedTypeAndResolvedRef 500

This error occurs when the flow variable specified in the ref attribute of the <Parameter> element resolves, but the flow variable value's data type doesn't match the data type specified in the type attribute.

steps.setintegrationrequest.MismatchedTypeAndResolvedRefOfParameterArray 500

This error occurs when the flow variable specified in the ref attribute of the <ParameterArray> element resolves, but the flow variable value's data type doesn't match with the data type specified in the type attribute.

steps.setintegrationrequest.MismatchedTypeAndResolvedRefOfParameterArrayValue 500

This error occurs when the flow variable specified in the ref attribute of the <Value> element resolves, but the flow variable value's data type doesn't match with the data type specified in the type attribute of its parent element (<ParameterArray>).

steps.setintegrationrequest.RequestVariableNotMessageType 500 This error occurs when the flow variable specified by the Request element is not of message type.
steps.setintegrationrequest.RequestVariableNotRequestMessageType 500 This error occurs when the flow variable specified by the Request element is not of Request message type.
steps.setintegrationrequest.UnresolvedVariable 500

This error occurs when Apigee can't resolve the flow variables specified in the <Parameter>, <ParameterArray>, or the <Value> elements.

Fault variables

Whenever there are execution errors in a policy, Apigee generates error messages. You can view these error messages in the error response. Many a time, system generated error messages might not be relevant in the context of your product. You might want to customize the error messages based on the type of error to make the messages more meaningful.

To customize the error messages, you can use either fault rules or the RaiseFault policy. For information about differences between fault rules and the RaiseFault policy, see FaultRules vs. the RaiseFault policy. You must check for conditions using the Condition element in both the fault rules and the RaiseFault policy. Apigee provides fault variables unique to each policy and the values of the fault variables are set when a policy triggers runtime errors. By using these variables, you can check for specific error conditions and take appropriate actions. For more information about checking error conditions, see Building conditions.

The following table describes the fault variables specific to this policy.

Variables Where Example
fault.name The fault.name can match to any of the faults listed in the Runtime errors table. The fault name is the last part of the fault code. fault.name Matches "UnresolvedVariable"
SetIntegrationRequest.POLICY_NAME.failed POLICY_NAME is the user-specified name of the policy that threw the fault. SetIntegrationRequest.set-integration-request-1.failed = true
For more information about policy errors, see What you need to know about policy errors.

Weitere Informationen

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