Sample code for 30+ languages & platforms
Visual Basic 6.0

SNS Publish (Send Message)

See more Amazon SNS Examples

Sends a message to all of a topic's subscribed endpoints.

See SNS Publish for more information.

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.
' such as https://sns.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("sns.us-west-2.amazonaws.com",port,bTls,bAutoReconnect)

' Provide AWS credentials for the REST call.
Dim authAws As New ChilkatAuthAws
authAws.AccessKey = "AWS_ACCESS_KEY"
authAws.SecretKey = "AWS_SECRET_KEY"
' the region should match our URL above..
authAws.Region = "us-west-2"
authAws.ServiceName = "sns"

success = rest.SetAuthAws(authAws)

success = rest.AddQueryParam("Action","Publish")
success = rest.AddQueryParam("TopicArn","arn:aws:sns:us-west-2:957491831129:chilkat")
' For subscribed email addresses, this is the subject of the email.
success = rest.AddQueryParam("Subject","Test Message from Amazon SNS")
success = rest.AddQueryParam("Message","This is a test message from Amazon SNS")

Dim responseXml As String
responseXml = rest.FullRequestNoBody("GET","/")
If (rest.LastMethodSuccess <> 1) Then
    Debug.Print rest.LastErrorText
    Exit Sub
End If

' A successful response will have a status code equal to 200.
If (rest.ResponseStatusCode <> 200) Then
    Debug.Print "response status code = " & rest.ResponseStatusCode
    Debug.Print "response status text = " & rest.ResponseStatusText
    Debug.Print "response header: " & rest.ResponseHeader
    Debug.Print "response body: " & responseXml
    Exit Sub
End If

' Examine the successful XML response.
Dim xml As New ChilkatXml
success = xml.LoadXml(responseXml)
Debug.Print xml.GetXml()

' To get the MessageId
Debug.Print "MessageId: " & xml.ChilkatPath("PublishResult|MessageId|*")

' A sample successful response:
' <?xml version="1.0" encoding="utf-8" ?>
' <PublishResponse xmlns="http://sns.amazonaws.com/doc/2010-03-31/">
'     <PublishResult>
'         <MessageId>5e135f2e-898d-5006-940a-0f43829c764b</MessageId>
'     </PublishResult>
'     <ResponseMetadata>
'         <RequestId>9adbf47d-9e07-5981-bb7f-a4609a167fcc</RequestId>
'     </ResponseMetadata>
' </PublishResponse>