Server IP : 184.154.167.98 / Your IP : 18.188.62.10 Web Server : Apache System : Linux pink.dnsnetservice.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 User : puertode ( 1767) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/puertode/public_html/tampico1900/3rdparty/aws/aws-sdk-php/src/CloudTrail/ |
Upload File : |
<?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'] : []; } }