Azure IoT Python: ρύθμιση MQTT μέσω WebSockets μέσω διακομιστή μεσολάβησης
Ρυθμίστε τις υποστηριζόμενες επιλογές διακομιστή μεσολάβησης του πελάτη Azure IoT Python και επιλέξτε MQTT μέσω WebSockets συνειδητά.
Σε μια εφαρμογή που χρησιμοποιεί ήδη το Azure IoT Python SDK, επιλέξτε μαζί τη μεταφορά MQTT και τις επιλογές διακομιστή μεσολάβησης. Αυτή η ρύθμιση επιλέγει MQTT μέσω WebSockets:
proxy = ProxyOptions(proxy_type='HTTP',
proxy_addr='203.0.113.10', proxy_port=8080)
client = IoTHubDeviceClient.create_from_connection_string(
connection_string, websockets=True, proxy_options=proxy
)
Οι κλάσεις προέρχονται από τη τεκμηριωμένη διεπαφή του SDK. Δώστε τη συμβολοσειρά σύνδεσης της συσκευής μέσω της μυστικής ρύθμισης της εφαρμογής και αντικαταστήστε το παράδειγμα τελικού σημείου διακομιστή μεσολάβησης. Για ένα δημόσια προσβάσιμο τελικό σημείο IoT Hub όπου επιτρέπονται δημόσιοι μεσολαβητές, η λίστα διακομιστών μεσολάβησης HTTP προσφέρει υποψηφίους για κεντρικό υπολογιστή και θύρα HTTP· επιβεβαιώστε ότι η υπηρεσία επιτρέπει τη διαδρομή προς τον προορισμό. Πρόκειται για ρητές επιλογές του SDK· ένας διακομιστής μεσολάβησης που λειτουργεί στο πρόγραμμα περιήγησης ή μια γενική ρύθμιση του λειτουργικού συστήματος δεν καθορίζει τη διαδρομή του πελάτη της συσκευής.
Ελέγξτε την αναφορά ProxyOptions για τον επιλεγμένο τύπο διακομιστή μεσολάβησης. Διακρίνει πεδία HTTP, SOCKS4 και SOCKS5 και τεκμηριώνει τη συμπεριφορά ονόματος χρήστη/κωδικού ανά τύπο, συμπεριλαμβανομένων των περιορισμών για HTTP. Η ύπαρξη ενός πεδίου δεν εγγυάται κάθε μηχανισμό ελέγχου ταυτότητας.
Ο λογαριασμός του διακομιστή μεσολάβησης και η ταυτότητα της συσκευής εξουσιοδοτούν διαφορετικά στάδια. Μια απορριφθείσα ανταλλαγή μέσω μεσολαβητή μπορεί να σταματήσει τη σύνδεση πριν ο broker αξιολογήσει το διαπιστευτήριο της συσκευής. Η επιλογή WebSockets αφήνει επίσης σε ισχύ τους περιορισμούς προορισμού και πρόσβασης του διακομιστή μεσολάβησης.
Καταγράψτε τη μεταφορά, τον προορισμό και το πρώτο στάδιο που απέτυχε. Ο πελάτης του SDK, η υλοποίηση του διακομιστή μεσολάβησης και η επιτρεπόμενη διαδρομή πρέπει να συμφωνούν· ούτε ένα επιτυχημένο αίτημα προγράμματος περιήγησης ούτε ο γενικός ισχυρισμός ότι το SOCKS μεταφέρει κάθε πρωτόκολλο παρέχει αυτή τη συμβατότητα.