MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Analysieren Sie die Migration zu heroku/aws in Bezug auf das Image

Wie Sie wissen, ist Parse Files eine Funktion, die es Entwicklern ermöglicht, Dateien (jeweils bis zu 10 Megabyte) hochzuladen und diese Dateien von Objekten in Parse Core-Datenklassen oder direkt über die in der API-Antwort von Parse bereitgestellte URL zu referenzieren.

Hinter den Kulissen lädt Parse Ihre Dateien in einen Parse-eigenen S3-Bucket (files.parsetfss.com) hoch und stellt den Dateiobjekten den „Dateischlüssel“ Ihrer Anwendung voran.

Um Ihre Fragen direkt zu beantworten, es gibt aktive Lösungen in Arbeit und hier ist die neueste Lösung, die sich mit der Migration und den optionalen Speicheroptionen für Parsing-Dateien nach der Migration befasst.

Wie migriere ich meine alten Parse-Dateien auf Parse Server? Migrieren älterer Parse-Dateien aus dem Parse-eigenen S3-Bucket auf den Entwickler-eigenen Parse Server:https://github.com/ParsePlatform/parse-server/issues/8

Welche NON-Datenbankoptionen habe ich zum Speichern meiner Parse-Dateien nach der Migration auf Parse Server? Unterstützung für das direkte Hochladen von Parse-Dateien in Amazon Simple Storage (S3) über einen S3-Adapter mit Parse Server hinzugefügt:https://github.com/ParsePlatform/parse-server/pull/113

Migrationsüberlegungen für Parsing-Dateien: Wenn ein Benutzer eine Datei zum ersten Mal hochlädt, lädt der Parse-Dienst sie auf files.parsetfss.com hoch und antwortet mit einem Link direkt zu der Datei. An diesem Punkt gibt es KEINEN POINTER oder METADATA, die auf dieses Dateiobjekt in Parse Core oder anderen Datenklassen verweisen. Der Entwickler müsste einen Verweis auf diese Datei in seiner eigenen Datenklasse behalten ODER einen weiteren API-Aufruf durchführen, um ein Objekt zu erstellen oder ein vorhandenes Objekt zu aktualisieren und die Parse-Datei diesem Objekt zuzuordnen. Andernfalls ist die Datei verwaist . Parse ermöglicht es Ihnen, in den App-Einstellungen Ihrer Anwendung "Dateien zu bereinigen". Diese Option löscht alle Dateien, die nicht von Objekten referenziert werden. Verwaiste Dateien können nur mit dem Hauptschlüssel gelöscht werden, und es gibt derzeit keine Möglichkeit, ALLE Ihre hochgeladenen Parse-Dateien pro Konto oder Anwendung zu durchsuchen, es sei denn, sie sind mit einem Klassenobjekt verknüpft.

Was passiert mit VORHANDENEN Parse-Dateien während der Migration zum Parse-Server? Während der Migration verbleiben die Dateien im S3-Bucket von Parse, aber der neu migrierte Parse-Server weiß, wie er sie nach der Migration weiter bereitstellen kann. KEINE DATEIEN WURDEN migriert! Nur die Zeiger auf den S3-Bucket im Besitz von Parse UND nur, wenn diese Dateien einem Objekt zugeordnet sind. Wenn der Entwickler also vor der Abschaltung von Parse im Jahr 2017 die „alten“ Parse-Dateien vor der Migration NICHT von Parse migriert, könnte er den Zugriff auf diese Dateien verlieren. Parse und die Open-Source-Parser-Community arbeiten AKTIV an der Bereitstellung von Migrationslösungen. Siehe hier .

Was passiert mit NEUEN Parse-Dateien, die nach der Migration auf Parse Server hochgeladen werden? Neue Parse-Dateien, die nach der Migration auf einen Parse-Server hochgeladen wurden werden in MongoDB GridStore(Mongo) . Nur Dateien, die über den API-Endpunkt api.parse.com hochgeladen wurden, werden von Parse gehostet. Mit anderen Worten, wenn Sie Ihre Anwendung zu Parse Server migriert haben, aber die Clients nicht aktualisiert haben, um den neuen Parse Server-API-Endpunkt zu verwenden, werden diese Parse-Dateien weiterhin in den Parse-eigenen S3-Bucket hochgeladen. Für die Clients, die Parse-Dateien mit ihrem neuen Parse-Server-API-Endpunkt hochladen, werden die Dateien direkt in der MongoDB-Datenbank des Entwicklers gespeichert.

Ich hoffe, Sie fanden diese Informationen hilfreich.