MinIO
Hier finden Sie für Coscine ein Beispiel für die Konfiguration von MinIO Client (mc), einem kostenlosen S3-Client für Linux, macOS und Windows.
MinIO Client - S3 über die Befehlszeile nutzen
Die Open Source Anwendung MinIO ist anders als Cyberduck und WinSCP ein Client ohne Nutzendenoberfläche, sondern lediglich einer Schnittstelle zur Befehlszeile. Oft wird auch von CLI gesprochen, was für Command Line Interface steht. Daher eignet sich der Client am ehesten für technisch versierte Nutzende.
Download des MinIO Client
Im GitHub-Repository des MinIO Clients sind verschiedene Download-Optionen verfügbar, z. B. Binärdateien für Linux, macOS oder Windows.
S3-Verbindung unter Linux oder Windows Befehlszeile
Der dem Client zugeordnete Befehlszeilen Befehl mc verweist auf zwei Dinge. Er verweist einerseits auf den MinIO Client als Ganzes, z.B. die Dateien im Git oder der Dokumentation. Daher kann es auch vorkommen, dass "MinIO" nicht ausgeschrieben wird.
Andererseits wird der Term auch in der Kommandozeile genutzt, um daran anschließend, übliche Befehlen wie cp, ls, cat oder rm anzuhängen, mit denen S3 Operationen über die Kommandozeile getätigt werden können.
Konfigurationsdatei einrichten
Zwar ist es möglich, alle Parameter manuell über die Kommandozeile einzugeben, jedoch ist die Verwendung einer Konfigurationsdatei empfohlen. Die Verwendung einer solchen Datei (config.json) bietet Vorteile hinsichtlich Konsistenz, Reproduzierbarkeit und Sicherheit. Die Konfigurationsdatei wird erzeugt durch das Setzen eines Alias und kann danach ggf. manuell verändert werden. Der Befehl zum Anlegen der Konfigurationsdatei ist
mc alias set <my_resource_alias> https://global.datastorage.nrw:443/
~/.mc/config.json im Falle von Linux bzw. ?%USERPROFILE%\.mc\config.json im Falle von Windows angelegt .
{
"version": "10",
"aliases": {
"my_resource_alias": {
"url": "https://global.datastorage.nrw:443/",
"accessKey": "<READ_OR_WRITE_ACCESS_KEY_FROM_COSCINE>",
"secretKey": "<READ_OR_WRITE_SECRET_KEY_FROM_COSCINE>",
"api": "s3v4",
"path": "off"
}
}
}
Den Access Key und den Secret Key für die Konfigurationsdatei, finden Sie in der Ressourcenkonfiguration in Coscine. Je nachdem ob Lese oder Schreibrechtrechte benötigt werden, können Sie den Read oder Write Key angeben.
Dateioperationen
Nach dem Erstellen der Konfigurationsdatei können nun über den Client mc verschiedene Befehle z. B. zur Datenanzeige, Upload oder Download genutzt werden.
Hier zeigen wir einige Beispiele, weiterführende Informationen erhalten Sie im zum Client zugehörigen Git Repositorium.
Achtung
Für den Zugriff auf den Datastorage.nrw muss virtual host style aktiviert sein, dies ist vom Hersteller so vergeben. Außerdem muss die Option path auf "off" gestellt werden.
Hinsichtlich Ordneraktionen empfehlen wir, einen Blick auf die Dokumentation zum Thema Dateien und Ordner verwalten. Dort finden Sie von Coscine unterstützte Aktionen und Hinweise auf die Weiterentwicklung.
Dateien und Versionen auflisten
| Anwendungsfall | Kommandozeilenbefehl |
|---|---|
| Dateien in einer Ressource auflisten | mc ls my_resource_alias/<bucket name> |
| Datei/Objekt-Versionen auflisten | mc ls --versions my_resource_alias/<bucket name> |
Herunterladen
| Anwendungsfall | Kommandozeilenbefehl |
|---|---|
| Herunterladen einer Datei aus einer Ressource | mc cp my_resource_alias/<bucket name>/data.csv ./ |
Hochladen und Löschen von Dateien
Achten Sie bitte darauf, dass bei jedem Überschreiben einer Datei, sowohl beim erneuten Hochladen als auch beim Löschen eine zusätzliche Dateiversion angelegt wird. Dateiversionen belegen ebenfalls Speicherplatz, bis die Aufbewahrungsfrist abgelaufen ist.
Hochladen
| Anwendungsfall | Kommandozeilenbefehl |
|---|---|
| Hochladen einer Datei in eine Ressource | mc cp ./localFile.csv my_resource_alias/<bucket name>/ |
Löschen
Gelöschte Dateien können von Nutzenden nicht wiederhergestellt werden, darum prüfen Sie Ihre Aktion bitte sorgfältig.
Es wird daher empfohlen, speziell bei rekursivem Löschen, den Befehl zuerst mit dem optionalen --dry-run Parameter auszuprobieren.
Dadurch wird eine Übersicht über die gelöschten Dateien angezeigt, ohne dass der Befehl ausgeführt wird.
Entspricht die Übersicht den Erwartungen, kann der Befehl danach erneut, ohne den Parameter, ausgeführt werden.
| Anwendungsfall | Kommandozeilenbefehl |
|---|---|
| Löschen einer Datei | mc rm my_resource_alias/<bucket name>/myFile.csv |
| Übersicht über Effekte des rekursiven Löschens | mc rm --recursive --dry-run my_resource_alias/<bucket name>/myFile.csv |
| Rekursiv löschen | mc rm --recursive my_resource_alias/<bucket name>/myFile.csv |