Informationen zu den unterstützten Connectors für Application Integration.
Beispielintegration testen
Beim erstmaligen Einrichten von Application Integration in Ihrem Google Cloud-Projekt wird mit Application Integration standardmäßig eine nicht veröffentlichte Beispielintegration mit dem Namen ExampleIntegration-EcomOrderProcessing erstellt.
Beispielintegration ansehen
So rufen Sie die Beispielintegration auf:
- Rufen Sie in der Google Cloud Console die Seite Application Integration auf.
- Klicken Sie im Navigationsmenü auf Integrations (Integrationen). Die Seite Integrations List (Integrationsliste) wird angezeigt.
- Klicken Sie auf die Integration mit dem Namen ExampleIntegration-EcomOrderProcessing.
Die Beispielintegration wird im Integrationseditor geöffnet, ähnlich wie das folgende Layout:
E-Commerce-Beispielintegration
Mithilfe dieser Beispielintegration können Sie die verschiedenen Trigger, Aufgaben und Konzepte von Application Integration in der Praxis kennenlernen.
Die Beispielintegration veranschaulicht ein grundlegendes E-Commerce-Backend-Szenario, bei dem der folgende Bestellbearbeitungsvorgang implementiert wird:
- Empfange die folgende Nutzlast für Bestellanfragen von einem API-Endpunkt:
{ "order_no": "12345", "buyer_id": "raambo", "line_items": [ { "line": 1, "sku": "tr100", "vendor": "Internal", "quantity": 1, "price_per_unit": 10 }, { "line": 2, "sku": "tbz", "vendor": "External", "quantity": 24.0, "price_per_unit": 1 } ] }
- Extrahieren Sie die Nutzlast der Bestellung und berechnen Sie den Gesamtwert der Bestellung.
- Prüfen Sie, ob der Gesamtwert der Bestellung größer oder gleich 100 € ist. Wenn ja, holen Sie eine zusätzliche Genehmigung ein, um fortzufahren.
- Prüfen Sie, ob einer der bestellten Artikel einen externen Anbieter hat. Falls ja, senden Sie die Details über einen REST API-Aufruf an den Anbieter.
- Sende die Bestellantwort mit dem Gesamtwert der Bestellung, den herausgefilterten Artikeln externer Anbieter und deren jeweiligen HTTP-Antwortstatus.
In der folgenden Tabelle sind alle Trigger, Aufgaben und Edge-Bedingungen aufgeführt, die in ExampleIntegration-EcomOrderProcessing verwendet werden:
Komponente | Konfiguration | Beschreibung | |
---|---|---|---|
API-Trigger
(OrderProcessAPITrigger) |
Trigger-ID: api_trigger/ecom-order-processing_API_1
|
Ruft die Integration für jede Bestellanfrage auf. | |
Datenzuordnungsaufgabe
(Gesamtpreis der Bestellung finden) |
Eingabe | Ausgabe | Extrahiert die JSON-Eingabevariable order_request und iteriert mit der Zuordnungsfunktion FOR_EACH alle Bestellpositionen, um den Gesamtwert der Bestellung zu berechnen.
Der Wert des gesamten Bestellwerts wird berechnet, indem der
Der endgültige Wert wird dann in einen doppelten Datentyp konvertiert und in der Ausgabevariable |
orders_request.line_items .FOR_EACH(~obj1->~obj1 .GET_PROPERTY("quantity") .TO_DOUBLE() .MULTIPLY(~obj1 .GET_PROPERTY("price_per_unit") .TO_DOUBLE())) .TO_DOUBLE_ARRAY() .SUM() |
total_order_value
|
||
Edge-Bedingung
(Gesamtbestellwert über Grenzwert) |
Zustand: $total_order_value$ >= $threshold_order_value$ |
Überprüft, ob der Gesamtbestellwert größer oder gleich 100 $ist. Falls ja, wird die Steuerung an eine Freigabeaufgabe übergeben. | |
Edge-Bedingung
(TotalOrderValue unter Grenzwert) |
Zustand: $total_order_value$ < $threshold_order_value$
|
Überprüft, ob der Gesamtwert der Bestellung unter 100 $liegt. Wenn ja, wird die Steuerung an die Aufgabe Externe Elemente filtern übergeben. | |
Aufgabe „Genehmigung“
(Genehmigung) |
Empfänger: Enter the approver's email address Zum Testen dieser Beispielintegration kannst du den erfolgreichen Abschluss der Integration mithilfe deiner E-Mail-Adresse bestätigen. |
Senden Sie eine E-Mail mit einer Genehmigungsanfrage an einen oder mehrere Integrationsnutzer. Die E-Mail enthält einen Link zur Integration, über den die Nutzer die Anfrage manuell genehmigen oder ablehnen können. | |
Datenzuordnungsaufgabe
(Externe Elemente filtern) |
Eingabe | Ausgabe | Extrahiert die JSON-Eingabevariable order_request und filtert alle Bestellpositionen mit externen Anbietern mithilfe der Zuordnungsfunktion FILTER.
Die gefilterten Werte werden dann in der Ausgabevariable |
orders_request .GET_PROPERTY("line_items") .FILTER(~obj1->~obj1 .GET_PROPERTY("vendor") .TO_STRING() .EQUALS("External")) |
filtered_external_items
|
||
Aufgabe „Für jede Schleife“
(für jede Schleife) |
Zu iterierende Liste: filtered_external_items
API-Trigger-ID:
Integrationsname: |
Iteriert über die Variable filtered_external_items und ruft die Unterintegration für jedes Element im Array auf. Außerdem wird die Antwort jedes Durchlaufs in rest_call_response_status sortiert, wobei jedes Element des Arrays die Antwort eines bestimmten Durchlaufs enthält.
|
|
API-Trigger
(ExternalOrders-Berichte) |
Trigger-ID: api_trigger/ecom-order-processing_API_2
|
Ruft die Unterintegration für jedes Element in filter_external_items auf. | |
Aufgabe "REST-Endpunkt aufrufen"
(REST-Endpunkt aufrufen) |
Basis-URL des Endpunkts: https://mocktarget.apigee.net/echo
HTTP-Methode:
Anfragetext: |
Führt einen REST-Aufruf an https://mocktarget.apigee.net/echo aus. |
Beispielintegration veröffentlichen und testen
Wenn Sie die Integration veröffentlichen möchten, klicken Sie in der Symbolleiste des Integrationseditors auf Veröffentlichen.
Nachdem die Integration veröffentlicht wurde, können Sie die Ausführungsprotokolle der veröffentlichten Integration aufrufen und prüfen. Klicken Sie auf Ausführungsprotokolle für diese Integration ansehen, um Protokolle aufzurufen. Die Seite Ausführungsprotokolle wird angezeigt.
Über den Integrationseditor testen
So testen Sie die Beispielintegration:
- Klicken Sie in der Symbolleiste des Integrationseditors auf Test und wählen Sie dann OrderProcessAPITrigger aus.
Das Dialogfeld Integration testen wird angezeigt.
- Sie werden aufgefordert, die Eingabevariable
orders_request
zu bearbeiten. Für diesen Test können Sie den Wertquantity
in240
ändern. Die Eingabevariableorders_request
für die Aktualisierung sollte in etwa so aussehen:{ "order_no": "12345", "buyer_id": "raambo", "line_items": [ { "line": 1, "sku": "tr100", "vendor": "Internal", "quantity": 1, "price_per_unit": 10 }, { "line": 2, "sku": "tbz", "vendor": "External", "quantity": 240, "price_per_unit": 1 } ] }
- Klicken Sie auf Integration testen.
Da die aktualisierte Menge für orders_request
größer als 200 ist, wird bei der Beispielintegration eine E-Mail mit einer Genehmigungsanfrage an die E-Mail-Adresse gesendet, die im Feld Empfänger der Freigabeaufgabe angegeben wurde. Der Integrationsauftragsvorgang wird erfolgreich abgeschlossen, sobald die Genehmigung eingegangen ist.
Weitere Informationen zu Tests finden Sie unter Integrationen testen und veröffentlichen.
Gehen Sie so vor, um die Ausführungslogs zu prüfen und den Status und die Nutzlast der jeweiligen Integration anzusehen:
- Klicken Sie im Integrationseditor auf Ausführungsprotokolle für diese Integration ansehen. Die Seite Ausführungsprotokolle wird angezeigt.
- Auf der Seite Ausführungslogs können Sie Details zu jedem Versuch anzeigen, eine Integration auszuführen.
Jeder Eintrag enthält Details für den Ausführungsversuch. Beispiele:
- Name der Integration
- Ausführungs-ID
- Status
- Beginn
- Dauer
- Integrationsversion
- Trigger-ID
- Klicken Sie neben der ausgeführten Integration auf den Erweiterungspfeil (>), um eine erweiterte Liste von Aufgaben und Variablen in der Integration aufzurufen. Außerdem werden der Aufgabenstatus und die Nutzlasten von Variablen angezeigt.
Mit einem REST API-Aufruf testen
Testfall 1: Anfrage mit Standardeingaben senden
curl -X POST -H "Content-Type: application/json" -d '{"trigger_id":"api_trigger/ecom-order-processing_API_1"}' 'https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME:execute' -H "Authorization: Bearer $(gcloud auth print-access-token)"
Testfall 2: Anfrage mit benutzerdefinierten Eingaben senden
curl -X POST -H "Content-Type: application/json" -d '{ "triggerId": "api_trigger/ecom-order-processing_API_1", "inputParameters": { "orders_request": { "jsonValue": "{\n \"order_no\": \"12345\",\n \"buyer_id\": \"raambo\",\n \"line_items\": [{\n \"line\": 1.0,\n \"sku\": \"tr100\",\n \"vendor\": \"Internal\",\n \"quantity\": 1.0,\n \"price_per_unit\": 10.0\n }, {\n \"line\": 2.0,\n \"sku\": \"tbz\",\n \"vendor\": \"External\",\n \"quantity\": 24.0,\n \"price_per_unit\": 2.0\n }]\n}" } } }' 'https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME:execute' -H "Authorization: Bearer $(gcloud auth print-access-token)"
Ersetzen Sie Folgendes:
- PROJECT_ID: ID Ihres Google Cloud-Projekts.
- LOCATION: Der Integrationsort. Siehe Standorte von Application Integration.
- INTEGRATION_NAME: Name der Integration.
Testausgabe
Die API gibt die Antwort zur Integrationsausführung zurück, die alle Werte der Ausgabevariablen der Integration enthält.