Mqtt连接卡在重新连接上

时间:2017-02-17 17:30:18

标签: android amazon-web-services iot amazon-cognito

我正在尝试按照https://github.com/awslabs/aws-sdk-android-samples/tree/master/AndroidPubSubWebSocket上的指南使用Android应用程序连接到Amazon IoT服务。

我已将CUSTOMER_SPECIFIC_ENDPOINT更改为AWS IoT控制台的“设置”部分中的ENDPOINT值。此外,我已将COGNITO_POOL_ID值更改为 Amazon Cognito入门下的POOL_ID。

不幸的是现在每当我尝试连接到连接时,即使使用上面的repo中的示例代码,连接状态状态也会继续尝试重新连接而不提供任何 throwable 对象。

1 个答案:

答案 0 :(得分:0)

在IoT事件策略中,您是否提供了连接,订阅和发布的适当权限。该选项可在AWS IoT-> Security-> Policy-> Create Policy中找到。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iot:*",
      "Resource": "arn:aws:iot:us-east-2:293751794947:topic/replaceWithATopic"
    }
  ]
}

以上政策提供对用户的所有访问权限。另外,请确保您创建的池适用于未经身份验证的用户。

<强>更新 在IAM策略中。检查您是否已授予Cognito池适当的权限。如果没有将IoTFullAccess策略附加到池中。它将解决问题。