Modules IoT Edge Python
Utilisez cette compétence pour concevoir, implémenter et valider des modules IoT Edge basés sur Python pour le traitement de télémétrie, l'inférence locale, la traduction de protocoles et l'intégration edge-to-cloud.
Quand l'utiliser
Utilisez cette compétence pour des demandes comme :
- "quiero crear un modulo Python para IoT Edge"
- "como despliego modulos edge con manifest"
- "necesito filtrar/agregar telemetria antes de subirla"
- "como manejo desconexiones y reintentos en edge"
Révision obligatoire de la documentation
Avant de recommander un comportement runtime ou des décisions de déploiement, consultez :
Vérifications minimales :
- Architecture runtime et cycle de vie des modules.
- OS hôte supportés et versions.
- Modèle de déploiement et flux de configuration.
- Conseils de version/release actuels.
Si la documentation ne peut pas être récupérée, procédez avec des hypothèses explicites et signalez-les clairement.
Références officielles Python et bonnes pratiques (obligatoires)
Avant de proposer des détails d'implémentation Python, consultez les sources officielles Python :
- https://www.python.org/
- https://docs.python.org/3/
- https://docs.python.org/3/reference/
- https://docs.python.org/3/library/
- references/python-official-best-practices.md
Privilégiez la documentation officielle par rapport aux snippets communautaires, sauf s'il y a une raison de compatibilité spécifique pour dévier.
Objectifs
- Livrer une architecture de module et un plan d'implémentation axés sur la production.
- Assurer une messagerie edge fiable sous variabilité réseau.
- Fournir des artefacts de déploiement, d'observabilité et de validation.
Cas d'usage des modules
- Adaptateur de protocole (série/Modbus/OPC-UA vers format de message IoT).
- Enrichissement et normalisation de télémétrie.
- Détection d'anomalies locales ou inférence.
- Orchestration de commandes et contrôle d'actionneurs locaux.
Flux de livraison
1) Contrat et interfaces
Définissez :
- Entrées et sorties des modules.
- Schéma de message et politique de versioning.
- Routes et priorités pour télémétrie normale vs critique.
- Propriétés désirées utilisées pour la configuration dynamique.
2) Runtime et empaquetage
Spécifiez :
- Version runtime Python cible.
- Stratégie d'image conteneur (image de base, empreinte réduite, hygiène CVE).
- Profil de ressources (limites CPU/mémoire).
- Vérifications de démarrage et de santé.
3) Conception de fiabilité
Implémentez et validez :
- Tentatives avec backoff exponentiel et jitter.
- Dégradation gracieuse en cas d'échecs en amont.
- Stratégie de mise en file d'attente locale si nécessaire.
- Traitement idempotent pour les messages rejoués.
4) Contrôles de sécurité
Exigez :
- Pas de secrets en texte clair dans le code ou manifest.
- Comportement du module avec privilèges minimaux.
- Transport sécurisé et gestion de chaîne de certificats de confiance.
- Traçabilité pour la gestion des commandes et les changements d'état.
5) Déploiement et opérations
Définissez :
- Manifests de déploiement spécifiques à l'environnement.
- Stratégie de déploiement (pilote, par étapes, large).
- Critères de rollback.
- SLOs et conditions d'alerte.
Réutiliser d'autres compétences
Le cas échéant, combinez avec :
azure-smart-city-iot-solution-builderpour l'architecture au niveau de la plateforme.appinsights-instrumentationpour les approches d'instrumentation de télémétrie.azure-resource-visualizerpour les diagrammes d'architecture et la cartographie des dépendances.
Utilisez également references/python-official-best-practices.md comme critères de qualité de base pour la conception et les conseils d'implémentation de modules.
Sortie obligatoire
Fournissez toujours :
- Résumé de conception du module (objectif, entrées, sorties).
- Modèle de déploiement (image, manifest, paramètres env).
- Stratégie de fiabilité et gestion d'erreurs.
- Checklist de sécurité et opérations.
- Matrice de test (fonctionnel, chaos, performance, rollback).
Modèle de sortie
- Contexte et hypothèses
- Architecture du module
- Déploiement et configuration
- Fiabilité, sécurité, observabilité
- Plan de validation et déploiement
Garde-fous
- Ne recommandez pas un déploiement direct en production sans phase pilote.
- N'intégrez pas de secrets dans les Dockerfiles, sources ou manifests.
- N'omettez pas les health probes, le comportement de redémarrage et les critères de rollback.