I have been doing a bit of testing on image ML (machine learning) with OnePanel and I have been using my local PC,which I would like to move to Google Cloud Platform (GCP),I usually have about 400 new images to run though ML, The code that runs does ML and Downloads the image from web is written in Python.
My question is which Google storage Should I use Cloud FlieStore, Cloud Store, or what else they have. Also, Ideally the Python code should be able to directly sent the download images on Cloud (or download to local then upload then I will delete from local). The images are quite small size (100 images is 15MB)
Since your data is unstructured, then it breaks down to two options:
If you do not need Mobile SDKs then Cloud Storage is the best option, if you need Mobile SDKs then Cloud Storage for Firebase. Hopefully that answers your question.
Related
I'm developing an app with Flutter and I need a lot of database storage to store my data (images and videos).
Currently I'm using Firebase for:
"User Authentication, Firestore Database, Dynamic Links, Storage and so on"
The pricing for the storage (GB stored) itself is ok for me but Firebase also charges for GB Transfered and Operations(uploads & downloads) which can get expensive as you can see in the snapshot below:
I am actually looking for an alternative to Firebase Storage which does not charge for Data transfer of Operations (at least sth. which is not that expensive).
Does anyone know which cloud storage I could use instead and also how to migrate in my flutter app?
I'm also open to use a own server running on a VPS but I have no clue how I would establish a connection to the own server in order to be able to up- and download media files.
Please provide a tutorial/instructions how to build your own server and connect with flutter app since I'm interested on anyway.
I would recommend using Supabase, it's a Firebase alternative and it's open source, supports Flutter/Dart and supports the storage service.
Check it from here Supabase storage
you could configure it and use it with your own hosting, and it will cost you only the price of hosting it on some cloud service, where you will store your files.
I want to build a flutter app which focuses on learning plant names with the help of a lot of pictures. In total there will be 600-800 pictures.
question: Do I store these pictures all in the app or in a database?
From what I read so far I guess the app would be too big if I store all these pictures in the app.
question: Which database should I use for storing such an amount of pictures?
I want to give the possibility to store a lection/course (containing 30-40 pictures) locally on the phone to be able to learn without internet connection.
question: Which database should I use for that?
Question #1: Do I store these pictures all in the app or in a
database?
You should not store all the images in your app. Use the Cloud Storage for Firebase service to store your pictures and download them to your app as desired.
Question #2: Which database should I use for storing such an amount of pictures?
You should use Cloud Storage for Firebase to store your pictures: "Cloud Storage for Firebase is built for app developers who need to store and serve user-generated content, such as photos or videos."
Question #3: I want to give the possibility to store a section/course (containing 30-40 pictures) locally on the phone to be
able to learn without internet connection. Which database should I use
for that?
You can save these pictures locally as explained here in the Firebase doc: "The writeToFile() method downloads a file directly to a local device. Use this if your users want to have access to the file while offline."
If in a database, get pic to many times, and much more than the free limit of database , we will prefer pic in app than in database.
But in app will never consider the cost, just keep the develop account. Maybe, a pic could compress down to 50kb each, and the app will not too big to download.
mongodb google-could amazon ... all database on the market can serve you.
above dbs are good. the more resourses on net, the better envirnment we like.
I know that Firestone will store data if the user is offline and I saw that there is a way to do this with native code, but is it possible to enable these offline capabilities in flutter itself?
Firebase firestore support full offline. I’m using it myself. So long as you’ve read the data at least once before going offline. If using firebase authentication - the custom option also works offline. Google sign-in does not.
The downside to firebases offline capabilities is that it’s only firestore (not counting the older firebase db) and not the other products like cloud storage.
So for example I’ve written an app and the document side of it is fully offline enabled however you can take photos in the app and I had the write the offline capabilities to sync this photos with firebase cloud storage myself.
(I basically just keep them in a pending folder and try to sync them when the device has connectivity.)
I can't seem to find any documentation on how to access Google Cloud Storage using a service account from iOS. The iOS application writes images to Rails and I've used a service account with the ruby apis to save the image to Google Storage. I'm trying to read those images from iOS but it seems like the ability is not there and I'm not sure why. The only way I can make it work is to use an API key and set the predefinedAcl to 'publicRead'. This means my application's images are open to the internet.
What am I missing? Is there a reason this functionality isn't there in the iOS library? Any plans in the future?
Thanks
I think you are heavily compromising your security while following a really bad practice. Here's are two strategies on how to fix it:
When you save your images to Google Storage, you should create a signed URL for the same and use that as end point for clients/app. OR
Save original Google Storage URLs to user's account, inaccessible via user api, and during runtime when a request for image is received, generate a short duration based signed URL.
Service key based approach is really faulty as first you are giving away your project credentials and moreover you can never even expire those keys since they might be used in one of many end devices.
I want to integrate BOX, Google Drive and DropBox for uploading files from iPhone App and I had already go through "filepicker.io".
But it allows only 5000 files/month for free.
So is there any library or API or anything available other than this, which is free and allow this integration from a single library or API?
I googled it a lot and also found APIs for integration but different one for all not from single library.
I would suggest that you integrate the cloud servers in you app through the AFNetworking library. All of BOX, Cloud Drive, and Drop Box support and strive to be RESTful so you could use the same approach to interact with all of them. The only difference between servers would be how to deal with athorization requests. Your REST requests and responses for uploading files would be handled by AFNetworking. AFNetworking is built on top of NSURLConnection and NSOperation and can also handle various authorization approaches such as OAuth2.
Hope this helps.
Cheers, Trond