0

Я только начал создавать сайт Drupal с Azure. Я установил Azure Blob module, и все работает корректно (локальная среда), включая отображение и загрузку изображений в буфер памяти. Однако после развертывания сайта и базы данных на промежуточном сервере все изображения будут разбиты. Я убедился, что изображения присутствуют, так как я загрузил их, работая локально. Я не могу определить, какова фактическая проблема.Модуль Drupal Azure Blob сломанные изображения

Модуль не обновлялся какое-то время, и я потратил некоторое время на копание кода для модуля, но безрезультатно. Мне было интересно, если кто-нибудь столкнется с подобными проблемами и, возможно, может указать мне в правильном направлении. Заранее спасибо.

ответ

1

Наконец-то я смог понять, в чем проблема. Я не смог отображать или загружать изображения, когда все развертывается в 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 дня :)

Смежные вопросы