다음을 통해 공유


Webservice 클래스

모델을 Azure Machine Learning의 웹 서비스 엔드포인트로 배포하기 위한 기본 기능을 정의합니다.

Webservice 생성자는 제공된 작업 영역과 연결된 Webservice 개체의 클라우드 표현을 검색하는 데 사용됩니다. 검색된 Webservice 개체의 특정 형식에 해당하는 자식 클래스의 인스턴스를 반환합니다. Webservice 클래스를 사용하면 Model 또는 Image 개체에서 기계 학습 모델을 배포할 수 있습니다.

Webservice 작업에 대한 자세한 내용은 Azure Machine Learning을 사용하여 모델 배포를 참조하세요.

Webservice instance 초기화합니다.

Webservice 생성자는 제공된 작업 영역과 연결된 Webservice 개체의 클라우드 표현을 검색합니다. 검색된 Webservice 개체의 특정 형식에 해당하는 자식 클래스의 instance 반환합니다.

상속
Webservice

생성자

Webservice(workspace, name)

매개 변수

Name Description
workspace
필수

검색할 Webservice 개체를 포함하는 작업 영역 개체입니다.

name
필수
str

검색할 Webservice 개체의 이름입니다.

workspace
필수

검색할 Webservice 개체를 포함하는 작업 영역 개체입니다.

name
필수
str

검색할 Webservice 개체의 이름입니다.

설명

다음 샘플에서는 먼저 Webservice 자식 클래스의 deploy_configuration 메서드(이 예제에서는 AksWebservice)를 사용하여 구성 개체를 만든 다음, Model 클래스의 deploy 메서드에서 이 구성을 사용하는 권장 배포 패턴을 보여줍니다.


   # 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)

전체 샘플은 https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb에서 사용할 수 있습니다.

다음 샘플에서는 작업 영역에서 기존 AciWebservice를 찾아 보고, 만약 있으면 이름을 다시 사용할 수 있도록 삭제하는 방법을 보여줍니다.


   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)

다음과 같은 여러 가지 방법으로 모델을 Webservice로 배포할 수 있습니다.

  • 작업 영역에 이미 등록된 모델에 대한 Modeldeploy 메서드입니다.

  • 모델에서 이미 만든 이미지에 대한 Webservicedeploy_from_image 메서드입니다.

  • 작업 영역에 이미 등록된 모델에 대한 Webservicedeploy_from_model 메서드입니다. 이 메서드는 이미지를 만듭니다.

  • 모델을 등록하고 이미지를 만드는 Webservicedeploy 메서드입니다.

Webservice 작업에 대한 자세한 내용은 다음을 참조하세요.

변수 섹션에는 클라우드 Webservice 개체의 로컬 표현 특성이 나열됩니다. 이러한 변수는 읽기 전용으로 간주되어야 합니다. 이러한 값을 변경해도 해당 클라우드 개체에 반영되지 않습니다.

변수

Name Description
auth_enabled

Webservice에서 인증을 사용하도록 설정했는지 여부를 나타냅니다.

compute_type
str

Webservice가 배포되는 컴퓨팅 유형입니다.

created_time

Webservice가 만들어진 시간입니다.

azureml.core.Webservice.description

Webservice 개체에 대한 설명입니다.

azureml.core.Webservice.tags

Webservice 개체에 대한 태그 사전입니다.

azureml.core.Webservice.name

Webservice의 이름입니다.

azureml.core.Webservice.properties

Webservice의 키 값 속성 사전입니다. 배포 후에는 이러한 속성을 변경할 수 없지만, 새 키 값 쌍을 추가할 수 있습니다.

created_by
str

Webservice를 만든 사용자입니다.

error
str

Webservice를 배포하지 못한 경우 실패한 이유에 대한 오류 메시지가 포함됩니다.

azureml.core.Webservice.state

Webservice의 현재 상태입니다.

updated_time

Webservice가 마지막으로 업데이트된 시간입니다.

azureml.core.Webservice.workspace

Webservice를 포함하는 Azure Machine Learning 작업 영역입니다.

token_auth_enabled

Webservice에서 토큰 인증을 사용하도록 설정했는지 여부를 나타냅니다.

메서드

check_for_existing_webservice

Webservice가 있는지 확인합니다.

delete

연결된 작업 영역에서 이 Webservice를 삭제합니다.

이 함수 호출은 비동기적이지 않습니다. 리소스가 삭제될 때까지 호출이 실행됩니다. 모델 관리 서비스에서 모델을 삭제하는 데 문제가 있는 경우 WebserviceException이 발생합니다.

deploy

0개 이상의 Model 개체에서 Webservice를 배포합니다.

이 함수는 제공된 모든 모델 파일을 등록하고 그 과정에서 이미지를 만듭니다. 모든 이미지는 지정된 Workspace와 연결됩니다. 이전에 등록되지 않은 모델을 배포할 디렉터리가 있는 경우 이 함수를 사용합니다.

결과 Webservice는 유추 요청에 사용할 수 있는 실시간 엔드포인트입니다. 자세한 내용은 웹 서비스로 배포된 모델 사용을 참조하세요.

deploy_from_image

Image 개체에서 Webservice를 배포합니다.

모델에 대한 Image 개체를 이미 만든 경우 이 함수를 사용합니다.

결과 Webservice는 유추 요청에 사용할 수 있는 실시간 엔드포인트입니다. 자세한 내용은 웹 서비스로 배포된 모델 사용을 참조하세요.

deploy_from_model

0개 이상의 Model 개체에서 Webservice를 배포합니다.

이 함수는 deploy와 비슷하지만 모델을 등록하지는 않습니다. 이미 등록된 모델 개체가 있는 경우 이 함수를 사용합니다. 그러면 이 과정에서 지정된 작업 영역과 연결된 이미지가 만들어집니다.

결과 Webservice는 유추 요청에 사용할 수 있는 실시간 엔드포인트입니다. 자세한 내용은 웹 서비스로 배포된 모델 사용을 참조하세요.

deploy_local_from_model

테스트용 LocalWebservice를 빌드하여 배포합니다.

Docker를 설치하고 구성해야 합니다.

deserialize

모델 관리 서비스 응답 JSON 개체를 Webservice 개체로 변환합니다.

제공된 작업 영역이 Webservice가 등록된 작업 영역이 아니면 실패합니다.

get_keys

이 Webservice의 인증 키를 검색합니다.

get_logs

이 Webservice에 대한 로그를 검색합니다.

get_token

Webservice의 인증 토큰을 검색합니다. 범위는 현재 사용자입니다.

list

해당 Workspace와 연결된 Webservice를 나열합니다.

반환된 결과는 매개 변수를 사용하여 필터링할 수 있습니다.

regen_key

Webservice의 키 중 하나인 'Primary' 또는 'Secondary' 키를 다시 생성합니다.

key가 지정되지 않았거나 'Primary' 또는 'Secondary'가 아닌 경우 WebserviceException이 발생합니다.

run

제공된 입력을 사용하여 이 Webservice를 호출합니다.

Webservice의 자식 클래스에 의해 구현된 추상 메서드입니다.

serialize

이 Webservice 개체를 JSON 직렬화 사전으로 변환합니다.

다시 Webservice 개체로 변환하려면 deserialize를 사용합니다 .

update

Webservice 매개 변수를 업데이트합니다.

Webservice의 자식 클래스에 의해 구현된 추상 메서드입니다. 업데이트할 수 있는 매개 변수는 Webservice 자식 형식에 따라 달라집니다. 예를 들어 Azure Container Instances Webservice의 경우 특정 매개 변수에 대한 update를 참조하세요.

update_deployment_state

메모리 내 개체의 현재 상태를 새로 고칩니다.

해당 클라우드 개체의 현재 상태에 따라 개체 속성을 전체 업데이트합니다. 생성 상태를 수동으로 끌어오는 데 주로 사용됩니다.

wait_for_deployment

실행 중인 Webservice 배포에 대해 자동으로 폴링합니다.

Webservice가 터미널 상태에 도달할 때까지 기다립니다. 성공하지 못한 터미널 상태에 도달하거나 지정된 시간 제한을 초과하면 WebserviceException이 throw됩니다.

check_for_existing_webservice

Webservice가 있는지 확인합니다.

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

매개 변수

Name Description
workspace
필수
name
필수
str
overwrite
Default value: False
request_func
<xref:function>

서비스 이름이 있는지 확인하기 위해 서비스를 요청하는 함수

Default value: None
check_func
<xref:function>

request_func 응답 콘텐츠를 확인하는 함수

Default value: None

예외

형식 Description

delete

연결된 작업 영역에서 이 Webservice를 삭제합니다.

이 함수 호출은 비동기적이지 않습니다. 리소스가 삭제될 때까지 호출이 실행됩니다. 모델 관리 서비스에서 모델을 삭제하는 데 문제가 있는 경우 WebserviceException이 발생합니다.

delete()

예외

형식 Description

deploy

0개 이상의 Model 개체에서 Webservice를 배포합니다.

이 함수는 제공된 모든 모델 파일을 등록하고 그 과정에서 이미지를 만듭니다. 모든 이미지는 지정된 Workspace와 연결됩니다. 이전에 등록되지 않은 모델을 배포할 디렉터리가 있는 경우 이 함수를 사용합니다.

결과 Webservice는 유추 요청에 사용할 수 있는 실시간 엔드포인트입니다. 자세한 내용은 웹 서비스로 배포된 모델 사용을 참조하세요.

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

매개 변수

Name Description
workspace
필수

Webservice를 연결할 작업 영역 개체입니다.

name
필수
str

배포된 서비스에 제공할 이름입니다. 작업 영역에서 고유해야 하며 소문자, 숫자 또는 대시로만 구성되고 문자로 시작하며 길이는 3~32자 사이여야 합니다.

model_paths
필수

모델 파일 또는 폴더에 대한 디스크 내 경로 목록입니다. 빈 목록일 수 있습니다.

image_config
필수

필요한 이미지 속성을 확인하는 데 사용되는 ImageConfig 개체입니다.

deployment_config

Webservice를 구성하는 데 사용되는 WebserviceDeploymentConfiguration입니다. 이 개체가 제공되지 않으면 원하는 대상에 따라 빈 구성 개체가 사용됩니다.

Default value: None
deployment_target

Webservice를 배포할 ComputeTarget입니다. Azure Container Instances에 연결된 ComputeTarget이 없으므로 이 매개 변수를 None으로 유지하여 Azure Container Instances에 배포합니다.

Default value: None
overwrite

이름을 가진 서비스가 이미 있으면 기존 서비스를 덮어씁니다.

Default value: False

반환

형식 Description

배포된 Webservice에 해당하는 Webservice 개체입니다.

예외

형식 Description

deploy_from_image

Image 개체에서 Webservice를 배포합니다.

모델에 대한 Image 개체를 이미 만든 경우 이 함수를 사용합니다.

결과 Webservice는 유추 요청에 사용할 수 있는 실시간 엔드포인트입니다. 자세한 내용은 웹 서비스로 배포된 모델 사용을 참조하세요.

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

매개 변수

Name Description
workspace
필수

Webservice를 연결할 작업 영역 개체입니다.

name
필수
str

배포된 서비스에 제공할 이름입니다. 작업 영역에서 고유해야 하며 소문자, 숫자 또는 대시로만 구성되고 문자로 시작하며 길이는 3~32자 사이여야 합니다.

image
필수

배포할 Image 개체입니다.

deployment_config

Webservice를 구성하는 데 사용되는 WebserviceDeploymentConfiguration입니다. 이 개체가 제공되지 않으면 원하는 대상에 따라 빈 구성 개체가 사용됩니다.

Default value: None
deployment_target

Webservice를 배포할 ComputeTarget입니다. Azure Container Instances에 연결된 ComputeTarget이 없으므로 이 매개 변수를 None으로 유지하여 Azure Container Instances에 배포합니다.

Default value: None
overwrite

이름을 가진 서비스가 이미 있으면 기존 서비스를 덮어씁니다.

Default value: False

반환

형식 Description

배포된 Webservice에 해당하는 Webservice 개체입니다.

예외

형식 Description

deploy_from_model

0개 이상의 Model 개체에서 Webservice를 배포합니다.

이 함수는 deploy와 비슷하지만 모델을 등록하지는 않습니다. 이미 등록된 모델 개체가 있는 경우 이 함수를 사용합니다. 그러면 이 과정에서 지정된 작업 영역과 연결된 이미지가 만들어집니다.

결과 Webservice는 유추 요청에 사용할 수 있는 실시간 엔드포인트입니다. 자세한 내용은 웹 서비스로 배포된 모델 사용을 참조하세요.

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

매개 변수

Name Description
workspace
필수

Webservice를 연결할 작업 영역 개체입니다.

name
필수
str

배포된 서비스에 제공할 이름입니다. 작업 영역에서 고유해야 하며 소문자, 숫자 또는 대시로만 구성되고 문자로 시작하며 길이는 3~32자 사이여야 합니다.

models
필수

모델 개체 목록입니다. 빈 목록일 수 있습니다.

image_config
필수

필요한 이미지 속성을 확인하는 데 사용되는 ImageConfig 개체입니다.

deployment_config

Webservice를 구성하는 데 사용되는 WebserviceDeploymentConfiguration입니다. 이 개체가 제공되지 않으면 원하는 대상에 따라 빈 구성 개체가 사용됩니다.

Default value: None
deployment_target

Webservice를 배포할 ComputeTarget입니다. ACI에 연결된 ComputeTarget이 없는 경우 이 매개 변수를 None으로 두어 ACI에 배포합니다.

Default value: None
overwrite

이름을 가진 서비스가 이미 있으면 기존 서비스를 덮어씁니다.

Default value: False

반환

형식 Description

배포된 Webservice에 해당하는 Webservice 개체입니다.

예외

형식 Description

deploy_local_from_model

테스트용 LocalWebservice를 빌드하여 배포합니다.

Docker를 설치하고 구성해야 합니다.

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

매개 변수

Name Description
workspace
필수

Webservice를 연결할 작업 영역 개체입니다.

name
필수
str

배포된 서비스에 제공할 이름입니다. 로컬 컴퓨터에서 고유해야 합니다.

models
필수

모델 개체 목록입니다. 빈 목록일 수 있습니다.

image_config
필수

필요한 서비스 이미지 속성을 확인하는 데 사용되는 ImageConfig 개체입니다.

deployment_config

Webservice를 구성하는 데 사용되는 LocalWebserviceDeploymentConfiguration입니다. 이 개체를 제공하지 않으면 빈 구성 개체가 사용됩니다.

Default value: None
wait

LocalWebservice의 Docker 컨테이너가 정상으로 보고되기를 기다릴지 여부를 나타냅니다. 컨테이너가 충돌하면 예외를 throw합니다. 기본값은 False입니다.

Default value: False

반환

형식 Description

예외

형식 Description

deserialize

모델 관리 서비스 응답 JSON 개체를 Webservice 개체로 변환합니다.

제공된 작업 영역이 Webservice가 등록된 작업 영역이 아니면 실패합니다.

deserialize(workspace, webservice_payload)

매개 변수

Name Description
cls
필수

클래스 메서드라는 것을 나타냅니다.

workspace
필수

Webservice가 이 작업 영역 개체 아래에 등록되었습니다.

webservice_payload
필수

Webservice 개체로 변환할 JSON 개체입니다.

반환

형식 Description

제공된 JSON 개체의 Webservice 표현입니다.

예외

형식 Description

get_keys

이 Webservice의 인증 키를 검색합니다.

get_keys()

반환

형식 Description
(str, str)

이 Webservice의 인증 키입니다.

예외

형식 Description

get_logs

이 Webservice에 대한 로그를 검색합니다.

get_logs(num_lines=5000, init=False)

매개 변수

Name Description
num_lines
int

검색할 최대 로그 줄 수입니다.

Default value: 5000
init

init 컨테이너 로그를 가져옵니다.

Default value: False

반환

형식 Description
str

이 Webservice에 대한 로그입니다.

예외

형식 Description

get_token

Webservice의 인증 토큰을 검색합니다. 범위는 현재 사용자입니다.

get_token()

반환

형식 Description

이 Webservice의 인증 토큰 및 이후에 새로 고쳐야 하는 시기입니다.

예외

형식 Description

list

해당 Workspace와 연결된 Webservice를 나열합니다.

반환된 결과는 매개 변수를 사용하여 필터링할 수 있습니다.

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)

매개 변수

Name Description
workspace
필수

Webservice를 나열할 Workspace 개체입니다.

compute_type
str

특정 Webservice 유형만 나열하도록 필터링합니다. 옵션은 'ACI', 'AKS'입니다.

Default value: None
image_name
str

특정 이미지 이름으로 배포된 Webservice만 포함하도록 목록을 필터링합니다.

Default value: None
image_id
str

특정 이미지 ID로 배포된 Webservice만 포함하도록 목록을 필터링합니다.

Default value: None
model_name
str

특정 모델 이름으로 배포된 Webservice만 포함하도록 목록을 필터링합니다.

Default value: None
model_id
str

특정 모델 ID로 배포된 Webservice만 포함하도록 목록을 필터링합니다.

Default value: None
tags

제공된 목록에 따라 'key' 또는 '[key, value]'를 기준으로 필터링합니다. 예: ['key', ['key2', 'key2 value']]

Default value: None
properties

제공된 목록에 따라 'key' 또는 '[key, value]'를 기준으로 필터링합니다. 예: ['key', ['key2', 'key2 value']]

Default value: None
image_digest
str

특정 이미지 다이제스트로 배포된 Webservice만 포함하도록 목록을 필터링합니다.

Default value: None

반환

형식 Description

제공된 작업 영역에서 필터링된 Webservice 목록입니다.

예외

형식 Description

regen_key

Webservice의 키 중 하나인 'Primary' 또는 'Secondary' 키를 다시 생성합니다.

key가 지정되지 않았거나 'Primary' 또는 'Secondary'가 아닌 경우 WebserviceException이 발생합니다.

regen_key(key, set_key=None)

매개 변수

Name Description
key
필수
str

다시 생성할 키입니다. 옵션은 'Primary' 또는 'Secondary'입니다.

set_key
str

키 값의 수동 사양을 허용하는 사용자가 지정한 값입니다.

Default value: None

예외

형식 Description

run

제공된 입력을 사용하여 이 Webservice를 호출합니다.

Webservice의 자식 클래스에 의해 구현된 추상 메서드입니다.

abstract run(input)

매개 변수

Name Description
input
필수
<xref:varies>

이 입력 데이터를 사용하여 Webservice를 호출합니다. 기계 학습 모델이 예측을 실행하기 위한 입력으로 필요한 데이터입니다.

반환

형식 Description

Webservice 호출 결과입니다. 그러면 기계 학습 모델에서 실행한 예측이 반환됩니다.

예외

형식 Description

serialize

이 Webservice 개체를 JSON 직렬화 사전으로 변환합니다.

다시 Webservice 개체로 변환하려면 deserialize를 사용합니다 .

serialize()

반환

형식 Description

이 Webservice의 JSON 표현입니다.

예외

형식 Description

update

Webservice 매개 변수를 업데이트합니다.

Webservice의 자식 클래스에 의해 구현된 추상 메서드입니다. 업데이트할 수 있는 매개 변수는 Webservice 자식 형식에 따라 달라집니다. 예를 들어 Azure Container Instances Webservice의 경우 특정 매개 변수에 대한 update를 참조하세요.

abstract update(*args)

매개 변수

Name Description
args
필수
<xref:varies>

업데이트할 값입니다.

예외

형식 Description

update_deployment_state

메모리 내 개체의 현재 상태를 새로 고칩니다.

해당 클라우드 개체의 현재 상태에 따라 개체 속성을 전체 업데이트합니다. 생성 상태를 수동으로 끌어오는 데 주로 사용됩니다.

update_deployment_state()

예외

형식 Description

wait_for_deployment

실행 중인 Webservice 배포에 대해 자동으로 폴링합니다.

Webservice가 터미널 상태에 도달할 때까지 기다립니다. 성공하지 못한 터미널 상태에 도달하거나 지정된 시간 제한을 초과하면 WebserviceException이 throw됩니다.

wait_for_deployment(show_output=False, timeout_sec=None)

매개 변수

Name Description
show_output

자세한 출력을 더 인쇄할지 여부를 나타냅니다.

Default value: False
timeout_sec

배포가 지정된 시간 제한을 초과하는 경우 예외를 발생시킵니다.

Default value: None

예외

형식 Description