【发布时间】:2021-03-12 07:45:05
【问题描述】:
使用 .Net SDK for IoT,有没有办法设置 OPTION_SAS_TOKEN_LIFETIME (https://github.com/Azure/azure-iot-sdk-c/blob/master/iothub_client/inc/iothub_client_options.h#L36)?
我知道我可以使用以下方法生成令牌并拥有进程:
var sasBuilder = new SharedAccessSignatureBuilder();
sasBuilder.Key = "jzaOR************F2uT1c=";
sasBuilder.Target = "k****y.azure-devices.net" + "/devices/" + "dotNet";
sasBuilder.TimeToLive = TimeSpan.FromMinutes(120);
var auth = new DeviceAuthenticationWithToken("dotNet", sasBuilder.ToSignature());
deviceClient = DeviceClient.Create("k****y.azure-devices.net", auth, TransportType.Mqtt);
但这会假设我拥有 SAS 令牌到期。
我也看到可以在C SDK中设置:(https://github.com/Azure/azure-iot-sdk-c/issues/1182)
【问题讨论】:
-
澄清一下,在您的场景中,您的应用程序不会生成令牌,而只是在 de DeviceClient 中使用它,而您正在寻找一种方法来告诉 DeviceClient 令牌的生命周期是什么?跨度>
-
是的,使用原生 Azure IoT “DeviceClient”,它在幕后解决 SAS 令牌更新,我想设置更新时间。默认是 1 小时,我想改成 24 小时。
标签: azure-iot-hub azure-iot-sdk