2017-04-16 3 views
0

I tar.gz Dateien aus s3 Eimern und laden zu einer anderen bucket.The Dateien heruntergeladen herunterladen muß mit Knoten js mit s3 Schlüsselattribut bis s3 und extrahiert werden richtig und die Ergebnis wird als binäre Daten mit s3.getObject zurückgegeben.Wie binäre Dateien hochladen

Ich brauche die Binärdaten (Dateien) zu s3 Eimer s3.putOBject mit Upload zu übergeben.

Aber ich weiß nicht, was "Name" für "Key" params in zu geben hat s3.putOBject, wenn wir die Binärdateien s3.putObject drücken. Bitte hilf mir.

Dies ist mein Code

var bucketName = "my.new.Bucket-Latest"; 

var fileKey = "Employee.tar.gz"; 

var params = { Bucket: bucketName, Key: fileKey }; 

s3.getObject(params, function(err, data,callback) { 
if (err) { 
    console.log(err); 
    callback(err); 
} 
else { 
    zlib.gunzip(data.Body, function (err, result) { 
     if (err) { 
      console.log(err); 
     } else { 
      var extractedData = result; 
      s3.putObject({ 
      Bucket: "bucketName", 
      Key: " ", 
      Body: extractedData, 
      ContentType: 'content-type' 
      }, function (err) { 
       console.log('uploaded file: ' + err); 
      }); 
     } 
    }); 
    } 
}); 

Antwort

0

Nun sogar Ihr eigener Code sagt, dass der Schlüsseldateiname ist. Erzeugen Sie einfach einen Dateinamen und weisen Sie sie der Schlüsseleigenschaft zu. Es ist wie ein Dateisystem. Wenn Sie eine neue Datei erstellen, sollten Sie ihr einen Namen geben.

+0

Ich kann den Namen für einzelne Datei geben.Aber bin mehrere Dateien als binär hochladen, in diesem Szenario wat Name kann ich geben? Pls suggerate me – vishnu

+0

Wie wäre es mit ManyFilesArchived.gz? Ich habe dir dasselbe gesagt wie mit dem Dateisystem, Bucket sind nur "Ordner". –

+0

sollte ich als jede Datei von binären durchlaufen und Schlüssel zuweisen? Hilf mir bitte, wie ich im Detail vorgehen soll? – vishnu