我使用Azure IoTHub从我的设备接收数据。 为了授权这些设备在我的iothub上发送数据,我为每个设备生成并指定一个SAS令牌。
在我的测试期间,即使在指定1个月的到期时间之后,我也必须在第一个到期之前重新生成新的SAS令牌。
我想知道IotHub接受的最长到期时间是多少? 是否有某些情况在到期日之前取消SAS令牌?
答案 0 :(得分:0)
从Azure Device Explorer中,最大值为365天。
令牌似乎无法取消,但您可以将指定的设备禁用为mitigates the risks of using tokens with long expiry times。
答案 1 :(得分:0)
如果您指定的SAS令牌从现在开始有一个月的'se',则NOTHING将使其不适合。我可能会建议您获取sas令牌的“se”值并将其插入到执行utc计算的网页中。例如,https://www.mbari.org/utc-calculator是我过去使用过的。
将数字插入UTC秒旁边的框中,然后点击重新计算。到期时间应列在上面。
我提到这一点,以便您可以检查是否已经适当地生成了这个。
一个更有趣的问题是,为什么您认为需要生成新的SAS令牌?您是否收到遥测请求中的错误?可能不是您的令牌已过期。另外你用什么协议与集线器通信?
答案 2 :(得分:0)
据推测,您没有使用Microsoft SDK将设备连接到Azure IoT中心。
如果您愿意在代码中生成SAS令牌,那么您可以在C ++中找到有关如何为Azure IoT中心执行此操作的示例:https://github.com/markrad/Azure-IoT-ESP8266。
检查.ino文件以获取如何使用它的示例。代码在该项目的cpp,c和h文件中实现。