Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) Download S3 CloudTrail Log and Un-GzipDemonstrates 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.
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) -- This requires the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. DECLARE @http int -- Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Http', @http OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END EXEC sp_OASetProperty @http, 'AwsAccessKey', 'AWS_ACCESS_KEY' EXEC sp_OASetProperty @http, 'AwsSecretKey', 'AWS_SECRET_KEY' EXEC sp_OASetProperty @http, 'S3Ssl', 1 EXEC sp_OASetProperty @http, 'AwsRegion', 'us-west-2' EXEC sp_OASetProperty @http, 'AwsEndpoint', 's3-us-west-2.amazonaws.com' DECLARE @bucketName nvarchar(4000) SELECT @bucketName = 'chilkat.logs' DECLARE @objectName nvarchar(4000) SELECT @objectName = '/AWSLogs/957491831129/CloudTrail/us-west-1/2016/11/12/957491831129_CloudTrail_us-west-1_20161112T1335Z_umXfD4RxHE5nDGuI.json.gz' DECLARE @localFilePath nvarchar(4000) SELECT @localFilePath = 'qa_output/cloudTrailLog.json.gz' DECLARE @success int EXEC sp_OAMethod @http, 'S3_DownloadFile', @success OUT, @bucketName, @objectName, @localFilePath IF @success <> 1 BEGIN EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @http RETURN END DECLARE @statusCode int EXEC sp_OAGetProperty @http, 'LastStatus', @statusCode OUT IF @statusCode <> 200 BEGIN PRINT 'Failed to download, response status code = ' + @statusCode EXEC @hr = sp_OADestroy @http RETURN END DECLARE @jsonPath nvarchar(4000) SELECT @jsonPath = 'qa_output/cloudTrailLog.json' DECLARE @gzip int -- Use "Chilkat_9_5_0.Gzip" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Gzip', @gzip OUT EXEC sp_OAMethod @gzip, 'UncompressFile', @success OUT, @localFilePath, @jsonPath IF @success = 0 BEGIN EXEC sp_OAGetProperty @gzip, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @gzip RETURN END DECLARE @json int -- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @json OUT EXEC sp_OAMethod @json, 'LoadFile', @success OUT, @jsonPath EXEC sp_OASetProperty @json, 'EmitCompact', 0 EXEC sp_OAMethod @json, 'Emit', @sTmp0 OUT PRINT @sTmp0 -- 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" -- } -- ] -- } EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @gzip EXEC @hr = sp_OADestroy @json END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.