Diese Seite gilt für Apigee und Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen
Ü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 Optionally, use the |
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:
|
<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:
|
<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:
|
<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:
|
<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:
|
<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:
|
<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:
|
<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 |
steps.setintegrationrequest.EmptyParameterArrayValue |
500 |
This error occurs when the |
steps.setintegrationrequest.InvalidResolvedFlowVariable |
500 |
This error occurs when the flow variable specified in the
|
steps.setintegrationrequest.MismatchedTypeAndResolvedRef |
500 |
This error occurs when the flow variable specified in
the |
steps.setintegrationrequest.MismatchedTypeAndResolvedRefOfParameterArray |
500 |
This error occurs when the flow variable specified in
the |
steps.setintegrationrequest.MismatchedTypeAndResolvedRefOfParameterArrayValue |
500 |
This error occurs when the flow variable specified in
the |
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
|
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 |
Weitere Informationen
Weitere Informationen zur Application Integration finden Sie unter Übersicht: Application Integration.