Comment utiliser une fonction Lambda pour créer une instance de bloc-notes Amazon SageMaker ?

Date de la dernière mise à jour : 16/06/2020

Comment créer une instance de bloc-notes Amazon SageMaker à l'aide d'une fonction AWS Lambda ?

Solution

1.    Créez un rôle d'exécution Lambda AWS Identity and Access Management (IAM) avec une politique associée qui autorise l'action sagemaker : CreateNotebookInstance . Par exemple, vous pouvez créer un rôle auquel la politique AmazonSageMakerFullAccess est associée.

2.    Créez un rôle d'exécution Amazon SageMaker. Pour plus d'informations sur les autorisations requises pour les rôles d'exécution Amazon SageMaker, consultez API CreateNotebookInstance : Autorisations de rôle d'exécution.

3.    Ouvrez la console Lambda.

4.    Choisissez Créer une fonction.

5.    Choisissez Créer complètement, puis définissez les options suivantes :

Pour Nom, saisissez le nom de votre fonction.
Pour Runtime (Exécution), choisissez l'une des options Python.
Pour Rôle, sélectionnez Choisir un rôle existant.
Pour Rôle existant, sélectionnez le rôle IAM qui autorise l'action sagemaker : CreateNotebookInstance . Il s'agit du rôle que vous avez créé à l'étape 1.

6.    Choisissez Créer une fonction.

7.    Dans la section Code de fonction, collez un code similaire à ce qui suit :

import os
import boto3
import 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.")

8.    Faites défiler l'écran jusqu'à la section Variables d’environnement, puis choisissez Modifier.

9.    Choisissez Ajouter une variable d'environnement, puis créez trois variables d'environnement avec les options suivantes. Les variables d'environnement vous permettent de stocker les paramètres de configuration sans modifier le code de la fonction.

Pour Key, entrez ROLE.
Pour Value, entrez l'Amazon Resource Name (ARN) du rôle d'exécution Amazon SageMaker. Il s'agit du rôle que vous avez créé à l'étape 2.

Pour Key, entrez INSTANCE_TYPE.
Pour Value, entrez le type de l'instance de bloc-notes. Pour plus d'informations, consultez Types d'instances et zones de disponibilité pris en charge.

Pour Key, entrez NOTEBOOK_NAME.
Pour Value, entrez le nom de votre bloc-notes.

10.    Choisissez Enregistrer pour enregistrer les variables d'environnement.

11.    Dans l’angle supérieur droit de la page, sélectionnez Enregistrer, puis Tester. L'événement de test peut être vide (« {} »).

12.    Ouvrez la console Amazon SageMaker pour vérifier qu'une instance de bloc-notes est en cours d'initialisation.

Remarque : si le test de la fonction Lambda expire, ouvrez à nouveau cette dernière. Faites défiler l'écran jusqu'à la section Paramètres de base, puis augmentez la valeur du délai d'attente. La valeur par défaut est de trois secondes.

Une fois que vous avez vérifié que la fonction fonctionne, vous pouvez créer un déclencheur pour exécuter automatiquement la fonction en fonction d'un événement dans un autre service AWS. Pour plus d'informations, consultez Utilisation d’AWS Lambda avec d’autres services.


Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?