

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# aws-apigateway-sagemakerendpoint
<a name="aws-apigateway-sagemakerendpoint"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


 すべてのクラスは積極的に開発されており、将来のバージョンでは下位互換性がない変更または削除の対象となります。これらは、[セマンティックバージョン管理](https://semver.org/)モデル。つまり、これらのパッケージを使用するかもしれませんが、このパッケージの新しいバージョンにアップグレードするときにソースコードを更新する必要があるかもしれません。

**注意:** 正しく機能するためには、プロジェクト内の AWS ソリューション構築パッケージと AWS CDK パッケージが同じバージョンである必要があります。


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1apigateway\$1sagemakerendpoint  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-apigateway-sagemakerendpoint  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.apigatewaysagemakerendpoint  | 

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

 この AWS ソリューション構築物は、Amazon SageMaker エンドポイントに接続された Amazon API Gateway 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) 

## パターン構成プロパティ
<a name="pattern-construct-props-33"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ApigateWayProps？  |  [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 のデフォルトの小道具をオーバーライドするオプションのユーザー提供の小道具です。 | 
|  ApigateWayExecutionRole？  |  [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)  |  SageMaker エンドポイントを呼び出すために API Gateway で使用される IAM ロール。指定しない場合、デフォルトのロールはendpointName。 | 
|  EndpointName  |  string  |  デプロイされた SageMaker 推論エンドポイントの名前。 | 
|  resourceName  |  string  |  GET メソッドを使用できるオプションのリソース名。 | 
|  resourcePath  |  string  |  GET メソッドのリソースパス。ここで定義された変数はrequestMappingTemplate。 | 
|  リクエストMappingTemplate  |  string  |  REST API で受信した GET リクエストを SageMaker エンドポイントで期待される POST リクエストに変換するためのマッピングテンプレート。 | 
|  ResponseMappingTempl  |  string  |  SageMaker エンドポイントから受信した応答を変換するためのオプションのマッピングテンプレート。 | 
|  LogGroupProps？  |  [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 ロググループのデフォルト小道具を上書きする、オプションのユーザー提供の小道具です。 | 

## パターンプロパティ
<a name="pattern-properties-33"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  apigateway  |  [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 のインスタンスを返します。 | 
|  APIGateWayRole  |  [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 ロールのインスタンスを返します。 | 
|  APIGatewayクラウドウォッチロール  |  [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 ロールのインスタンスを返します。 | 
|  APIGateWayLogGroup  |  [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/)。それがどのように実装されるかについての参考文献については、[integ.apigateway-sagemakerendpoint-上書き.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 メソッドのデフォルトの authorizationType を IAM に設定する 
+  X-Ray トレースを有効にする 
+  SageMaker にデータを渡す前にリクエストパラメータを検証する 

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

![\[Diagram showing Amazon CloudWatch, API Gateway, SageMaker endpoint, and IAM roles connections.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-apigateway-sagemakerendpoint.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-constructions/aws-apigateway-sagemakerendpoint](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-apigateway-sagemakerendpoint)  | 