

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

# 아피가테이웨이 세이지메이크렌드포인트
<a name="aws-apigateway-sagemakerendpoint"></a>

![](http://docs.aws.amazon.com/ko_kr/solutions/latest/constructs/images/experimental.png)


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

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


|  **언어**  |  **패키지**  | 
| --- | --- | 
|  ![](http://docs.aws.amazon.com/ko_kr/solutions/latest/constructs/images/python.png) Python  |  aws\_solutions\_constructs.aws\_apigateway\_sagemakerendpoint  | 
|  ![](http://docs.aws.amazon.com/ko_kr/solutions/latest/constructs/images/typescript.png) 타이프 스크립트  |  @aws-solutions-constructs/aws-apigateway-sagemakerendpoint  | 
|  ![](http://docs.aws.amazon.com/ko_kr/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.apigatewaysagemakerendpoint  | 

## Overview
<a name="overview-33"></a>

 이 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
<a name="initializer-33"></a>

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

 *파라미터* 
+  scope[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`ApiGatewayToSageMakerEndpointProps`](#pattern-construct-props-33) 

## PropingTemplate
<a name="pattern-construct-props-33"></a>


|  **이름**  |  **유형**  |  **설명**  | 
| --- | --- | --- | 
|  어피게이트웨이 소품? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html)  |  API Gateway REST API의 기본 소품을 재정의하는 선택적 사용자 제공 소품. | 
|  어피게이트웨이 실행역할? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  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? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  CloudWatch Logs 로그 그룹의 기본 소품을 무시하기 위한 선택적 사용자 제공 prop입니다. | 

## 패턴 속성
<a name="pattern-properties-33"></a>


|  **이름**  |  **유형**  |  **설명**  | 
| --- | --- | --- | 
|  ApiGateway way  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApi.html)  |  패턴에 의해 생성 된 API Gateway REST API의 인스턴스를 돌려줍니다. | 
|  에이피게이트웨이 역할  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  API Gateway REST API의 패턴으로 생성된 IAM 역할의 인스턴스를 반환합니다. | 
|  아피게이트웨이클라우드워치역할  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  API Gateway REST API에서 CloudWatch 로의 액세스 로깅을 활성화하는 패턴으로 생성된 IAM 역할의 인스턴스를 반환합니다. | 
|  어피게이트웨이로그 그룹  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  API Gateway REST API 액세스 로그가 전송되는 패턴으로 생성된 로그 그룹의 인스턴스를 반환합니다. | 

## 샘플 API 사용
<a name="sample-api-usage"></a>

**참고:** 각 SageMaker 끝점은 고유하며 API의 응답은 배포된 모델에 따라 달라집니다. 아래의 예는에서 샘플을 가정[이 블로그 게시물](https://aws.amazon.com/blogs/machine-learning/creating-a-machine-learning-powered-rest-api-with-amazon-api-gateway-mapping-templates-and-amazon-sagemaker/). 구현 방법에 대한 참조는 다음을 참조하십시오.[인테.apigateway-세이지메이크렌드포인트-덮어 쓰기.ts](https://github.com/awslabs/aws-solutions-constructs/blob/f02997ea4fa6515fc4429771d21821d2c26a8584/source/patterns/%40aws-solutions-constructs/aws-apigateway-sagemakerendpoint/test/integ.apigateway-sagemakerendpoint-overwrite.ts).


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

## 기본 설정
<a name="default-settings-33"></a>

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

### Amazon API Gateway
<a name="amazon-api-gateway-33"></a>
+  엣지 최적화 API 엔드포인트 배포 
+  API Gateway 에 대한 CloudWatch 로깅 
+  API Gateway 대한 최소 권한 액세스 IAM 역할 구성 
+  모든 API 메소드의 기본 권한 부여 유형을 IAM으로 설정 
+  X-Ray 추적 
+  데이터를 SageMaker 에 전달하기 전에 요청 매개 변수의 유효성 

## Architecture
<a name="architecture-33"></a>

![](http://docs.aws.amazon.com/ko_kr/solutions/latest/constructs/images/aws-apigateway-sagemakerendpoint.png)


## GitHub
<a name="github-33"></a>


<table>
<thead>
  <tr><th colspan="2"> 이 패턴의 코드를 보려면 문제 및 끌어오기 요청을 작성/조회하는 등의 작업을 수행합니다. </th></tr>
</thead>
<tbody>
  <tr><td> ![](http://docs.aws.amazon.com/ko_kr/solutions/latest/constructs/images/GitHub-Mark-32px.png) </td><td> [@aws -솔루션 - 구성/aws-apigateway-세이지메이크 렌드 포인트](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-apigateway-sagemakerendpoint) </td></tr>
</tbody>
</table>
