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
(Unicode 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 <CkRestW.h> #include <CkAuthAwsW.h> #include <CkXmlW.h> #include <CkStringBuilderW.h> void ChilkatSample(void) { // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkRestW 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(L"s3.amazonaws.com",port,bTls,bAutoReconnect); // Provide AWS credentials. CkAuthAwsW authAws; authAws.put_AccessKey(L"AWS_ACCESS_KEY"); authAws.put_SecretKey(L"AWS_SECRET_KEY"); authAws.put_ServiceName(L"s3"); authAws.put_Region(L"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(L"chilkat100.s3.amazonaws.com"); CkXmlW xml; xml.put_Tag(L"Tagging"); xml.UpdateChildContent(L"TagSet|Tag|Key",L"plant"); xml.UpdateChildContent(L"TagSet|Tag|Value",L"chili pepper"); CkStringBuilderW sbRequestBody; xml.GetXmlSb(sbRequestBody); // It is important to add the terminating "=" after the "?tagging". CkStringBuilderW sbResponse; success = rest.FullRequestSb(L"PUT",L"/chiliPepper.gif?tagging=",sbRequestBody,sbResponse); if (success == false) { wprintf(L"%s\n",rest.lastErrorText()); return; } wprintf(L"Response status code: %d\n",rest.get_ResponseStatusCode()); // 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. wprintf(L"response status code = %d\n",rest.get_ResponseStatusCode()); wprintf(L"response status text = %s\n",rest.responseStatusText()); wprintf(L"response header: %s\n",rest.responseHeader()); wprintf(L"response body: %s\n",sbResponse.getAsString()); wprintf(L"---\n"); wprintf(L"LastRequestStartLine: %s\n",rest.lastRequestStartLine()); wprintf(L"LastRequestHeader: %s\n",rest.lastRequestHeader()); } wprintf(L"%s\n",sbResponse.getAsString()); wprintf(L"Success.\n"); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.