Visual FoxPro
Visual FoxPro
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 Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loHttp
LOCAL lcBucketName
LOCAL lcObjectName
LOCAL lcLocalFilePath
LOCAL lnStatusCode
LOCAL lcJsonPath
LOCAL loGzip
LOCAL loJson
lnSuccess = 0
* This requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loHttp = CreateObject('Chilkat.Http')
loHttp.AwsAccessKey = "AWS_ACCESS_KEY"
loHttp.AwsSecretKey = "AWS_SECRET_KEY"
loHttp.AwsRegion = "us-west-2"
loHttp.AwsEndpoint = "s3-us-west-2.amazonaws.com"
lcBucketName = "chilkat.logs"
lcObjectName = "/AWSLogs/957491831129/CloudTrail/us-west-1/2016/11/12/957491831129_CloudTrail_us-west-1_20161112T1335Z_umXfD4RxHE5nDGuI.json.gz"
lcLocalFilePath = "qa_output/cloudTrailLog.json.gz"
lnSuccess = loHttp.S3_DownloadFile(lcBucketName,lcObjectName,lcLocalFilePath)
IF (lnSuccess <> 1) THEN
? loHttp.LastErrorText
RELEASE loHttp
CANCEL
ENDIF
lnStatusCode = loHttp.LastStatus
IF (lnStatusCode <> 200) THEN
? "Failed to download, response status code = " + STR(lnStatusCode)
RELEASE loHttp
CANCEL
ENDIF
lcJsonPath = "qa_output/cloudTrailLog.json"
loGzip = CreateObject('Chilkat.Gzip')
lnSuccess = loGzip.UncompressFile(lcLocalFilePath,lcJsonPath)
IF (lnSuccess = 0) THEN
? loGzip.LastErrorText
RELEASE loHttp
RELEASE loGzip
CANCEL
ENDIF
loJson = CreateObject('Chilkat.JsonObject')
loJson.LoadFile(lcJsonPath)
loJson.EmitCompact = 0
? loJson.Emit()
* 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"
* }
* ]
* }
RELEASE loHttp
RELEASE loGzip
RELEASE loJson