我有pubSub代码示例,所以我可以发布到MQTT主题。而且我的理解是,我只需要将主题更改为"mything/shadow/update"
,阴影就会更新,但事实并非如此。
我当前的影子状态如下所示:
{
"desired":{
"welcome": "aws-iot"
},
"reported":{
"welcome": "aws-iot"
}
}
影子不更新的原因可能有多种。这里可能有一些。
- 在 Cognito 中,对于经过身份验证和未经身份验证的池,更新/获取影子都没有适当的权限
- 认知池 ID 和物联网的 ARN 不正确
- 检查 IAM 策略和以下策略给 Cognito 用户,同样对于 Cognito 用户,您必须附加 AttachPrincipalPolicy 策略,以授予他们获取/更新影子的适当权限。以下策略应具有"认知身份验证"和"取消身份验证"角色。
政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iot:AttachPrincipalPolicy"
],
"Resource": [
"*"
]
}
] }
$aws/things/thing_name/shadow/update/accepted
更改并将数据发布到影子$aws/things/thing_name/shadow/update
还要检查您是否能够连接到阴影。
{
"state":{
"desired":{
"welcome": "aws-iot"
}
}
}
尝试在影子/更新中像这样发送。 为我工作。