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