URL-адреса хранилища файлов Azure не работают с первого раза

Справочная информация: я перемещаю устаревшее приложение, которое хранило изображения и документы на локальном диске на веб-сервере, в сторону веб-приложения PaaS Azure и использую хранилище файлов Azure для хранения и обслуживания файлов.

Вопрос:

Я заметил, что иногда URL-адрес для загрузки файла не удается в первый раз, либо ссылки на изображения на странице не работают до тех пор, пока я не обновлюсь, либо загрузка не выполняется в первый раз, а затем преуспевает в следующий раз. Я предполагаю, что это связано с какой-то проблемой с тем, как работает хранилище файлов Azure, и оно не запущено или что-то в этом роде. Единственная последовательная нить, которую я заметил, это то, что это, кажется, происходит один или два раза утром, когда я впервые работаю с этим. Я предполагаю, что, возможно, моя учетная запись должна быть увеличена или что-то в этом роде, поэтому она не готова к первому раунду. Я попытался придумать шаги для воспроизведения, но не смог воспроизвести симптом. Если моя догадка верна, мне придется подождать до завтрашнего утра, чтобы попробовать. Я опубликую более подробную информацию об ошибке, если / когда смогу.

    var fullRelativePath = $"{_fileShareName}/{_fileRoot}/{relativePath}".Replace("//","/");
    return $"{_fileStorageRootUrl}{fullRelativePath}{_fileStorageSharedAccessKey}";

Спасибо!


person Dan Csharpster    schedule 13.07.2017    source источник
comment
Я вижу, что вы используете подпись общего доступа. Есть ли у этого SAS эффективная дата начала? Если есть дата начала и это значение является текущим временем, проблема может возникнуть из-за так называемой асимметрии часов (по сути, есть разница между временем на вашем компьютере и временем в хранилище Azure).   -  person Gaurav Mantri    schedule 13.07.2017
comment
Я в основном создал один в прошлом месяце, который работает несколько лет, так как мы еще не выяснили, что мы хотим установить для этих значений. se = 2025-06-16T18: 59: 35Zst = 2017-06- 16T10: 59: 35Z Вы говорите, что их часы могут подумать, что мое время начала SAS еще не наступило? Я установил его еще в июне, так что это не должно быть проблемой. Спасибо хоть! Есть другие мысли?   -  person Dan Csharpster    schedule 13.07.2017
comment
Учитывая, что дата начала - июнь, я не думаю, что это проблема. Когда эта ошибка произойдет в следующий раз, не могли бы вы скопировать этот URL-адрес и вставить его в адресную строку браузера. Вы должны увидеть подробное сообщение об ошибке. Пожалуйста, обновите свой вопрос этим сообщением об ошибке. Если возможно, также сообщите полный URL-адрес (очевидно, вы можете изменить имя учетной записи в URL-адресе, которым вы делитесь).   -  person Gaurav Mantri    schedule 13.07.2017
comment
Есть обновления? Вы пробовали предложения @GauravMantri? Вставьте URL-адрес в адресную строку браузера, чтобы получить подробное сообщение об ошибке, и разместите его в этой ветке для дальнейшего обсуждения.   -  person Amor    schedule 18.07.2017
comment
Возникла аналогичная проблема ... мой URL-адрес изображения с SAS Signature иногда работает, а иногда, когда я постоянно обновляю свою веб-страницу ... Я получаю неработающую ссылку.   -  person slaveCoder    schedule 08.10.2020


Ответы (1)


Так что прошло какое-то время, но я помню, что смог решить эту проблему, поэтому я напишу это по памяти. Чтобы получить доступ к изображению из файлового хранилища через URL-адрес, вам необходимо использовать токен SAS. У меня уже было, поэтому я был озадачен этим. Я не уверен, что это идеальное решение, но в итоге я просто добавил несколько случайных символов в конец URL-адреса после токена SAS, и это заставило его работать. Я предполагаю, что это каким-то образом сделало его уникальным, что, возможно, помогло ему обойти какой-то механизм кеширования, который работал беспорядочно.

Посмотрю, смогу ли выкопать рабочий пример из своего архива. Если да, я добавлю его к этому ответу.

person Dan Csharpster    schedule 08.10.2020