Как ссылаться на изображения из Google Firestore? - PullRequest
0 голосов
/ 22 июня 2019

Мое приложение использует экземпляр Google Firestore.Среди данных, которыми управляет мое приложение, есть некоторые классические данные (строка, число, ...): никаких проблем с этим / Firestore легко обрабатывает эти сценарии использования.Но моему приложению также нужно использовать изображения, связанные с другими данными.Поэтому я ищу правильное решение для управления изображениями. Я пытаюсь использовать поле типа «ссылка» из моего экземпляра Firestore, но я не уверен, что правильный путь ...

Есть ли другойрешение вне Firestore?

А как насчет Google Cloud Filestore ?: Похоже, что оно доступно только из движка приложения или виртуальной машины ...

Я пытаюсь использовать поле типа «ссылка» из моего Firestoreнапример, но я не уверен, что правильный путь ...

Есть ли другое решение вне Firestore?

А как насчет Google Files Filestore ?: Кажется, он доступен только из движка приложения илиVM ...

1 Ответ

0 голосов
/ 22 июня 2019

Раскрытие информации: я работаю в команде Firebase в Google.

Когда я хочу использовать как структурированные, так и неструктурированные данные в своем приложении, я использую Cloud Firestore для структурированных данных и облачное хранилище для неструктурированных данных.Я использую оба из них через их Firebase SDK, так что я могу получить доступ к данным и файлам непосредственно из кода моего приложения или из кода на стороне сервера (обычно работающего в облачных функциях).

Нет встроенного- в ссылочном типе между Firestore и Storage, так что вам придется управлять этим самостоятельно.Я обычно сохраняю либо путь к изображению в Firestore, либо URL загрузки изображения.Выбор между этими двумя в основном зависит от того, хочу ли я, чтобы файл был общедоступным, или нужно ли контролировать доступ более жестко.

Поскольку не существует управляемых отношений между Firestore и Storage (или любой другой Firebase /Службы Google Cloud Platform), вам нужно управлять этим самостоятельно.Это означает, что вам нужно записать связанные данные (например, путь выше), проверить их целостность при чтении (и корректно обрабатывать поврежденные данные) и рассмотреть возможность периодического запуска сценария, который удаляет / исправляет поврежденные данные.

...