Azure / azure-iot-hub-python

Azure IoT Hub Data Plane Python SDK
MIT License
15 stars 11 forks source link

Direct method invocation fails with device Not found but works from Azure portal #1

Open srinikrish22 opened 2 years ago

srinikrish22 commented 2 years ago

I have been trying to get the code sample for Direct Method invocation from the samples. I am trying to use this sample for my backend code.

My IOT device is an x64 Virtual Machine on Azure connected to IoT hub using the symmetric keys method in the official documentation. The main.py in the IoT edge module is this code sample from the the repository. The IoT device is running azure-iot-device version 2.9.0 and azure-core 1.20.1. The logs from edgeAgent and edgeHub do not report any connection errors on the IoT device.

I have already seen an older version of the sample working but now I have been trying to get the direct method call sample working, but always get an error: msrest.exceptions.HttpOperationError: Operation returned an invalid status code 'Not Found'

But, when I try to trigger the direct method from the Azure Portal, it works completely fine and I get the response from the registered method shown on the response section on the portal. It also works from VS Code.

I am using the "iothubowner" Connection string for the direct method invocation (backend code) and the calling machine is a local laptop with a conda environment with azure-iot-hub version 2.6.0 installed. Any module related calls with the IoTHubRegistryManager object (created with iothubowner connection string inside the sample) returns the same error.

On the IoT device side, all connections are okay and the device connection is not showing any errors.

I hope I have provided all the required information and it is completely surprising for me that the code sample that was working until recently does not work anymore. I really appreciate the support.

anthonyvercolano commented 2 years ago

@srinikrish22

I assume that when you are testing this edge module is up and running?

srinikrish22 commented 2 years ago

@anthonyvercolano ofcourse, the edge module is running. It even works when i try to test a direct method call from the portal. I have slightly modified the method response such that i get some custom text in the payload and this is received properly and displayed on the Azure portal and also VS Code.

cartertinney commented 2 years ago

@srinikrish22 Right now we are working internally to get this issue addressed, we will update when there is more information

srinikrish22 commented 2 years ago

@cartertinney Thanks a lot for your response. Can I treat this as a known issue now? I mean then it would be possible to get a fix for this at some point of time.

cartertinney commented 2 years ago

@srinikrish22

I can't tell you when this will be addressed, but we will be looking into it. Please leave this GitHub issue open and we will update when we have something to report.

kmfriedt commented 1 year ago

Is this issue currently being worked on? Is there a time line for when it will be resolved?

anthonyvercolano commented 1 year ago

@kmfriedt Sorry, responded to the wrong bug. Let me get back to you on this.