|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
| (Delphi DLL) S3 Add Tags to an ObjectSee more Amazon S3 (new) ExamplesDemonstrates how to add one or more tags to an S3 object.For more information, see https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html 
 uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, AuthAws, Rest, Xml, StringBuilder; ... procedure TForm1.Button1Click(Sender: TObject); var rest: HCkRest; bTls: Boolean; port: Integer; bAutoReconnect: Boolean; success: Boolean; authAws: HCkAuthAws; xml: HCkXml; sbRequestBody: HCkStringBuilder; sbResponse: HCkStringBuilder; begin // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. rest := CkRest_Create(); // Connect to the Amazon AWS REST server in the desired region. // (for us-east-1, we use "s3.amazonaws.com", but for another region, such as us-west-2, we would use "s3-us-west-2.amazonaws.com") bTls := True; port := 443; bAutoReconnect := True; success := CkRest_Connect(rest,'s3.amazonaws.com',port,bTls,bAutoReconnect); // Provide AWS credentials. authAws := CkAuthAws_Create(); CkAuthAws_putAccessKey(authAws,'AWS_ACCESS_KEY'); CkAuthAws_putSecretKey(authAws,'AWS_SECRET_KEY'); CkAuthAws_putServiceName(authAws,'s3'); CkAuthAws_putRegion(authAws,'us-east-1'); CkRest_SetAuthAws(rest,authAws); // Set the bucket name via the HOST header. // In this case, the bucket name is "chilkat100". // Note that the Host header should use "bucketName.s3.amazonaws.com", not "bucketName.s3-us-east-1.amazonaws.com" // The same applies to aother regions. The Host header should simply be <bucketName>.s3.amazonaws.com regardless of the region. CkRest_putHost(rest,'chilkat100.s3.amazonaws.com'); xml := CkXml_Create(); CkXml_putTag(xml,'Tagging'); CkXml_UpdateChildContent(xml,'TagSet|Tag|Key','plant'); CkXml_UpdateChildContent(xml,'TagSet|Tag|Value','chili pepper'); sbRequestBody := CkStringBuilder_Create(); CkXml_GetXmlSb(xml,sbRequestBody); // It is important to add the terminating "=" after the "?tagging". sbResponse := CkStringBuilder_Create(); success := CkRest_FullRequestSb(rest,'PUT','/chiliPepper.gif?tagging=',sbRequestBody,sbResponse); if (success = False) then begin Memo1.Lines.Add(CkRest__lastErrorText(rest)); Exit; end; Memo1.Lines.Add('Response status code: ' + IntToStr(CkRest_getResponseStatusCode(rest))); // When successful, the S3 Storage service will respond with a 200 response code, // with an XML body. if (CkRest_getResponseStatusCode(rest) <> 200) then begin // Examine the request/response to see what happened. Memo1.Lines.Add('response status code = ' + IntToStr(CkRest_getResponseStatusCode(rest))); Memo1.Lines.Add('response status text = ' + CkRest__responseStatusText(rest)); Memo1.Lines.Add('response header: ' + CkRest__responseHeader(rest)); Memo1.Lines.Add('response body: ' + CkStringBuilder__getAsString(sbResponse)); Memo1.Lines.Add('---'); Memo1.Lines.Add('LastRequestStartLine: ' + CkRest__lastRequestStartLine(rest)); Memo1.Lines.Add('LastRequestHeader: ' + CkRest__lastRequestHeader(rest)); end; Memo1.Lines.Add(CkStringBuilder__getAsString(sbResponse)); Memo1.Lines.Add('Success.'); CkRest_Dispose(rest); CkAuthAws_Dispose(authAws); CkXml_Dispose(xml); CkStringBuilder_Dispose(sbRequestBody); CkStringBuilder_Dispose(sbResponse); end; | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.