{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.

 AWS CLI-Konfiguration

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.

 einrichten eines IAM-Benutzers

Geben Sie auf der Seite Benutzer hinzufügen den Benutzernamen und den Zugriffstyp als programmgesteuerten Zugriff ein.

 Programmatischer Zugriff

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.

 erteilen von Berechtigungen für den IAM-Benutzer mithilfe vorhandener Richtlinien

Überprüfen Sie Ihre IAM-Benutzerkonfiguration und klicken Sie auf Benutzer erstellen.

 Überprüfen Sie die 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.

 IAM-Benutzer erfolgreich erstellt.

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

 AWS-Profilkonfiguration

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
 S3-Bucket mit AWS CLI erstellen

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).

 überprüfen Sie den neu erstellten s3-Bucket mithilfe der AWS-Konsole

Führen Sie den folgenden Befehl aus, um den vorhandenen S3–Bucket mithilfe der AWS CLI aufzulisten: aws s3 ls

 listen Sie den vorhandenen S3-Bucket mithilfe von AWS CLI auf

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:

 Hochladen von Objekten in den S3-Bucket mithilfe von AWS CLI

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.

 aktualisieren des s3-Buckets

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.

 fortschritt jedes Uploads

Wir können alle hochgeladenen Dateien mit rekursiven Parametern im S3-Bucket in der folgenden Abbildung sehen:

 alle hochgeladenen Dateien

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
 führen Sie das CLI-Skript aus, geben Sie alle Dateien zurück und laden Sie Zeitstempel hoch.

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.

 überprüfen Sie, ob Dateien mit dem .es wurden nur SQL-Erweiterungen hochgeladen
 überprüfen Sie, 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
 skript lädt Dateien mit dem .CSV-Erweiterung in den S3-Bucket

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.

 Laden Sie neue oder geänderte Dateien aus dem Quellordner in den S3-Bucket hoch
 Laden Sie neue oder geänderte Dateien aus dem Quellordner 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