Webservice Classe

Define a funcionalidade base para implementar modelos como pontos finais de serviço Web no Azure Machine Learning.

O construtor de serviços Web é utilizado para obter uma representação na cloud de um objeto Webservice associado à Área de Trabalho fornecida. Devolve uma instância de uma classe subordinada correspondente ao tipo específico do objeto Webservice obtido. A classe Webservice permite implementar modelos de machine learning a partir de um Model objeto ou Image .

Para obter mais informações sobre como trabalhar com o Webservice, veja Implementar modelos com o Azure Machine Learning.

Inicialize a instância do Webservice.

O construtor webservice obtém uma representação na cloud de um objeto Webservice associado à área de trabalho fornecida. Devolverá uma instância de uma classe subordinada correspondente ao tipo específico do objeto Webservice obtido.

Herança
Webservice

Construtor

Webservice(workspace, name)

Parâmetros

workspace
Workspace
Necessário

O objeto da área de trabalho que contém o objeto Webservice a obter.

name
str
Necessário

O nome do objeto Webservice a obter.

workspace
Workspace
Necessário

O objeto da área de trabalho que contém o objeto Webservice a obter.

name
str
Necessário

O nome do objeto Webservice a obter.

Observações

O exemplo seguinte mostra o padrão de implementação recomendado em que cria primeiro um objeto de configuração com o deploy_configuration método da classe subordinada de Webservice (neste caso AksWebservice) e, em seguida, utiliza a configuração com o deploy método da Model classe .


   # Set the web service configuration (using default here)
   aks_config = AksWebservice.deploy_configuration()

   # # Enable token auth and disable (key) auth on the webservice
   # aks_config = AksWebservice.deploy_configuration(token_auth_enabled=True, auth_enabled=False)

O exemplo completo está disponível a partir de https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb

O exemplo seguinte mostra como localizar um existente AciWebservice numa área de trabalho e eliminá-lo se existir para que o nome possa ser reutilizado.


   from azureml.core.model import InferenceConfig
   from azureml.core.webservice import AciWebservice


   service_name = 'my-custom-env-service'

   inference_config = InferenceConfig(entry_script='score.py', environment=environment)
   aci_config = AciWebservice.deploy_configuration(cpu_cores=1, memory_gb=1)

   service = Model.deploy(workspace=ws,
                          name=service_name,
                          models=[model],
                          inference_config=inference_config,
                          deployment_config=aci_config,
                          overwrite=True)
   service.wait_for_deployment(show_output=True)

Existem várias formas de implementar um modelo como um serviço Web, incluindo com:

  • deploy do Model para modelos já registados na área de trabalho.

  • deploy_from_image método de Webservice para imagens já criadas a partir de um modelo.

  • deploy_from_model método de Webservice para modelos já registados na área de trabalho. Este método irá criar uma imagem.

  • deploy do Webservice, que registará um modelo e criará uma imagem.

Para obter informações sobre como trabalhar com serviços Web, consulte

A secção Variables (Variáveis ) lista os atributos de uma representação local do objeto cloud Webservice. Estas variáveis devem ser consideradas só de leitura. A alteração dos respetivos valores não será refletida no objeto de cloud correspondente.

Variáveis

auth_enabled
bool

Se o Webservice tem ou não autenticação ativada.

compute_type
str

Em que tipo de computação o Webservice está implementado.

created_time
datetime

Quando o Webservice foi criado.

azureml.core.Webservice.description

Uma descrição do objeto Webservice.

azureml.core.Webservice.tags

Um dicionário de etiquetas para o objeto Webservice.

azureml.core.Webservice.name

O nome do Webservice.

azureml.core.Webservice.properties

Dicionário de propriedades de valor de chave para o Webservice. Estas propriedades não podem ser alteradas após a implementação, no entanto, podem ser adicionados novos pares de valores chave.

created_by
str

O utilizador que criou o Serviço Web.

error
str

Se o Serviço Web não tiver sido implementado, esta ação irá conter a mensagem de erro por que motivo falhou.

azureml.core.Webservice.state

O estado atual do Webservice.

updated_time
datetime

A última vez que o Webservice foi atualizado.

azureml.core.Webservice.workspace

A Área de Trabalho do Azure Machine Learning que contém este serviço Web.

token_auth_enabled
bool

Se o Webservice tem ou não a autenticação de token ativada.

Métodos

check_for_existing_webservice

Verifique se existe um serviço Web.

delete

Elimine este Webservice da área de trabalho associada.

Esta chamada de função não é assíncrona. A chamada é executada até que o recurso seja eliminado. A WebserviceException é gerado se existir um problema ao eliminar o modelo do Serviço de Gestão de Modelos.

deploy

Implementar um serviço Web a partir de zero ou mais Model objetos.

Esta função registará todos os ficheiros de modelos fornecidos e criará uma imagem no processo, tudo associado ao especificado Workspace. Utilize esta função quando tiver um diretório de modelos para implementar que não tenham sido registados anteriormente.

O serviço Web resultante é um ponto final em tempo real que pode ser utilizado para pedidos de inferência. Para obter mais informações, veja Consumir um modelo implementado como um serviço Web.

deploy_from_image

Implementar um serviço Web a partir de um Image objeto.

Utilize esta função se já tiver um objeto Imagem criado para um modelo.

O serviço Web resultante é um ponto final em tempo real que pode ser utilizado para pedidos de inferência. Para obter mais informações, veja Consumir um modelo implementado como um serviço Web.

deploy_from_model

Implementar um serviço Web a partir de zero ou mais Model objetos.

Esta função é semelhante a deploy, mas não regista os modelos. Utilize esta função se tiver objetos de modelo já registados. Esta ação irá criar uma imagem no processo, associada à Área de Trabalho especificada.

O serviço Web resultante é um ponto final em tempo real que pode ser utilizado para pedidos de inferência. Para obter mais informações, veja Consumir um modelo implementado como um serviço Web.

deploy_local_from_model

Crie e implemente um LocalWebservice para testes.

Requer que o Docker seja instalado e configurado.

deserialize

Converter um objeto JSON de resposta do Serviço de Gestão de Modelos num objeto webservice.

Falhará se a área de trabalho fornecida não for a área de trabalho em que o Serviço Web está registado.

get_keys

Obtenha chaves de autenticação para este webservice.

get_logs

Obtenha registos para este webservice.

get_token

Obtenha o token de autenticação para este Webservice, no âmbito do utilizador atual.

list

Liste os Webservices associados ao correspondente Workspace.

Os resultados devolvidos podem ser filtrados através de parâmetros.

regen_key

Regenerar uma das chaves do Webservice, quer seja a chave "Primária" ou "Secundária".

A WebserviceException é gerado se key não for especificado ou não for "Primário" ou "Secundário".

run

Chame este Webservice com a entrada fornecida.

Método abstrato implementado por classes subordinadas de Webservice.

serialize

Converta este objeto Webservice num dicionário serializado JSON.

Utilize deserialize para converter novamente num objeto webservice.

update

Atualize os parâmetros do Webservice.

Este é um método abstrato implementado por classes subordinadas de Webservice. Os parâmetros possíveis para atualizar variam com base no tipo subordinado do Serviço Web. Por exemplo, para Azure Container Instances webservices, veja para obter update parâmetros específicos.

update_deployment_state

Atualize o estado atual do objeto dentro da memória.

Efetue uma atualização no local das propriedades do objeto com base no estado atual do objeto de cloud correspondente. Principalmente útil para consulta manual do estado de criação.

wait_for_deployment

Consultar automaticamente a implementação do Webservice em execução.

Aguarde que o Webservice atinja um estado terminal. Emitirá um WebserviceException se atingir um estado terminal não bem-sucedido ou exceder o tempo limite fornecido.

check_for_existing_webservice

Verifique se existe um serviço Web.

static check_for_existing_webservice(workspace, name, overwrite=False, request_func=None, check_func=None)

Parâmetros

workspace
Workspace
Necessário
name
str
Necessário
overwrite
bool
valor predefinido: False
request_func
<xref:function>
valor predefinido: None

função para pedir serviço para verificar se o nome do serviço existe

check_func
<xref:function>
valor predefinido: None

função para verificar o conteúdo da resposta do request_func

Exceções

delete

Elimine este Webservice da área de trabalho associada.

Esta chamada de função não é assíncrona. A chamada é executada até que o recurso seja eliminado. A WebserviceException é gerado se existir um problema ao eliminar o modelo do Serviço de Gestão de Modelos.

delete()

Exceções

deploy

Implementar um serviço Web a partir de zero ou mais Model objetos.

Esta função registará todos os ficheiros de modelos fornecidos e criará uma imagem no processo, tudo associado ao especificado Workspace. Utilize esta função quando tiver um diretório de modelos para implementar que não tenham sido registados anteriormente.

O serviço Web resultante é um ponto final em tempo real que pode ser utilizado para pedidos de inferência. Para obter mais informações, veja Consumir um modelo implementado como um serviço Web.

static deploy(workspace, name, model_paths, image_config, deployment_config=None, deployment_target=None, overwrite=False)

Parâmetros

workspace
Workspace
Necessário

Um objeto área de trabalho ao qual associar o Webservice.

name
str
Necessário

O nome a atribuir ao serviço implementado. Tem de ser exclusivo da área de trabalho, consistir apenas em letras minúsculas, números ou traços, começar com uma letra e ter entre 3 e 32 carateres de comprimento.

model_paths
list[str]
Necessário

Uma lista de caminhos no disco para modelar ficheiros ou pastas. Pode ser uma lista vazia.

image_config
ImageConfig
Necessário

Um objeto ImageConfig utilizado para determinar as propriedades de Imagem necessárias.

deployment_config
WebserviceDeploymentConfiguration
valor predefinido: None

Um WebserviceDeploymentConfiguration utilizado para configurar o serviço Web. Se não for fornecido um, será utilizado um objeto de configuração vazio com base no destino pretendido.

deployment_target
ComputeTarget
valor predefinido: None

A ComputeTarget para implementar o serviço Web. Como Azure Container Instances não tem nenhum ComputeTarget, deixe este parâmetro como Nenhum para implementar no Azure Container Instances.

overwrite
bool
valor predefinido: False

Substitua o serviço existente se o serviço com o nome já existir.

Devoluções

Um objeto webservice correspondente ao webservice implementado.

Tipo de retorno

Exceções

deploy_from_image

Implementar um serviço Web a partir de um Image objeto.

Utilize esta função se já tiver um objeto Imagem criado para um modelo.

O serviço Web resultante é um ponto final em tempo real que pode ser utilizado para pedidos de inferência. Para obter mais informações, veja Consumir um modelo implementado como um serviço Web.

static deploy_from_image(workspace, name, image, deployment_config=None, deployment_target=None, overwrite=False)

Parâmetros

workspace
Workspace
Necessário

Um objeto área de trabalho ao qual associar o Webservice.

name
str
Necessário

O nome a atribuir ao serviço implementado. Tem de ser exclusivo da área de trabalho, consistir apenas em letras minúsculas, números ou traços, começar com uma letra e ter entre 3 e 32 carateres de comprimento.

image
Image
Necessário

Um Image objeto a implementar.

deployment_config
WebserviceDeploymentConfiguration
valor predefinido: None

Um WebserviceDeploymentConfiguration utilizado para configurar o serviço Web. Se não for fornecido um, será utilizado um objeto de configuração vazio com base no destino pretendido.

deployment_target
ComputeTarget
valor predefinido: None

A ComputeTarget para implementar o serviço Web. Como Azure Container Instances não tem nenhum ComputeTarget, deixe este parâmetro como Nenhum para implementar no Azure Container Instances.

overwrite
bool
valor predefinido: False

Substitua o serviço existente se o serviço com o nome já existir.

Devoluções

Um objeto webservice correspondente ao webservice implementado.

Tipo de retorno

Exceções

deploy_from_model

Implementar um serviço Web a partir de zero ou mais Model objetos.

Esta função é semelhante a deploy, mas não regista os modelos. Utilize esta função se tiver objetos de modelo já registados. Esta ação irá criar uma imagem no processo, associada à Área de Trabalho especificada.

O serviço Web resultante é um ponto final em tempo real que pode ser utilizado para pedidos de inferência. Para obter mais informações, veja Consumir um modelo implementado como um serviço Web.

static deploy_from_model(workspace, name, models, image_config, deployment_config=None, deployment_target=None, overwrite=False)

Parâmetros

workspace
Workspace
Necessário

Um objeto área de trabalho ao qual associar o Webservice.

name
str
Necessário

O nome a atribuir ao serviço implementado. Tem de ser exclusivo da área de trabalho, consistir apenas em letras minúsculas, números ou traços, começar com uma letra e ter entre 3 e 32 carateres de comprimento.

models
list[Model]
Necessário

Uma lista de objetos de modelo. Pode ser uma lista vazia.

image_config
ImageConfig
Necessário

Um objeto ImageConfig utilizado para determinar as propriedades de Imagem necessárias.

deployment_config
WebserviceDeploymentConfiguration
valor predefinido: None

Um WebserviceDeploymentConfiguration utilizado para configurar o serviço Web. Se não for fornecido um, será utilizado um objeto de configuração vazio com base no destino pretendido.

deployment_target
ComputeTarget
valor predefinido: None

A ComputeTarget para implementar o serviço Web. Como o ACI não tem nenhum ComputeTarget, deixe este parâmetro como Nenhum para implementar no ACI.

overwrite
bool
valor predefinido: False

Substitua o serviço existente se o serviço com o nome já existir.

Devoluções

Um objeto webservice correspondente ao webservice implementado.

Tipo de retorno

Exceções

deploy_local_from_model

Crie e implemente um LocalWebservice para testes.

Requer que o Docker seja instalado e configurado.

static deploy_local_from_model(workspace, name, models, image_config, deployment_config=None, wait=False)

Parâmetros

workspace
Workspace
Necessário

Um objeto área de trabalho com o qual associar o Webservice.

name
str
Necessário

O nome a atribuir ao serviço implementado. Tem de ser exclusivo no computador local.

models
list[Model]
Necessário

Uma lista de objetos de modelo. Pode ser uma lista vazia.

image_config
ImageConfig
Necessário

Um objeto ImageConfig utilizado para determinar as propriedades de imagem de serviço necessárias.

deployment_config
LocalWebserviceDeploymentConfiguration
valor predefinido: None

Um LocalWebserviceDeploymentConfiguration utilizado para configurar o serviço Web. Se não for fornecido um, será utilizado um objeto de configuração vazio.

wait
bool
valor predefinido: False

Se pretende aguardar que o contentor do Docker do LocalWebservice seja apresentado como em bom estado de funcionamento. Lança uma exceção se o contentor falhar. A predefinição é Falso.

Tipo de retorno

Exceções

deserialize

Converter um objeto JSON de resposta do Serviço de Gestão de Modelos num objeto webservice.

Falhará se a área de trabalho fornecida não for a área de trabalho em que o Serviço Web está registado.

deserialize(workspace, webservice_payload)

Parâmetros

cls
Necessário

Indica que se trata de um método de classe.

workspace
Workspace
Necessário

O objeto da área de trabalho em que o Webservice está registado.

webservice_payload
dict
Necessário

Um objeto JSON para converter num objeto Webservice.

Devoluções

A representação webservice do objeto JSON fornecido.

Tipo de retorno

Exceções

get_keys

Obtenha chaves de autenticação para este webservice.

get_keys()

Devoluções

As chaves de autenticação para este webservice.

Tipo de retorno

(str, str)

Exceções

get_logs

Obtenha registos para este webservice.

get_logs(num_lines=5000, init=False)

Parâmetros

num_lines
int
valor predefinido: 5000

O número máximo de linhas de registo a obter.

init
bool
valor predefinido: False

Obter registos do contentor init

Devoluções

Os registos deste webservice.

Tipo de retorno

str

Exceções

get_token

Obtenha o token de autenticação para este Webservice, no âmbito do utilizador atual.

get_token()

Devoluções

O token de autenticação para este webservice e quando deve ser atualizado depois.

Tipo de retorno

Exceções

list

Liste os Webservices associados ao correspondente Workspace.

Os resultados devolvidos podem ser filtrados através de parâmetros.

static list(workspace, compute_type=None, image_name=None, image_id=None, model_name=None, model_id=None, tags=None, properties=None, image_digest=None)

Parâmetros

workspace
Workspace
Necessário

O objeto Área de Trabalho no qual listar os Webservices.

compute_type
str
valor predefinido: None

Filtre para listar apenas tipos específicos de serviços Web. As opções são "ACI", "AKS".

image_name
str
valor predefinido: None

Filtre a lista para incluir apenas webservices implementados com o nome de imagem específico.

image_id
str
valor predefinido: None

Filtre a lista para incluir apenas webservices implementados com o ID de imagem específico.

model_name
str
valor predefinido: None

Filtre a lista para incluir apenas webservices implementados com o nome de modelo específico.

model_id
str
valor predefinido: None

Filtre a lista para incluir apenas webservices implementados com o ID de modelo específico.

tags
list
valor predefinido: None

Filtre com base na lista fornecida, por "chave" ou "[chave, valor]". Por exemplo: ['key', ['key2', 'key2 value']]

properties
list
valor predefinido: None

Filtre com base na lista fornecida, por "chave" ou "[chave, valor]". Por exemplo: ['key', ['key2', 'key2 value']]

image_digest
str
valor predefinido: None

Filtre a lista para incluir apenas webservices implementados com o resumo de imagem específico.

Devoluções

Uma lista filtrada de Webservices na Área de Trabalho fornecida.

Tipo de retorno

Exceções

regen_key

Regenerar uma das chaves do Webservice, quer seja a chave "Primária" ou "Secundária".

A WebserviceException é gerado se key não for especificado ou não for "Primário" ou "Secundário".

regen_key(key, set_key=None)

Parâmetros

key
str
Necessário

A chave para regenerar. As opções são "Principal" ou "Secundário".

set_key
str
valor predefinido: None

Um valor especificado pelo utilizador que permite a especificação manual do valor da chave

Exceções

run

Chame este Webservice com a entrada fornecida.

Método abstrato implementado por classes subordinadas de Webservice.

abstract run(input)

Parâmetros

input
<xref:varies>
Necessário

Os dados de entrada para chamar o Webservice. Estes são os dados que o modelo de machine learning espera como entrada para executar predições.

Devoluções

O resultado da chamada do Webservice. Isto irá devolver predições executadas a partir do modelo de machine learning.

Tipo de retorno

Exceções

serialize

Converta este objeto Webservice num dicionário serializado JSON.

Utilize deserialize para converter novamente num objeto webservice.

serialize()

Devoluções

A representação JSON deste Webservice.

Tipo de retorno

Exceções

update

Atualize os parâmetros do Webservice.

Este é um método abstrato implementado por classes subordinadas de Webservice. Os parâmetros possíveis para atualizar variam com base no tipo subordinado do Serviço Web. Por exemplo, para Azure Container Instances webservices, veja para obter update parâmetros específicos.

abstract update(*args)

Parâmetros

args
<xref:varies>
Necessário

Valores a atualizar.

Exceções

update_deployment_state

Atualize o estado atual do objeto dentro da memória.

Efetue uma atualização no local das propriedades do objeto com base no estado atual do objeto de cloud correspondente. Principalmente útil para consulta manual do estado de criação.

update_deployment_state()

Exceções

wait_for_deployment

Consultar automaticamente a implementação do Webservice em execução.

Aguarde que o Webservice atinja um estado terminal. Emitirá um WebserviceException se atingir um estado terminal não bem-sucedido ou exceder o tempo limite fornecido.

wait_for_deployment(show_output=False, timeout_sec=None)

Parâmetros

show_output
bool
valor predefinido: False

Indica se pretende imprimir uma saída mais verbosa.

timeout_sec
float
valor predefinido: None

Crie uma exceção se a implementação exceder o tempo limite especificado.

Exceções