Sample code for 30+ languages & platforms
Visual Basic 6.0

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 Visual Basic 6.0 Downloads

Visual Basic 6.0
Dim success As Long
success = 0

' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

Dim rest As New ChilkatRest

' 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")
Dim bTls As Long
bTls = 1
Dim port As Long
port = 443
Dim bAutoReconnect As Long
bAutoReconnect = 1
success = rest.Connect("s3.amazonaws.com",port,bTls,bAutoReconnect)

' Provide AWS credentials.
Dim authAws As New ChilkatAuthAws
authAws.AccessKey = "AWS_ACCESS_KEY"
authAws.SecretKey = "AWS_SECRET_KEY"
authAws.ServiceName = "s3"
authAws.Region = "us-east-1"

success = 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"

Dim xml As New ChilkatXml
xml.Tag = "Tagging"
xml.UpdateChildContent "TagSet|Tag|Key","plant"
xml.UpdateChildContent "TagSet|Tag|Value","chili pepper"

Dim sbRequestBody As New ChilkatStringBuilder
success = xml.GetXmlSb(sbRequestBody)

' It is important to add the terminating "=" after the "?tagging".
Dim sbResponse As New ChilkatStringBuilder
success = rest.FullRequestSb("PUT","/chiliPepper.gif?tagging=",sbRequestBody,sbResponse)
If (success = 0) Then
    Debug.Print rest.LastErrorText
    Exit Sub
End If

Debug.Print "Response status code: " & rest.ResponseStatusCode

' When successful, the S3 Storage service will respond with a 200 response code,
' with an XML body.  
If (rest.ResponseStatusCode <> 200) Then
    ' Examine the request/response to see what happened.
    Debug.Print "response status code = " & rest.ResponseStatusCode
    Debug.Print "response status text = " & rest.ResponseStatusText
    Debug.Print "response header: " & rest.ResponseHeader
    Debug.Print "response body: " & sbResponse.GetAsString()
    Debug.Print "---"
    Debug.Print "LastRequestStartLine: " & rest.LastRequestStartLine
    Debug.Print "LastRequestHeader: " & rest.LastRequestHeader
End If

Debug.Print sbResponse.GetAsString()
Debug.Print "Success."