aws-apigateway-sagemakerendpoint - Constructions dans les Solutions d'AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

aws-apigateway-sagemakerendpoint

Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.

Toutes les classes sont en cours de développement actif et sujettes à des modifications ou à des suppressions non rétrocompatibles dans toute version future. Ceux-ci ne sont pas assujettis à laGestion sémantique des versionsmodèle. Cela signifie que même si vous pouvez les utiliser, vous devrez peut-être mettre à jour votre code source lors de la mise à niveau vers une version plus récente de ce package.

Remarque: Pour garantir une bonne fonctionnalité, les packages AWS Solutions Constructs et AWS CDK de votre projet doivent être la même version.

Langage Package
Python
aws_solutions_constructs.aws_apigateway_sagemakerendpoint
TypeScript
@aws-solutions-constructs/aws-apigateway-sagemakerendpoint
Java
software.amazon.awsconstructs.services.apigatewaysagemakerendpoint

Overview

AWS Solutions Construct implémente une API REST Amazon API Gateway connectée à un point de terminaison Amazon SageMaker.

Voici une définition de modèle déployable minimale dans 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);

Paramètres

Accessoires de construction de modèle

Nom Type Description
ApigatewayProps ? api.RestApiProps Props fournis par l'utilisateur en option pour remplacer les accessoires par défaut de l'API Gateway API.
ApigatewayExecutionRole ? iam.Role Rôle IAM utilisé par API Gateway pour appeler le point de terminaison SageMaker. Si ce n'est pas spécifié, un rôle par défaut est créé avec accès àendpointName.
EnpointName string Nom du point de terminaison d'inférence SageMaker déployé.
ResourceName ? string Nom de ressource facultatif où la méthode GET sera disponible.
chemin de la ressource string Chemin de la ressource pour la méthode GET. La variable définie ici peut être référencée dansrequestMappingTemplate.
RequestMappingTemplate string Modèle de mappage pour convertir les requêtes GET reçues sur l'API REST en requêtes POST attendues par le point de terminaison SageMaker.
ResponseMappingTemplate ? string Modèle de mappage facultatif pour convertir les réponses reçues du point de terminaison SageMaker.
LogGroupProps ? logs.LogGroupProps Exemples facultatifs fournis par l'utilisateur pour remplacer les accessoires par défaut pour le groupe de journaux CloudWatch Logs.

Propriétés du modèle

Nom Type Description
Apigateway api.LambdaRestApi Renvoie une instance de l'API Gateway API créée par le modèle.
ApigateWayRole iam.Role Renvoie une instance du rôle IAM créé par le modèle pour l'API Gateway API.
ApigateWayCloudWatchRole iam.Role Renvoie une instance du rôle IAM créé par le modèle qui active la journalisation des accès à partir de l'API Gateway API vers CloudWatch.
ApigateWayLogGroup logs.LogGroup Renvoie une instance du groupe de journaux créé par le modèle auquel les journaux d'accès API REST de API Gateway d'API sont envoyés.

Exemple d'utilisation de l'API

Remarque: Chaque point de terminaison SageMaker est unique et la réponse de l'API dépend du modèle déployé. L'exemple donné ci-dessous suppose que l'échantillon decet article de blog. Pour obtenir une référence sur la façon dont cela serait mis en œuvre, veuillez vous référer àinteg.apigateway-sagemakerendpoint-overwrite.ts.

Méthode Chemin de la demande Chaîne de requête Action SageMaker Description
GET /321 items=101,131,162 sagemaker:InvokeEndpoint Récupère les prédictions d'un utilisateur et d'éléments spécifiques.

Paramètres par défaut

L'implémentation prête à l'emploi de ce modèle sans remplacement définira les valeurs par défaut suivantes :

Amazon API Gateway

  • Déployer un point de terminaison API optimisé pour les périphériques

  • Activer la journalisation CloudWatch pour API Gateway

  • Configurer le rôle IAM d'accès minimal aux privilèges pour API Gateway

  • Définissez l'AuthorizationType par défaut pour toutes les méthodes d'API sur IAM

  • Activer le suivi X-Ray

  • Valider les paramètres de demande avant de transmettre les données à SageMaker

Architecture

Diagram showing Amazon CloudWatch, API Gateway, SageMaker endpoint, and IAM roles connections.

GitHub

Pour afficher le code de ce modèle, créer/afficher les problèmes et les demandes d'extraction, et plus encore :
Circular icon with a graduation cap symbol representing education or learning.
@aws -solutions-constructs/aws-apigateway-sagemakerendpoint