aws-apigateway-sagemakerendpoint
Language | Package |
---|---|
Python |
aws_solutions_constructs.aws_apigateway_sagemakerendpoint
|
Typescript |
@aws-solutions-constructs/aws-apigateway-sagemakerendpoint
|
Java |
software.amazon.awsconstructs.services.apigatewaysagemakerendpoint
|
Overview
This AWS Solutions Construct implements an Amazon API Gateway connected to an Amazon SageMaker endpoint pattern.
Here is a minimal deployable pattern definition:
Pattern Construct Props
Name | Type | Description |
---|---|---|
apiGatewayProps? |
api.RestApiProps
|
Optional user-provided props to override the default props for the API Gateway. |
apiGatewayExecutionRole? |
iam.Role
|
IAM Role used by API Gateway to invoke the SageMaker
endpoint. If not specified, a default role is created
with access to endpointName .
|
endpointName |
string
|
Name of the deployed SageMaker inference endpoint. |
resourceName? |
string
|
Optional resource name where the GET method will be available. |
resourcePath |
string
|
Resource path for the GET method. The variable defined
here can be referenced in
requestMappingTemplate .
|
requestMappingTemplate |
string
|
Mapping template to convert GET requests for the default
application/json content-type
received on the REST API to POST requests expected by
the SageMaker endpoint.
|
additionalRequestTemplates |
{ [contentType: string]: string; }
|
Optional Request Templates for content-types other than
application/json . Use the
requestMappingTemplate property to
set the request template for the
application/json content-type.
|
responseMappingTemplate? |
string
|
Optional mapping template to convert responses received from the SageMaker endpoint. |
logGroupProps? |
logs.LogGroupProps
|
User provided props to override the default props for for the CloudWatchLogs LogGroup. |
Pattern Properties
Name | Type | Description |
---|---|---|
apiGateway |
api.RestApi
|
Returns an instance of the API Gateway REST API created by the pattern. |
apiGatewayRole |
iam.Role
|
Returns an instance of the iam.Role created by the construct for API Gateway. |
apiGatewayCloudWatchRole? |
iam.Role
|
Returns an instance of the iam.Role created by the construct for API Gateway for CloudWatch access. |
apiGatewayLogGroup |
logs.LogGroup
|
Returns an instance of the LogGroup created by the construct for API Gateway access logging to CloudWatch. |
Sample API Usage
Method | Request Path | Query String | SageMaker Action | Description |
---|---|---|---|---|
GET |
/321
|
items=101,131,162
|
sagemaker:InvokeEndpoint
|
Retrieves the predictions for a specific user and items. |
Default settings
Out of the box implementation of the Construct without any override will set the following defaults:
Amazon API Gateway
-
Deploy an edge-optimized API endpoint
-
Enable CloudWatch logging for API Gateway
-
Configure least privilege access IAM role for API Gateway
-
Set the default authorizationType for all API methods to IAM
-
Enable X-Ray Tracing
-
Validate request parameters before passing data to SageMaker
Architecture
GitHub
To view the code for this pattern, create/view issues and pull requests, and more: | |
---|---|
|
@aws-solutions-constructs/aws-apigateway-sagemakerendpoint |