Buckets anzeigen & erstellen
Alle Buckets auflisten 📋 Kopieren
aws s3 ls
Ausgabe
2026-03-10 08:50:51 awsbudhge1
2026-03-10 09:32:26 dhge-bucket-max1
Inhalt eines Buckets auflisten 📋 Kopieren
aws s3 ls s3://BUCKET /
Ausgabe
2026-03-10 09:17:15 477 datei.svg
Bucket erstellen 📋 Kopieren
aws s3 mb s3://BUCKET
mb = make bucket. Name muss global eindeutig sein — lowercase, keine Leerzeichen.
Bucket löschen (leer) 📋 Kopieren
aws s3 rb s3://BUCKET
Bucket löschen inkl. aller Dateien 📋 Kopieren
aws s3 rb s3://BUCKET --force
--force löscht zuerst alle Objekte, dann den Bucket. Nicht rückgängig zu machen!
Dateien hochladen
Datei hochladen (cp) 📋 Kopieren
aws s3 cp /pfad/zur/datei s3://BUCKET /datei
Dateinamen mit Leerzeichen immer in Anführungszeichen : "/pfad/datei (1).svg"
Ganzen Ordner hochladen (recursive) 📋 Kopieren
aws s3 sync /pfad/zum/ordner s3://BUCKET /
sync lädt nur neue oder geänderte Dateien hoch — ideal für mehrere Dateien.
Bucket zu Bucket synchronisieren (S3 -> S3) 📋 Kopieren
aws s3 sync s3://QUELLE-BUCKET / s3://ZIEL-BUCKET /
Kopiert neue/geänderte Objekte zwischen zwei Buckets.
Datei herunterladen 📋 Kopieren
aws s3 cp s3://BUCKET /datei ~/Downloads/
Datei löschen 📋 Kopieren
aws s3 rm s3://BUCKET /datei
Temporärer Download-Link (Presigned URL)
Link 1 Stunde gültig 📋 Kopieren
aws s3 presign s3://BUCKET /datei --expires-in 3600
Link 24 Stunden gültig 📋 Kopieren
aws s3 presign s3://BUCKET /datei --expires-in 86400
Link 1 Woche gültig 📋 Kopieren
aws s3 presign s3://BUCKET /datei --expires-in 604800
ℹ Die URL enthält einen signierten Token — jeder mit dem Link kann die Datei herunterladen, ohne AWS-Zugang. Nach Ablauf der Zeit ist der Link ungültig.
Bucket & Objekte abfragen
Metadaten einer Datei anzeigen 📋 Kopieren
aws s3api head-object --bucket BUCKET --key datei
Zeigt ContentType, Größe, Last-Modified — ohne die Datei herunterzuladen.
Alle Objekte eines Buckets auflisten (JSON) 📋 Kopieren
aws s3api list-objects-v2 --bucket BUCKET
Nur Dateinamen ausgeben 📋 Kopieren
aws s3api list-objects-v2 --bucket BUCKET --query "Contents[].Key"
Bucket-Größe berechnen 📋 Kopieren
aws s3 ls s3://BUCKET / --recursive --human-readable --summarize
Ausgabe (unten)
Total Objects: 3
Total Size: 12.4 KiB
Einzelne Datei per JSON-Bucket-Policy öffentlich machen
1) Policy-Datei erstellen (nur 1 Objekt öffentlich)
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadSingleObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::BUCKET/datei.json"
}
]
}
Speichere den Inhalt als policy-public-single.json und ersetze BUCKET/datei.json.
2) Policy setzen 📋 Kopieren
aws s3api put-bucket-policy --bucket BUCKET --policy file://policy-public-single.json
3) Web-Link der Datei
https://BUCKET.s3.amazonaws.com/datei.json
⚠ Falls Zugriff trotz Policy blockiert ist: in S3 beim Bucket "Block public access" so anpassen, dass Bucket-Policy für diesen Lernfall wirksam werden kann.
Zugriff wieder einschränken
Öffentliche Bucket-Policy entfernen 📋 Kopieren
aws s3api delete-bucket-policy --bucket BUCKET
Optional: Objekt wieder privat setzen 📋 Kopieren
aws s3api put-object-acl --bucket BUCKET --key datei.json --acl private
JSON-Datei mit Key-Value und Liste erstellen/lesen
Datei erstellen
cat > daten.json <<EOF
{
"name": "Max Mustermann",
"kurs": "AWS",
"punkte": [85, 90, 95],
"aktiv": true
}
EOF
Datei lesen 📋 Kopieren
cat daten.json
Nur Listenwert lesen (Beispiel mit jq) 📋 Kopieren
jq ".punkte" daten.json
Ausgabe: [85,90,95]. Falls jq fehlt, reicht cat daten.json.
⚠ AWS Academy: Credentials sind temporär und laufen nach ~4h ab. Nach jedem Lab-Neustart neue Credentials aus "AWS Details → AWS CLI" kopieren und in ~/.aws/credentials einfügen.