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) AWS KMS List KeysSee more AWS KMS ExamplesGets a list of all KMS keys in the caller's AWS account and Region. For more information, see https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeys.html
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @iTmp0 int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) -- This example requires the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. DECLARE @rest int -- Use "Chilkat_9_5_0.Rest" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Rest', @rest OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END -- Connect to the Amazon AWS REST server. -- Make sure to use the region that is correct for you. -- such as https://kms.us-west-2.amazonaws.com/ DECLARE @bTls int SELECT @bTls = 1 DECLARE @port int SELECT @port = 443 DECLARE @bAutoReconnect int SELECT @bAutoReconnect = 1 DECLARE @success int EXEC sp_OAMethod @rest, 'Connect', @success OUT, 'kms.us-west-2.amazonaws.com', @port, @bTls, @bAutoReconnect -- Provide AWS credentials for the REST call. DECLARE @authAws int -- Use "Chilkat_9_5_0.AuthAws" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.AuthAws', @authAws OUT EXEC sp_OASetProperty @authAws, 'AccessKey', 'AWS_ACCESS_KEY' EXEC sp_OASetProperty @authAws, 'SecretKey', 'AWS_SECRET_KEY' -- the region should match our URL above.. EXEC sp_OASetProperty @authAws, 'Region', 'us-west-2' EXEC sp_OASetProperty @authAws, 'ServiceName', 'kms' EXEC sp_OAMethod @rest, 'SetAuthAws', @success OUT, @authAws EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'X-Amz-Target', 'TrentService.ListKeys' EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'Content-Type', 'application/x-amz-json-1.1' DECLARE @strJson nvarchar(4000) EXEC sp_OAMethod @rest, 'FullRequestString', @strJson OUT, 'POST', '/', '{}' EXEC sp_OAGetProperty @rest, 'LastMethodSuccess', @iTmp0 OUT IF @iTmp0 <> 1 BEGIN EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @authAws RETURN END -- A successful response will have a status code equal to 200. EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @iTmp0 OUT IF @iTmp0 <> 200 BEGIN EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @iTmp0 OUT PRINT 'response status code = ' + @iTmp0 EXEC sp_OAGetProperty @rest, 'ResponseStatusText', @sTmp0 OUT PRINT 'response status text = ' + @sTmp0 EXEC sp_OAGetProperty @rest, 'ResponseHeader', @sTmp0 OUT PRINT 'response header: ' + @sTmp0 PRINT 'response body: ' + @strJson EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @authAws RETURN END -- Examine the successful JSON response (shown below) 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, 'Load', @success OUT, @strJson EXEC sp_OASetProperty @json, 'EmitCompact', 0 EXEC sp_OAMethod @json, 'Emit', @sTmp0 OUT PRINT @sTmp0 -- Sample output: -- { -- "KeyCount": 4, -- "Keys": [ -- { -- "KeyArn": "arn:aws:kms:us-west-2:954491834127:key/082f8520-7afc-4a09-b703-89b7243072e5", -- "KeyId": "082f8520-7afc-4a09-b703-89b7243072e5" -- }, -- { -- "KeyArn": "arn:aws:kms:us-west-2:954491834127:key/17432483-ff08-4950-93d3-f46ebb5e17d1", -- "KeyId": "17432483-ff08-4950-93d3-f46ebb5e17d1" -- }, -- { -- "KeyArn": "arn:aws:kms:us-west-2:954491834127:key/1b0e5b3c-0675-4510-adb6-a75b40a93da0", -- "KeyId": "1b0e5b3c-0675-4510-adb6-a75b40a93da0" -- }, -- { -- "KeyArn": "arn:aws:kms:us-west-2:954491834127:key/265e3993-428b-4581-9466-b1030a53062f", -- "KeyId": "265e3993-428b-4581-9466-b1030a53062f" -- }, -- ], -- "Truncated": false -- } -- Use this online tool to generate parsing code from sample JSON: -- Generate Parsing Code from JSON DECLARE @KeyArn nvarchar(4000) DECLARE @KeyId nvarchar(4000) DECLARE @KeyCount int EXEC sp_OAMethod @json, 'IntOf', @KeyCount OUT, 'KeyCount' DECLARE @Truncated int EXEC sp_OAMethod @json, 'BoolOf', @Truncated OUT, 'Truncated' DECLARE @i int SELECT @i = 0 DECLARE @count_i int EXEC sp_OAMethod @json, 'SizeOfArray', @count_i OUT, 'Keys' WHILE @i < @count_i BEGIN EXEC sp_OASetProperty @json, 'I', @i EXEC sp_OAMethod @json, 'StringOf', @KeyArn OUT, 'Keys[i].KeyArn' EXEC sp_OAMethod @json, 'StringOf', @KeyId OUT, 'Keys[i].KeyId' SELECT @i = @i + 1 END EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @authAws EXEC @hr = sp_OADestroy @json END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.