Срок действия токена SAS концентратора событий Azure не истекает

Я создал токен SAS для концентратора событий Azure, например.

let token =
    SharedAccessSignatureTokenProvider.GetSharedAccessSignature(
        "{myPolicyName}",
        "{myPolicyKey}",
        "https://{serviceBusName}.servicebus.windows.net/{eventHubName}/publishers/{publisherName}",
        (TimeSpan(0, 0, 5)))

И затем строка подключения для .NET SDK с ним: -

let connectionString =
    ServiceBusConnectionStringBuilder.CreateUsingSharedAccessSignature(
        Uri "sb://{serviceBusName}.servicebus.windows.net/",
        "{eventHubName}",
        "{publisherName}",
        token)
EventHubSender.CreateFromConnectionString(connectionString).Send(myData)

Однако даже по прошествии 5 секунд я все еще могу отправлять данные с помощью токена.


person Isaac Abraham    schedule 23.11.2015    source источник


Ответы (2)


OK. В конце концов, он истекает, но не сразу после указанного времени.

person Isaac Abraham    schedule 23.11.2015

SAS зависит от синхронизации часов. Если есть какие-либо различия между местом, где вы создаете метку времени, и концентратором событий, время может не совпадать так, как вы ожидаете.

В качестве обходного пути иногда люди буферизуют начало / конец SAS на короткий промежуток времени, чтобы учесть дрейф часов.

person David Makogon    schedule 23.11.2015