It seems that this is not possible?
Also once a subscription is created it is still active although no clients are connected to it, so is there a way to see which subscriptions are live?
It seems that this is not possible?
Also once a subscription is created it is still active although no clients are connected to it, so is there a way to see which subscriptions are live?
Everything was working fine earlier today, but suddenly our clients have reported issues. I don't see any Azure status outages reported, but when I try to view my Service Bus Topics from the portal, it seems to timeout before saying "no topics yet". This is very troubling as we rely on Service Bus and Topics to execute our workflows.
I know our topics were not deleted by us, and more troubling, attempts to recreate Topics either through the portal or through code have failed (also receive timeout errors). It's like the service is unavailable. Anyone else having issues?
I have a need to create a Hybrid Connection (HBC) to interface with 2 VMs and an App Service. The VMs are SSRS servers. The App Serivce will call the HBC which will handle the routing to a VM to pull a report.
My issue is trying to set up the HBC with ARM and/or PowerShell. I have a template that I've been using that works to create the Relay and HBC, but when trying to associate with the App Service I get an error.
NOTE: All of this is ran through an Automation Account that uses the most current versions of the Az.* modules.
Error:
Template (truncated - all params are correct/valid):
"variables": {"hybridConnectionResourceId": "[resourceId('Microsoft.Relay/Namespaces/Hybridconnections', parameters('relayName'), parameters('hybridConnectionName'))]" },"resources": [ {"apiVersion": "2017-04-01","name": "[parameters('relayName')]","type": "Microsoft.Relay/Namespaces","location": "[parameters('location')]","sku": {"name": "[parameters('relaySku')]" },"properties": { },"resources": [ {"apiVersion": "2017-04-01","name": "[parameters('hybridConnectionName')]","type": "HybridConnections","dependsOn": ["[concat('Microsoft.Relay/namespaces/', parameters('relayName'))]" ],"properties": {"requiresClientAuthorization": "true","userMetadata": "Meta Data supplied by user for hybridConnections" } } ] }, {"name": "[concat(parameters('webAppName'), '/', parameters('relayName'), '/', parameters('hybridConnectionName'))]","type": "Microsoft.Web/sites/hybridConnectionNamespaces/relays","apiVersion": "2018-02-01","location": "[parameters('location')]","dependsOn": ["[resourceId('Microsoft.Relay/namespaces/hybridConnections',parameters('relayName'),parameters('hybridConnectionName'))]" ],"properties": {"serviceBusNamespace": "[parameters('relayName')]","relayName": "[parameters('hybridConnectionName')]","relayArmUri": "[variables('hybridConnectionResourceId')]","hostName": "[split(json(reference(variables('hybridConnectionResourceId'), '2017-04-01').userMetadata)[0].value, ':')[0]]","port": "[split(json(reference(variables('hybridConnectionResourceId'), '2017-04-01').userMetadata)[0].value, ':')[1]]","sendKeyName": "defaultSender","sendKeyValue": "[listkeys(concat(variables('hybridConnectionResourceId'), '/authorizationRules/defaultSender'), '2017-04-01').primaryKey]" } } ]
Found out that there wasn't a Shared Access Policy on the HBC getting created as part of this template (images of overview and SAPs below). I have not figured out how to create that either with ARM or PowerShell. The closest I've found is New-AzServiceBusRule. However, from what I understand, the Relay is a Service Bus, but how does that relate to the HBC? I'm trying to understand these cmdlets, but I'm not sure what my Topic would be for the Relay or HBC.
Am I even on the right path with these cmdlets or is there another set of cmdlets or ARM template that relate to the HBC SAPs?
Background:
I'm using a Managed Identity to connect to Azure Service Bus. I Have access roles configured for the identity and everything was connecting and working. Yesterday afternoon this suddenly stopped working and I began receiving the following Exception:
Microsoft.Azure.Amqp.AmqpException: 'Put token failed. status-code: 401, status-description: InvalidIssuer: Token issuer is invalid.
This begin happening on our servers as well as from a function app that was currently running in Azure. No changes that I am aware of were made to the permissions or the Managed Identity, though I did deploy a couple of new topics and subscriptions using a resource manager template. I'm at my wits end trying to get things back up and running and have had no luck finding any resources online.
Hello All,
I want to create the continue web job which will take the message from the service bus queue and will proceed with the message. How I can achieve it? Please help.
If web job running on one message and another message has received in service bus queue then will web job add another instance or will wait for to complete the first running?
Please advise.
Thank you in advance!!
Hi,
Are there any best practices for securing against potential vulnerabilities with data sent into an Event Hub queue?
Originating data format is XML.
Scenario
When business transactions are performed, we're supposed to make that data available to end clients.
Current Design
Our web app publishes messages to the Service Bus, so the transaction are added to a topic.
We expose APIs to clients through which they can consume the data from those transactions.
Upon calling these APIs, we read the messages from the Subscription and return it to the client.
Problem
We want a guaranteed delivery - we want to make sure the client acknowledges the delivery of the data. So we don't want to remove the message from the subscription immediately. We want to keep it until the client acknowledges it.
So we only want to do a "Peek" instead of "Receive".
So the client calls the first API, to get the data, where we do a Peek.
And once the client has received the packets, the client would call a second API, to acknowledge.
At this point, we want to remove the message from the Subscription, making it Complete.
The current design of the Service Bus Message Receiver is that, a Complete can be performed only using the same Receiver instance that performed the Peek, as per the documentation, and we also observed the same when we tried it out.
Both the APIs, are two separate APIs and we cannot do the Peek and Complete using the same instance of the Receiver.
Thinking about options to somehow make the Receiver as a Singleton, across APIs within that App Service.
However this will be a problem when the App Service scales out.
Is there a different way to achieve what we're trying to do here ?
I have a python Azure Function running in a container in AKS.
The function received a message from a queue, and puts a message in another queue back. This is referring to the inbound queue:
fail: Host.Executor[0]
MessageReceiver error (Action=Receive, ClientId=MessageReceiver1request-input, EntityPath=request-input, Endpoint=nxpricing-dev.servicebus.windows.net)
Microsoft.Azure.ServiceBus.MessagingEntityNotFoundException: Put token failed. status-code: 404, status-description: The messaging entity 'sb://nxpricing-dev.servicebus.windows.net/request-input' could not be found. TrackingId:c67efadd-8f86-4d01-b082-183c7ce27577_G13,
SystemTracker:nxpricing-dev.servicebus.windows.net:request-input, Timestamp:2019-08-30T06:23:20.
at Microsoft.Azure.ServiceBus.Core.MessageReceiver.OnReceiveAsync(Int32 maxMessageCount, TimeSpan serverWaitTime)
at Microsoft.Azure.ServiceBus.Core.MessageReceiver.<>c__DisplayClass65_0.<<ReceiveAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.Azure.ServiceBus.RetryPolicy.RunOperation(Func`1 operation, TimeSpan operationTimeout)
at Microsoft.Azure.ServiceBus.RetryPolicy.RunOperation(Func`1 operation, TimeSpan operationTimeout)
at Microsoft.Azure.ServiceBus.Core.MessageReceiver.ReceiveAsync(Int32 maxMessageCount, TimeSpan operationTimeout)
at Microsoft.Azure.ServiceBus.Core.MessageReceiver.ReceiveAsync(TimeSpan operationTimeout)
at Microsoft.Azure.ServiceBus.MessageReceivePump.MessagePumpTaskAsync()
Any ideas?
thanks!
I can Successfully send Message to Service Bus Topic from a web Api application with out any exceptions
but can't see the count increasing in portal and also my subscription doesn't receive this message.
I never experienced this issue before, was able to send message to Service Bus topic and receive message using Subscription.
The only way I can make this work again is to delete and recreate the service Bus.
From @UlissesOPaiva via Twitter
"@AzureSupport What´s the best way to connect a siemens PLC to IoT hub? Have I implement AMQP on PLC or I can use OPC UA?"
http://twitter.com/UlissesOPaiva/status/694927861409570816
Thanks,
@AzureSupport
Hello, We have a software component that puts messages on a service bus queue. We have another component that consumes those messages. If the consumer component fails, the messages stay on the queue (indefinitely). I'm trying to configure an alert rule to detect this. I cannot detect on a certain amount of active messages. During times of heavy load, the queue can contain a lot of active messages without there being a problem. I would have to set the limit very high, so it doesn't trigger falsely. But during low load, when the consumer fails, it would take way too long for the active messages to reach the high limit. I cannot find a way to work with the age of messages. Is there a proper way to detect this?
I asked this question via an Azure support ticket 3 weeks ago, but got no response whatsoever. Maybe a support ticket is not the way to ask a question, but I expected at least an answer pointing me to another direction.
Kind regards,
Ben
Is there a way to see whether packet actually reach service bus relay based on correlationId or activityId present in WCF logs along with timestamp and service bus dns or do we need any additional logging to achieve this?
Any reason why we might see this behavior, packet being shown as sent in wcf trace but not reached the consumer?
Network team from Customer side claims they have whitelisted *.servicebus.windows.net DNS and we see this happening only for few packets in regular pattern.
Let me know if you need any more details.
Thanks in advance!
Hi
Not sure this is the correct forum for this, but I was wondering if you guys are also using the Azure Service Bus explorer to explore and troubleshoot issues in the Service Bus.
I would like to grant access to power users, but it seems the minimum access requirement is Manage and this permission allows you to delete the queues. Is there any way we can configure the exlorer to require only read access ?
Thank you
I have created event grid topic inside event grid domain. Now I want to create event subscription for that topic using rest api.
I have read docs through this link
https://docs.microsoft.com/en-us/rest/api/eventgrid/eventsubscriptions/createorupdate?source=docs#uri-parameters.
But I am not able to find url for what I need.
I have tried this urls.
https://management.azure.com/subscriptions/{subscription ID}/resourceGroups/{resourse group name}/providers/{event grid domain topic}/topics/{topic name}/providers/Microsoft.EventGrid/eventSubscriptions/{event subscription name}?api-version=2019-02-01-preview
I'm trying to get very specific with estimating pricing using Azure Service Bus, so I need to know if my solution will be consuming 'Brokered Connections', which can incur cost in the Standard Tier. As I understand it, Brokered Connections are used with HTTP 'long polling'. I'm using using the Microsoft.Azure.ServiceBus NuGet package, and listening for messages using the SubscriptionClient and registering a callback to process messages using the RegisterMessageHandler() method.
What I'm trying to figure out is: is using the SubscriptionClient this way causing Brokered Connections or not? If it is, this has a huge impact on my pricing estimate.
Any help is much appreciated!
I use scheduled messages in azure service bus with topic and subscriptions.
Messages sent using Microsoft.Azure.ServiceBus.TopicClient.SendAsync()
SessionId is set.
Scheduling implemented setting Microsoft.Azure.ServiceBus.Message.ScheduledEnqueueTimeUtc to 5 minutes in the future following instructions in the section 'Scheduled Messages' on this page (https://docs.microsoft.com/en-us/azure/service-bus-messaging/message-sequencing#scheduled-messages). According
to this section it is possible to read scheduled messages from subscription using Message browsing (https://docs.microsoft.com/en-us/azure/service-bus-messaging/message-browsing).
I specifically use Microsoft.Azure.ServiceBus.SessionClient.AcceptMessageSessionAsync(sessionId) for getting IMessageSession.
And then Microsoft.Azure.ServiceBus.IMessageSession.PeekAsynk(int maxMessageCount) to get list of scheduled messages.
But this method returns empty collection if called before ScheduledEnqueueTimeUtc.
Do I do anything wrong? Is there a way to read scheduled messages from topic subscription before ScheduledEnqueueTimeUtc?
I followed this document (see the link below) to create a service bus. I downloaded the sample code BasicSendReceiveQuickStart and when I ran it I got this exception "Put token failed. status-code: 401, status-description: ExpiredToken: The token is expired." even thought I just created the queue and the default is 14 days.
https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-quickstart-portal
Hello Techie!
I have a requirement where during any exception or validation failures, i need to manually push messages to DeadLetter queue. How to achieve this using .net core? I have been trying this for couple of days now, but didn't worked out.
Thanks
Santhosh Kumar K