Ich möchte eine AWS Lambda-Funktion verwenden, um eine Amazon SageMaker AI-Notebook-Instance zu erstellen.
Lösung
Gehe wie folgt vor, um eine Lambda-Funktion zu erstellen, die eine SageMaker AI-Notebook-Instance erstellt:
-
Erstelle eine Lambda-Ausführungsrolle für AWS Identity and Access Management (IAM) mit einer angehängten Richtlinie, die die Aktion sagemaker:CreateNotebookInstance zulässt. Erstelle beispielsweise eine Rolle, an die die AmazonSageMakerFullAccess-Richtlinie angehängt ist, die die Aktion sagemaker:CreateNotebookInstance zulässt.
-
Erstelle eine IAM-Ausführungsrolle für SageMaker AI. Stelle sicher, dass du die erforderlichen Berechtigungen anhängst.
-
Öffne die Lambda-Konsole.
-
Wähle Funktion erstellen aus.
-
Wähle Ohne Vorgabe erstellen aus und lege dann die folgenden Parameter fest:
Gib unter Funktionsname den Namen deiner Funktion ein.
Wähle für Laufzeit eine der Python-Optionen aus.
Wähle unter Standardausführungsrolle ändern die Option Bestehende Rolle verwenden aus.
Wähle für Bestehende Rolle die IAM-Rolle aus, die du in Schritt 1 erstellt hast.
-
Wähle Funktion erstellen aus.
-
Gib im Abschnitt Code den folgenden Code ein:
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.")
-
Wähle die Registerkarte Konfiguration und dann Umgebungsvariablen aus.
-
Wähle Bearbeiten aus.
-
Wähle Umgebungsvariable hinzufügen aus und erstelle dann drei Umgebungsvariablen mit den folgenden Optionen.
Gib die folgenden Werte für die erste Umgebungsvariable ein:
Gib für Schlüssel ROLLE ein.
Gib für Wert den Amazon-Ressourcennamen (ARN) für die SageMaker-AI-Ausführungsrolle ein, die du in Schritt 2 erstellt hast.
Gib die folgenden Werte für die zweite Umgebungsvariable ein:
Gib für Schlüssel INSTANCE_TYPE ein.
Gib für Wert den Amazon Elastic Compute Cloud (Amazon EC2)-Instance-Typ für die Notebook-Instance ein.
Gib die folgenden Werte für die dritte Umgebungsvariable ein:
Gib als Schlüssel NOTEBOOK_NAME ein.
Gib unter Wert einen Namen für dein Notebook ein.
-
Wähle Speichern aus.
-
Wähle die Registerkarte Testen aus.
-
Wähle unter Ereignis testen die Option Neues Ereignis erstellen oder Gespeichertes Ereignis bearbeiten aus und wähle dann das gespeicherte Ereignis aus, das du verwenden möchtest. Oder verwende ein leeres („{}“) Testereignis.
-
Wähle Speichern und dann Testen aus.
-
Öffne die SageMaker AI-Konsole, um zu bestätigen, dass eine Notebook-Instance initialisiert wird.
Hinweis: Wenn beim Lambda-Funktionstest ein Timeout auftritt, öffne die Lambda-Funktion. Wähle Konfiguration aus, gehe zum Abschnitt Allgemeine Konfiguration und erhöhe dann den Timeout-Wert. Die Standardeinstellung ist drei Sekunden.
Nachdem du die Lambda-Funktion erstellt hast, kannst du einen Trigger erstellen, um die Funktion automatisch auf der Grundlage eines Ereignisses in einem anderen AWS-Service auszuführen.