Skip to content

Commit

Permalink
[EventHubs] Get IoT Hub Name from Redirect Address in sample (Azure#1…
Browse files Browse the repository at this point in the history
  • Loading branch information
swathipil authored Jun 23, 2021
1 parent 991c638 commit 074f36d
Showing 1 changed file with 8 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
"""

import os
import re
import time
from base64 import b64encode, b64decode
from hashlib import sha256
Expand Down Expand Up @@ -80,6 +81,13 @@ def convert_iothub_to_eventhub_conn_str(iothub_conn_str):
# Once a redirect error is received, close the original client and recreate a new one to the re-directed address
receive_client.close()
fully_qualified_name = redirect.hostname.decode("utf-8")
# Use regular expression to parse the Event Hub name from the IoT Hub redirection address
if redirect.address:
# The regex searches for the Event Hub compatible name in the redirection address. The name is nested in
# between the port and 'ConsumerGroups'.
# (ex. "...servicebus.windows.net:12345/<Event Hub name>/ConsumerGroups/...").
# The regex matches string ':<digits>/', then any characters, then the string '/ConsumerGroups'.
iot_hub_name = re.search(":\d+\/.*/ConsumerGroups", str(redirect.address)).group(0).split("/")[1]
return "Endpoint=sb://{}/;SharedAccessKeyName={};SharedAccessKey={};EntityPath={}".format(
fully_qualified_name,
shared_access_key_name,
Expand Down

0 comments on commit 074f36d

Please sign in to comment.