[PYTHON] Definieren Sie benutzerdefinierte Aktionen in JupyterHub (Hook-Funktion)

Mit der Hook-Funktion von JupyterHub können Sie beim Anmelden automatisch ein Verzeichnis für jeden Benutzer erstellen.

Definieren Sie es als Funktion in der Konfigurationsdatei (jupyterhub_config.py). Es gibt die folgenden Arten von Haken.

Beispielskripte sind im offiziellen Repository verfügbar.

jupyterhub/examples/bootstrap-script at master · jupyterhub/jupyterhub

Die Hook-Aktion, mit der automatisch ein Benutzerordner erstellt wird, lautet beispielsweise wie folgt.

# in jupyterhub_config.py  
import os
def create_dir_hook(spawner):
    username = spawner.user.name # get the username
    volume_path = os.path.join('/volumes/jupyterhub', username)
    if not os.path.exists(volume_path):
        # create a directory with umask 0755 
        # hub and container user must have the same UID to be writeable
        # still readable by other users on the system
        os.mkdir(volume_path, 0o755)
        # now do whatever you think your user needs
        # ...
        pass

# attach the hook function to the spawner
c.Spawner.pre_spawn_hook = create_dir_hook

Recommended Posts

Definieren Sie benutzerdefinierte Aktionen in JupyterHub (Hook-Funktion)
Dualität in der Funktion
[Road to Intermediate Python] Definieren Sie die Funktion __getattr__ in der Klasse
Generatorfunktion auch in JavaScript
Benutzerdefinierte Sortierung in Python3