我正在尝试在AWS IoT和我的React JS APP之间建立连接。
我遵循了本教程(https://medium.com/serverlessguru/serverless-real-time-reactjs-app-aws-iot-mqtt-17d023954045),但我不清楚如何将Cognito身份ID附加到AWS IoT策略。
在进行所有调查期间,我发现此过程必须通过命令行完成。
在上面的文章中,这些过程是通过以下命令行完成的:
•请注意,此命令中必须考虑“ identity_pool_id”。
在aws文档(https://aws-amplify.github.io/docs/js/pubsub)中,它说要在命令行中写入“ identity_id”:
当我在命令行中使用“ identity_pool_id”,并尝试从AWS IoT发布消息时,出现以下错误:
当我在命令行中使用“ identity_id”时,我可以成功执行AWS IoT与前端之间的通信:
问题在于,“ identity_id”对于每个用户而言都是不同的代码。考虑到我的应用程序中将会有很多用户,所以我不知道如何执行此任务。
•我是否在考虑使用“ identity_id”而不是“ identity_pool_id”的正确过程?
•如果是,每当我在应用程序中登录新用户时,如何将Cognito ID自动附加到AWS IoT策略?
•在AWS IoT策略中附加数千个Cognito证书是否有问题?
答案 0 :(得分:0)
以下答案按时间顺序对应于三个问题。
对于#3,来自AWS的相关代码段(参考-https://aws.amazon.com/iot-core/faqs/,在其中找到问:什么是简化的权限管理?)
“您可以为多个设备共享一个通用策略。通用策略可以在同一类别的设备之间共享,而不必为每个设备创建唯一的策略。例如,将“序列号”引用为变量,可以附加到相同型号的所有设备上。当连接相同序列号的设备时,策略变量将自动替换为其序列号。”