javascript - 使用 Cognito 并为 AWS IOT 创建策略时,iot:ClientId 策略变量的值是多少?
问题描述
我正在尝试为 AWS IOT 创建动态策略。
我正在通过使用 MQTT Over the WebSocket Protocol 的开放物联网策略成功连接到物联网,如下所示: https ://docs.aws.amazon.com/iot/latest/developerguide/protocols.html
以下是策略变量: https ://docs.aws.amazon.com/iot/latest/developerguide/policy-variables.html
当建立连接时,IOT 策略中iot:ClientId的值是多少?请记住,我已使用 cognito 会话令牌等正确连接到客户端。或者,有没有办法可以实时测试这些策略以查看iot:ClientId的值是什么?
这或多或少是我创建客户的方式。
let client = new MqttClient(() => {
const url = v4.createPresignedURL(
'GET',
AWS_IOT_ENDPOINT_HOST.toLowerCase(),
'/mqtt',
'iotdevicegateway',
crypto.createHash('sha256').update('', 'utf8').digest('hex'),
{
'key': AWS_ACCESS_KEY,
'secret': AWS_SECRET_ACCESS_KEY,
'protocol': 'wss',
'expires': 15
}
);
return websocket(url, [ 'mqttv3.1' ]);
});
解决方案
iot:ClientId 的值是你在创建mqtt连接时指定的客户端Id。
https://docs.aws.amazon.com/iot/latest/developerguide/basic-policy-variables.html
推荐阅读
- javascript - Angular 2+,在下拉更改读取值和加载数据 - json 文件
- angular - ag-grid ng build --prod 失败:超出最大调用堆栈大小
- r - ggplot小提琴图,按组指定不同的颜色?
- python - 如何设置 Django `Debugger` 时间?
- azure - Azure 容器实例一次又一次地失败
- vb.net - PNG文件的每像素比特成本
- html - 为什么填充和边距不起作用?
- javascript - Javascript,将地址字符串传递给 MapQuest API 不起作用
- javascript - 实现无节点的工作箱
- php - 存储过程计算每个部门每天 10% 的休假配额