Sample code for 30+ languages & platforms
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

AutoIt
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"
;     }
;   ]
; }