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
(Delphi ActiveX) 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
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var rest: TChilkatRest; bTls: Integer; port: Integer; bAutoReconnect: Integer; success: Integer; authAws: TChilkatAuthAws; strJson: WideString; json: TChilkatJsonObject; KeyArn: WideString; KeyId: WideString; KeyCount: Integer; Truncated: Integer; i: Integer; count_i: Integer; begin // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. rest := TChilkatRest.Create(Self); // 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/ bTls := 1; port := 443; bAutoReconnect := 1; success := rest.Connect('kms.us-west-2.amazonaws.com',port,bTls,bAutoReconnect); // Provide AWS credentials for the REST call. authAws := TChilkatAuthAws.Create(Self); authAws.AccessKey := 'AWS_ACCESS_KEY'; authAws.SecretKey := 'AWS_SECRET_KEY'; // the region should match our URL above.. authAws.Region := 'us-west-2'; authAws.ServiceName := 'kms'; rest.SetAuthAws(authAws.ControlInterface); rest.AddHeader('X-Amz-Target','TrentService.ListKeys'); rest.AddHeader('Content-Type','application/x-amz-json-1.1'); strJson := rest.FullRequestString('POST','/','{}'); if (rest.LastMethodSuccess <> 1) then begin Memo1.Lines.Add(rest.LastErrorText); Exit; end; // A successful response will have a status code equal to 200. if (rest.ResponseStatusCode <> 200) then begin Memo1.Lines.Add('response status code = ' + IntToStr(rest.ResponseStatusCode)); Memo1.Lines.Add('response status text = ' + rest.ResponseStatusText); Memo1.Lines.Add('response header: ' + rest.ResponseHeader); Memo1.Lines.Add('response body: ' + strJson); Exit; end; // Examine the successful JSON response (shown below) json := TChilkatJsonObject.Create(Self); json.Load(strJson); json.EmitCompact := 0; Memo1.Lines.Add(json.Emit()); // 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 KeyCount := json.IntOf('KeyCount'); Truncated := json.BoolOf('Truncated'); i := 0; count_i := json.SizeOfArray('Keys'); while i < count_i do begin json.I := i; KeyArn := json.StringOf('Keys[i].KeyArn'); KeyId := json.StringOf('Keys[i].KeyId'); i := i + 1; end; end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.