def create_workspace(): workspace = Workspace(subscription_id=config._SUBSCRIPTION_ID, resource_group=config._RESOURCE_GROUP, name=config._NAME, location=config._LOCATION) workspace.login() return workspace
def create_workspace(self) -> Workspace: """Create workspace using credentials stored in config file :return: Workspace :rtype: Workspace """ workspace = Workspace( subscription_id=self.subscription_id, resource_group=self.resource_group, name=self.workspace_name, ) if self.is_live or self.in_recording: workspace.credentials = ServicePrincipalCredentials( tenant=self.tenant_id, client_id=self.client_id, secret=self.client_secret, resource="https://quantum.microsoft.com") workspace.login(False) else: workspace.credentials = BasicTokenAuthentication( token=self.dummy_auth_token) return workspace
def create_workspace_mock_login(**kwds) -> Workspace: """Create a mock Workspace object by patching the Azure authentication and uses a dummy authentication token.""" workspace = Workspace(**kwds) dummy_auth_token = { 'access_token': 'eyJ1eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJidWQiOiJodHRwczovL3F1YW50dW0ubWljcm9zb2Z0LmNvbSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzcyZjk4OGJmLTg2ZjEtNDFhZi05MWFiLTJkN2NkMDExZGI0Ny8iLCJpYXQiOjE2MTE2ODMwNjAsIm5iZiI6MTYxMTY4MzA2MCwiZXhwIjoxNjExNjg2OTYwLCJfY2xhaW1fbmFtZXMiOnsiZ3JvdXBzIjoic3JjMSJ9LCJfY2xhaW1fc291cmNlcyI6eyJzcmMxIjp7ImVuZHBvaW50IjoiaHR0cHM6Ly9ncmFwaC53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvdXNlcnMvZTlhNGE5ZTEtODcxNS00Yjc1LTk2NWQtYzBkZDQxMTIzODY4L2dldE1lbWJlck9iamVjdHMifX0sImFjciI6IjEiLCJhaW8iOiJBVlFBcS84U0FBQUFXMnNsMlRORXd5eXA2OGdvejM2RnRoSXFZSlJDdmRibDF0WVJPanUrUzNCZDV5MGsyeWMyOFdKUk9IQ283a0VuNGRpaDh1dkpLQm00TFNoTHRUQ3FsMHMwNkp6N3NYclNpNTFJOEljZThZcz0iLCJhbXIiOlsid2lhIiwibWZhIl0sImFwcGlkIjoiODRiYTA5NDctNmM1My00ZGQyLTljYTktYjM2OTQ3NjE1MjFiIiwiYXBwaWRhY3IiOiIwIiwiZmFtaWx5X25hbWUiOiJCcm93biIsImdpdmVuX25hbWUiOiJUb20iLCJpbl9jb3JwIjoidHJ1ZSIsImlwYWRkciI6IjczLjgzLjM5LjEwIiwibmFtZSI6IlRvbSBCcm93biIsIm9pZCI6ImU5YTRhOWUxLTg3MTUtNGI3NS05NjVkLWMwZGQ0MTEyMzg2OCIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0xNzc1MDU1MSIsInB1aWQiOiIxMDAzN0ZGRTkyREI4MzEyIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlIwY0p1b1JUYk5KTm5LbXphVWRoVWhzYUFPOC4iLCJzY3AiOiJKb2JzLlJlYWRXcml0ZSIsInN1YiI6IjNxVk1XZ3cxRWozYVRlTEdTenE0bmVsMms1UHFVS1BBY2ZVNDBSUl9JZ3MiLCJ0aWQiOiI3MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDciLCJ1bmlxdWVfbmFtZSI6InRoYnJvQG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJ0aGJyb0BtaWNyb3NvZnQuY29tIiwidXRpIjoiUzMxNVVqbk9JVWUzeDdRR3ZaVWFBQSIsInZlciI6IjEuMCIsIndpZHMiOlsiYjc5ZmJmNGQtM2VmOS00Njg5LTgxNDMtNzZiMTk0ZTg1NTA5Il19.PCWEtCdso3_jehm3Ppg9lCSy_VgwY96IG0_Lqji5tN3yEmBmsP4Du-6MA2IHlz7pbKfQ8Qdw4aeobWZkuDW71Zo9PCkBSLQewng5EMbDvZO3jPJfCOd0IepaPVdtvtaCL2KnPEZicEM4kIO_9f8hCC4Ik8MAem788HuutNhN_YExJDWtM-aNoXIBLtDm39u3bCr2WFk4he3xpISLD3ZqAk2UPKagMwuwO-tArtcoQvA1_n_owv-I5P8vEk1wOmUh6LTB6pUAIS4wFIMgINUE1dBSuQmyimEfc7rRuWl-YJrMH0WRdbgFutwbBv_5dKs6VcYGgrvA3nIGU_Xz5vuJMA', 'token_type': 'Bearer', 'expires_in': 485 } with unittest.mock.patch.object(MsalWrapper, 'acquire_auth_token', return_value=dummy_auth_token): workspace.login(True) return workspace
def create_workspace() -> Workspace: """Create workspace using credentials stored in config file :return: Workspace :rtype: Workspace """ config = get_config() workspace = Workspace( subscription_id=config["azure.quantum"]["subscription_id"], resource_group=config["azure.quantum"]["resource_group"], name=config["azure.quantum"]["workspace_name"], storage="") # try to login - this should trigger the device flow workspace.login(False) return workspace
def create_workspace() -> Workspace: """Create workspace using credentials stored in config file :return: Workspace :rtype: Workspace """ client_id = os.environ.get("AZURE_CLIENT_ID", "") client_secret = os.environ.get("AZURE_CLIENT_SECRET", "") tenant_id = os.environ.get("AZURE_TENANT_ID", "") resource_group = os.environ.get("RESOURCE_GROUP", "") subscription_id = os.environ.get("SUBSCRIPTION_ID", "") workspace_name = os.environ.get("WORKSPACE_NAME", "") assert len( client_id) > 0, "AZURE_CLIENT_ID not found in environment variables." assert len(client_secret ) > 0, "AZURE_CLIENT_SECRET not found in environment variables." assert len( tenant_id) > 0, "AZURE_TENANT_ID not found in environment variables." assert len(resource_group ) > 0, "RESOURCE_GROUP not found in environment variables." assert len(subscription_id ) > 0, "SUBSCRIPTION_ID not found in environment variables." assert len(workspace_name ) > 0, "WORKSPACE_NAME not found in environment variables." if len(client_secret) > 0: workspace = Workspace( subscription_id=subscription_id, resource_group=resource_group, name=workspace_name, ) workspace.credentials = ServicePrincipalCredentials( tenant=tenant_id, client_id=client_id, secret=client_secret, resource="https://quantum.microsoft.com") workspace.login() return workspace
def SPLogin(): quantumWorkspace = {} try: quantumWorkspace = Workspace( subscription_id=os.environ.get( 'subscriptionId'), # Add your subscription_id resource_group=os.environ.get( 'resourceGroup'), # Add your resource_group name=os.environ.get( 'quantumWorkspaceName'), # Add your workspace name location=os.environ.get( 'quantumLocation' ) # Add the workspace location, for example, westus ) if (os.environ.get('loginMethod') == 'servicePrincipal'): quantumWorkspace.credentials = ServicePrincipalCredentials( tenant=os.environ.get( 'directoryId' ), # From service principal creation, your Directory (tenant) ID client_id=os.environ.get( 'appId' ), # From service principal creation, your Application (client) ID secret=os.environ.get( 'appsecret' ), # From service principal creation, your secret resource= "https://quantum.microsoft.com" # Do not change! This is the resource you want to authenticate against - the Azure Quantum service ) else: quantumWorkspace.login( ) #If you do not want to use service prinipal login you can use the interactive browser login except: KeyError('Failed to login with service principal') quantumWorkspace.login() return quantumWorkspace
def create_workspace() -> Workspace: """Create workspace using credentials stored in config file :return: Workspace :rtype: Workspace """ config = get_config() if config: workspace = Workspace( subscription_id=config["azure.quantum"]["subscription_id"], resource_group=config["azure.quantum"]["resource_group"], name=config["azure.quantum"]["workspace_name"], ) # try to login - this should trigger the device flow workspace.login(False) else: workspace = create_workspace_mock_login( subscription_id=RecordingUpdater.dummy_uid, resource_group=RecordingUpdater.dummy_rg, name=RecordingUpdater.dummy_ws, ) return workspace
# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # Instantiate Workspace object which allows you to connect to the Workspace you've previously deployed in Azure. # Be sure to fill in the settings below which can be retrieved by running 'az quantum workspace show' in the terminal. from azure.quantum import Workspace # Copy the settings for your workspace below workspace = Workspace( subscription_id="", # Add your subscription_id resource_group="", # Add your resource_group name="", # Add your workspace name location="" # Add your workspace location (for example, "westus") ) workspace.login() # Take an array of container weights and return a Problem object that represents the cost function from typing import List from azure.quantum.optimization import Problem, ProblemType, Term def create_problem_for_container_weights( container_weights: List[int]) -> Problem: terms: List[Term] = [] # Expand the squared summation for i in range(len(container_weights)): for j in range(len(container_weights)): if i == j: # Skip the terms where i == j as they form constant terms in an Ising problem and can be disregarded: