sitegeist / flowakamainetstorage
Requires
- ext-simplexml: *
- guzzlehttp/guzzle: ~6.0
- neos/flow: ~6.0 || ~7.0 || ~8.0 || dev-master
Requires (Dev)
- phpstan/phpstan: ^1.8
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2024-08-30 01:32:39 UTC
README
此Flow包允许您在Akamai的NetStorage中存储资源(资产)。它使您能够在Neos项目中将Akamai NetStorage用作存储或目标。
作者和赞助商
- Florian Heinze - florian.heinze@sandstorm.de
此包的开发和公共发布得到了http://www.sitegeist.de的慷慨赞助。
功能
WritableStorageInterface
的存储实现TargetInterface
的目标实现- 通过
./flow
运行的可执行命令,例如测试您的配置和连接 - 清理文件夹以删除旧资产(对于部署后脚本很有用)
使用此连接器,您可以在不将资产(图像、PDF等)存储在本地Web服务器的情况下运行Neos网站。
安装
该连接器通过Composer作为Flow包安装。对于您的现有项目,只需将[待完善 -> 从Packagist获取正确的包名]包含到您的Flow或Neos分布的依赖项中
composer require [待完善]
配置
要使用Akamai NetStorage,您必须在Settings.yaml
中的storageOptions
和targetOptions
中配置您的凭证。有关如何配置Neos的更多信息,请参阅Flow资源管理的文档
Neos: Flow: resource: storages: akamaiPersistentResourcesStorage: storage: 'Sitegeist\Flow\AkamaiNetStorage\AkamaiStorage' storageOptions: host: 'YOURHOST-HERE.akamaihd.net' key: 'YOUR-KEY-HERE' keyName: 'KEY-NAME-HERE' cpCode: 'YOUR-CP-CODE-HERE' restrictedDirectory: 'functional-testcase-storage' workingDirectory: 'storage' targets: akamaiPersistentResourcesTarget: target: 'Sitegeist\Flow\AkamaiNetStorage\AkamaiTarget' targetOptions: host: 'YOURHOST-HERE.akamaihd.net' staticHost: 'YOUR-STATIC-HOST-HERE' key: 'YOUR-KEY-HERE' keyName: 'KEY-NAME-HERE' cpCode: 'YOUR-CP-CODE-HERE' restrictedDirectory: 'functional-testcase-storage' workingDirectory: 'target' collections: persistent: storage: 'akamaiPersistentResourcesStorage' target: 'akamaiPersistentResourcesTarget'
host
- API的主机proxy
- 需要时使用的代理staticHost
- 提供静态内容的主机key
- 内部生成的Akamai密钥。这是在提供对API访问时使用的值。keyName
- 为访问目标存储组而配置的上传账户的名称(“Id”)。可以从Luna控制中心收集。cpCode
- 代表适用的NetStorage存储组根目录的唯一CP代码restrictedDirectory
- $key受限制的路径,包含附加的子目录workingDirectory
- 您想要存储文件的目录,例如“storage”或“target”。在配置存储和目标时,您需要使用不同的工作目录。
不要忘记将大写字母替换为您的配置。
重要:对于所有路径,不要使用前导或尾随斜杠!
您可以通过执行连接命令来测试您的配置
./flow akamai:connect
Please specify the required argument "collectionName": persistent
storage connection is working
true
target connection is working
true
配置通用连接
除了将Akamai用作Neos的资产源之外,您还可以配置通用连接。这用于CLI工具akamai:list
和akamai:cleanup
。
配置如下
Sitegeist:
Flow:
AkamaiNetStorage:
options:
host: 'YOURHOST-HERE.akamaihd.net'
staticHost: 'YOUR-STATIC-HOST-HERE'
key: 'YOUR-KEY-HERE'
keyName: 'KEY-NAME-HERE'
cpCode: 'YOUR-CP-CODE-HERE'
restrictedDirectory: 'YOUR-RESTRICTED-DIRECTORY-HERE'
列出内容
使用Flow CLI工具,您可以列出特定文件夹的内容
./flow akama:list --working-directory <directory>
在组合文件夹时将考虑restrictedDirectory
。
清理
如果您在部署步骤中使用Akamai进行静态资产,最终将会有旧资产。
自动清理这些资产的辅助工具是akama:cleanup
脚本
./flow akamai:cleanup --working-directory static --keep 10
这将删除 --working-directory
中的文件夹,并仅保留由 --keep
参数给出的数量。
这可以在构建后步骤中使用。
运行测试
要运行测试,您需要一个 Akamai 账户以及访问 NetStorage 的凭据。根据我们的理解,Akamai 似乎不提供开发者账户。-> Akamai 论坛 - 是否有用于测试 Open API 的开发者账户?
请按照以下方式调整 Settings.yaml
以配置 Akamai 存储以运行测试
Sitegeist: Flow: AkamaiNetStorage: functionalTests: storageOptions: host: 'YOURHOST-HERE.akamaihd.net' staticHost: 'YOUR-STATIC-HOST-HERE' key: 'YOUR-KEY-HERE' keyName: 'KEY-NAME-HERE' cpCode: 'YOUR-CP-CODE-HERE' restrictedDirectory: 'functional-testcase-storage'
在运行测试之前,不要忘记用您的预发布配置替换大写字母。
ffunctionaltest Tests/Functional