Je souhaite utiliser une fonction AWS Lambda pour créer une instance de bloc-notes Amazon SageMaker AI.
Résolution
Pour créer une fonction Lambda qui crée une instance de bloc-notes SageMaker AI, procédez comme suit :
-
Créez un rôle d'exécution Lambda Gestion des identités et des accès AWS (AWS IAM) avec une politique associée qui autorise l'action sagemaker:CreateNotebookInstance. Par exemple, créez un rôle auquel est associée la politique AmazonSageMakerFullAccess qui autorisera l'action sagemaker:CreateNotebookInstance.
-
Créez un rôle d'exécution IAM pour SageMaker AI. Assurez-vous d’attacher les autorisations requises.
-
Ouvrez la console Lambda.
-
Sélectionnez Créer une fonction.
-
Choisissez Créer à partir de zéro, puis définissez les paramètres suivants :
Pour Nom de la fonction, saisissez le nom de votre fonction.
Pour Exécution, sélectionnez l'une des options Python.
Sous Modifier le rôle d'exécution par défaut, sélectionnez Utiliser un rôle existant.
Pour Rôle existant, sélectionnez le rôle IAM que vous avez créé à l’étape 1.
-
Sélectionnez Créer une fonction.
-
Dans la section Code, entrez le code suivant :
import osimport boto3import time
INSTANCE_TYPE = os.environ['INSTANCE_TYPE']
NOTEBOOK_NAME = os.environ['NOTEBOOK_NAME']
ROLE=os.environ['ROLE']
sagemaker = boto3.client('sagemaker')
def lambda_handler(event, context):
sagemaker_notebook = sagemaker.create_notebook_instance(
NotebookInstanceName = NOTEBOOK_NAME +'-'+str(int(time.time())),
InstanceType = INSTANCE_TYPE,
RoleArn=ROLE
)
print("New Amazon SageMaker notebook instance created.")
-
Cliquez sur l'onglet Configuration, puis sélectionnez Variables d’environnement.
-
Sélectionnez Modifier.
-
Choisissez Ajouter une variable d'environnement, puis créez trois variables d'environnement avec les options suivantes.
Entrez les valeurs suivantes pour la première variable d’environnement :
Pour Clé, saisissez RÔLE.
Pour Valeur, entrez l’Amazon Resource Name (ARN) pour le rôle d'exécution SageMaker AI que vous avez créé à l'étape 2.
Entrez les valeurs suivantes pour la deuxième variable d’environnement :
Pour Clé, saisissez INSTANCE_TYPE.
Pour Valeur, entrez le type d'instance Amazon Elastic Compute Cloud (Amazon EC2) pour l'instance de bloc-notes.
Entrez les valeurs suivantes pour la troisième variable d’environnement :
Pour Clé, saisissez NOTEBOOK_NAME.
Pour Valeur, entrez le nom de votre bloc-notes.
-
Sélectionnez Enregistrer.
-
Choisissez l'onglet Test.
-
Sous Événement de test, choisissez Créer un nouvel événement ou Modifier l'événement enregistré, puis choisissez l'événement enregistré que vous souhaitez utiliser. Vous pouvez également utiliser un événement de test vide (« {} »).
-
Sélectionnez Enregistrer, puis Tester.
-
Ouvrez la console SageMaker AI pour confirmer qu'une instance de bloc-notes est en cours d'initialisation.
Remarque : Si le test de la fonction Lambda expire, ouvrez la fonction Lambda. Choisissez Configuration, accédez à la section Configuration générale, puis augmentez la valeur du délai d'attente. La valeur par défaut est de trois secondes.
Après avoir créé la fonction Lambda, vous pouvez créer un déclencheur pour exécuter automatiquement la fonction en fonction d'un événement dans un autre service AWS.