LocalWebservice class

Definition

Represents a machine learning model deployed as a local web service endpoint.

Deploying web services locally is useful for debugging and testing scenarios.

LocalWebservice(workspace, name, must_exist=True)
Inheritance
LocalWebservice

Parameters

workspace
Workspace

The workspace object containing any Model objects that will be retrieved.

name
str

The name of the Webservice object to retrieve.

must_exist
bool

Whether the webservice must already exist when creating the in-memory object.

Remarks

The following code samples shows how to create a local Docker web service. See the notebook link for more details.


   from azureml.core.webservice import LocalWebservice

   # This is optional, if not provided Docker will choose a random unused port.
   deployment_config = LocalWebservice.deploy_configuration(port=6789)

   local_service = Model.deploy(ws, "test", [model], inference_config, deployment_config)

   local_service.wait_for_deployment()

Full sample is available from https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local.ipynb

Methods

delete(delete_cache=True, delete_image=False, delete_volume=True)

Delete this LocalWebservice from the local machine.

This function call is not asynchronous; it runs until the service is deleted.

deploy_configuration(port=None)

Create a configuration object for deploying a local Webservice.

deploy_to_cloud(name=None, deployment_config=None, deployment_target=None)

Deploy a Webservice based on the LocalWebservice's configuration.

deserialize(workspace, webservice_payload)

Convert a Model Management Service response JSON object into a Webservice object.

Note

Not supported for LocalWebservice.

get_keys()

Retrieve auth keys for this Webservice.

Note

Not supported for LocalWebservice.

get_logs(num_lines=5000, raw=False)

Retrieve logs for this LocalWebservice.

get_token()

Retrieve auth token for this Webservice, scoped to the current user.

Note

Not supported for LocalWebservice.

list(workspace, model_name=None, model_id=None)

List the LocalWebservices associated with the corresponding Workspace. Can be filtered using parameters.

regen_key(key)

Regenerate one of the Webservice's keys.

Note

Not supported for LocalWebservice.

reload(wait=False)

Reload the LocalWebservice's execution script and dependencies.

This restarts the service's container with copies of updated assets, including the execution script and local dependencies, but it does not rebuild the underlying image. Accordingly, changes to Conda/pip dependencies or custom Docker steps will not be reflected in the reloaded LocalWebservice. To handle those changes call the update(models=None, image_config=None, deployment_config=None, wait=False, inference_config=None) method instead.

run(input_data)

Call this LocalWebservice with the provided input.

serialize()

Convert this Webservice object into a JSON-serialized dictionary.

update(models=None, image_config=None, deployment_config=None, wait=False, inference_config=None)

Update the LocalWebservice with provided properties.

Values left as None will remain unchanged in this LocalWebservice.

update_deployment_state(must_exist=False)

Refresh the current state of the in-memory object.

Perform an in-place update of the properties of the object based on the current state of the corresponding local Docker container.

wait_for_deployment(show_output=False)

Poll the running LocalWebservice deployment.

delete(delete_cache=True, delete_image=False, delete_volume=True)

Delete this LocalWebservice from the local machine.

This function call is not asynchronous; it runs until the service is deleted.

delete(delete_cache=True, delete_image=False, delete_volume=True)

Parameters

delete_cache
bool

Whether to delete temporary files cached for the service. (Default: True)

delete_image
bool

Whether to delete the service's Docker image. (Default: False)

delete_volume
bool

Whether to delete the service's Docker volume. (Default: True)

Exceptions

deploy_configuration(port=None)

Create a configuration object for deploying a local Webservice.

deploy_configuration(port=None)

Parameters

port
int

The local port on which to expose the service's HTTP endpoint.

default value: None

Returns

A configuration object to use when deploying a Webservice object.

Return type

Exceptions

deploy_to_cloud(name=None, deployment_config=None, deployment_target=None)

Deploy a Webservice based on the LocalWebservice's configuration.

deploy_to_cloud(name=None, deployment_config=None, deployment_target=None)

Parameters

name
str

The name to give the deployed service. Must be unique to the workspace.

default value: None
deployment_config
WebserviceDeploymentConfiguration

A WebserviceDeploymentConfiguration used to configure the webservice. If one is not provided, an empty configuration object will be used based on the desired target.

default value: None
deployment_target
ComputeTarget

A ComputeTarget to which to deploy the Webservice. As ACI has no associated ComputeTarget, leave this parameter as None to deploy to ACI.

default value: None

Returns

A Webservice object corresponding to the deployed webservice.

Return type

Exceptions

deserialize(workspace, webservice_payload)

Convert a Model Management Service response JSON object into a Webservice object.

Note

Not supported for LocalWebservice.

deserialize(workspace, webservice_payload)

Parameters

cls
workspace
Workspace

The workspace object the Webservice is registered under.

webservice_payload
dict

A JSON object to convert to a Webservice object.

Exceptions

get_keys()

Retrieve auth keys for this Webservice.

Note

Not supported for LocalWebservice.

get_keys()

Returns

The auth keys for this Webservice.

Exceptions

get_logs(num_lines=5000, raw=False)

Retrieve logs for this LocalWebservice.

get_logs(num_lines=5000, raw=False)

Parameters

num_lines
int

The maximum number of log lines to retrieve. (Default: 5000)

raw
bool

Return the raw Docker container output without attempting to format it. (Default: False)

Returns

The logs for this LocalWebservice.

Return type

str

Exceptions

get_token()

Retrieve auth token for this Webservice, scoped to the current user.

Note

Not supported for LocalWebservice.

get_token()

Returns

The auth token for this Webservice and when it should be refreshed after.

Return type

Exceptions

list(workspace, model_name=None, model_id=None)

List the LocalWebservices associated with the corresponding Workspace. Can be filtered using parameters.

list(workspace, model_name=None, model_id=None)

Parameters

workspace
Workspace

The Workspace object associated with the LocalWebservices.

model_name
str

Filter list to only include LocalWebservices deployed with the specific model name.

default value: None
model_id
str

Filter list to only include LocalWebservices deployed with the specific model ID.

default value: None

Returns

A filtered list of LocalWebservices associated with the provided Workspace.

Return type

Exceptions

regen_key(key)

Regenerate one of the Webservice's keys.

Note

Not supported for LocalWebservice.

regen_key(key)

Parameters

key
str

Which key to regenerate. Options are 'Primary' or 'Secondary'

Exceptions

reload(wait=False)

Reload the LocalWebservice's execution script and dependencies.

This restarts the service's container with copies of updated assets, including the execution script and local dependencies, but it does not rebuild the underlying image. Accordingly, changes to Conda/pip dependencies or custom Docker steps will not be reflected in the reloaded LocalWebservice. To handle those changes call the update(models=None, image_config=None, deployment_config=None, wait=False, inference_config=None) method instead.

reload(wait=False)

Parameters

wait
bool

Wait for the service's container to reach a healthy state. (Default: False)

Exceptions

run(input_data)

Call this LocalWebservice with the provided input.

run(input_data)

Parameters

input_data
varies

The input with which to call the LocalWebservice.

Returns

The result of calling the LocalWebservice.

Return type

varies

Exceptions

serialize()

Convert this Webservice object into a JSON-serialized dictionary.

serialize()

Returns

Serialized representation of the Webservice object.

Return type

Exceptions

update(models=None, image_config=None, deployment_config=None, wait=False, inference_config=None)

Update the LocalWebservice with provided properties.

Values left as None will remain unchanged in this LocalWebservice.

update(models=None, image_config=None, deployment_config=None, wait=False, inference_config=None)

Parameters

models
list[Model]

A new list of models contained in the LocalWebservice.

image_config
ContainerImageConfig

Image configuration options to apply to the LocalWebservice.

deployment_config
LocalWebserviceDeploymentConfiguration

Deployment configuration options to apply to the LocalWebservice.

inference_config
InferenceConfig

An InferenceConfig object used to provide the required model deployment properties.

wait
bool

Wait for the service's container to reach a healthy state. (Default: False)

Return type

Exceptions

update_deployment_state(must_exist=False)

Refresh the current state of the in-memory object.

Perform an in-place update of the properties of the object based on the current state of the corresponding local Docker container.

update_deployment_state(must_exist=False)

Parameters

must_exist
bool

Whether the webservice must already exist when creating the in-memory object.

default value: False

Exceptions

wait_for_deployment(show_output=False)

Poll the running LocalWebservice deployment.

wait_for_deployment(show_output=False)

Parameters

show_output
bool

Option to print more verbose output. (Default: False)

Exceptions

Attributes

port

Get the local webservice port.

Returns

Port number.

Return type

int

scoring_uri

Get the local webservice scoring URI.

Returns

Scoring URI.

Return type

str

swagger_uri

Get the local webservice Swagger URI.

Returns

Swagger URI.

Return type

str

NETWORK_NAME

NETWORK_NAME = 'azureml-local'

STATE_DELETED

STATE_DELETED = 'deleted'

STATE_DEPLOYING

STATE_DEPLOYING = 'deploying'

STATE_FAILED

STATE_FAILED = 'failed'

STATE_RUNNING

STATE_RUNNING = 'running'

STATE_UNKNOWN

STATE_UNKNOWN = 'unknown'