AutoIt
AutoIt
S3 Add Tags to an Object
See more Amazon S3 (new) Examples
Demonstrates how to add one or more tags to an S3 object.Chilkat AutoIt Downloads
Local $bSuccess = False
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
$oRest = ObjCreate("Chilkat.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")
Local $bTls = True
Local $iPort = 443
Local $bAutoReconnect = True
$bSuccess = $oRest.Connect("s3.amazonaws.com",$iPort,$bTls,$bAutoReconnect)
; Provide AWS credentials.
$oAuthAws = ObjCreate("Chilkat.AuthAws")
$oAuthAws.AccessKey = "AWS_ACCESS_KEY"
$oAuthAws.SecretKey = "AWS_SECRET_KEY"
$oAuthAws.ServiceName = "s3"
$oAuthAws.Region = "us-east-1"
$oRest.SetAuthAws($oAuthAws)
; 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.
$oRest.Host = "chilkat100.s3.amazonaws.com"
$oXml = ObjCreate("Chilkat.Xml")
$oXml.Tag = "Tagging"
$oXml.UpdateChildContent "TagSet|Tag|Key","plant"
$oXml.UpdateChildContent "TagSet|Tag|Value","chili pepper"
$oSbRequestBody = ObjCreate("Chilkat.StringBuilder")
$oXml.GetXmlSb($oSbRequestBody)
; It is important to add the terminating "=" after the "?tagging".
$oSbResponse = ObjCreate("Chilkat.StringBuilder")
$bSuccess = $oRest.FullRequestSb("PUT","/chiliPepper.gif?tagging=",$oSbRequestBody,$oSbResponse)
If ($bSuccess = False) Then
ConsoleWrite($oRest.LastErrorText & @CRLF)
Exit
EndIf
ConsoleWrite("Response status code: " & $oRest.ResponseStatusCode & @CRLF)
; When successful, the S3 Storage service will respond with a 200 response code,
; with an XML body.
If ($oRest.ResponseStatusCode <> 200) Then
; Examine the request/response to see what happened.
ConsoleWrite("response status code = " & $oRest.ResponseStatusCode & @CRLF)
ConsoleWrite("response status text = " & $oRest.ResponseStatusText & @CRLF)
ConsoleWrite("response header: " & $oRest.ResponseHeader & @CRLF)
ConsoleWrite("response body: " & $oSbResponse.GetAsString() & @CRLF)
ConsoleWrite("---" & @CRLF)
ConsoleWrite("LastRequestStartLine: " & $oRest.LastRequestStartLine & @CRLF)
ConsoleWrite("LastRequestHeader: " & $oRest.LastRequestHeader & @CRLF)
EndIf
ConsoleWrite($oSbResponse.GetAsString() & @CRLF)
ConsoleWrite("Success." & @CRLF)