AutoIt
AutoIt
Download S3 CloudTrail Log and Un-Gzip
See more Amazon S3 Examples
Demonstrates how to download a Amazon CloudTrail log from an S3 bucket. The file in this example is a .json.gz. The file is uncompressed and the JSON parsed.Chilkat AutoIt Downloads
Local $bSuccess = False
; This requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
$oHttp = ObjCreate("Chilkat.Http")
$oHttp.AwsAccessKey = "AWS_ACCESS_KEY"
$oHttp.AwsSecretKey = "AWS_SECRET_KEY"
$oHttp.AwsRegion = "us-west-2"
$oHttp.AwsEndpoint = "s3-us-west-2.amazonaws.com"
Local $sBucketName = "chilkat.logs"
Local $sObjectName = "/AWSLogs/957491831129/CloudTrail/us-west-1/2016/11/12/957491831129_CloudTrail_us-west-1_20161112T1335Z_umXfD4RxHE5nDGuI.json.gz"
Local $sLocalFilePath = "qa_output/cloudTrailLog.json.gz"
$bSuccess = $oHttp.S3_DownloadFile($sBucketName,$sObjectName,$sLocalFilePath)
If ($bSuccess <> True) Then
ConsoleWrite($oHttp.LastErrorText & @CRLF)
Exit
EndIf
Local $iStatusCode = $oHttp.LastStatus
If ($iStatusCode <> 200) Then
ConsoleWrite("Failed to download, response status code = " & $iStatusCode & @CRLF)
Exit
EndIf
Local $sJsonPath = "qa_output/cloudTrailLog.json"
$oGzip = ObjCreate("Chilkat.Gzip")
$bSuccess = $oGzip.UncompressFile($sLocalFilePath,$sJsonPath)
If ($bSuccess = False) Then
ConsoleWrite($oGzip.LastErrorText & @CRLF)
Exit
EndIf
$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.LoadFile($sJsonPath)
$oJson.EmitCompact = False
ConsoleWrite($oJson.Emit() & @CRLF)
; Sample JSON is shown below.
; Go to http://tools.chilkat.io/jsonParse.cshtml
; and copy/paste the JSON into the online tool to generate parsing code.
; {
; "Records": [
; {
; "eventVersion": "1.05",
; "userIdentity": {
; "type": "Root",
; "principalId": "954591834127",
; "arn": "arn:aws:iam::954591834127:root",
; "accountId": "954591834127",
; "accessKeyId": "ASIAJ3DEMXUXI43B6FYQ",
; "sessionContext": {
; "attributes": {
; "mfaAuthenticated": "false",
; "creationDate": "2016-11-12T13:09:31Z"
; }
; }
; },
; "eventTime": "2016-11-12T13:34:39Z",
; "eventSource": "cloudtrail.amazonaws.com",
; "eventName": "DescribeTrails",
; "awsRegion": "us-west-1",
; "sourceIPAddress": "98.228.98.57",
; "userAgent": "console.amazonaws.com",
; "requestParameters": {
; "trailNameList": [
; ]
; },
; "responseElements": null,
; "requestID": "c2a0376c-a8dc-11e6-89e7-85ac5ce5ee56",
; "eventID": "eb5afd70-dae1-41f0-82b4-91c3c936d9ba",
; "eventType": "AwsApiCall",
; "recipientAccountId": "954591834127"
; }
; ]
; }