Direkt zum Inhalt

Wie verwende ich eine Lambda-Funktion, um eine SageMaker AI-Notebook-Instance zu erstellen?

Lesedauer: 3 Minute
0

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:

  1. 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.

  2. Erstelle eine IAM-Ausführungsrolle für SageMaker AI. Stelle sicher, dass du die erforderlichen Berechtigungen anhängst.

  3. Öffne die Lambda-Konsole.

  4. Wähle Funktion erstellen aus.

  5. 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.

  6. Wähle Funktion erstellen aus.

  7. 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.")
  8. Wähle die Registerkarte Konfiguration und dann Umgebungsvariablen aus.

  9. Wähle Bearbeiten aus.

  10. 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.

  11. Wähle Speichern aus.

  12. Wähle die Registerkarte Testen aus.

  13. 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.

  14. Wähle Speichern und dann Testen aus.

  15. Ö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.

AWS OFFICIALAktualisiert vor 7 Monaten