Миграция мультимедийных блогов EPiserver в учетную запись хранения Azure - PullRequest
0 голосов
/ 19 февраля 2019

В настоящее время я изучаю вопрос переноса BLOB-объектов мультимедиа EPiServer 11.10.1 из общего ресурса DFS Windows в учетную запись хранилища Azure.

Используется следующая конфигурация:

web.config (Примечание: отображаются только соответствующие разделы)

<dependentAssembly>
<assemblyIdentity name="EPiServer.Azure" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.4.4.0" newVersion="9.4.4.0" />
</dependentAssembly>

<episerver.framework updateDatabaseSchema="false">
<clientResources debug="false" />
<appData basePath="" />
<scanAssembly forceBinFolderScan="true" />

<blob defaultProvider="azureblobs">
<providers>
<add name="azureblobs" type="EPiServer.Azure.Blobs.AzureBlobProvider,EPiServer.Azure" connectionStringName="EPiServerAzureBlobs" container="mycontainer"/>
</providers>
</blob>

connectionStrings.config (Примечание: отображаются только соответствующие разделы)

<connectionStrings>
<clear />
<add name="EPiServerAzureBlobs" connectionString="DefaultEndpointsProtocol=https;AccountName=storage00001;AccountKey=NuJBkcpuCbPKH+lcw65OwELkJ1nptJ7CY2Hn4MqNwqwL4WY4C3caSSSJYgH91J6MH9qZPPOOSbAzFZrNk8eIHt6PA==" />
</connectionStrings>

При запуске сайта в окне отображается следующая ошибкажурналы:

(Примечание: показаны только соответствующие разделы)

2019-02-19 13:12:41,875 [94] [94a2e50f-06c6-4ddc-a6f7-2d1c43b0735d] ERROR 
EPiServer.Global: Unhandled exception in ASP.NET
Microsoft.WindowsAzure.Storage.StorageException: The remote server returned 
an error: (404) Not Found. ---> System.Net.WebException: The remote server 
returned an error: (404) Not Found.
at System.Net.HttpWebRequest.GetResponse()
Request Information
RequestID:5e731c27-d01e-00cc-4254
RequestDate:Tue, 19 Feb 2019 13:12:41 GMT
StatusMessage:The specified blob does not exist.

Я не вижу ошибки, из-за которой медиаоблок (изображение) не отображается.

Уже опробовано следующее, но безрезультатно:

  • Разрешения: учетная запись хранилища Azure - BLOB-объектов - содержит (анонимный доступ на чтение для контейнеров и BLOB-объектов)
  • Разрешения:Мультимедийный блок (изображения) доступен в браузере независимо от платформы EpiServer
  • Служба поддержки Microsoft подтвердила, что не существует известных проблем, влияющих на учетную запись хранения

Если это имеет значение, сам EpiServer работает на выделенной виртуальной машине (IaaS) и использует Azure SQL для баз данных.

  • Нужно ли в appData basePath = "" содержать значение дляработать с учетной записью хранилища Azure?

Приветствуются любые предложения о том, что может (или я делаю) неправильно.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 23 февраля 2019

Спасибо за предложенный ответ, Тед, но решение было более простым.Я отправил аналогичный вопрос на официальные форумы EPiServer:

https://world.episerver.com/forum/developer-forum/-Episerver-75-CMS/Thread-Container/2019/2/migrating-to-azure-storage-accounts-media-blob---image---not-displayed-in-browser/

Это был просто вопрос добавления суффикса к строке подключения:

;EndpointSuffix=core.windows.net

ОднакоЯ прочитал предложения, аналогичные тем, которые вы ответили во время исследования, поэтому я думаю, что пользователям будет полезно поискать аналогичную проблему, чтобы ваш ответ был проголосован.

0 голосов
/ 22 февраля 2019

404 - потому что вы изменили провайдера BLOB-объектов без переноса реальных BLOB-объектов.Таким образом, когда запрашивается существующий большой двоичный объект (на который есть ссылка в базе данных Episerver), он больше не обнаруживается.

Вас также может заинтересовать пакет преобразователя BLOB-объектов, упомянутый здесь: Как переместить большие двоичные объекты из App_Dataпапка сайта episerver cms в хранилище BLOB-объектов Azure, размещенное в облаке Azure

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...