rohitrajv5 / pimcore-bundle-azure-blob-sync
此插件用于同步Pimcore中的所有资产记录到Azure Blob存储
v1.3
2020-07-28 14:22 UTC
Requires
- php: >=5.3.0
- microsoft/azure-storage-blob: ^1.5
This package is auto-updated.
Last update: 2024-09-28 23:33:23 UTC
README
Pimcore Azure Bundle插件用于将Pimcore资产推送到Microsoft Azure Blob存储
兼容Pimcore > v5.6。已在Pimcore 6上测试
安装
使用Composer安装
composer require rohitrajv5/pimcore-bundle-azure-blob-sync
执行以下命令
bin/console pimcore:bundle:enable AzurePimcoreBundle bin/console assets:install web
插件的外观如下
Pimcore管理后台更改
-
转到Pimcore管理后台 -> 设置 -> Azure Blob容器设置
-
输入您的凭据并保存。
配置和设置
在"app/constant.php"中添加以下代码
try { $file = __DIR__ . '/../var/config/azure.php'; if (file_exists($file)) { $azureConfig = include($file); } } catch (\Exception $e) { $azureConfig = []; } $azureEnabled = FALSE; if (isset($azureConfig['enableAzure']) && $azureConfig['enableAzure']) { $azureEnabled = TRUE; define("AZURE_ACCOUNT_URL", $azureConfig['accountUrl']); define("AZURE_ACCOUNT_NAME", $azureConfig['accountName']); define("AZURE_ACCOUNT_KEY", $azureConfig['accountKey']); define("AZURE_CONTAINER", $azureConfig['container']); $azureFileWrapperPrefix = "blob://" . AZURE_CONTAINER; // do NOT change define("PIMCORE_ASSET_DIRECTORY", $azureFileWrapperPrefix . "/assets"); //define("PIMCORE_TEMPORARY_DIRECTORY", $azureFileWrapperPrefix . "/tmp"); //constants for reference in the views //define("PIMCORE_TRANSFORMED_ASSET_URL", AZURE_ACCOUNT_URL . "/" . AZURE_CONTAINER . "/assets"); // the following paths should be private! define("PIMCORE_VERSION_DIRECTORY", $azureFileWrapperPrefix . "/versions"); //define("PIMCORE_RECYCLEBIN_DIRECTORY", $azureFileWrapperPrefix . "/recyclebin"); //define("PIMCORE_LOG_MAIL_PERMANENT", $azureFileWrapperPrefix . "/email"); //define("PIMCORE_LOG_FILEOBJECT_DIRECTORY", $azureFileWrapperPrefix . "/fileobjects"); } define("ENABLE_AZURE",$azureEnabled);
取消注释您想要同步到Azure Blob存储的选项。
在"app/startup.php"中添加以下代码常量
use AzurePimcoreBundle\AzureBlobStorage\StreamWrapper; if (ENABLE_AZURE) { $accountUrl = AZURE_ACCOUNT_URL; $accountName = AZURE_ACCOUNT_NAME; $accountKey = AZURE_ACCOUNT_KEY; $connectionString = "DefaultEndpointsProtocol=https;AccountName=" . $accountName . ";AccountKey=" . $accountKey; $container = AZURE_CONTAINER; $blobClient = \MicrosoftAzure\Storage\Blob\BlobRestProxy::createBlobService($connectionString); StreamWrapper::register($blobClient, 'blob'); \Pimcore\File::setContext(stream_context_create([ 'blob' => ['seekable' => true] ])); }
许可证
GPL-3.0+