2016-09-30 4 views
0

전자 상거래 사이트의 호스팅 및 데이터 저장소에 firebase를 사용하고 있습니다. 각 제품에는 RTDB에 저장 한 텍스트 데이터와 Storage Bucket에 저장 한 이미지가 있습니다. 프로필 페이지에서 제품을 액세스 할 때 RTDB와 저장 버킷에 두 번 전화를해야합니다. 하나의 네트워크 호출 만하고 둘 다 검색 할 수있는 방법이 있습니까?Firebase RTDB 및 저장소에서 데이터 가져 오기

감사합니다.

답변

1

아니요. 데이터베이스와 저장소가 별도의 API를 사용하므로 단일 요청으로 둘 다 검색 할 수있는 방법이 없습니다. 나는 그들이 어떻게 구현할 수 있을지 확신하지 못한다.

그러나 경우 실제로는이 단일 API 요청에서 모든 작업을 수행해야 할 수도 있습니다. RTDB entires는 문자열이기 때문에 base64로 인코딩 된 문자열이나 데이터 URI로 인코딩하고 이미지화하여 데이터베이스에 저장하는 것이 가능합니다. 그런 다음 RTDB에 액세스하면 문자열을 이미지로 다시 디코딩합니다. 각 RTDB 항목에 대해 10MB 제한이 있다고 생각하지만 문제가되지는 않을 것입니다. 더 큰 문제는 스토리지 버킷의 모든 이미지를 RTDB로 마이그레이션하고 스토리지 버킷을 건드리지 않고도 RTDB를 통해 모든 작업을 수행하도록 앱을 다시 작성하는 것입니다.

+0

기술적으로 가능하지만 (실제로 Firebase Storage가 도입되기 전에 권장했던 것), 두 가지 요청의 네트워크 오버 헤드가 발생하는 것이 좋습니다. 스토리지의 파일은 쉽게 캐싱 가능하므로 두 가지 요청이 끝나지 않으며 스토리지의 이미지를 DB보다 저장하고 제공하는 것이 훨씬 저렴합니다. 저장중인 데이터에 따라 개체의 맞춤 메타 데이터에 일정량의 데이터를 보관할 수도 있습니다 (https://firebase.google.com/docs/storage/web/file-metadata) –

+0

@MikeMcDonald * 정말로 * 설득력있는 이유가 없다면 스토리지 버킷을 사용해야합니다. – jered

관련 문제