mtrdesign/s3-logs-parser

S3 日志解析器

1.0.4 2022-05-22 09:29 UTC

This package is auto-updated.

Last update: 2024-09-22 00:48:21 UTC


README

Latest Stable Version Total Downloads Build Status codecov StyleCI PHPStan

AWS S3 日志解析器是一个简单的PHP包,可以将Amazon Simple Storage Service (Amazon S3)日志解析为可读的JSON格式。详细的用法报告会显示文件下载了多少次以及传输了多少字节。

入门

  1. 注册 AWS – 在开始之前,您需要注册一个 AWS 账户并获取您的 AWS 凭据
  2. 创建自己的存储桶 – 现在,您已经注册了 Amazon S3,您可以使用AWS 管理控制台创建存储桶。
  3. 启用服务器访问日志记录 – 当您启用日志记录时,Amazon S3 将源存储桶的访问日志传输到您选择的目标存储桶。
  4. 安装服务 – 使用Composer是推荐的安装方式。此服务可以通过Packagistmtrdesign/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,
]);

?>

最后,您可以以这种方式获取特定日期文件的 downloadbandwidth 统计数据

<?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
            }
        }
    }
}

贡献

在推送代码之前,请确保遵循所有指南并且样式/测试检查器通过。

要求

安装步骤

  1. 使用 $ make docker-build 构建所需服务和 Docker 容器
  2. 使用 $ make docker-bash SSH 进入容器
  3. 使用 $ make run-phpcs 确认 代码样式检查器通过
  4. 使用 $ make run-phpstan 确认 代码质量检查器通过
  5. 使用 $ make run-phpunit 确认 代码测试检查器通过

许可证

AWS S3 日志解析器是开源的,并遵循MIT 许可