Передайте вывод SQL Connector в приложение Custom Api

У меня есть приложение логики, которое запускается вручную. Первый соединитель - это соединитель SQL, который выполняет сохраненную процедуру и извлекает данные (массив json). Теперь я хочу передать это в качестве входных данных в свое настраиваемое приложение api. Ниже приведен снимок моей пользовательской сигнатуры метода api.

Рисунок 1

После того, как я добавлю свое собственное приложение api, я получаю экран, показанный ниже. Как передать выходные данные моего коннектора SQL в качестве входных данных в мое приложение API?

Рисунок 2

Кроме того, я не понимаю, почему пользовательский интерфейс отображает мне отдельные свойства моего класса Customer. Разве это не должно дать мне одну большую коробку для ввода массива json? Я также пробовал вводить статические значения в поля ввода, но затем опция сохранения приложения логики становится серой. Я попытался присвоить значение @body('Execute_stored_procedure')['ResultSets']['Table1'] свойству body приложения api в представлении кода, и даже после его успешного сохранения значение сбрасывается на null, когда я снова загружаю конструктор.

Ниже приведен пример ответа от хранимой процедуры SQL-коннектора.

{
    "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: я использую новую версию приложений логики. Мое настраиваемое приложение API отлично работало со старой версией приложения логики.

ИЗМЕНИТЬ

Приложение логики не позволяет мне сохранить, если я ввожу статические значения в пользовательский интерфейс. На изображении ниже параметр Сохранить отключен.

Рисунок 3

ИЗМЕНИТЬ 2

Я обнаружил странное поведение. Если я добавлю условие к выходным данным соединителя SQL, я смогу увидеть все выходные свойства соединителя SQL.

Рисунок 4

Почему я не вижу тот же набор свойств, когда добавляю свой настраиваемый коннектор (рисунок 2)?


person Sandesh    schedule 13.05.2016    source источник


Ответы (2)


Не могли бы вы попробовать использовать @body ('ResultSets'). Table1 вместо этого в представлении кода?

person Stéphanie Hertrich    schedule 13.05.2016
comment
Не удалось сохранить приложение логики с ошибкой Operation failed: A dependency references an action (ResultSets) that doesn't exist. Имя сохраненного действия процедуры SQL - Execute_stored_procedure. - person Sandesh; 13.05.2016
comment
'ResultsSets не похожи на массив. Не могли бы вы попробовать использовать .ResultsSets.Table1 вместо [ResultsSets] [Table1]? Кроме того, вот новый официальный документ языка определений msdn.microsoft.com/library/ лазурный / mt643789.aspx - person Stéphanie Hertrich; 13.05.2016
comment
Я проверю и дам вам знать, как дела. Набор результатов - это объект. Table1 - это фактический массив. - person Sandesh; 13.05.2016
comment
Привет. Я пробовал другие комбинации, и даже если это позволяет мне сохранить, никакого эффекта нет, и в тот момент, когда я перезагружаю приложение логики, для свойства input автоматически устанавливается значение null. Если я введу статические значения в поля, опция сохранения будет отключена. Есть еще идеи, которые могут мне помочь? - person Sandesh; 14.05.2016

Ты пробовал

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

?

person viktorh    schedule 25.05.2016
comment
И с этим не повезло. Я даже не могу добавить статические значения и сохранить :( - person Sandesh; 26.05.2016