keboola / php-file-storage-utils
文件存储提供者的辅助工具和抽象集
v0.2.6
2023-02-02 15:13 UTC
Requires
- php: >=7.1
- ext-fileinfo: *
- guzzlehttp/guzzle: ^6.5|^7.2
- guzzlehttp/psr7: ^1.7.0|^2.0
- microsoft/azure-storage-blob: ^1.5
- psr/log: ^1|^2|^3
- symfony/process: ^4.4|^5|^6
Requires (Dev)
- keboola/coding-standard: >=9.0
- php-parallel-lint/php-parallel-lint: ^1.2
- phpstan/extension-installer: ^1.0
- phpstan/phpstan: ^0.12.54|^1.0
- phpstan/phpstan-phpunit: ^0.12.16|^1.0
- phpunit/phpunit: ^7|^9.0
This package is auto-updated.
Last update: 2024-08-27 19:03:26 UTC
README
PHP 相关的 Azure Blob 存储和 Amazon S3 工具
安装
composer require keboola/php-file-storage-utils
使用方法
Azure Blob 存储
重试中间件
$blobClient = BlobRestProxy::createBlobService(...); $blobClient->pushMiddleware(Keboola\FileStorage\Abs\RetryMiddlewareFactory::create( (optional) RetryMiddlewareFactory::DEFAULT_NUMBER_OF_RETRIES, (optional) RetryMiddlewareFactory::DEFAULT_RETRY_INTERVAL, (optional) RetryMiddlewareFactory::EXPONENTIAL_INTERVAL_ACCUMULATION ));
最佳实践
使用 ClientFactory 预设客户端和中间件
\Keboola\FileStorage\Abs\ClientFactory::createClientFromConnectionString( string $connectionString, ?LoggerInterface $logger = null );
开发
使用以下命令运行测试
docker-compose run --rm testsXX
其中 XX 是 PHP 版本(71 - 74),例如
docker-compose run --rm tests71
资源设置
Azure Blob 存储
export PHP_FS_UTILS_RG=testing-php-file-storage-utils
创建资源组
az group create --name $PHP_FS_UTILS_RG --location "northeurope"
部署存储账户
az group deployment create --resource-group $PHP_FS_UTILS_RG --template-file arm-template.json
命令将输出 ABS_ACCOUNT_NAME
、ABS_ACCOUNT_KEY
,这些需要添加到 .env
文件中