def test_get_purchased_phone_number_from_managed_identity(self): endpoint, access_key = parse_connection_str(self.connection_str) credential = create_token_credential() phone_number_client = PhoneNumbersClient(endpoint, credential) phone_number = phone_number_client.get_purchased_phone_number( self.phone_number) assert phone_number.phone_number == self.phone_number
def test_list_purchased_phone_numbers_from_managed_identity(self): endpoint, access_key = parse_connection_str(self.connection_str) credential = create_token_credential() phone_number_client = PhoneNumbersClient( endpoint, credential, http_logging_policy=get_http_logging_policy()) phone_numbers = phone_number_client.list_purchased_phone_numbers() assert phone_numbers.next()
def test_update_phone_number_capabilities_from_managed_identity(self): endpoint, access_key = parse_connection_str(self.connection_str) credential = create_token_credential() phone_number_client = PhoneNumbersClient(endpoint, credential) poller = phone_number_client.begin_update_phone_number_capabilities( self.phone_number, PhoneNumberCapabilityType.INBOUND_OUTBOUND, PhoneNumberCapabilityType.INBOUND, polling=True) poller.result() assert poller.status() == PhoneNumberOperationStatus.SUCCEEDED.value
def test_search_available_phone_numbers_from_managed_identity(self): endpoint, access_key = parse_connection_str(self.connection_str) credential = create_token_credential() phone_number_client = PhoneNumbersClient(endpoint, credential) capabilities = PhoneNumberCapabilities( calling=PhoneNumberCapabilityType.INBOUND, sms=PhoneNumberCapabilityType.INBOUND_OUTBOUND) poller = phone_number_client.begin_search_available_phone_numbers( self.country_code, PhoneNumberType.TOLL_FREE, PhoneNumberAssignmentType.APPLICATION, capabilities, polling=True) assert poller.result()
def get_new_phonenumber(connection_string): try: phone_numbers_client = PhoneNumbersClient.from_connection_string( connection_string) capabilities = PhoneNumberCapabilities( calling=PhoneNumberCapabilityType.INBOUND, sms=PhoneNumberCapabilityType.INBOUND_OUTBOUND ) search_poller = phone_numbers_client.begin_search_available_phone_numbers( "US", PhoneNumberType.TOLL_FREE, PhoneNumberAssignmentType.APPLICATION, capabilities, area_code="833", polling=True ) search_result = search_poller.result() purchase_poller = phone_numbers_client.begin_purchase_phone_numbers( search_result.search_id, polling=True) purchase_poller.result() if(purchase_poller.status() == 'succeeded'): phone_number_list = search_result.phone_numbers for phone_number in phone_number_list: return phone_number except Exception as ex: return TEST_RECIPIENT_PHONENUMBER_DEFAULT
def test_update_phone_number_capabilities_from_managed_identity(self): endpoint, access_key = parse_connection_str(self.connection_str) credential = create_token_credential() phone_number_client = PhoneNumbersClient( endpoint, credential, http_logging_policy=get_http_logging_policy()) current_phone_number = phone_number_client.get_purchased_phone_number( self.phone_number) calling_capabilities = PhoneNumberCapabilityType.INBOUND if current_phone_number.capabilities.calling == PhoneNumberCapabilityType.OUTBOUND else PhoneNumberCapabilityType.OUTBOUND sms_capabilities = PhoneNumberCapabilityType.INBOUND_OUTBOUND if current_phone_number.capabilities.sms == PhoneNumberCapabilityType.OUTBOUND else PhoneNumberCapabilityType.OUTBOUND poller = phone_number_client.begin_update_phone_number_capabilities( self.phone_number, sms_capabilities, calling_capabilities, polling=True) assert poller.result() assert poller.status() == PhoneNumberOperationStatus.SUCCEEDED.value
def _get_managed_identity_phone_number_client(self): endpoint, access_key = parse_connection_str(self.connection_str) credential = create_token_credential() return PhoneNumbersClient( endpoint, credential, http_logging_policy=get_http_logging_policy(), headers_policy=get_header_policy() )
def cf_communication_phonenumbers(cli_ctx, kwargs): from azure.communication.phonenumbers import PhoneNumbersClient connection_string = kwargs.pop('connection_string', None) if connection_string is None: error_msg = 'Please specify --connection-string, or set AZURE_COMMUNICATION_CONNECTION_STRING.' raise RequiredArgumentMissingError(error_msg) client = PhoneNumbersClient.from_connection_string(connection_string) return client
def test_purchase_phone_number_from_managed_identity(self): endpoint, access_key = parse_connection_str(self.connection_str) credential = create_token_credential() phone_number_client = PhoneNumbersClient(endpoint, credential) capabilities = PhoneNumberCapabilities( calling = PhoneNumberCapabilityType.INBOUND, sms = PhoneNumberCapabilityType.INBOUND_OUTBOUND ) search_poller = phone_number_client.begin_search_available_phone_numbers( self.country_code, PhoneNumberType.TOLL_FREE, PhoneNumberAssignmentType.APPLICATION, capabilities, polling = True ) phone_number_to_buy = search_poller.result() purchase_poller = phone_number_client.begin_purchase_phone_numbers(phone_number_to_buy.search_id, polling=True) purchase_poller.result() release_poller = phone_number_client.begin_release_phone_number(phone_number_to_buy.phone_numbers[0]) assert release_poller.status() == PhoneNumberOperationStatus.SUCCEEDED.value
def setUp(self): super(PhoneNumbersClientTest, self).setUp() if self.is_playback(): self.phone_number = "sanitized" self.country_code = "US" else: self.phone_number = os.getenv("AZURE_COMMUNICATION_SERVICE_PHONE_NUMBER") self.country_code = os.getenv("AZURE_COMMUNICATION_SERVICE_COUNTRY_CODE", "US") self.phone_number_client = PhoneNumbersClient.from_connection_string(self.connection_str) self.recording_processors.extend([ BodyReplacerProcessor( keys=["id", "token", "phoneNumber"] ), PhoneNumberUriReplacer(), ResponseReplacerProcessor()])
python update_phone_number_capabilities_sample.py Set the environment variables with your own values before running the sample: 1) AZURE_COMMUNICATION_SERVICE_CONNECTION_STRING - The connection string including your endpoint and access key of your Azure Communication Service 2) AZURE_COMMUNICATION_SERVICE_PHONE_NUMBER - The phone number you want to update """ import os from azure.communication.phonenumbers import (PhoneNumbersClient, PhoneNumberCapabilityType) connection_str = os.getenv('AZURE_COMMUNICATION_SERVICE_CONNECTION_STRING') phone_number_to_update = os.getenv( "AZURE_COMMUNICATION_SERVICE_PHONE_NUMBER" # e.g. "+15551234567" ) phone_numbers_client = PhoneNumbersClient.from_connection_string( connection_str) def update_phone_number_capabilities(): poller = phone_numbers_client.begin_update_phone_number_capabilities( phone_number_to_update, PhoneNumberCapabilityType.INBOUND_OUTBOUND, PhoneNumberCapabilityType.INBOUND, polling=True) poller.result() print('Status of the operation: ' + poller.status()) if __name__ == '__main__': update_phone_number_capabilities()
def cf_communication_phonenumbers(cli_ctx, kwargs): from azure.communication.phonenumbers import PhoneNumbersClient connection_string = kwargs.pop('connection_string', None) client = PhoneNumbersClient.from_connection_string(connection_string) return client
FILE: managed_identity_authentication_sample.py DESCRIPTION: This sample demonstrates how to authenticate the PhoneNumbersClient using managed identity USAGE: python managed_identity_authentication_sample.py Set the environment variables with your own values before running the sample: 1) AZURE_COMMUNICATION_SERVICE_CONNECTION_STRING - The connection string of your Azure Communication Service resource 2) AZURE_CLIENT_ID - The id of your registered Azure Active Directory application 3) AZURE_CLIENT_SECRET - A client secret created for your registered AAD aplication 4) AZURE_TENANT_ID - The tenant in which this application can be found """ import os from azure.communication.phonenumbers import PhoneNumbersClient from azure.communication.phonenumbers._shared.utils import parse_connection_str from azure.identity import DefaultAzureCredential connection_str = os.getenv('AZURE_COMMUNICATION_SERVICE_CONNECTION_STRING') endpoint, _ = parse_connection_str(connection_str) phone_numbers_client = PhoneNumbersClient(endpoint, DefaultAzureCredential()) def list_purchased_phone_numbers_using_managed_identity(): purchased_phone_numbers = phone_numbers_client.list_purchased_phone_numbers() print('Purchased phone numbers:') for acquired_phone_number in purchased_phone_numbers: print(acquired_phone_number.phone_number) if __name__ == '__main__': list_purchased_phone_numbers_using_managed_identity()
def test_list_acquired_phone_numbers_from_managed_identity(self): endpoint, access_key = parse_connection_str(self.connection_str) credential = create_token_credential() phone_number_client = PhoneNumbersClient(endpoint, credential) phone_numbers = phone_number_client.list_acquired_phone_numbers() assert phone_numbers.next()