Приложения логики Azure: сбой ExpressionEvaluationFailed

Я пытаюсь создать небольшой встроенный автомат, используя Microsoft Forms и Logic Apps. Я пока добавил только 2 шага:

При попытке запустить я получаю следующее сообщение об ошибке: Приложения логики Azure: сбой ExpressionEvaluationFailed

Сообщение об ошибке: ВыражениеEvaluationFailed Не удалось выполнить шаблонное действие «For_each»: результат оценки выражения «foreach» «@triggerBody()?['value']» имеет тип «Null». Результатом должен быть допустимый массив.**

Настройки: Приложения логики Azure: сбой ExpressionEvaluationFailed

В чем может быть проблема?

Заранее спасибо за помощь!

Попробовал настроить еще раз, но не получилось.

Без ForEach я получаю следующее сообщение об ошибке:

сообщение об ошибке

Код:

 { "type": "ApiConnection", "inputs": { "host": { "connection": { "referenceName": "microsoftforms" } }, "method": "get", "path": "/formapi/api/forms('@{encodeURIComponent('9Ywju8lmBkaYUqnz4XgtY3wbRXZdAfZPsqOnuOYzwdVUMlpPTkFTTzVCU1k3QjNZNThNTklHRjJYTS4u')}')/responses", "queries": { "response_id": "@items('For_each')?['resourceData']?['responseId']" } }, "runAfter": {}, "operationOptions": "DisableAsyncPattern, DisableAutomaticDecompression" }

Я считаю, что вы сможете получить ответ, не используя цикл for каждого. Если вы увидите выходные данные триггера When a new response is Submitted, в нем нет параметра значения.

Ikhtesam Afrin 03.04.2024 12:34

Я попробовал, но получил еще одно сообщение об ошибке, когда хочу сохранить рабочий процесс: Не удалось выполнить проверку рабочего процесса. Действие повторения ForEach, на которое ссылаются входные данные в действии «Получить сведения об ответе», не определено в шаблоне.

Norbert 03.04.2024 12:45

Код: { "type": "ApiConnection", "inputs": { "host": { "connection": { "referenceName": "microsoftforms" } }, "method": "get", "path": "/ formapi/api/forms('@{encodeURIComponent('9Ywju8lmBkaYUqnz4‌​XgtY3wbRXZdAfZPsqOnu‌​OYzwdVUMlpPTkFTTzVCU‌​1k3QjNZNThNTklHRjJYT‌​S4u')}')/responses", "queries": { ponse_id": "@items('For_each')?[' resourcesData']?['responseId']" } }, "runAfter": {}, "operationOptions": "DisableAsyncPattern, DisableAutomaticDecompression" }

Norbert 03.04.2024 12:47

измените значение на триггерBody()?['resourceData']?['responseId']

Ikhtesam Afrin 03.04.2024 12:54

Я попытался изменить идентификатор ответа на это значение, но он говорит: «Введите допустимое целое число». Я попробовал отредактировать его через «Просмотр кода приложения логики», но если я его сохраню, то не смогу его запустить, пишет «Неверные параметры».

Norbert 03.04.2024 13:04

пожалуйста, проверьте мой ответ. Вам необходимо включить разделение в триггере, если оно не включено.

Ikhtesam Afrin 03.04.2024 13:05
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
6
242
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы должны иметь возможность получить подробную информацию об ответе, не используя для каждого цикла.

Я использую следующий рабочий процесс:

Убедитесь, что вы включили разделение и выбрали указанное значение из раскрывающегося списка, как показано ниже.

Код-

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {
            "Get_response_details": {
                "inputs": {
                    "host": {
                        "connection": {
                            "name": "@parameters('$connections')['microsoftforms']['connectionId']"
                        }
                    },
                    "method": "get",
                    "path": "/formapi/api/forms('@{encodeURIComponent('v4j5cvGGr*************FBGNVBISy4u')}')/responses",
                    "queries": {
                        "response_id": "@triggerBody()?['resourceData']?['responseId']"
                    }
                },
                "runAfter": {},
                "type": "ApiConnection"
            }
        },
        "contentVersion": "1.0.0.0",
        "outputs": {},
        "parameters": {
            "$connections": {
                "defaultValue": {},
                "type": "Object"
            }
        },
        "triggers": {
            "When_a_new_response_is_submitted": {
                "inputs": {
                    "body": {
                        "eventType": "responseAdded",
                        "notificationUrl": "@{listCallbackUrl()}",
                        "source": "ms-connector"
                    },
                    "host": {
                        "connection": {
                            "name": "@parameters('$connections')['microsoftforms']['connectionId']"
                        }
                    },
                    "path": "/formapi/api/forms/@{encodeURIComponent('v4j5cvGGr0GRqy1*************GNVBISy4u')}/webhooks"
                },
                "splitOn": "@triggerBody()?['value']",
                "type": "ApiConnectionWebhook"
            }
        }
    },
    "parameters": {
        "$connections": {
            "value": {
                "microsoftforms": {
                    "connectionId": "/subscriptions/b83c*********074c23f/resourceGroups/********/providers/Microsoft.Web/connections/microsoftforms",
                    "connectionName": "microsoftforms",
                    "id": "/subscriptions/b83************4c23f/providers/Microsoft.Web/locations/eastus/managedApis/microsoftforms"
                }
            }
        }
    }
}
  • Этот рабочий процесс срабатывает каждый раз, когда отправляется ответ в формах Microsoft. Если вы увидите выходные данные триггера «При отправке нового ответа», в нем нет параметра значения. В связи с этим вы получаете значение triggerBody()?['value'] как нулевое.

  • В действии «Получить сведения об ответе» вы получаете результат на основе значения responseId.

Спасибо за подробный ответ! Я настроил следующим образом, однако, когда я пытаюсь запустить рабочий процесс в дизайнере, я получаю следующее сообщение об ошибке: Невозможно прочитать свойства неопределенного значения (чтение «getResponseHeader»).

Norbert 03.04.2024 13:23

Вам не следует запускать его вручную. Этот рабочий процесс автоматически запускается, когда в эту конкретную форму будет отправлен какой-либо ответ. Ты пробовал это?

Ikhtesam Afrin 03.04.2024 13:40

Спасибо за вашу помощь, я проверил это, и это действительно работает!

Norbert 03.04.2024 13:53

Другие вопросы по теме