keboola/php-file-storage-utils

文件存储提供者的辅助工具和抽象集

v0.2.6 2023-02-02 15:13 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_NAMEABS_ACCOUNT_KEY,这些需要添加到 .env 文件中