Задание Stream Analytics на границе Интернета вещей не работает, исключение: System.AggregateException

Я использую https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-deploy-stream-analytics, чтобы развернуть задание ASA на моем моделируемом устройстве IoT. Ранее я успешно развернул IoT Edge Module (tempSensor) на пограничном устройстве, и он отлично работает. Я могу прочитать температуру в журналах.

Я создаю пограничный модуль Stream Analytics, определяю контейнер и развертываю его на моем пограничном устройстве IoT (здесь: мой компьютер с Windows). Каждый модуль имел статус «запущен», и флажки были отмечены в столбцах «развертывание» и «сообщается устройством». Все идет нормально. Итак, если я использовал команду iotedge list, я получаю список всех работающих модулей.

введите здесь описание изображения

Однако, если я выполнил следующую команду в Powershell docker logs IoTEdgeJob, чтобы увидеть, выполняется ли запрос внутри задания ASA. У меня исключение:

10/26/2018 14:15:59 - Module client initializing ...
10/26/2018 14:17:07 - Opened module client connection

Unhandled Exception: System.AggregateException: One or more errors occurred. (One or more errors occurred. (Operation timeout expired.)) ---> System.AggregateException: One or more errors occurred. (Operation timeout expired.) ---> System.TimeoutException: Operation timeout expired.
   at Microsoft.Azure.Devices.Client.InternalClient.<>c.<ApplyTimeoutTwin>b__64_2(Task`1 t)
   at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.Streaming.Edge.Bindings.EdgeHubClientWrapper.GetJobDefinition() in M:\FXAGENT-001\_work\1\s\Product\Source\Edge\Bindings\Adapter\EdgeHubClientWrapper.cs:line 105
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at ASA.Container.Edge.Program.Init() in M:\FXAGENT-001\_work\1\s\Product\Source\DotNetCore\Container.App.Edge\Program.cs:line 48
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at ASA.Container.Edge.Program.Main(String[] args) in M:\FXAGENT-001\_work\1\s\Product\Source\DotNetCore\Container.App.Edge\Program.cs:line 34
10/26/2018 14:21:21 - Module client initializing ...
10/26/2018 14:21:22 - Opened module client connection
10/26/2018 14:25:31 - Module client initializing ...

Через некоторое время я получил эту ошибку в своем edgeHub.

введите здесь описание изображения

Я сделал именно так, как сказано в документации. Есть идеи, почему я получаю эту ошибку?

ОБНОВЛЕНИЕ. Журналы можно найти по этой ссылке: https://drive.google.com/open?id=1ubUEjP17mYIvYI0aGGZHGU0JiCLUFhCS

ОБНОВЛЕНИЕ 2. Обновленные журналы можно найти по этой ссылке: https://drive.google.com/open?id=1YNIX8XZTSRFjgnyWUkhOLFELK6bmVFa_

https://drive.google.com/open?id=11u2Y9igwfZaqpC2oGOK85_WfZaqpC2OK85_WFZaqpC2OK85_WFZaqpC2OK85_WfZaqpC2

Когда я пытаюсь получить журналы заданий Edge Stream Analytics, я застреваю на пути получения ASA:

11/05/2018 18:17:01 - Module client initializing ...
11/05/2018 18:17:03 - Opened module client connection
11/05/2018 18:17:03 - ASA getting path: https://phiotrawdatadev.blob.core.windows.net/asacontaineredge/ASAEdgeJobs/f1a5947d-293e-45b1-94f5-54398f96f6f1/24ba1e30-da99-4ab5-bce1-fad437e30826/ASAEdgeJobDefinition.zip?sv=2017-04-17&sr=b&sig=qHz7PUnogKQpJaTyezppHO2zXe5lrXmUX42PJjiPqac%3D&st=2018-11-05T18%3A06%3A27Z&se=2021-11-05T18%3A16%3A27Z&sp=r

UPDATE3 Вот журналы для IoTEdgeJob (Stream Analytics) https://drive.google.com/open?id=1x0tb-6tu5X1dr8K_QEETiRwV6Git60PQ

Также это часть журналов для EdgeHub

2018-11-08 15:11:43.848 +00:00 [INF] - Set subscriptions from session state for myEdgeDevice/IoTEdgeJob
2018-11-08 15:11:44.913 +00:00 [INF] - Client myEdgeDevice/IoTEdgeJob in device scope authenticated locally.
2018-11-08 15:11:44.913 +00:00 [INF] - Successfully generated identity for clientId myEdgeDevice/IoTEdgeJob and username {username}/myEdgeDevice/IoTEdgeJob/?api-version=2018-06-30&DeviceClientType=Microsoft.Azure.Devices.Client%2F1.18.1%20%28.NET%20Core%204.6.26515.07%3B%20Linux%204.9.93-linuxkit-aufs%20%231%20SMP%20Wed%20Jun%206%2016%3A55%3A56%20UTC%202018%3B%20X64%29%20Microsoft.stream-analytics-on-iot-edge
2018-11-08 15:11:44.916 +00:00 [INF] - ClientAuthenticated, myEdgeDevice/IoTEdgeJob, 305bf5b5
2018-11-08 15:11:44.916 +00:00 [INF] - New device connection for device myEdgeDevice/IoTEdgeJob
2018-11-08 15:11:44.917 +00:00 [WRN] - Closing connection for device: myEdgeDevice/IoTEdgeJob, Microsoft.Azure.Devices.Edge.Hub.Core.MultipleConnectionsException: Multiple connections detected for device myEdgeDevice/IoTEdgeJob,
2018-11-08 15:11:44.917 +00:00 [INF] - Disposing MessagingServiceClient for device Id myEdgeDevice/IoTEdgeJob because of exception - Microsoft.Azure.Devices.Edge.Hub.Core.MultipleConnectionsException: Multiple connections detected for device myEdgeDevice/IoTEdgeJob
2018-11-08 15:11:44.917 +00:00 [INF] - Closing device proxy for device Id myEdgeDevice/IoTEdgeJob
2018-11-08 15:11:44.917 +00:00 [INF] - Bind device proxy for device myEdgeDevice/IoTEdgeJob
2018-11-08 15:11:44.917 +00:00 [INF] - Binding message channel for device Id myEdgeDevice/IoTEdgeJob
2018-11-08 15:11:44.926 +00:00 [INF] - Processing subscription TwinResponse for client myEdgeDevice/IoTEdgeJob.
2018-11-08 15:11:44.926 +00:00 [INF] - Processing subscription DesiredPropertyUpdates for client myEdgeDevice/IoTEdgeJob.

[ОБНОВЛЕНИЕ 4] Доступна предварительная версия 13 Stream Analytics. Новые журналы https://drive.google.com/open?id=1y3ioEoQaHfPxaek0


person MAK    schedule 26.10.2018    source источник
comment
Вы получили исключение из-за тайм-аута инициализации клиента, что могло быть связано с проблемой сети. Не могли бы вы также предоставить журналы с edgeHub? Спасибо!   -  person Julia    schedule 27.10.2018
comment
@Юлия. Я добавил журналы.   -  person MAK    schedule 29.10.2018


Ответы (1)


Из предоставленных вами журналов модуля и журналов edgehub видно, что модуль ASA застрял в получении свойства двойника устройства для определения задания. Edgehub также имеет несколько подобных исключений. похоже, у модулей возникла проблема с подключением к модулю-двойнику. Не могли бы вы проверить, может ли ваш порт 443, 5671 и 8883 принимать исходящий трафик?

person Julia    schedule 31.10.2018
comment
Я попытался связаться с нашей сетевой командой, и они попытались решить эту проблему. Мне все еще не удалось запустить потоковый модуль на IoT Edge. Я предоставил ссылку на последние журналы в вопросе. - person MAK; 05.11.2018
comment
Из вашего последнего журнала проблема с двойным подключением кажется решенной, потому что модуль получил задание SASUrl. не могли бы вы поделиться версией asa-образа (имя образа), которое вы используете? Он застрял при получении задания из BLOB-объекта. - person Julia; 07.11.2018
comment
microsoft / azureiotedge-azure-stream-analytics: 1.0.0-preview012 - person MAK; 08.11.2018
comment
Я добавил журналы из задания Stream Analytics и EdgeHub. - person MAK; 08.11.2018
comment
Из журнала iotedgejob имеет проблему с загрузкой задания из большого двоичного объекта, я попытался проверить связь с SASUrl из прикрепленного журнала и получил исключение ContainerNotFound. Не могли бы вы дважды проверить, что контейнер, в котором вы опубликовали свою работу, все еще действителен? Спасибо! - person Julia; 12.11.2018
comment
Я удалил этот контейнер. Ре все сделал. Но я снова получаю ошибку. Предварительная версия 013 также доступна для IoTEdgeJob. - person MAK; 12.11.2018
comment
В некоторых случаях могут возникнуть проблемы с получением большого двоичного объекта Azure Storage с вашего устройства. Вы хотите проверить, установлены ли на вашем компьютере соответствующие центры сертификации. Если это не решит вашу проблему, попробуйте проверить, правильно ли сервер разрешает IP-адрес для учетной записи хранения, если это не 52.179.144.64 (проверено с моего сервера), вы можете добавить сопоставление в файл хоста. - person Julia; 14.11.2018