mtrdesign / s3-logs-parser
S3 日志解析器
1.0.4
2022-05-22 09:29 UTC
Requires
- php: ^7.4|^8.0
- ext-json: *
- aws/aws-sdk-php: ^3.100
- nesbot/carbon: ^2.19
Requires (Dev)
- mockery/mockery: ^1.2
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^7.5
- squizlabs/php_codesniffer: ^3.4
This package is auto-updated.
Last update: 2024-09-22 00:48:21 UTC
README
AWS S3 日志解析器是一个简单的PHP包,可以将Amazon Simple Storage Service (Amazon S3)日志解析为可读的JSON格式。详细的用法报告会显示文件下载了多少次以及传输了多少字节。
入门
- 注册 AWS – 在开始之前,您需要注册一个 AWS 账户并获取您的 AWS 凭据。
- 创建自己的存储桶 – 现在,您已经注册了 Amazon S3,您可以使用AWS 管理控制台创建存储桶。
- 启用服务器访问日志记录 – 当您启用日志记录时,Amazon S3 将源存储桶的访问日志传输到您选择的目标存储桶。
- 安装服务 – 使用Composer是推荐的安装方式。此服务可以通过Packagist在
mtrdesign/s3-logs-parser
包下使用。
$ composer require mtrdesign/s3-logs-parser
用法
创建服务实例
<?php use S3LogsParser\S3LogsParser; $S3LogsParser = new S3LogsParser([ 'version' => 'latest', 'region' => $awsBucketRegion, 'access_key' => $awsAccessKey, 'secret_key' => $awsSecretKey, ]); ?>
可选地,您可以通过 setConfigs()
方法设置和更新服务配置
<?php $S3LogsParser->setConfigs([ 'version' => 'latest', 'region' => $awsBucketRegion, 'access_key' => $awsAccessKey, 'secret_key' => $awsSecretKey, ]); ?>
最后,您可以以这种方式获取特定日期文件的 download
和 bandwidth
统计数据
<?php $S3LogsParser->getStats($awsBucketName, $awsBucketPrefix, $date); ?>
建议将 Carbon 日期字符串传递给此方法。
服务响应应如下所示
{ "success":true, "statistics":{ "bucket":"bn-test", "prefix":"bp-2018-10-31", "data":{ "test.png":{ "downloads":4, "bandwidth":4096 }, "test2.png":{ "downloads":2, "bandwidth":2048 } } } }
贡献
在推送代码之前,请确保遵循所有指南并且样式/测试检查器通过。
要求
安装步骤
- 使用
$ make docker-build
构建所需服务和 Docker 容器 - 使用
$ make docker-bash
SSH 进入容器 - 使用
$ make run-phpcs
确认 代码样式检查器通过 - 使用
$ make run-phpstan
确认 代码质量检查器通过 - 使用
$ make run-phpunit
确认 代码测试检查器通过
许可证
AWS S3 日志解析器是开源的,并遵循MIT 许可。