0

Ich brauche ein einfaches Beispiel, um mit der Verwendung von AWS/S3 zu beginnen.Wie verwenden wir AWS/S3?

Hier ist die Situation; Eine meiner iOS-Apps wurde von Parse.com nach Parse-Server/Heroku transferiert. Alles funktioniert gut, aber ich brauche irgendwann einen Dateispeicher für Bilder oder Sounddateien. Ich habe bereits this gefolgt und einen S3Adapter konfiguriert.

Mein Problem ist jetzt: "Wie man es benutzt?"

Ich möchte mit diesem S3Adapter, den ich gerade konfiguriert habe, etwas Code zu finden, etwas zu speichern und es abrufen.

+0

Hey, nur ein kurzer Blick in die Köpfe - fragen Sie nach Beispielen auf diese Weise führt normalerweise dazu, dass Fragen mit "Fragen nach Tutorials/Off-Site-Ressourcen" nahe Grund geschlossen werden. Könnten Sie einen Blick auf einige dieser [[Code-Snippets für 'parse s3adapter' auf github] (https://github.com/search?utf8=%E2%9C%93&q=parse+s3adapter&type=Code&ref=searchresults) werfen und diese revidieren? die Frage, ob Sie Ihren eigenen Code für die laufende Arbeit einbeziehen möchten, den wir verbessern können? –

Antwort

0

Wenn Sie bereits S3 in Ihrem Parser-Server konfiguriert haben und alle relevanten Details wie Bucket, Schlüssel usw. zur Verfügung stellen, testen Sie als nächstes, ob parse Ihre Dateien wirklich auf S3 speichert und nicht auf GridStore (das ist der Standard).

Um die folgenden Schritte durchlaufen sie bitte zu testen:

  1. Öffnen Sie Ihre index.js Datei, die unter dem Stammordner Ihres Parse-Server-Projekt befindet und überprüfen, ob Ihre Dateien Adapter S3 ist. Es soll wie folgt aussehen (von Parse-Server Wiki):

var api = new ParseServer({ 
 
    databaseURI: databaseUri || 'mongodb://localhost:27017/dev', 
 
    appId: process.env.APP_ID || 'APPLICATION_ID', 
 
    masterKey: process.env.MASTER_KEY || 'MASTER_KEY', 
 
    ... 
 
    filesAdapter: new S3Adapter(
 
    "S3_ACCESS_KEY", 
 
    "S3_SECRET_KEY", 
 
    "S3_BUCKET", { 
 
     directAccess: true 
 
    } 
 
), 
 
    ... 
 
});

  1. Als nächstes müssen Sie einige Datei in Ihrer Seite iOS-Client speichern. Sie müssen einen neuen PFFile erstellen und einfach die Methode saveInBackground aufrufen, um diese Datei zu speichern. Bevor Sie die Datei parse-server speichern, prüfen Sie, ob Sie den Adapter für benutzerdefinierte Dateien zur Verfügung stellen. Wenn Sie dies tun, wird er versuchen, ihn zu verwenden, andernfalls wird er auf den Standard (GridStore auf MongoDB) gesetzt. So sollte Ihr iOS-Code wie folgt aussehen:

Ziel c

NSData * imageData = UIImagePNGRepresentation(image); 
 
    PFFile * imageFile = [PFFile fileWithName: @"image.png" 
 
     data: imageData 
 
    ]; 
 
    [imageFile saveInBackground];

swift

let imageData = UIImagePNGRepresentation(image) 
 
let imageFile = PFFile(name:"image.png", data:imageData) 
 
imageFile.saveInBackground()

Nachdem die Datei gespeichert wurde, können Sie zu Ihrem Bucket in AWS gehen und prüfen, ob die Datei dort hinzugefügt wurde.

Ich hoffe, es hilft. Wenn Sie weitere Informationen benötigen, lassen Sie es mich wissen.

+0

Nur eine kleine Frage, wenn ich Ihren Code verwenden, um ein Bild mit den Standardeinstellungen (z. B. GridStoreAdapter und nicht S3Adapter) als einen einfachen Test zu speichern. Wo kann ich überprüfen, ob meine Datei korrekt hochgeladen wurde? Ich habe es gerade versucht und es hat vielleicht funktioniert (zumindest gab es keinen Absturz), aber ich weiß nicht, wo ich nachsehen soll. – Michel

+0

Sie können es in Ihrer MongoDB überprüfen, aber es ist besser, es mit Parse-Dashboard (https://github.com/ParsePlatform/parse-dashboard) zu überprüfen, weil es viel einfacher ist, es auf diese Weise zu tun. Parse-Dashboard ermöglicht es Ihnen, alle Ihre Daten in Ihrer MongoDB auf sehr einfache und einfache Weise zu sehen –

+0

Nun, ich habe mir das angeschaut, aber nichts bemerkt. Wo genau soll ich (in MongoDB oder Pars-Dashboard) etwas sehen? – Michel