Я только начал создавать сайт Drupal с помощью Azure. Я установил Модуль Azure Blob и все работает правильно (локальная среда), включая отображение и загрузку изображений в хранилище больших двоичных объектов. Однако после развертывания сайта и базы данных на промежуточном сервере все изображения будут повреждены. Я удостоверился, что изображения присутствуют, так как я загрузил их, работая локально. Я не могу определить причину проблемы.
Модуль некоторое время не обновлялся, и я потратил некоторое время на поиск кода для модуля, но безрезультатно. Мне было интересно, сталкивался ли кто-нибудь с подобными проблемами и, возможно, мог бы указать мне правильное направление. Заранее спасибо.
Я наконец смог понять, в чем проблема. Я не смог отобразить или загрузить изображения, когда все развернуто в Azure, не зная, в чем именно заключалась проблема, я прошел процесс проб и ошибок, устраняя возможные причины один за другим. Все сводится к внесению изменений в сам модуль. В файле «azure_blob.streamwrappers.inc» перейдите к функции createStorageClient. Вам необходимо указать BlobEndpoint в конфигурации.
if (!isset(self::$clients[$scheme])) {
// Obtain user configuration from database
$configuration = ctools_export_crud_load('azure_blob', $scheme);
if (isset($configuration)) {
// @todo Use shared access signature to specify a specific blob endpoint
$connection_string = 'DefaultEndpointsProtocol=https;AccountName=' .
$configuration->account . ';AccountKey=' . $configuration->primary_key . ';BlobEndpoint=http://[StorageName].blob.core.windows.net/';
self::$clients[$scheme] =
ServicesBuilder::getInstance()->createBlobService($connection_string);
// Store other configuration properties in client object
self::$clients[$scheme]->blob_container = $configuration->blob_container;
self::$clients[$scheme]->cache_control = $configuration->cache_control;
}
else {
throw new Exception(t('Invalid storage scheme "@stream"', array('@stream' => $scheme)));
}
}
return self::$clients[$scheme];
Я надеюсь, что это поможет всем, кто столкнется с той же проблемой в будущем. Я буквально выдергивал свои волосы, пытаясь найти решение в течение 2 дней 🙂
Других решений пока нет …