Cloud Storage-Dienste, was, wie und was?

8

In mancher Hinsicht könnte man sagen, dass ich etwas Ähnliches wie die iOS-App 'Vine' erstelle. Ein soziales Netzwerk, in dem Nutzer Videos hochladen können, die andere sehen können. Mein gesamtes Projekt ist ziemlich fertig, ich benutze einen Datenbankdienst namens Parse , aber dort ist nicht viel Speicher und wenn du willst Vergrößern Sie es, es wird teuer. Ich habe mir gedacht, dass ich die Datenbank verwenden kann, die ich bereits habe, und dass die sql-Tabelle für "Videos" eine URL-Spalte hat, die mit der eigentlichen Videodatei verknüpft ist. Ich habe nach Datenspeicherdiensten gesucht und den Cloud-Speicher von Google gefunden.

Was ich wirklich suche, ist, wenn möglich, etwas wie dieser Anwendungsfall:

  1. In der Client-App ist ein Video zum Hochladen bereit.
  2. Lädt Videodatei nach some-cloud-service.com/myCompany/videoNameID.mp4 hoch
  3. Speichern Sie diese URL im URL-Feld eines 'Video-Objekts' in der Datenbank.
  4. Wenn andere Nutzer eine Liste von Videos abrufen, erhalten sie eine Sammlung von Namen und URLs
  5. Wenn der Benutzer ein bestimmtes Video abspielen möchte, holen Sie es von der URL in der Tabelle.

Ich habe darüber nachgedacht, Cloud-Speicher als Ort zum Hochladen und Zugreifen auf Dateien für meine App zu verwenden. Ich habe mir die API und die Dokumentation für den Cloud-Speicher von Google angeschaut, aber es gibt so viele Dinge, für die ich keinen Nutzen habe, und ich verstehe das meiste nicht. Ich fange an zu denken, dass "Cloud Storage" nicht das ist, was ich denke. Ich brauche einfach einen Platz, um potenziell große Mengen großer Dateien direkt von einer iOS-App (und später von der Website) hochzuladen. Der Datenspeicherdienst Parse bietet eine perfekte, aber sehr begrenzte Größe. Ich weiß, dass es das Potenzial hat, teuer zu werden. Durch das Lesen der Preise von diesem Google-Dienst sah es sowohl billig als auch genau aus, was ich brauche, aber ich kann nicht verstehe, wie ich, wenn möglich, eine Datei direkt mit meinen "Zugangsdaten" hochladen und eine URL als Gegenleistung für den Ort erhalten sollte, an dem die Datei gelandet ist.

Kann ich den Cloud-Speicher von Google dafür verwenden? Oder etwas anderes? Oder habe ich die Verwendung von Cloud Storage völlig falsch verstanden?

    
Sti 17.08.2013, 21:50
quelle

3 Antworten

8

Die Objective-C-Wrapper-Bibliothek für die Google-Dienste enthält eine ausführliche Dokumentation: Ссылка

Es besagt, dass diese Wrapper-Bibliothek basierend auf den zugrunde liegenden JSON-APIs automatisch generiert wird. Daher werden alle GTLStorage ... -Klassen die JSON API für Google Storage nachahmen. Die Klasse zum Ausführen der tatsächlichen API-Aufrufe ist GTLQueryStorage.

Wenn Sie sich diese JSON-Dokumentation ansehen, werden Sie feststellen, dass es eine Klasse Objects gibt, die zum Speichern von Daten in Buckets verwendet wird: Ссылка Die Methode zum Hochladen eines neuen Objekts ist 'Einfügen'

In der Datei GTLQueryStorage.h finden Sie die entsprechende Objective-C-Methode, um ein neues Objekt in Ihren Bucket einzufügen:

%Vor%

Also sollten Sie:

  • Ordnen Sie eine Instanz von GTLServiceStorage
  • zu
  • Legen Sie den API-Schlüssel für dieses Objekt fest
  • Instantiieren Sie ein GTLQueryStorage-Objekt mithilfe der obigen Klassenmethode für das Objekt, das Sie mit dem richtigen Bucket speichern möchten
  • Erstellen Sie ein Service-Ticket, das die Abfrage ausführt und einen Beendigungshandler zur Verarbeitung des Abschlusses (Erfolg, Fehler) erhält.
dirkgroten 19.08.2013, 12:08
quelle
1

späte Antwort, aber dies kann anderen mit diesem Problem helfen. Dieser Code lädt ein Video nach GCS (getestet und funktioniert)

Authentifizierung zuerst

Damit wird der Google Authentication View Controller angezeigt (Sie müssen Ihrem Projekt die Datei "GTMOAuth2ViewTouch.xib" hinzufügen).

%Vor%

Video nach Authentifizierung hochladen

Nachdem sich der Benutzer erfolgreich authentifiziert hat, rufen Sie ihn zum Hochladen des Videos auf

%Vor%

hoffe das hilft:)

    
lilush 10.04.2014 09:59
quelle
0

Ja, der Cloud-Speicher dient zum Hochladen von Dateien. Die von Parse verwendete Terminologie ist einfacher als die von Google verwendete. Für Google möchten Sie dieses Dokument lesen, insbesondere das "Implementieren von wiederaufsetzbaren Uploads mit der XML-API", aber lesen die ganze Sache.

    
Wain 17.08.2013 22:19
quelle