AZURE_BLOB_INSTANCES='{
"main": {
"connection_string": "DefaultEndpointsProtocol=https;AccountName=YOUR_ACCOUNT;AccountKey=YOUR_KEY;EndpointSuffix=core.windows.net"
}
}'
Описание актуально для SuiteCRM версий 8.9.0+
В этом описании мы настроим private.documents.storage для хранения файлов в Azure Blob Storage.
Созданы учётная запись и контейнер Azure Blob Storage.
Доступна строка подключения к Azure.
Настроены SuiteCRM с VichUploader и Flysystem.
В файл .env.local добавьте настройку экземпляра Azure Blob:
AZURE_BLOB_INSTANCES='{
"main": {
"connection_string": "DefaultEndpointsProtocol=https;AccountName=YOUR_ACCOUNT;AccountKey=YOUR_KEY;EndpointSuffix=core.windows.net"
}
}'
Установите переменную MEDIA_FLY_SYSTEM_STORAGES в значение private.documents.storage:
В следующем примере azure.blob.client.main в параметре client должно соответствовать ключу, указанному в AZURE_BLOB_INSTANCES.
MEDIA_FLY_SYSTEM_STORAGES='{
"private.documents.storage": {
"adapter": "azure",
"options": {
"client": "azure.blob.client.main",
"container": "YOUR_CONTAINER_NAME"
}
}
}'
Замените YOUR_CONTAINER_NAME на название вашего контейнера Azure Blob.
После обновления переменных окружения очистите кеш Symfony:
php bin/console cache:clear
Файлы, загружаемые в private.documents.storage, теперь будут храниться в Azure Blob Storage. Вы можете проверить это, загрузив документ и убедившись, что он отображается в контейнере Azure.
По умолчанию хранилище private.documents.storage — локальное. Вышеописанные шаги перенастраивают его на использование Azure.
Другие хранилища можно настроить аналогичным образом, обновив их ключи в MEDIA_FLY_SYSTEM_STORAGES.
В рабочем экземпляре SuiteCRM в целях безопасности используйте секреты Symfony.
Секреты Symfony позволяют безопасно хранить конфиденциальные настройки (например, ключи API, пароли и т. д.) за пределами кодовой базы.
Вместо размещения секретов в .env-файлах, используйте хранилище секретов Symfony, которое шифрует значения и исключает их из системы контроля версий.
Для безопасной работы с конфиденциальными данными (например, ключами доступа или строками подключения) в переменных окружения можно использовать ссылки на секреты Symfony.
Пример использования секретов:
AZURE_BLOB_INSTANCES='{
"main": {
"connection_string": "%env(AZURE_BLOB_CONNECTION_STRING)%",
}
}'
Для установки секрета выполните команду:
php bin/console secrets:set AZURE_BLOB_CONNECTION_STRING
Затем обратитесь к секрету в JSON-настройках, используя %env(SECRET_NAME)%.
При использовании секретов в JSON всегда заключайте ссылку в двойные кавычки.
Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.