it-swarm.com.de

Übertragen von Dateien zwischen AWS S3 und AWS ec2

Ich verwende die AWS ec2-Instanz. In dieser Instanz ergeben sich einige Dateien. Diese Vorgänge werden von Benutzerdaten ausgeführt.

Jetzt möchte ich diese Dateien auf S3 speichern, indem Code in Benutzerdaten selbst geschrieben wird.

  • Wie kann ich diese Dateien auf S3 speichern?
  • Hast du Tutorials dazu?
49
Pravin

Mit der neuesten AWS-CLI ( http://aws.Amazon.com/cli/ ) können Sie die folgenden Befehle verwenden, um Dateien von Ihrer Ec2-Instanz oder sogar von Ihrem lokalen Computer in den S3-Speicher zu kopieren.

aws s3 cp myfolder s3://mybucket/myfolder --recursive

Sie erhalten dann etwas wie:

upload: myfolder/file1.txt to s3://mybucket/myfolder/file1.txt 
upload: myfolder/subfolder/file1.txt to s3://mybucket/myfolder/subfolder/file1.txt

Wenn Sie das aws CLI-Tool zum ersten Mal verwenden, müssen Sie Folgendes ausführen:

aws configure

Sie werden aufgefordert, Ihren Zugangsschlüssel und das Kennwort einzugeben und einen Standardbereich anzugeben. 

57
ajtrichards

Es gibt verschiedene Möglichkeiten, Dateien an S3 zu senden. Ich habe sie unten zusammen mit Installation und Dokumentation aufgeführt, sofern relevant.

Ein Beispiel für die Implementierung von PHP:

<?php

    // Simple PUT:
    if (S3::putObject(S3::inputFile($file), $bucket, $uri, S3::ACL_PRIVATE)) {
        echo "File uploaded.";
    } else {
        echo "Failed to upload file.";
    }

?>

Ein Beispiel für s3cmd:

s3cmd put my.file s3://bucket-url/my.file

Bearbeiten

Eine weitere erwähnenswerte Option ist die AWS-CLI http://aws.Amazon.com/cli/ .__, die allgemein verfügbar ist, z. B. bereits in AmazonLinux enthalten ist und über Python heruntergeladen werden kann auf vielen Systemen installiert, einschließlich Linux und Windows).

http://docs.aws.Amazon.com/cli/latest/reference/s3/index.html

Verfügbare Befehle, cp ls mb mv rb rm, Sync-Website

http://docs.aws.Amazon.com/cli/latest/reference/s3api/index.html für die Interaktion mit S3

32
Drew Khoury

Installieren Sie s3cmd Package als:

yum install s3cmd

oder 

Sudo apt-get install s3cmd

abhängig von Ihrem Betriebssystem. Dann kopieren Sie Daten mit diesem:

s3cmd get s3://tecadmin/file.txt

auch ls kann die Dateien auflisten.

Für weitere Details siehe this

10
Vikas Hardia

Ich verwende s3cmd , um nächtliche exportierte Datenbanksicherungsdateien von meiner ec2-Instanz zu speichern. Nach der Konfiguration von s3cmd, über die Sie auf ihrer Website nachlesen können, können Sie einen Befehl wie folgt ausführen:

s3cmd put ./myfile s3://mybucket

8
digitaljoel

Verwenden Sie s3cmd dafür:

s3cmd get s3://AWS_S3_Bucket/dir/file

Sehen Sie, wie Sie s3cmd hier installieren:

Das funktioniert für mich ...

5
Prasad D

Alle Versuche, s3 als Pseudo-Dateisystem bereitzustellen, sind problematisch. Es ist ein Objektspeicher, kein Blockgerät. Wenn Sie es mounten müssen, weil Sie über älteren Code verfügen, der über lokale Dateipfade verfügen muss, versuchen Sie goofys. Es ist etwa 50x schneller als s3fs. https://github.com/kahing/goofys

s3cmd ist heutzutage etwas langweilig. Das AWS-CLI ist heutzutage eine bessere Option. Die Syntax ist etwas weniger bequem, aber es ist ein Werkzeug weniger, das Sie benötigen, um herumzuhalten.

Wenn Sie auf http Zugriff bleiben können. Es wird Ihnen auf lange Sicht das Leben erleichtern.

4
Bruce Edge

Auf AWS CLI habe ich den folgenden Befehl verwendet, um die Zip-Datei von der EC2-Instanz in S3 zu kopieren

aws s3 cp file-name.Zip s3://bucket-name/
0
DKboss

Ich denke, dass die beste Antwort im Allgemeinen oben ist, den Befehl aws zu verwenden. In den Fällen, in denen Sie nichts anderes installieren möchten, sollten Sie auch die Datei über HTTPS herunterladen, z. Öffnen Sie einen Browser und navigieren Sie zu:

https://s3.amazonaws.com/ (BucketName) / (relativerPfad) / (Dateiname)

Das bedeutet auch, dass Sie einfach wget oder curl verwenden können, um die Übertragung von Shell-Eingabeaufforderungen auszuführen.

0
Appurist-PaulW