gpt4 book ai didi

azure - 来自 InvokeDeviceMethodAsync 的间歇性 501 响应 - Azure IoT

转载 作者:行者123 更新时间:2023-12-02 07:32:53 26 4
gpt4 key购买 nike

InvokeDeviceMethodAsync 间歇性地(最近才)在响应中返回状态代码 501(响应正文为空)。

我理解这意味着未实现。然而,该方法已实现 - 事实上,这是唯一的方法。该设备正在使用 Microsoft.Azure.Devices.Client(1.32.0-preview-001,因为我们还预览了设备流功能)。

设置,设备端

这都是在启动时调用的。此后,有些调用成功,有些调用失败。

var deviceClient = DeviceClient.CreateFromConnectionString(connectionDetails.ConnectionString, TransportType.Mqtt);

await deviceClient.SetMethodHandlerAsync("RedactedMethodName", RedactedMethodHandler, myObj, cancel).ConfigureAwait(true);

调用,服务器端

var methodInvocation = new CloudToDeviceMethod("RedactedMethodName")
{
ResponseTimeout = TimeSpan.FromSeconds(60),
ConnectionTimeout = TimeSpan.FromSeconds(60)
};

var invokeResponse = await _serviceClient.InvokeDeviceMethodAsync(iotHubDeviceId, methodInvocation, CancellationToken.None);

我尝试过什么?

  • 检查代码、方法注册
  • 正在查找有关 501 的文档:找不到任何
  • 查看库的源代码 ( https://github.com/Azure/azure-iot-sdk-csharp/search?q=501 )。只是看起来“未实现”,即没有注册
  • 从 Azure 门户启用分布式跟踪,采样率为 100%。等了很长时间,但仍然显示“设备未与所需设置同步”
  • 探索 DeviceClient 对象上的智能感知。没有太多!

接下来做什么?

嗯,我想诊断一下。

  • 501 响应可能有哪些原因?
  • 是否有诊断工具,例如日志记录,我可以访问吗?

最佳答案

看起来,在 responseTimeoutInSeconds 值内该方法没有响应,因此出于测试目的(以及真正的响应错误),请尝试使用 REST API调用设备方法。

您应该收到描述为 here 的 http 状态代码.

关于azure - 来自 InvokeDeviceMethodAsync 的间歇性 501 响应 - Azure IoT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68488375/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com