아피가테이웨이 세이지메이크렌드포인트 - AWS 솔루션 구성체

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

아피가테이웨이 세이지메이크렌드포인트

모든 클래스는 활발히 개발 중이며 향후 버전에서 이전 버전과 호환되지 않는 변경 또는 제거 될 수 있습니다. 이들은 적용되지 않습니다의미 체계 버전모델을 사용해 보세요. 즉, 이 패키지를 사용할 수도 있지만 이 패키지의 최신 버전으로 업그레이드할 때 소스 코드를 업데이트해야 할 수도 있습니다.

참고: 적절한 기능을 보장하려면 프로젝트의 AWS 솔루션 구성 패키지와 AWS CDK 패키지가 동일한 버전이어야 합니다.

언어 패키지
Python
aws_solutions_constructs.aws_apigateway_sagemakerendpoint
타이프 스크립트
@aws-solutions-constructs/aws-apigateway-sagemakerendpoint
Java
software.amazon.awsconstructs.services.apigatewaysagemakerendpoint

Overview

이 AWS 솔루션 구성은 Amazon SageMaker 엔드포인트에 연결된 Amazon API 게이트웨이 REST API를 구현합니다.

다음은 TypeScript 터의 최소 배포 가능한 패턴 정의입니다.

import { ApiGatewayToSageMakerEndpoint, ApiGatewayToSageMakerEndpointProps } from '@aws-solutions-constructs/aws-apigateway-sagemakerendpoint'; // Below is an example VTL (Velocity Template Language) mapping template for mapping the Api GET request to the Sagemaker POST request const requestTemplate = `{ "instances": [ #set( $user_id = $input.params("user_id") ) #set( $items = $input.params("items") ) #foreach( $item in $items.split(",") ) {"in0": [$user_id], "in1": [$item]}#if( $foreach.hasNext ),#end $esc.newline #end ] }`; // Replace 'my-endpoint' with your Sagemaker Inference Endpoint new ApiGatewayToSageMakerEndpoint(this, 'test-apigw-sagemakerendpoint', { endpointName: 'my-endpoint', resourcePath: '{user_id}', requestMappingTemplate: requestTemplate });

Initializer

new ApiGatewayToSageMakerEndpoint(scope: Construct, id: string, props: ApiGatewayToSageMakerEndpointProps);

파라미터

PropingTemplate

이름 유형 설명
어피게이트웨이 소품? api.RestApiProps API Gateway REST API의 기본 소품을 재정의하는 선택적 사용자 제공 소품.
어피게이트웨이 실행역할? iam.Role API Gateway 에서 SageMaker 엔드포인트를 호출하기 위해 사용하는 IAM 역할 지정되지 않은 경우 기본 역할이 생성되어endpointName.
EndpointName string 배포된 SageMaker 추론 끝점의 이름입니다.
ResourceName string GET 메서드를 사용할 수 있습니다 선택적 리소스 이름입니다.
resourcePath string GET 메서드의 리소스 경로입니다. 여기에 정의 된 변수는에서 참조 할 수 있습니다requestMappingTemplate.
RequestMappingTemplate string REST API에서 수신된 GET 요청을 SageMaker 끝점에서 예상되는 POST 요청으로 변환하는 매핑 템플릿.
ResponseMappingTemplate string SageMaker 엔드포인트로부터 수신된 응답을 변환하는 선택적 매핑 템플릿입니다.
로그그룹Props? logs.LogGroupProps CloudWatch Logs 로그 그룹의 기본 소품을 무시하기 위한 선택적 사용자 제공 prop입니다.

패턴 속성

이름 유형 설명
ApiGateway way api.LambdaRestApi 패턴에 의해 생성 된 API Gateway REST API의 인스턴스를 돌려줍니다.
에이피게이트웨이 역할 iam.Role API Gateway REST API의 패턴으로 생성된 IAM 역할의 인스턴스를 반환합니다.
아피게이트웨이클라우드워치역할 iam.Role API Gateway REST API에서 CloudWatch 로의 액세스 로깅을 활성화하는 패턴으로 생성된 IAM 역할의 인스턴스를 반환합니다.
어피게이트웨이로그 그룹 logs.LogGroup API Gateway REST API 액세스 로그가 전송되는 패턴으로 생성된 로그 그룹의 인스턴스를 반환합니다.

샘플 API 사용

참고: 각 SageMaker 끝점은 고유하며 API의 응답은 배포된 모델에 따라 달라집니다. 아래의 예는에서 샘플을 가정이 블로그 게시물. 구현 방법에 대한 참조는 다음을 참조하십시오.인테.apigateway-세이지메이크렌드포인트-덮어 쓰기.ts.

방법 요청 경로 쿼리 문자열 SageMaker 액션 설명
GET /321 items=101,131,162 sagemaker:InvokeEndpoint 특정 사용자 및 항목에 대한 예측을 검색합니다.

기본 설정

재정의없이이 패턴을 즉시 구현하면 다음과 같은 기본값이 설정됩니다.

Amazon API Gateway

  • 엣지 최적화 API 엔드포인트 배포

  • API Gateway 에 대한 CloudWatch 로깅

  • API Gateway 대한 최소 권한 액세스 IAM 역할 구성

  • 모든 API 메소드의 기본 권한 부여 유형을 IAM으로 설정

  • X-Ray 추적

  • 데이터를 SageMaker 에 전달하기 전에 요청 매개 변수의 유효성

Architecture

GitHub

이 패턴의 코드를 보려면 문제 및 끌어오기 요청을 작성/조회하는 등의 작업을 수행합니다.
@aws -솔루션 - 구성/aws-apigateway-세이지메이크 렌드 포인트