Cheat-Sheet Migration aus dem JHub
1. Vorbereitungen
In der WebUI nach SSO-Login unter https://web.s3.mylab.th-luebeck.dev/console/identity einen AccessKey und Secret erzeugen.
In der WebUI einen passenden Bucket anlegen. Wichtig: die MatrixID muss als Präfix vor den Bucketnamen geschrieben werden. Siehe dazu im allgemeinen Wiki-Eintrag zum S3-Storage.
2. Boto3 installieren
!pip install boto3
3. Daten kopieren
import boto3
from botocore.exceptions import ClientError
# 1. Define your credentials and bucket
ACCESS_KEY = 'xxx'
SECRET_KEY = 'yyy'
BUCKET_NAME = 'm[s|b]000...-zzz'
# 2. Define your file paths
local_file_path = 'my_local_file.txt' # The file currently on your Jupyter Hub
s3_file_name = 'uploads/my_data.txt' # The path/name it will have in S3 Bucket
# 3. Initialize the S3 client
s3_client = boto3.client(
's3',
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
endpoint_url="https://s3.mylab.th-luebeck.dev"
)
# 4. Upload the file
try:
s3_client.upload_file(local_file_path, BUCKET_NAME, s3_file_name)
print(f"Success: '{local_file_path}' uploaded to '{BUCKET_NAME}/{s3_file_name}'")
except ClientError as e:
print(f"Error uploading file: {e}")
4. Dateien im JHub löschen
Die auf den S3 verschobenen Dateien dann bitte im JHub löschen und den Code so umschreiben, dass die Daten vom S3-Storage eingelesen/dorthin gespeichert werden.