Desidero utilizzare una funzione AWS Lambda per creare un'istanza notebook Amazon SageMaker AI.
Risoluzione
Per creare una funzione Lambda che crei un'istanza notebook SageMaker AI, completa i seguenti passaggi:
-
Crea un ruolo di esecuzione AWS Identity and Access Management (AWS IAM) per Lambda con una policy collegata che consenta l'azione sagemaker:CreateNotebookInstance. Ad esempio, crea un ruolo a cui è collegata la policy AmazonSageMakerFullAccess che consentirà l'azione sagemaker:CreateNotebookInstance.
-
Crea un ruolo di esecuzione IAM per SageMaker AI. Assicurati di collegare le autorizzazioni richieste.
-
Apri la console Lambda.
-
Scegli Crea funzione.
-
Scegli Crea da zero, quindi imposta i seguenti parametri:
In Nome funzione, inserisci un nome per la funzione.
Per Runtime, seleziona una delle opzioni di Python.
Per Modifica il ruolo di esecuzione predefinito, scegli Utilizza un ruolo esistente.
In Ruolo esistente, seleziona il ruolo IAM che hai creato nel passaggio 1.
-
Scegli Crea funzione.
-
Nella sezione Codice, inserisci il seguente codice:
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.")
-
Scegli la scheda Configurazione, quindi seleziona Variabili di ambiente.
-
Scegli Modifica.
-
Scegli Aggiungi variabile di ambiente, quindi crea tre variabili di ambiente con le seguenti opzioni.
Inserisci i seguenti valori per la prima variabile di ambiente:
In Chiave, inserisci ROLE.
In Value, inserisci il nome della risorsa Amazon (ARN) per il ruolo di esecuzione di SageMaker AI che hai creato nel passaggio 2.
Inserisci i seguenti valori per la seconda variabile di ambiente:
In Chiave, inserisci INSTANCE_TYPE.
In Valore, inserisci il tipo di istanza Amazon Elastic Compute Cloud (Amazon EC2) per l'istanza notebook.
Inserisci i seguenti valori per la terza variabile di ambiente:
In Chiave, inserisci NOTEBOOK_NAME.
In Valore, inserisci un nome per il notebook.
-
Scegli Salva.
-
Scegli la scheda Esegui il test.
-
In Evento di test, scegli Crea nuovo evento o Modifica evento salvato, quindi seleziona l'evento salvato che desideri utilizzare. Oppure utilizza un evento di test vuoto ("{}").
-
Scegli Salva, quindi seleziona Esegui il test.
-
Apri la console SageMaker AI per verifica che un'istanza notebook è in fase di inizializzazione.
Nota: se il test della funzione Lambda scade, apri la funzione Lambda. Scegli Configurazione e vai alla sezione Configurazione generale, quindi aumenta il valore di timeout. L'impostazione predefinita è tre secondi.
Dopo aver creato la funzione Lambda, puoi creare un trigger per eseguire automaticamente la funzione in base a un evento in un altro servizio AWS.