-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[servicebus] uamqp custom endpoint support (#24582)
* starting to add ce capability for sync * sync ce pass through * add ce async * async test * update sync test * update sync test * trailing whitespace * updating changelog * pr comments * removing fix for other pr
- Loading branch information
1 parent
62ffa83
commit 169e608
Showing
7 changed files
with
168 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
47 changes: 47 additions & 0 deletions
47
...bus/azure-servicebus/samples/async_samples/connection_to_custom_endpoint_address_async.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
#!/usr/bin/env python | ||
|
||
# -------------------------------------------------------------------------------------------- | ||
# Copyright (c) Microsoft Corporation. All rights reserved. | ||
# Licensed under the MIT License. See License.txt in the project root for license information. | ||
# -------------------------------------------------------------------------------------------- | ||
|
||
""" | ||
Examples to show how to create async EventHubProducerClient and EventHubConsumerClient that connect to custom endpoint. | ||
""" | ||
|
||
import os | ||
import asyncio | ||
from azure.servicebus import ServiceBusMessage | ||
from azure.servicebus.aio import ServiceBusClient | ||
|
||
|
||
CONNECTION_STR = os.environ['SERVICE_BUS_CONNECTION_STR'] | ||
QUEUE_NAME = os.environ["SERVICE_BUS_QUEUE_NAME"] | ||
# The custom endpoint address to use for establishing a connection to the Service Bus service, | ||
# allowing network requests to be routed through any application gateways | ||
# or other paths needed for the host environment. | ||
CUSTOM_ENDPOINT_ADDRESS = 'sb://<custom_endpoint_hostname>:<custom_endpoint_port>' | ||
# The optional absolute path to the custom certificate file used by client to authenticate the | ||
# identity of the connection endpoint in the case that endpoint has its own issued CA. | ||
# If not set, the certifi library will be used to load certificates. | ||
CUSTOM_CA_BUNDLE_PATH = '<your_custom_ca_bundle_file_path>' | ||
|
||
async def send_single_message(sender): | ||
message = ServiceBusMessage("Single Message") | ||
sender.send_messages(message) | ||
|
||
async def main(): | ||
servicebus_client = ServiceBusClient.from_connection_string( | ||
conn_str=CONNECTION_STR, | ||
custom_endpoint_address=CUSTOM_ENDPOINT_ADDRESS, | ||
connection_verify=CUSTOM_CA_BUNDLE_PATH | ||
) | ||
async with servicebus_client: | ||
sender = servicebus_client.get_queue_sender(queue_name=QUEUE_NAME) | ||
async with sender: | ||
await send_single_message(sender) | ||
print("Send message is done.") | ||
|
||
|
||
asyncio.run(main()) | ||
|
40 changes: 40 additions & 0 deletions
40
...servicebus/azure-servicebus/samples/sync_samples/connection_to_custom_endpoint_address.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
#!/usr/bin/env python | ||
|
||
# -------------------------------------------------------------------------------------------- | ||
# Copyright (c) Microsoft Corporation. All rights reserved. | ||
# Licensed under the MIT License. See License.txt in the project root for license information. | ||
# -------------------------------------------------------------------------------------------- | ||
|
||
""" | ||
Examples to show how to create async EventHubProducerClient and EventHubConsumerClient that connect to custom endpoint. | ||
""" | ||
|
||
import os | ||
from azure.servicebus import ServiceBusClient, ServiceBusMessage | ||
|
||
|
||
CONNECTION_STR = os.environ['SERVICE_BUS_CONNECTION_STR'] | ||
QUEUE_NAME = os.environ["SERVICE_BUS_QUEUE_NAME"] | ||
# The custom endpoint address to use for establishing a connection to the Service Bus service, | ||
# allowing network requests to be routed through any application gateways | ||
# or other paths needed for the host environment. | ||
CUSTOM_ENDPOINT_ADDRESS = 'sb://<custom_endpoint_hostname>:<custom_endpoint_port>' | ||
# The optional absolute path to the custom certificate file used by client to authenticate the | ||
# identity of the connection endpoint in the case that endpoint has its own issued CA. | ||
# If not set, the certifi library will be used to load certificates. | ||
CUSTOM_CA_BUNDLE_PATH = '<your_custom_ca_bundle_file_path>' | ||
|
||
def send_single_message(sender): | ||
message = ServiceBusMessage("Single Message") | ||
sender.send_messages(message) | ||
|
||
servicebus_client = ServiceBusClient.from_connection_string( | ||
conn_str=CONNECTION_STR, | ||
logging_enable=True, | ||
custom_endpoint_address=CUSTOM_ENDPOINT_ADDRESS, | ||
connection_verify=CUSTOM_CA_BUNDLE_PATH | ||
) | ||
with servicebus_client: | ||
sender = servicebus_client.get_queue_sender(queue_name=QUEUE_NAME) | ||
with sender: | ||
send_single_message(sender) |