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
(C++) 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
#include <CkRest.h> #include <CkAuthAws.h> #include <CkXml.h> #include <CkStringBuilder.h> void ChilkatSample(void) { // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkRest rest; // 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") bool bTls = true; int port = 443; bool bAutoReconnect = true; bool success = rest.Connect("s3.amazonaws.com",port,bTls,bAutoReconnect); // Provide AWS credentials. CkAuthAws authAws; authAws.put_AccessKey("AWS_ACCESS_KEY"); authAws.put_SecretKey("AWS_SECRET_KEY"); authAws.put_ServiceName("s3"); authAws.put_Region("us-east-1"); rest.SetAuthAws(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. rest.put_Host("chilkat100.s3.amazonaws.com"); CkXml xml; xml.put_Tag("Tagging"); xml.UpdateChildContent("TagSet|Tag|Key","plant"); xml.UpdateChildContent("TagSet|Tag|Value","chili pepper"); CkStringBuilder sbRequestBody; xml.GetXmlSb(sbRequestBody); // It is important to add the terminating "=" after the "?tagging". CkStringBuilder sbResponse; success = rest.FullRequestSb("PUT","/chiliPepper.gif?tagging=",sbRequestBody,sbResponse); if (success == false) { std::cout << rest.lastErrorText() << "\r\n"; return; } std::cout << "Response status code: " << rest.get_ResponseStatusCode() << "\r\n"; // When successful, the S3 Storage service will respond with a 200 response code, // with an XML body. if (rest.get_ResponseStatusCode() != 200) { // Examine the request/response to see what happened. std::cout << "response status code = " << rest.get_ResponseStatusCode() << "\r\n"; std::cout << "response status text = " << rest.responseStatusText() << "\r\n"; std::cout << "response header: " << rest.responseHeader() << "\r\n"; std::cout << "response body: " << sbResponse.getAsString() << "\r\n"; std::cout << "---" << "\r\n"; std::cout << "LastRequestStartLine: " << rest.lastRequestStartLine() << "\r\n"; std::cout << "LastRequestHeader: " << rest.lastRequestHeader() << "\r\n"; } std::cout << sbResponse.getAsString() << "\r\n"; std::cout << "Success." << "\r\n"; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.