

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Lebenszykluskonfigurationen mit JupyterLab
<a name="jl-lcc"></a>

Lebenszykluskonfigurationen sind Shell-Skripte, die durch JupyterLab Lebenszyklusereignisse ausgelöst werden, z. B. durch das Starten eines neuen JupyterLab Notebooks. Sie können Lebenszykluskonfigurationen verwenden, um die Anpassung an Ihre JupyterLab Umgebung zu automatisieren. Diese Anpassung umfasst die Installation benutzerdefinierter Pakete, die Konfiguration von Notebook-Erweiterungen, das Vorladen von Datensätzen und die Einrichtung von Quellcode-Repositorys.

Die Verwendung von Lebenszykluskonfigurationen bietet Ihnen Flexibilität und Kontrolle bei der Konfiguration JupyterLab, die Ihren spezifischen Anforderungen entspricht. Beispielsweise können Sie eine minimale Auswahl an Basis-Container-Images mit den am häufigsten verwendeten Paketen und Bibliotheken erstellen. Anschließend können Sie mithilfe von Lebenszykluskonfigurationen zusätzliche Pakete für spezifische Anwendungsfälle in Ihren Datenwissenschaft- und Machine-Learning-Teams installieren.

**Anmerkung**  
Jedes Skript hat ein Limit von **16 384 Zeichen**.

**Topics**
+ [Erstellen der Lebenszykluskonfiguration](jl-lcc-create.md)
+ [Konfigurationen für den Debug-Lebenszyklus](jl-lcc-debug.md)
+ [Trennen von Lebenszykluskonfigurationen](jl-lcc-delete.md)

# Erstellen der Lebenszykluskonfiguration
<a name="jl-lcc-create"></a>

Dieses Thema enthält Anweisungen zum Erstellen und Zuordnen einer Lebenszykluskonfiguration zu JupyterLab. Sie verwenden das AWS Command Line Interface (AWS CLI) oder das AWS-Managementkonsole , um die Anpassung an Ihre JupyterLab Umgebung zu automatisieren.

Lebenszykluskonfigurationen sind Shell-Skripts, die durch JupyterLab Lebenszyklusereignisse ausgelöst werden, z. B. durch das Starten eines neuen JupyterLab Notebooks. Weitere Informationen zur Lebenszyklus-Konfiguration finden Sie unter [Lebenszykluskonfigurationen mit JupyterLab](jl-lcc.md).

## Erstellen einer Lebenszykluskonfiguration (AWS CLI)
<a name="jl-lcc-create-cli"></a>

Erfahren Sie, wie Sie mithilfe von AWS Command Line Interface (AWS CLI) eine Lebenszykluskonfiguration erstellen, um die Anpassung für Ihre Studio-Umgebung zu automatisieren.

### Voraussetzungen
<a name="jl-lcc-create-cli-prerequisites"></a>

Stellen Sie vor Beginn sicher, dass die folgenden Voraussetzungen erfüllt sind: 
+ Aktualisieren Sie die, AWS CLI indem Sie den Schritten unter [Installation der aktuellen AWS CLI Version](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html#install-tool-bundled) folgen.
+ Führen Sie `aws configure` von Ihrem lokalen Rechner aus und geben Sie Ihre AWS -Anmeldedaten ein. Informationen zu AWS Anmeldeinformationen finden Sie unter [AWS Anmeldeinformationen verstehen und abrufen](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html). 
+ Integrieren Sie die Amazon SageMaker AI-Domain. Weitere konzeptuelle Informationen finden Sie unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md). Eine Schnellstartanleitung finden Sie unter [Verwenden Sie das Schnell-Setup für Amazon SageMaker AI](onboard-quick-start.md).

### Schritt 1: Erstellen einer Lebenszykluskonfiguration
<a name="jl-lcc-create-cli-step1"></a>

Das folgende Verfahren zeigt, wie Sie ein Skript für die Lebenszykluskonfiguration erstellen, das `Hello World` ausgibt.

**Anmerkung**  
Jedes Skript kann bis zu **16.384 Zeichen** enthalten.

1. Erstellen Sie auf Ihrem lokalen Rechner eine Datei namens `my-script.sh` mit folgendem Inhalt:

   ```
   #!/bin/bash
   set -eux
   echo 'Hello World!'
   ```

1. Gehen Sie wie folgt vor, um Ihre `my-script.sh`-Datei in das base64-Format zu konvertieren. Diese Anforderung verhindert Fehler, die bei der Kodierung von Abständen und Zeilenumbrüchen auftreten.

   ```
   LCC_CONTENT=`openssl base64 -A -in my-script.sh`
   ```

1. Erstellen Sie eine Lebenszykluskonfiguration für die Verwendung mit Studio. Der folgende Befehl erstellt eine Lebenszykluskonfiguration, die ausgeführt wird, wenn Sie eine zugehörige `JupyterLab`-Anwendung starten.

   ```
   aws sagemaker create-studio-lifecycle-config \
   --region region \
   --studio-lifecycle-config-name my-jl-lcc \
   --studio-lifecycle-config-content $LCC_CONTENT \
   --studio-lifecycle-config-app-type JupyterLab
   ```

   Notieren Sie sich den ARN der neu erstellten Lebenszykluskonfiguration, die zurückgegeben wird. Dieser ARN ist erforderlich, um die Lebenszykluskonfiguration an Ihre Anwendung anzuhängen.

### Schritt 2: Hängen Sie die Lebenszykluskonfiguration an Ihre Amazon SageMaker AI-Domain (Domain) und Ihr Benutzerprofil an
<a name="jl-lcc-create-cli-step2"></a>

Um die Lebenszykluskonfiguration anzuhängen, müssen Sie die `UserSettings` für Ihre Domain oder Ihr Benutzerprofil aktualisieren. Skripte zur Lebenszykluskonfiguration, die auf Domainebene verknüpft sind, werden von allen Benutzern übernommen. Skripte, die auf Benutzerprofilebene verknüpft sind, sind jedoch auf einen bestimmten Benutzer beschränkt. 

Sie können ein neues Benutzerprofil, eine neue Domain oder einen neuen Bereich mit angefügter Lebenszykluskonfiguration mithilfe der folgenden Befehle erstellen:
+ [create-user-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-user-profile.html)
+ [create-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-domain.html)
+ [create-space](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-space.html)

Der folgende Befehl erstellt ein Benutzerprofil mit einer Lebenszykluskonfiguration. Fügen Sie den ARN für die Lebenszykluskonfiguration aus dem vorangegangenen Schritt zu den `JupyterLabAppSettings` des Benutzers hinzu. Sie können mehrere Lebenszykluskonfigurationen gleichzeitig hinzufügen, indem Sie eine Liste mit diesen übergeben. Wenn ein Benutzer eine JupyterLab Anwendung mit dem startet AWS CLI, kann er eine Lebenszykluskonfiguration angeben, anstatt die Standardkonfiguration zu verwenden. Die Lebenszykluskonfiguration, die der Benutzer übergibt, muss zur Liste der Lebenszykluskonfigurationen in `JupyterLabAppSettings` gehören.

```
# Create a new UserProfile
aws sagemaker create-user-profile --domain-id domain-id \
--user-profile-name user-profile-name \
--region region \
--user-settings '{
"JupyterLabAppSettings": {
  "LifecycleConfigArns":
    [lifecycle-configuration-arn-list]
  }
}'
```

## Erstellen einer Lebenszykluskonfiguration (Konsole)
<a name="jl-lcc-create-console"></a>

Erfahren Sie, wie Sie mithilfe von eine Lebenszykluskonfiguration erstellen AWS-Managementkonsole , um die Anpassung für Ihre Studio-Umgebung zu automatisieren.

### Schritt 1: Erstellen einer Lebenszykluskonfiguration
<a name="jl-lcc-create-console-step1"></a>

Das folgende Verfahren zeigt, wie Sie ein Skript für die Lebenszykluskonfiguration erstellen, das `Hello World` druckt.

**So erstellen Sie eine Lebenszykluskonfiguration**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich die Option **Admin-Konfigurationen** aus.

1. Wählen Sie unter **Admin-Konfigurationen** die Option **Lifecycle-Konfigurationen** aus. 

1. Wählen Sie die Registerkarte **JupyterLab** aus.

1. Wählen Sie **Create configuration** (Konfiguration erstellen).

1. Geben Sie im Feld **Name** den Namen der Lebenszykluskonfiguration ein.

1. Geben Sie für das Textfeld unter **Skripte** die folgende Lebenszykluskonfiguration an:

   ```
   #!/bin/bash
   set -eux
   echo 'Hello World!'
   ```

1. Wählen Sie **Create configuration** (Konfiguration erstellen).

### Schritt 2: Hängen Sie die Lebenszykluskonfiguration an Ihre Amazon SageMaker AI-Domain (Domain) und Ihr Benutzerprofil an
<a name="jl-lcc-create-console-step2"></a>

Auf Domainebene zugeordnete Lebenszyklus-Konfigurationsskripten werden von allen Benutzern übernommen. Skripts, die auf Benutzerprofilebene verknüpft sind, sind jedoch auf einen bestimmten Benutzer beschränkt.

Sie können mehrere Lebenszykluskonfigurationen an eine Domain oder ein Benutzerprofil für anhängen JupyterLab.

Führen Sie die folgenden Schritte aus, um eine Lebenszykluskonfiguration an eine Domain anzufügen.

**So fügen Sie eine Lebenszykluskonfiguration an eine Domain an**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie aus der Liste der Domains die Domain aus, an die die Lebenszykluskonfiguration angefügt werden soll.

1. Wählen Sie in den **Domaindetails** die Registerkarte **Umgebung** aus.

1. Wählen Sie unter **Lebenszykluskonfigurationen für persönliche Studio-Apps** die Option **Anhängen** aus.

1. Wählen Sie unter **Quelle** die Option **Bestehende Konfiguration** aus.

1. Wählen Sie unter **Studio-Lebenszykluskonfigurationen** die Lebenszykluskonfiguration aus, die Sie im vorherigen Schritt erstellt haben.

1. Wählen Sie **An Domain anhängen** aus.

Führen Sie die folgenden Schritte aus, um eine Lebenszykluskonfiguration an ein Benutzerprofil anzufügen.

**So hängen Sie eine Lebenszykluskonfiguration an ein Benutzerprofil an**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie aus der Liste der Domains die Domain aus, die das Benutzerprofil enthält, an das die Lebenszykluskonfiguration angefügt werden soll.

1. Wählen Sie unter **Benutzerprofile** das Benutzerprofil aus.

1. Wählen Sie auf der Seite **Benutzerdetails** die Option **Bearbeiten**.

1. Wählen Sie in der linken Navigation **Studioeinstellungen**.

1. Wählen Sie unter **Lebenszykluskonfigurationen, die dem Benutzer** zugeordnet sind, die Option **Anhängen**.

1. Wählen Sie unter **Quelle** die Option **Bestehende Konfiguration** aus.

1. Wählen Sie unter **Studio-Lebenszykluskonfigurationen** die Lebenszykluskonfiguration aus, die Sie im vorherigen Schritt erstellt haben.

1. Wählen Sie **An Benutzerprofil anhängen**.

# Konfigurationen für den Debug-Lebenszyklus
<a name="jl-lcc-debug"></a>

In den folgenden Themen erfahren Sie, wie Sie Informationen über Ihre Lebenszykluskonfigurationen abrufen und debuggen.

**Topics**
+ [Überprüfen Sie den Lebenszyklus-Konfigurationsprozess anhand der CloudWatch Protokolle](#jl-lcc-debug-logs)
+ [Timeout für die Lebenszykluskonfiguration](#jl-lcc-debug-timeout)

## Überprüfen Sie den Lebenszyklus-Konfigurationsprozess anhand der CloudWatch Protokolle
<a name="jl-lcc-debug-logs"></a>

Lebenszykluskonfigurationen protokollieren nur `STDOUT` und `STDERR`.

`STDOUT` ist die Standardausgabe für Bash-Skripte. Sie können in `STDERR` schreiben, indem Sie `>&2` an das Ende eines Bash-Befehls anhängen. Beispiel, `echo 'hello'>&2`. 

Protokolle für Ihre Lebenszykluskonfigurationen werden auf Amazon veröffentlicht, wenn Sie Amazon AWS-Konto verwenden CloudWatch. Diese Protokolle finden Sie im `/aws/sagemaker/studio` Protokollstream in der CloudWatch Konsole.

1. Öffnen Sie die CloudWatch Konsole unter [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Wählen Sie im linken Navigationsbereich **Protokolle** aus. Wählen Sie im Dropdown-Menü **Protokollgruppen** aus.

1. Suchen Sie auf der Seite **Protokollgruppen** nach `aws/sagemaker/studio`. 

1. Wählen Sie die -Protokollgruppe aus.

1. Wählen Sie auf der Seite mit den **Details zur Protokollgruppe** die Registerkarte **Protokollstreams** aus.

1. Um die Protokolle für einen bestimmten Bereich zu finden, suchen Sie in den Protokollstreams nach dem folgenden Format:

   ```
   domain-id/space-name/app-type/default/LifecycleConfigOnStart
   ```

   Um beispielsweise die Protokolle der Lebenszykluskonfiguration für Domain-ID `d-m85lcu8vbqmz`, Bereichsname `i-sonic-js` und Anwendungstyp `JupyterLab` zu finden, verwenden Sie die folgende Suchzeichenfolge:

   ```
   d-m85lcu8vbqmz/i-sonic-js/JupyterLab/default/LifecycleConfigOnStart
   ```

## Timeout für die Lebenszykluskonfiguration
<a name="jl-lcc-debug-timeout"></a>

Für die Lebenszykluskonfiguration gilt ein Timeout von 5 Minuten. Wenn die Ausführung eines Skripts zur Lebenszykluskonfiguration länger als 5 Minuten dauert, wird ein Fehler ausgegeben.

Um diesen Fehler zu beheben, stellen Sie sicher, dass das Skript einer Lebenszykluskonfiguration in weniger als 5 Minuten abgeschlossen ist. 

Gehen Sie zum Reduzieren der Laufzeit von Skripten wie folgt vor:
+ Reduzieren Sie unnötige Schritte. Schränken Sie zum Beispiel ein, in welchen conda-Umgebungen große Pakete installiert werden sollen.
+ Führen Sie Aufgaben in parallelen Prozessen aus.
+ Verwenden Sie den Befehl „nohup“ in Ihrem Skript, um sicherzustellen, dass hangup-Signale ignoriert werden, sodass das Skript ohne Unterbrechung ausgeführt wird.

# Trennen von Lebenszykluskonfigurationen
<a name="jl-lcc-delete"></a>

Um Ihr Skript zu aktualisieren, müssen Sie ein neues Lifecycle-Konfigurationsskript erstellen und es an die jeweilige Amazon SageMaker AI-Domain (Domain), das Benutzerprofil oder den Shared Space anhängen. Ein Lifecycle-Konfigurationsskript kann nicht geändert werden, nachdem es erstellt wurde. Weitere Informationen zum Erstellen und Anhängen der Lebenszykluskonfiguration finden Sie unter [Erstellen der Lebenszykluskonfiguration](jl-lcc-create.md).

Im folgenden Abschnitt wird gezeigt, wie eine Lebenszykluskonfiguration unter Verwendung der AWS Command Line Interface (AWS CLI) getrennt wird.

## Trennen Sie es mit dem AWS CLI
<a name="jl-lcc-delete-cli"></a>

Um eine Lebenszykluskonfiguration mithilfe von AWS CLI zu trennen, entfernen Sie die gewünschte Lebenszykluskonfiguration aus der Liste der an die Ressource angehängten Lebenszykluskonfigurationen. Anschließend übergeben Sie die Liste als Teil des jeweiligen Befehls:
+ [update-user-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-user-profile.html)
+ [update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html)
+ [update-space](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-space.html)

Mit dem folgenden Befehl werden beispielsweise alle Lebenszykluskonfigurationen für die JupyterLab Anwendung entfernt, die an die Domäne angehängt ist.

```
aws sagemaker update-domain --domain-id domain-id \
--region region \
--default-user-settings '{
"JupyterLabAppSettings": {
  "LifecycleConfigArns":
    []
  }
}'
```