2016-05-13 9 views
1

ich eine Logik App haben, die von Hand ausgelöst wird. Der erste Konnektor ist ein SQL-Konnektor, der ein gespeichertes proc ausführt und die Daten (json-array) abruft. Jetzt möchte ich dies als Eingabe für meine benutzerdefinierte API-App übergeben. Unten ist die Momentaufnahme meiner benutzerdefinierten api Methode UnterschriftLeite die Ausgabe von SQL Connector Benutzerdefinierte Api App

Figure 1

Nachdem ich meine benutzerdefinierte api App füge ich unten Bildschirm. Wie gebe ich die Ausgabe meines SQL-Connectors als Eingabe an meine API-App weiter?

Figure 2

Außerdem bin ich verwirrt, warum ist die UI mir einzelne Eigenschaften meiner Customer Klasse anzuzeigen. Soll es mir nicht eine große Box geben, um den JSON-Array-Input zu liefern? Ich habe auch versucht, statische Werte in die Eingabefelder einzugeben, aber dann wird die Option zum Speichern der Logik-App ausgegraut. Ich habe versucht, den Wert @body('Execute_stored_procedure')['ResultSets']['Table1'] an den Körper Eigenschaft der api App in der Codeansicht zuweisen und auch nachdem ihn erfolgreich der Wert zu speichern ist auf Null zurückgesetzt, wenn ich wieder den Designer laden.

Unten ist die Probenantwort von dem SQL-Anschluss gespeichert proc

{ 
    "body": { 
     "OutputParameters": {}, 
     "ReturnCode": 0, 
     "ResultSets": { 
      "Table1": [ 
      { 
       "FirstName": "Karen", 
       "LastName": "Choi", 
       "EmailAddress": null, 
       "PhoneNumber": null, 
       "PostalCode": "98104", 
       "City": "Seattle", 
       "Address": "Hidden", 
       "StateCode": "Washington" 
      }, 
      { 
       "FirstName": "Jeanne", 
       "LastName": "Blake", 
       "EmailAddress": null, 
       "PhoneNumber": null, 
       "PostalCode": "90012", 
       "City": "Los Angeles", 
       "Address": "Hidden", 
       "StateCode": "California" 
      } 
     ] 
} 

PS: Ich bin die neue Version der Logik-Anwendungen verwendet wird. Meine benutzerdefinierte API-App funktionierte perfekt mit der alten Version der Logik-App.

EDIT

Die Logik App verhindert, mich zu retten, wenn ich die statischen Werte auf der Benutzeroberfläche eingeben. Im Bild unten wird die Speicher Option

deaktiviert

Figure 3

EDIT 2

ich ein seltsames Verhalten gefunden. Wenn ich der Ausgabe des SQL-Konnektors eine Bedingung hinzufüge, kann ich alle Ausgabeeigenschaften des SQL Connectors sehen.

Figure 4

Warum ist es, dass ich nicht den gleichen Satz von Eigenschaften sehen kann, wenn ich meine benutzerdefinierten Stecker (Abbildung 2) hinzufügen?

Antwort

0

Könnten Sie versuchen @body zu verwenden ('Result'). Tabelle 1, statt in der Code-Ansicht?

+0

Fehler beim Speichern der Logik-App mit dem Fehler 'Vorgang fehlgeschlagen: Eine Abhängigkeit verweist auf eine Aktion (ResultSets), die nicht existiert '. Der Name der gespeicherten SQL-Prozeduraktion lautet 'Execute_stored_procedure'. – Sandesh

+0

'ResultsSets sieht nicht wie ein Array aus. Versuchen Sie, .ResultsSets.Table1 anstelle von [ResultSets] [Table1] zu verwenden. Auch hier ist das neue offizielle Dokument der Definitionssprache https://msdn.microsoft.com/library/azure/mt643789.aspx –

+0

Ich werde es überprüfen und Sie wissen lassen, wie es geht. Die Ergebnismenge ist ein Objekt. Table1 ist das tatsächliche Array. – Sandesh

0

Haben Sie

versucht

@body ('theSQLConnectorName'). OutputParameters.result (alt. .ResultSet)

?

+0

Kein Glück damit. Ich kann nicht sogar statische Werte hinzufügen und speichern :( – Sandesh

+0

Haben Sie versucht, in der Codeansicht oder Designer? – viktorh

+0

Beide Orte – Sandesh

Verwandte Themen