{coding}Sight
Einführung
Amazon Web Service, auch bekannt als AWS, ist ein führender Cloud-Infrastrukturanbieter zum Speichern Ihrer Server, Anwendungen, Datenbanken, Netzwerke, Domänencontroller und Active Directories in einer weit verbreiteten Cloud-Architektur. AWS bietet einen einfachen Speicherdienst (S3) zum Speichern Ihrer Objekte oder Daten mit (119) Datenhaltbarkeit. AWS S3 ist konform mit PCI-DSS, HIPAA / HITECH, FedRAMP, der EU-Datenschutzrichtlinie und FISMA, um regulatorische Anforderungen zu erfüllen.
Wenn Sie sich beim AWS-Portal anmelden, navigieren Sie zum S3-Bucket, wählen Sie den gewünschten Bucket aus und laden Sie die Dateien herunter oder hoch. Dies manuell auf dem Portal zu tun, ist eine ziemlich zeitaufwändige Aufgabe. Stattdessen können Sie die AWS-Befehlszeilenschnittstelle (CLI) verwenden, die sich am besten für Massendateivorgänge mit benutzerfreundlichen Skripten eignet. Sie können die Ausführung dieser Skripte für einen unbeaufsichtigten Objektdownload/-upload planen.
AWS CLI konfigurieren
Laden Sie die AWS CLI herunter und installieren Sie AWS Command Line Interface V2 unter Windows-, macOS- oder Linux-Betriebssystemen.
Sie können dem Installationsassistenten für eine schnelle Einrichtung folgen.
Erstellen eines IAM-Benutzers
Um über die Befehlszeilenschnittstelle auf den AWS S3-Bucket zuzugreifen, müssen wir einen IAM-Benutzer einrichten. Navigieren Sie im AWS-Portal zu Identity and Access Management (IAM) und klicken Sie auf Benutzer hinzufügen.
Geben Sie auf der Seite Benutzer hinzufügen den Benutzernamen und den Zugriffstyp als programmgesteuerten Zugriff ein.
Als nächstes stellen wir dem IAM-Benutzer Berechtigungen mithilfe vorhandener Richtlinien zur Verfügung. Für diesen Artikel haben wir aus den AWS Managed Policies ausgewählt.
Überprüfen Sie Ihre IAM-Benutzerkonfiguration und klicken Sie auf Benutzer erstellen.
Sobald der AWS IAM-Benutzer erstellt wurde, gibt er die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel für die Verbindung über die AWS CLI an.
Hinweis: Sie sollten diese Anmeldeinformationen kopieren und speichern. AWS erlaubt Ihnen nicht, sie zu einem späteren Zeitpunkt abzurufen.
Konfigurieren des AWS-Profils auf Ihrem Computer
Um mit AWS CLI auf Amazon Web Service-Ressourcen zu arbeiten, starten Sie die PowerShell und führen Sie den folgenden Befehl aus.
>aws configure
Es erfordert die folgenden Benutzereingaben:
- IAM-Benutzerzugriffsschlüssel-ID
- AWS-Geheimzugriffsschlüssel
- Standard-AWS-Regionsname
- Standardausgabeformat
Erstellen Sie einen S3-Bucket mit AWS CLI
Um die Dateien oder Objekte zu speichern, benötigen wir einen S3-Bucket. Wir können es sowohl mit dem AWS-Portal als auch mit der AWS-CLI erstellen.
Der folgende CLI-Befehl erstellt einen Bucket mit dem Namen in der Region us-east-1. Die Abfrage gibt den Bucket-Namen in der Ausgabe zurück, wie unten gezeigt.
>aws s3api create-bucket --bucket mys3bucket-testupload1 --region us-east-1
Sie können den neu erstellten s3-Bucket mithilfe der AWS-Konsole überprüfen. Wie unten gezeigt, wird die im Osten der USA hochgeladen (N. Virginia).
Führen Sie den folgenden Befehl aus, um den vorhandenen S3–Bucket mithilfe der AWS CLI aufzulisten: aws s3 ls
Hochladen von Objekten in den S3-Bucket mit AWS CLI
Wir können eine einzelne Datei oder mehrere Dateien zusammen mit dem AWS CLI-Befehl in den AWS S3-Bucket hochladen. Angenommen, wir haben eine einzelne Datei zum Hochladen. Die Datei wird lokal im C:\S3Files mit dem Namen script1.txt.
Um die einzelne Datei hochzuladen, verwenden Sie das folgende CLI-Skript.
>aws s3 cp C:\S3Files\Script1.txt s3://mys3bucket-testupload1/
Es lädt die Datei hoch und gibt die Quell-Ziel-Dateipfade in der Ausgabe zurück:
Hinweis: Die Zeit zum Hochladen in den S3-Bucket hängt von der Dateigröße und der Netzwerkbandbreite ab. Für die Demo habe ich eine kleine Datei von wenigen KB verwendet.
Sie können den s3-Bucket aktualisieren und die darin gespeicherte Datei anzeigen.
Ebenso können wir dasselbe CLI-Skript mit einer geringfügigen Änderung verwenden. Es lädt alle Dateien von der Quelle in den Ziel-S3-Bucket hoch. Hier verwenden wir den Parameter -recursive, um mehrere Dateien zusammen hochzuladen:
>aws s3 cp c:\s3files s3://mys3bucket-testupload1/ --recursive
Wie unten gezeigt, werden alle im lokalen Verzeichnis gespeicherten Dateien hochgeladen c:\S3Files zum S3-Eimer. Sie erhalten den Fortschritt jedes Uploads in der Konsole.
Wir können alle hochgeladenen Dateien mit rekursiven Parametern im S3-Bucket in der folgenden Abbildung sehen:
Wenn Sie die hochgeladene Liste nicht im AWS-Portal überprüfen möchten, führen Sie das CLI-Skript aus, geben Sie alle Dateien zurück und laden Sie Zeitstempel hoch.
>aws s3 ls s3://mys3bucket-testupload1
Angenommen, wir möchten nur Dateien mit einer bestimmten Erweiterung in den separaten Ordner von AWS S3 hochladen. Sie können die Objektfilterung auch mit dem CLI-Skript durchführen. Zu diesem Zweck verwendet das Skript Include- und Exclude-Schlüsselwörter.
Die folgende Abfrage überprüft beispielsweise Dateien im Quellverzeichnis (c:\s3bucket ), filtert Dateien mit .sql-Erweiterung und lädt sie in den Ordner SQL / des S3-Buckets hoch. Hier haben wir die Erweiterung mit dem Schlüsselwort include angegeben:
>aws s3 cp C:\S3Files s3://mys3bucket-testupload1/ --recursive --exclude * --include *.sql
In der Skriptausgabe können Sie überprüfen, ob Dateien mit dem .es wurden nur SQL-Erweiterungen hochgeladen.
In ähnlicher Weise lädt das folgende Skript Dateien mit dem hoch.CSV-Erweiterung in den S3-Bucket.
>aws s3 cp C:\S3Files s3://mys3bucket-testupload1/ --recursive --exclude * --include *.csv
Laden Sie neue oder geänderte Dateien aus dem Quellordner in den S3-Bucket hoch
Angenommen, Sie verwenden einen S3-Bucket, um Ihre Datenbanktransaktionsprotokollsicherungen zu verschieben.
Zu diesem Zweck verwenden wir das Schlüsselwort sync. Es kopiert rekursiv neue, geänderte Dateien aus dem Quellverzeichnis in den Ziel-s3-Bucket.
>aws s3 sync C:\S3Files s3://mys3bucket-testupload1/ --recursive --exclude * --include *.sql
Wie unten gezeigt, wurde eine Datei hochgeladen, die im s3-Bucket fehlte. Wenn Sie eine vorhandene Datei im Quellordner ändern, wählt das CLI-Skript sie aus und lädt sie in den S3-Bucket hoch.
Zusammenfassung
Das AWS CLI-Skript kann Ihnen die Arbeit beim Speichern von Dateien im S3-Bucket erleichtern. Sie können damit Dateien zwischen lokalen Ordnern und dem S3-Bucket hochladen oder synchronisieren. Es ist eine schnelle Möglichkeit, Objekte in der AWS Cloud bereitzustellen und mit ihnen zu arbeiten.
Tags: AWS, aws cli, aws s3, Cloud-Plattform Letzte Änderung: 16. September 2021
Leave a Reply