ezsystems / ezdfs-fsbackend-aws-s3
eZPublish Amazon S3 FS 后端用于 DFS
v2.0.0-beta1
2020-01-07 10:28 UTC
Requires
Requires (Dev)
- mockery/mockery: dev-master
- phpunit/phpunit: 3.7.*
This package is auto-updated.
Last update: 2024-09-07 23:38:42 UTC
README
摘要
向现有的本地文件系统添加了 AmazonS3 DFS FS 处理器。
之前的 eZDFSFileHandlerDFSBackend
,负责读取/写入文件到 NFS,在 DFS 中由一个调度器替换。此调度器接收一系列 DFSBackend 处理器。每个处理器在询问是否支持文件路径时将响应 true/false。
提供了一个 AmazonS3 处理器,可以配置为存储图片。
安装
需求
- ezsystems/ezdfs-fsbackend-dispatcher 必须已安装
- 一个亚马逊网络服务账户,具有
AmazonS3FullAccess
权限,如 eZ Platform 的 S3 IO 处理器 - ezsystems/ezpublish-legacy >= v2017.12 (或任何带有补丁的 ezpublish 5+ 版本:https://github.com/ezsystems/ezpublish-legacy/pull/1449/files)
使用 composer 安装
从 eZ Publish 社区/平台根目录运行
$ composer require ezsystems/ezdfs-fsbackend-aws-s3:~2.0@beta ezsystems/ezdfs-fsbackend-dispatcher:~1.0@beta
配置
处理程序必须首先在 dfsamazons3.ini
覆盖中配置。区域必须设置为区域代码,如 http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region 中列出: eu-west-1
、us-east-1
...
示例 settings/overrride/dfsamazons3.ini.append.php
<?php /* #?ini charset="utf-8"? [BackendSettings] # NOTE: If credentials are not set S3Client will attempt to load them from your environment AccessKeyID=<credentials.key> SecretAccessKey=<credentials.secret> Bucket=<your-bucket> Region=eu-west-1 # Version=latest */ ?>
然后必须将其设置为 dispatchabledfs.ini
覆盖中匹配一个或多个路径的附加处理器
[DispatchableDFS]
PathBackends[var/ezdemo_site/storage/images]=eZDFSFileHandlerDFSAmazon
已知问题
在设置 Legacy Bridge 时,不要忘记遵循此处文档:https://doc.ezplatform.com/en/latest/guide/clustering_aws_s3/ .
如果图片显示不正确,请检查 url_prefix
的值
ezpublish:
system:
default:
io:
url_prefix: 'https://my-bucket.s3.my-region.amazonaws.com/$var_dir$/$storage_dir$'