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
(Ruby) Azure Service Bus - Create TopicCreates an Azure Service Bus Topic. Note: This example requires Chilkat v9.5.0.65 or greater.
require 'chilkat' # Note: Requires Chilkat v9.5.0.65 or greater. # This requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. # Make the initial connection. # A single REST object, once connected, can be used for many Azure Service Bus REST API calls. # The auto-reconnect indicates that if the already-established HTTPS connection is closed, # then it will be automatically re-established as needed. rest = Chilkat::CkRest.new() bAutoReconnect = true success = rest.Connect("<yournamespace>.servicebus.windows.net",443,true,bAutoReconnect) if (success != true) print rest.lastErrorText() + "\n"; exit end # ---------------------------------------------------------------------------------------------- # The code above this comment could be placed inside a function/subroutine within the application # because the connection does not need to be made for every request. Once the connection is made # the app may send many requests.. # ---------------------------------------------------------------------------------------------- # Let's load a previously computed SAS token and use it. # See Azure Shared Access Signature for an example to genenerate an Azure SAS token. sbToken = Chilkat::CkStringBuilder.new() sbToken.LoadFile("qa_data/tokens/serviceBusSas.txt","utf-8") # Tell the REST object to use the Azure Shared Access Signature for authorization. sbToken.Prepend("SharedAccessSignature ") rest.AddHeader("Authorization",sbToken.getAsString()) # ---------------------------------------------------------------------------------------------- # Create a new topic named "gilaMonster"; topicName = "gilaMonster" # Create the XML body of the PUT request. xml = Chilkat::CkXml.new() xml.put_Tag("entry") xml.AddAttribute("xmlns","http://www.w3.org/2005/Atom") xml.UpdateAttrAt("title",true,"type","text") xml.UpdateChildContent("title",topicName) xml.UpdateAttrAt("content",true,"type","application/xml") xml.UpdateAttrAt("content|TopicDescription",true,"xmlns:i","http://www.w3.org/2001/XMLSchema-instance") xml.UpdateAttrAt("content|TopicDescription",true,"xmlns","http://schemas.microsoft.com/netservices/2010/10/servicebus/connect") xml.put_EmitXmlDecl(false) print xml.getXml() + "\n"; # The XML created by the above code: # <entry xmlns="http://www.w3.org/2005/Atom"> # <title type="text">gilaMonster</title> # <content type="application/xml"> # <TopicDescription xmlns:i="http://www.w3.org/2001/XMLSchema-instance" # xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect" /> # </content> # </entry> sbRequestBody = Chilkat::CkStringBuilder.new() xml.GetXmlSb(sbRequestBody) # The path should be set to the to-be-created queue name. sbPath = Chilkat::CkStringBuilder.new() sbPath.Append("/") sbPath.Append(topicName) sbResponseBody = Chilkat::CkStringBuilder.new() success = rest.FullRequestSb("PUT",sbPath.getAsString(),sbRequestBody,sbResponseBody) if (success != true) print rest.lastErrorText() + "\n"; exit end print "Response Status Code = " + rest.get_ResponseStatusCode().to_s() + "\n"; # Check for a success response. if (rest.get_ResponseStatusCode() != 201) print rest.lastRequestStartLine() + "\n"; print rest.lastRequestHeader() + "\n"; print sbResponseBody.getAsString() + "\n"; print "Failed." + "\n"; exit end # The response is XML. (See a sample response below..) xml.LoadSb(sbResponseBody,true) print xml.getXml() + "\n"; print "Success." + "\n"; # ----------------------------------------------- # A sample successful XML response: # <entry xmlns="http://www.w3.org/2005/Atom"> # <id>https://chilkat.servicebus.windows.net/gilaMonster</id> # <title type="text">gilaMonster</title> # <published>2016-12-06T23:34:13Z</published> # <updated>2016-12-06T23:34:13Z</updated> # <author> # <name>chilkat</name> # </author> # <link rel="self" href="https://chilkat.servicebus.windows.net/gilaMonster" /> # <content type="application/xml"> # <TopicDescription xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> # <DefaultMessageTimeToLive>P10675199DT2H48M5.4775807S</DefaultMessageTimeToLive> # <MaxSizeInMegabytes>1024</MaxSizeInMegabytes> # <RequiresDuplicateDetection>false</RequiresDuplicateDetection> # <DuplicateDetectionHistoryTimeWindow>PT10M</DuplicateDetectionHistoryTimeWindow> # <EnableBatchedOperations>true</EnableBatchedOperations> # <SizeInBytes>0</SizeInBytes> # <CreatedAt>2016-12-06T23:34:13.483</CreatedAt> # <UpdatedAt>2016-12-06T23:34:13.7</UpdatedAt> # </TopicDescription> # </content> # </entry> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.