【发布时间】:2021-01-31 09:43:27
【问题描述】:
我正在使用 Python 包 awsiotsdk 从 Python 环境设置 AWS IoT MQTT 连接。我已经按照这个例子https://github.com/aws/aws-iot-device-sdk-python-v2/blob/main/samples/pubsub.py 进行了演示发布/订阅工作,所以我有所有的部分。
与演示的唯一区别是,在我的环境中,证书都驻留在内存而不是磁盘中。一个 hack 解决方案是将它们写入磁盘上的临时位置并按照示例进行操作。
我宁愿简单地实例化适当的 AWS 身份验证类,它可以接受类似文件的对象而不是字符串文件名。然而,遵循代码只会让我陷入 c-binding 死胡同。
如何使用内存证书创建 MQTT 客户端?
【问题讨论】:
-
查看
io.StringIO或io.BytesIO- 您可以将字符串或字节写入这些(即内存中),它们看起来像一个文件对象。 -
是的,但是
awsiotsdk不接受类似文件的对象,它只接受文件名字符串。也许是因为它交给了引擎盖下的一些 C api。至少我能说的最好。我是 SDK 新手,所以我需要更正需要更正的地方。
标签: python-3.x amazon-web-services aws-iot