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
(Objective-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
#import <CkoRest.h> #import <CkoAuthAws.h> #import <CkoXml.h> #import <CkoStringBuilder.h> // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoRest *rest = [[CkoRest alloc] init]; // 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 = YES; int port = 443; BOOL bAutoReconnect = YES; BOOL success = [rest Connect: @"s3.amazonaws.com" port: [NSNumber numberWithInt: port] tls: bTls autoReconnect: bAutoReconnect]; // Provide AWS credentials. CkoAuthAws *authAws = [[CkoAuthAws alloc] init]; authAws.AccessKey = @"AWS_ACCESS_KEY"; authAws.SecretKey = @"AWS_SECRET_KEY"; authAws.ServiceName = @"s3"; authAws.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.Host = @"chilkat100.s3.amazonaws.com"; CkoXml *xml = [[CkoXml alloc] init]; xml.Tag = @"Tagging"; [xml UpdateChildContent: @"TagSet|Tag|Key" value: @"plant"]; [xml UpdateChildContent: @"TagSet|Tag|Value" value: @"chili pepper"]; CkoStringBuilder *sbRequestBody = [[CkoStringBuilder alloc] init]; [xml GetXmlSb: sbRequestBody]; // It is important to add the terminating "=" after the "?tagging". CkoStringBuilder *sbResponse = [[CkoStringBuilder alloc] init]; success = [rest FullRequestSb: @"PUT" uriPath: @"/chiliPepper.gif?tagging=" requestBody: sbRequestBody responseBody: sbResponse]; if (success == NO) { NSLog(@"%@",rest.LastErrorText); return; } NSLog(@"%@%d",@"Response status code: ",[rest.ResponseStatusCode intValue]); // When successful, the S3 Storage service will respond with a 200 response code, // with an XML body. if ([rest.ResponseStatusCode intValue] != 200) { // Examine the request/response to see what happened. NSLog(@"%@%d",@"response status code = ",[rest.ResponseStatusCode intValue]); NSLog(@"%@%@",@"response status text = ",rest.ResponseStatusText); NSLog(@"%@%@",@"response header: ",rest.ResponseHeader); NSLog(@"%@%@",@"response body: ",[sbResponse GetAsString]); NSLog(@"%@",@"---"); NSLog(@"%@%@",@"LastRequestStartLine: ",rest.LastRequestStartLine); NSLog(@"%@%@",@"LastRequestHeader: ",rest.LastRequestHeader); } NSLog(@"%@",[sbResponse GetAsString]); NSLog(@"%@",@"Success."); |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.