أكد عن طريق تغيير [] إلى [x] أدناه للتأكد من أنه خطأ:
صف الخلل
لا يمكن الاتصال بـ MQTT عبر اتصال Websocket ، على الرغم من أن MQTT العادي يعمل بشكل جيد.
رقم إصدار SDK
awscrt == 0.5.13
awsiotsdk == 1.0.6
النظام الأساسي / نظام التشغيل / الجهاز
ماك
للتكاثر (السلوك الملحوظ)
سلوك متوقع
للعمل بسلاسة قدر الإمكان
السجلات / الإخراج
يمكن العثور على السجلات الكاملة هنا
python pubsub.py --endpoint xxxxxxxx-ats.iot.us-east-2.amazonaws.com --root-ca AmazonRootCA1.pem --cert Certificate.crt --key PrivateKey.pem.key --use-websocket --signing-region us-east-2 --verbosity Debug
سياق إضافي
عند الاتصال بدون مقبس ويب ، فإنه يعمل كما هو متوقع.
يمكنك إغلاق هذا ، لقد كانت مشكلة في الأذونات المتعلقة بأذونات مستخدم IAM ، لذلك بعض التعليقات:
awscrt.exceptions.AwsCrtError: AwsCrtError(name='AWS_ERROR_MQTT_UNEXPECTED_HANGUP', message='The connection was closed unexpectedly.', code=5134)
مرحبًا ، آسف ، لم أفهم كيفية حل المشكلة. هل يمكنك شرح المزيد؟ لدي نفس المشكلة عند استخدام نموذج shadow.py وأنا مبتدئ
يمكن أن يكون هناك العديد من الأسباب لانقطاع الاتصال غير المتوقع ، ولكن victorct-pronto أصلح مشكلته باستخدام سياسة IAM فائقة التساهل تسمى AWSIOTFullAccess. تبدو هكذا:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iot:*"
],
"Resource": "*"
}
]
}
بعد الحصول على الكود الخاص بك يعمل ، تأكد من تقليل أذونات السياسة إلى ما هو مطلوب فقط. أيضًا إذا كنت لا تزال تواجه مشكلة في تشغيله ، فأوصيك بفتح إصدار جديد يصف ما جربته وأين تواجه مشكلة.