OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
knoblyExpressLandingPage
/
vendor
/
aws
/
aws-sdk-php
/
src
/
CloudTrail
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
08/21/2024 10:05:25 AM
rwxr-xr-x
📄
CloudTrailClient.php
6.78 KB
08/21/2024 10:03:05 AM
rw-r--r--
📁
Exception
-
08/21/2024 10:04:58 AM
rwxr-xr-x
📄
LogFileIterator.php
11.78 KB
08/21/2024 10:03:05 AM
rw-r--r--
📄
LogFileReader.php
1.79 KB
08/21/2024 10:03:05 AM
rw-r--r--
📄
LogRecordIterator.php
5.31 KB
08/21/2024 10:03:05 AM
rw-r--r--
Editing: LogFileReader.php
Close
<?php namespace Aws\CloudTrail; use Aws\S3\S3Client; /** * This class provides an easy way to read log files generated by AWS * CloudTrail. * * CloudTrail log files contain data about your AWS API calls and are stored in * Amazon S3. The log files are gzipped and contain structured data in JSON * format. This class will automatically ungzip and decode the data, and return * the data as an array of log records */ class LogFileReader { /** @var S3Client S3 client used to perform GetObject operations */ private $s3Client; /** * @param S3Client $s3Client S3 client used to retrieve objects */ public function __construct(S3Client $s3Client) { $this->s3Client = $s3Client; } /** * Downloads, unzips, and reads a CloudTrail log file from Amazon S3 * * @param string $s3BucketName The bucket name of the log file in Amazon S3 * @param string $logFileKey The key of the log file in Amazon S3 * * @return array */ public function read($s3BucketName, $logFileKey) { // Create a command for getting the log file object $command = $this->s3Client->getCommand('GetObject', [ 'Bucket' => (string) $s3BucketName, 'Key' => (string) $logFileKey, 'ResponseContentEncoding' => 'x-gzip' ]); // Make sure gzip encoding header is sent and accepted in order to // inflate the response data. $command['@http']['headers']['Accept-Encoding'] = 'gzip'; // Get the JSON response data and extract the log records $result = $this->s3Client->execute($command); $logData = json_decode($result['Body'], true); return isset($logData['Records']) ? $logData['Records'] : []; } }