AksWebservice 클래스

Azure Kubernetes Service에 웹 서비스 엔드포인트로 배포되는 기계 학습 모델을 나타냅니다.

배포되는 서비스는 모델, 스크립트, 연결된 파일에서 만들어집니다. 결과 웹 서비스는 REST API를 사용하여 부하가 분산된 HTTP 엔드포인트입니다. 이 API로 데이터를 보내고 모델에서 반환된 예측을 받을 수 있습니다.

AksWebservice는 하나의 엔드포인트에 하나의 서비스를 배포합니다. 여러 서비스를 하나의 엔드포인트에 배포하려면 AksEndpoint 클래스를 사용합니다.

자세한 내용은 Deploy a model to an Azure Kubernetes Service cluster(Azure Kubernetes Service 클러스터에 모델 배포)를 참조하세요.

Webservice instance 초기화합니다.

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

상속
AksWebservice

생성자

AksWebservice(workspace, name)

매개 변수

workspace
Workspace
필수

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

name
str
필수

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

설명

권장 배포 패턴은 아래와 같이 deploy_configuration 메서드를 사용하여 배포 구성 개체를 만든 다음, 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에서 사용할 수 있습니다.

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

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

  • Webservicedeploy_from_image 메서드입니다.

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

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

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

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

변수

enable_app_insights
bool

Webservice에 AppInsights 로깅을 사용할지 여부를 나타냅니다.

autoscaler
AutoScaler

Webservice의 자동 크기 조정기 개체입니다.

compute_name
str

Webservice가 배포되는 ComputeTarget의 이름입니다.

container_resource_requirements
ContainerResourceRequirements

Webservice의 컨테이너 리소스 요구 사항입니다.

liveness_probe_requirements
LivenessProbeRequirements

Webservice의 활동성 프로브 요구 사항입니다.

data_collection
DataCollection

Webservice의 DataCollection 개체입니다.

max_concurrent_requests_per_container
int

Webservice의 컨테이너당 최대 동시 요청 수입니다.

max_request_wait_time
int

Webservice의 최대 요청 대기 시간(밀리초)입니다.

num_replicas
int

Webservice의 복제본 수입니다. 각 복제본은 AKS Pod에 해당합니다.

scoring_timeout_ms
int

Webservice의 채점 시간 제한(밀리초)입니다.

azureml.core.webservice.AksWebservice.scoring_uri
str

Webservice의 채점 엔드포인트

is_default
bool

Webservice가 부모 AksEndpoint의 기본 버전인지 여부를 나타냅니다.

traffic_percentile
int

부모 AksEndpoint의 Webservice로 라우팅할 트래픽의 백분율입니다.

version_type
VersionType

부모 AksEndpoint의 Webservice에 대한 버전 형식입니다.

token_auth_enabled
bool

Webservice에 토큰 인증을 사용할지 여부를 나타냅니다.

environment
Environment

Webservice를 만드는 데 사용된 Environment 개체입니다.

azureml.core.webservice.AksWebservice.models
list[Model]

Webservice에 배포된 모델 목록입니다.

deployment_status
str

Webservice의 배포 상태입니다.

namespace
str

Webservice의 AKS 네임스페이스입니다.

azureml.core.webservice.AksWebservice.swagger_uri
str

Webservice의 swagger 엔드포인트입니다.

메서드

add_properties

이 Webservice의 속성 사전에 키 값 쌍을 추가합니다.

add_tags

이 Webservice의 태그 사전에 키 값 쌍을 추가합니다.

WebserviceException을 발생시킵니다.

deploy_configuration

AKS 컴퓨팅 대상에 배포할 구성 개체를 만듭니다.

get_access_token

이 Webservice의 인증 토큰을 검색합니다.

get_token

사용되지 않습니다. get_access_token 메서드를 대신 사용합니다.

이 Webservice의 인증 토큰을 검색합니다.

remove_tags

이 Webservice의 태그 사전에서 지정된 키를 제거합니다.

run

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

serialize

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

update

제공된 속성으로 Webservice를 업데이트합니다.

None으로 남아 있는 값은 이 Webservice에서 변경되지 않고 유지됩니다.

add_properties

이 Webservice의 속성 사전에 키 값 쌍을 추가합니다.

add_properties(properties)

매개 변수

properties
dict[str, str]
필수

추가할 속성의 사전입니다.

add_tags

이 Webservice의 태그 사전에 키 값 쌍을 추가합니다.

WebserviceException을 발생시킵니다.

add_tags(tags)

매개 변수

tags
dict[str, str]
필수

추가할 태그의 사전입니다.

예외

deploy_configuration

AKS 컴퓨팅 대상에 배포할 구성 개체를 만듭니다.

static deploy_configuration(autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, auth_enabled=None, cpu_cores=None, memory_gb=None, enable_app_insights=None, scoring_timeout_ms=None, replica_max_concurrent_requests=None, max_request_wait_time=None, num_replicas=None, primary_key=None, secondary_key=None, tags=None, properties=None, description=None, gpu_cores=None, period_seconds=None, initial_delay_seconds=None, timeout_seconds=None, success_threshold=None, failure_threshold=None, namespace=None, token_auth_enabled=None, compute_target_name=None, cpu_cores_limit=None, memory_gb_limit=None, blobfuse_enabled=None)

매개 변수

autoscale_enabled
bool
기본값: None

이 Webservice에 자동 스케일링을 사용할지 여부를 나타냅니다. num_replicas가 None이면 기본값은 True입니다.

autoscale_min_replicas
int
기본값: None

이 Webservice를 자동 스케일링할 때 사용할 최소 컨테이너 수입니다. 기본값은 1입니다.

autoscale_max_replicas
int
기본값: None

이 Webservice를 자동 스케일링할 때 사용할 최대 컨테이너 수입니다. 기본값은 10입니다.

autoscale_refresh_seconds
int
기본값: None

자동 스케일러가 이 Webservice를 스케일링하려고 시도하는 빈도입니다. 기본값은 1입니다.

autoscale_target_utilization
int
기본값: None

자동 스케일러가 이 Webservice에 대해 유지해야 하는 목표 사용률(백분율)입니다. 기본값은 70입니다.

collect_model_data
bool
기본값: None

이 Webservice에 모델 데이터 컬렉션을 사용할지 여부를 나타냅니다. 기본값은 False입니다.

auth_enabled
bool
기본값: None

이 Webservice에 키 인증을 사용할지 여부를 나타냅니다. 기본값은 True입니다.

cpu_cores
float
기본값: None

이 Webservice에 할당할 CPU 코어 수입니다. 소수도 가능합니다. 기본값은 0.1입니다. Azure Kubernetes Service의 제한이 아닌 Pod 코어 요청에 해당합니다.

memory_gb
float
기본값: None

이 Webservice에 할당할 메모리 양(GB)입니다. 소수도 가능합니다. 기본값은 0.5입니다. Azure Kubernetes Service의 제한이 아닌 Pod 메모리 요청에 해당합니다.

enable_app_insights
bool
기본값: None

이 Webservice에 Application Insights 로깅을 사용할지 여부를 나타냅니다. 기본값은 False입니다.

scoring_timeout_ms
int
기본값: None

이 Webservice에 대한 채점 호출을 적용하는 시간 제한입니다. 기본값은 60000입니다.

replica_max_concurrent_requests
int
기본값: None

이 Webservice에 허용할 복제본당 최대 동시 요청 수입니다. 기본값은 1입니다. Microsoft 기술 지원 또는 Azure Machine Learning 팀의 멤버가 지시하지 않는 한 이 설정을 기본값 1에서 변경하지 마세요.

max_request_wait_time
int
기본값: None

요청이 큐에 유지되는 최대 시간(밀리초)입니다. 이 시간이 경과하면 503 오류가 반환됩니다. 기본값은 500입니다.

num_replicas
int
기본값: None

이 Webservice에 할당할 컨테이너 수입니다. 기본값은 없습니다. 이 매개 변수를 설정하지 않으면 기본적으로 자동 크기 조정기가 사용됩니다.

primary_key
str
기본값: None

이 Webservice에 사용할 기본 인증 키입니다.

secondary_key
str
기본값: None

이 Webservice에 사용할 보조 인증 키입니다.

tags
dict[str, str]
기본값: None

이 Webservice에 제공할 키 값 태그의 사전입니다.

properties
dict[str, str]
기본값: None

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

description
str
기본값: None

이 Webservice에 제공할 설명입니다.

gpu_cores
int
기본값: None

이 Webservice에 할당할 GPU 코어 수입니다. 기본값은 0입니다.

period_seconds
int
기본값: None

활동성 프로브를 수행하는 빈도(초)입니다. 기본값은 10초입니다. 최솟값은 1입니다.

initial_delay_seconds
int
기본값: None

컨테이너가 시작된 후 활동성 프로브가 시작되기 전까지의 시간(초)입니다. 기본값은 310입니다.

timeout_seconds
int
기본값: None

이 시간(초)이 경과하면 활동성 프로브가 시간 초과됩니다. 기본값은 2초입니다. 최솟값은 1입니다.

success_threshold
int
기본값: None

활동성 프로브가 실패한 후 성공한 것으로 간주되는 최소 연속 성공 횟수입니다. 기본값은 1입니다. 최솟값은 1입니다.

failure_threshold
int
기본값: None

Pod가 시작되고 활동성 프로브가 실패하면 Kubernetes에서 포기하기 전에 failureThreshold 시간을 시도합니다. 기본값은 3입니다. 최솟값은 1입니다.

namespace
str
기본값: None

이 Webservice를 배포할 Kubernetes 네임스페이스입니다. 최대 63개의 소문자 영숫자('a'-'z', '0'-'9') 및 하이픈('-') 문자입니다. 첫 번째 문자와 마지막 문자는 하이픈이면 안 됩니다.

token_auth_enabled
bool
기본값: None

이 Webservice에 토큰 인증을 사용할지 여부를 나타냅니다. 사용하도록 설정하면 사용자는 Azure Active Directory 자격 증명을 사용하여 액세스 토큰을 가져와 이 Webservice에 액세스할 수 있습니다. 기본값은 False입니다.

compute_target_name
str
기본값: None

배포할 컴퓨팅 대상의 이름입니다.

cpu_cores_limit
float
기본값: None

이 Webservice에서 사용할 수 있는 최대 CPU 코어 수입니다. 10진수일 수 있습니다.

memory_gb_limit
float
기본값: None

이 Webservice에서 사용할 수 있는 최대 메모리 양(GB)입니다. 소수도 가능합니다.

blobfuse_enabled
bool
기본값: None

이 Webservice에 모델 다운로드 blobfuse를 사용할지 여부를 나타냅니다. 기본값은 True입니다.

반환

AksWebservice를 배포할 때 사용할 구성 개체입니다.

반환 형식

예외

get_access_token

이 Webservice의 인증 토큰을 검색합니다.

get_access_token()

반환

이 Webservice의 인증 토큰을 설명하는 개체입니다.

반환 형식

예외

get_token

사용되지 않습니다. get_access_token 메서드를 대신 사용합니다.

이 Webservice의 인증 토큰을 검색합니다.

get_token()

반환

이 Webservice의 인증 토큰 및 해당 인증 토큰을 새로 고칠 시기입니다.

반환 형식

예외

remove_tags

이 Webservice의 태그 사전에서 지정된 키를 제거합니다.

remove_tags(tags)

매개 변수

tags
list[str]
필수

제거할 키 목록입니다.

run

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

run(input_data)

매개 변수

input_data
<xref:varies>
필수

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

반환

Webservice 호출 결과입니다.

반환 형식

예외

serialize

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

serialize()

반환

이 Webservice의 JSON 표현입니다.

반환 형식

update

제공된 속성으로 Webservice를 업데이트합니다.

None으로 남아 있는 값은 이 Webservice에서 변경되지 않고 유지됩니다.

update(image=None, autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, auth_enabled=None, cpu_cores=None, memory_gb=None, enable_app_insights=None, scoring_timeout_ms=None, replica_max_concurrent_requests=None, max_request_wait_time=None, num_replicas=None, tags=None, properties=None, description=None, models=None, inference_config=None, gpu_cores=None, period_seconds=None, initial_delay_seconds=None, timeout_seconds=None, success_threshold=None, failure_threshold=None, namespace=None, token_auth_enabled=None, cpu_cores_limit=None, memory_gb_limit=None, **kwargs)

매개 변수

image
Image
기본값: None

Webservice에 배포할 새 이미지입니다.

autoscale_enabled
bool
기본값: None

이 Webservice에 자동 크기 조정을 사용할지 여부를 나타냅니다.

autoscale_min_replicas
int
기본값: None

이 Webservice를 자동 크기 조정할 때 사용할 최소 컨테이너 수입니다.

autoscale_max_replicas
int
기본값: None

이 Webservice를 자동 크기 조정할 때 사용할 최대 컨테이너 수입니다.

autoscale_refresh_seconds
int
기본값: None

자동 크기 조정기가 이 Webservice를 스케일링하려고 시도하는 빈도입니다.

autoscale_target_utilization
int
기본값: None

자동 크기 조정기가 이 Webservice에 대해 유지해야 하는 목표 사용률(백분율)입니다.

collect_model_data
bool
기본값: None

이 Webservice에 모델 데이터 수집을 사용하도록 또는 사용하지 않도록 설정합니다.

auth_enabled
bool
기본값: None

이 Webservice에 인증을 사용할지 여부를 나타냅니다.

cpu_cores
float
기본값: None

이 Webservice에 할당할 CPU 코어 수입니다. 소수도 가능합니다.

memory_gb
float
기본값: None

이 Webservice에 할당할 메모리 양(GB)입니다. 소수도 가능합니다.

enable_app_insights
bool
기본값: None

이 Webservice에 Application Insights 로깅을 사용할지 여부를 나타냅니다.

scoring_timeout_ms
int
기본값: None

이 Webservice에 대한 채점 호출을 적용하는 시간 제한입니다.

replica_max_concurrent_requests
int
기본값: None

이 Webservice에 허용할 복제본당 최대 동시 요청 수입니다.

max_request_wait_time
int
기본값: None

요청이 큐에 유지되는 최대 시간(밀리초)입니다. 이 시간이 경과하면 503 오류가 반환됩니다.

num_replicas
int
기본값: None

이 Webservice에 할당할 컨테이너 수입니다.

tags
dict[str, str]
기본값: None

이 Webservice에 제공할 키 값 태그의 사전입니다. 기존 태그를 대체합니다.

properties
dict[str, str]
기본값: None

기존 속성 사전에 추가할 키 값 속성의 사전입니다.

description
str
기본값: None

이 Webservice에 제공할 설명입니다.

models
list[Model]
기본값: None

업데이트된 서비스를 사용하여 패키징할 모델 개체 목록입니다.

inference_config
InferenceConfig
기본값: None

필요한 모델 배포 속성을 제공하는 데 사용되는 InferenceConfig 개체입니다.

gpu_cores
int
기본값: None

이 Webservice에 할당할 GPU 코어 수입니다.

period_seconds
int
기본값: None

활동성 프로브를 수행하는 빈도(초)입니다. 기본값은 10초입니다. 최솟값은 1입니다.

initial_delay_seconds
int
기본값: None

컨테이너가 시작된 후 활동성 프로브가 시작되기 전까지의 시간(초)입니다.

timeout_seconds
int
기본값: None

이 시간(초)이 경과하면 활동성 프로브가 시간 초과됩니다. 기본값은 1초입니다. 최솟값은 1입니다.

success_threshold
int
기본값: None

활동성 프로브가 실패한 후 성공한 것으로 간주되는 최소 연속 성공 횟수입니다. 기본값은 1입니다. 최솟값은 1입니다.

failure_threshold
int
기본값: None

Pod가 시작되고 활동성 프로브가 실패하면 Kubernetes에서 포기하기 전에 failureThreshold 시간을 시도합니다. 기본값은 3입니다. 최솟값은 1입니다.

namespace
str
기본값: None

이 Webservice를 배포할 Kubernetes 네임스페이스입니다. 최대 63개의 소문자 영숫자('a'-'z', '0'-'9') 및 하이픈('-') 문자입니다. 첫 번째 문자와 마지막 문자는 하이픈이면 안 됩니다.

token_auth_enabled
bool
기본값: None

이 Webservice에 토큰 인증을 사용할지 여부를 나타냅니다. 사용하도록 설정하면 사용자는 Azure Active Directory 자격 증명을 사용하여 액세스 토큰을 가져와 이 Webservice에 액세스할 수 있습니다. 기본값은 False입니다.

cpu_cores_limit
float
기본값: None

이 Webservice에서 사용할 수 있는 최대 CPU 코어 수입니다. 10진수일 수 있습니다.

memory_gb_limit
float
기본값: None

이 Webservice에서 사용할 수 있는 최대 메모리 양(GB)입니다. 소수도 가능합니다.

kwargs
<xref:varies>
필수

AKS 웹 서비스를 Kubernetes 온라인 엔드포인트 및 배포로 마이그레이션할 수 있도록 지원하는 매개 변수가 포함됩니다. is_migration=True|False, compute_target=.

예외