फायरबेस Google क्रेडेंशियल साझा किए बिना सेवाओं को संचालित करने और प्रबंधित करने के लिए Google क्लाउड सेवा खातों का उपयोग करता है। जब आप Google क्लाउड स्टोरेज का उपयोग करके फायरबेस प्रोजेक्ट बनाते हैं, तो आप देख सकते हैं कि आपके प्रोजेक्ट में पहले से ही एक संबंधित सेवा खाता उपलब्ध है: service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com.
अधिक जानकारी के लिए इस फायरबेस सपोर्ट गाइड को देखें।
हुड के तहत, क्लाउड स्टोरेज के लिए फायरबेस एसडीके Google ऐप इंजन फ्री टियर में डिफ़ॉल्ट बाल्टी का उपयोग करते हैं। यह आपको क्रेडिट कार्ड में डालने या बिलिंग खाते को सक्षम किए बिना Google क्लाउड स्टोरेज के साथ तेज़ी से उठने और चलने की अनुमति देता है। यह आपको आसानी से फायरबेस और Google क्लाउड प्रोजेक्ट के बीच डेटा साझा करने की अनुमति देता है।
Google क्लाउड के साथ एकीकरण, जिसमें मौजूदा क्लाउड स्टोरेज बाल्टी आयात करना शामिल है, को ब्लेज़ प्लान पर फायरबेस प्रोजेक्ट की आवश्यकता है। हमारे मूल्य निर्धारण पृष्ठ पर योजनाओं के बारे में अधिक जानें।
Google क्लाउड स्टोरेज
आप क्लाउड स्टोरेज के लिए फायरबेस एसडीके के माध्यम से अपलोड की गई फ़ाइलों तक पहुंचने के लिए Google क्लाउड स्टोरेज एपीआई का उपयोग कर सकते हैं, विशेष रूप से अधिक जटिल ऑपरेशन करने के लिए, जैसे किसी फाइल को कॉपी या मूव करना, या एक संदर्भ में उपलब्ध सभी फाइलों को सूचीबद्ध करना।
यह ध्यान रखना महत्वपूर्ण है कि ये अनुरोध फायरबेस प्रमाणीकरण और भंडारण सुरक्षा नियमों के बजाय Google क्लाउड स्टोरेज एक्सेस कंट्रोल विकल्पों का उपयोग करते हैं ।
शहद की मक्खी
क्लाउड स्टोरेज के लिए फायरबेस एसडीके के अलावा, आपके Google क्लाउड स्टोरेज बाल्टी में संग्रहीत डेटा तक पहुंचने के लिए कई अन्य तरीके हैं, जो इस बात पर निर्भर करता है कि आप क्या करना चाहते हैं। यदि आप किसी सर्वर पर डेटा एक्सेस कर रहे हैं, तो हम सर्वर साइड लाइब्रेरी, साथ ही JSON
और S3 संगत XML
RESTful API की पेशकश करते हैं, या यदि आपको स्क्रिप्ट बदलने या अन्य प्रशासनिक कार्यों को करने की आवश्यकता है, तो हमें एक कमांड लाइन टूल मिला है जो काम आएगा।
Google-क्लाउड सर्वर SDK
Google क्लाउड क्लाउड स्टोरेज सहित कई क्लाउड उत्पादों के लिए उच्च-गुणवत्ता वाला सर्वर SDK प्रदान करता है। इन पुस्तकालयों में उपलब्ध हैं Node.js , जावा , जाना , अजगर , पीएचपी , और रूबी । स्थापना निर्देशों, प्रमाणीकरण और समस्या निवारण सहित अधिक जानकारी के लिए, कृपया प्लेटफ़ॉर्म विशिष्ट डॉक्स से जुड़े परामर्श करें।
Google क्लाउड SDK के लिए उदाहरण का उपयोग नीचे दिखाया गया है:
Node.js
// Require gcloud var gcloud = require('google-cloud'); // Enable Storage var gcs = gcloud.storage({ projectId: 'grape-spaceship-123', keyFilename: '/path/to/keyfile.json' }); // Reference an existing bucket. var bucket = gcs.bucket('my-existing-bucket'); // Upload a local file to a new file to be created in your bucket. bucket.upload('/photos/zoo/zebra.jpg', function(err, file) { if (!err) { // "zebra.jpg" is now in your bucket. } }); // Download a file from your bucket. bucket.file('giraffe.jpg').download({ destination: '/photos/zoo/giraffe.jpg' }, function(err) {});
जावा
// Enable Storage Storage storage = StorageOptions.builder() .authCredentials(AuthCredentials.createForJson(new FileInputStream("/path/to/my/key.json")) .build() .service(); // Upload a local file to a new file to be created in your bucket. InputStream uploadContent = ... BlobId blobId = BlobId.of("my-existing-bucket", "zebra.jpg"); BlobInfo blobInfo = BlobInfo.builder(blobId).contentType("text/plain").build(); Blob zebraBlob = storage.create(blobInfo, content); // Download a file from your bucket. Blob giraffeBlob = storage.get("my-existing-bucket", "giraffe.jpg", null); InputStream downloadContent = giraffeBlob.getInputStream();
जाओ
// Enable Storage client, err := storage.NewClient(ctx, option.WithServiceAccountFile("path/to/keyfile.json")) if err != nil { log.Fatal(err) } // Download a file from your bucket. rc, err := client.Bucket("my-existing-bucket").Object("giraffe.jpg").NewReader(ctx) if err != nil { log.Fatal(err) } defer rc.Close() body, err := ioutil.ReadAll(rc) if err != nil { log.Fatal(err) }
अजगर
# Import gcloud from google.cloud import storage # Enable Storage client = storage.Client() # Reference an existing bucket. bucket = client.get_bucket('my-existing-bucket') # Upload a local file to a new file to be created in your bucket. zebraBlob = bucket.get_blob('zebra.jpg') zebraBlob.upload_from_filename(filename='/photos/zoo/zebra.jpg') # Download a file from your bucket. giraffeBlob = bucket.get_blob('giraffe.jpg') giraffeBlob.download_as_string()
पीएचपी
// Require gcloud require 'vendor/autoload.php'; use Google\Cloud\Storage\StorageClient; // Enable Storage $storage = new StorageClient([ 'projectId' => 'grape-spaceship-123' ]); // Reference an existing bucket. $bucket = $storage->bucket('my-existing-bucket'); // Upload a file to the bucket. $bucket->upload( fopen('/photos/zoo/zebra.jpg', 'r') ); // Download a file from your bucket. $object = $bucket->object('giraffe.jpg'); $object->downloadToFile('/photos/zoo/giraffe.jpg');
माणिक
# Require gcloud require "google/cloud" # Enable Storage gcloud = Google::Cloud.new "grape-spaceship-123", "/path/to/keyfile.json" storage = gcloud.storage # Reference an existing bucket. bucket = storage.bucket "my-existing-bucket" # Upload a file to the bucket. bucket.create_file "/photos/zoo/zebra.jpg", "zebra.jpg" # Download a file from your bucket. file = bucket.file "giraffe.jpg" file.download "/photos/zoo/#{file.name}"
बाकी एपीआई
यदि आप क्लाइंट लाइब्रेरी के बिना किसी भाषा का उपयोग कर रहे हैं, तो ऐसा कुछ करना चाहते हैं जो क्लाइंट लाइब्रेरी न करें, या आपके पास एक पसंदीदा HTTP क्लाइंट है जिसे आप उपयोग करना पसंद करेंगे, क्लाउड स्टोरेज JSON और XML API दोनों प्रदान करता है जो आप उपयोग कर सकते हैं।
gsutil
gsutil कमांड लाइन टूल है जो आपको क्लाउड स्टोरेज तक सीधी पहुंच प्रदान करता है। आप बाल्टी और ऑब्जेक्ट प्रबंधन कार्यों की एक विस्तृत श्रृंखला करने के लिए gsutil का उपयोग कर सकते हैं, जिनमें शामिल हैं:
- ऑब्जेक्ट अपलोड करना, डाउनलोड करना और हटाना।
- बाल्टी और वस्तुओं की सूची बनाना।
- वस्तुओं को ले जाना, प्रतिलिपि बनाना और उनका नाम बदलना।
- संपादन वस्तु और बाल्टी ACLs।
gsutil
अन्य उन्नत परिचालनों के लिए अनुमति देता है, जैसे एक निर्देशिका से दूसरी फ़ाइल को स्थानांतरित करना, या किसी निश्चित स्थान के नीचे की सभी फ़ाइलों को हटाना।
सभी फाइलों को एक संदर्भ से दूसरे स्थान पर ले जाना उतना ही आसान है:
gsutil mv gs://bucket/old/reference gs://bucket/new/reference
एक संदर्भ के नीचे सभी फ़ाइलों को हटाने वाला बैच समान रूप से सहज है:
# Delete all files under a path gsutil rm -r gs://bucket/reference/to/delete# Delete all the files in a bucket but not the bucket gsutil rm -r gs://bucket/**
# Delete all the files AND the bucket # Removing the default bucket will break the Firebase SDKs for Cloud Storage and is strongly discouraged gsutil rm -r gs://bucket
ऑब्जेक्ट संस्करण
क्या आपने कभी दुर्घटना से कुछ नष्ट किया है और बैकअप नहीं था? क्लाउड स्टोरेज ऑब्जेक्ट वर्जनिंग आपके डेटा का बैकअप लेने और उन बैकअप से पुनर्स्थापित करने का एक स्वचालित तरीका प्रदान करता है। आप gsutil
versioning set
कमांड का उपयोग करके ऑब्जेक्ट versioning set
को सक्षम कर सकते हैं:
gsutil versioning set on gs://<your-cloud-storage-bucket>
फायरबेस स्टोरेज हमेशा सबसे हाल के संस्करण को चुनता है, इसलिए यदि आप किसी ऑब्जेक्ट को पुनर्स्थापित करना चाहते हैं, तो आपको इच्छित ऑब्जेक्ट को सबसे हाल के रूप में सेट करने के लिए अन्य एपीआई या उपकरण में से एक का उपयोग करने की आवश्यकता है।
ऑब्जेक्ट जीवनचक्र प्रबंधन
स्वचालित रूप से बासी फ़ाइलों को संग्रहीत करने या हटाने की क्षमता होना कई अनुप्रयोगों के लिए एक उपयोगी विशेषता है। सौभाग्य से, क्लाउड स्टोरेज ऑब्जेक्ट लाइफसाइकल प्रबंधन प्रदान करता है, जो आपको एक निश्चित समय के बाद वस्तुओं को हटाने या संग्रह करने की अनुमति देता है।
एक फोटो शेयरिंग एप्लिकेशन पर विचार करें जिसे आप चाहते हैं कि एक दिन के भीतर सभी तस्वीरें हटा दी जाएं। आप निम्नानुसार एक जीवन चक्र नीति निर्धारित कर सकते हैं:
// lifecycle.json { "lifecycle": { "rule": [ { "action": {"type": "Delete"}, "condition": {"age": 1} } ] } }
और इसे gsutil
lifecycle set
कमांड का उपयोग करके तैनात करें:
gsutil lifecycle set lifecycle.json gs://<your-cloud-storage-bucket>
ध्यान दें कि यह बाल्टी में सभी फ़ाइलों पर लागू होता है, इसलिए यदि आप महत्वपूर्ण उपयोगकर्ता बैकअप संग्रहीत कर रहे हैं जो आप लंबे समय तक साइड फोटो के साथ स्टोर करना चाहते हैं, जिसे आप दैनिक हटाना चाहते हैं, तो आप दो अलग-अलग बाल्टी का उपयोग करना चाहते हैं या मैन्युअल रूप से हटाना चाहते हैं। gsutil
या अपने स्वयं के सर्वर के साथ।
Google ऐप इंजन
Google ऐप इंजन एक "प्लेटफ़ॉर्म फ़ॉर सर्विस" है जो स्वचालित रूप से प्राप्त ट्रैफ़िक की मात्रा के जवाब में बैकएंड लॉजिक को मापता है। बस अपना बैकएंड कोड अपलोड करें और Google आपके ऐप की उपलब्धता को प्रबंधित करेगा; आपके लिए प्रावधान या रखरखाव के लिए कोई सर्वर नहीं हैं। ऐप इंजन आपके फायरबेस एप्लिकेशन में अतिरिक्त प्रसंस्करण शक्ति या विश्वसनीय निष्पादन को जोड़ने का एक तेज़ और आसान तरीका है।
क्लाउड स्टोरेज के लिए फायरबेस एसडीके Google ऐप इंजन डिफ़ॉल्ट बाल्टी का उपयोग करता है, जिसका अर्थ है कि यदि आप एक ऐप इंजन ऐप का निर्माण करते हैं, तो आप फायरबेस और ऐप इंजन के बीच डेटा साझा करने के लिए अंतर्निहित ऐप इंजन एपीआई का उपयोग कर सकते हैं। यह ऑडियो एन्कोडिंग, वीडियो ट्रांसकोडिंग और छवि परिवर्तनों के साथ-साथ अन्य संगणना गहन पृष्ठभूमि प्रसंस्करण के लिए उपयोगी है।
जावा, पायथन और Google ऐप इंजन के लिए मानक वातावरण में शामिल हैं GAE Images API ( Java , Python) , जो एक छवि का आकार बदलने, घुमाने, फ़्लिप करने और फ़सल करने के साथ-साथ एक छवि सेवारत URL भी लौटा सकता है, जो क्लाइंट साइड परिवर्तनों की अनुमति देता है , बादल और Imgix के समान है।
फायरबेस में एक मौजूदा Google क्लाउड प्रोजेक्ट को आयात करते समय, यदि आप फायरबेस में कोई भी मौजूदा ऐप इंजन ऑब्जेक्ट्स उपलब्ध कराना चाहते हैं, तो आपको gsutil का उपयोग करके निम्नलिखित कमांड को चलाकर फायरबेस को अनुमति देने के लिए अपनी वस्तुओं पर डिफ़ॉल्ट एक्सेस कंट्रोल सेट करना होगा। :
gsutil -m acl ch -r -u service-<project number;gt@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>
ज्ञात पहलु
दो ज्ञात मामले हैं जहां आप अपने GAE ऐप को आयात नहीं कर सकते हैं:
- परियोजना में एक पूर्व ऐप इंजन डेटास्टोर मास्टर / स्लेव ऐप शामिल है।
- प्रोजेक्ट में एक डोमेन प्रीफ़िक्सड प्रोजेक्ट ID है, उदाहरण के लिए:
domain.com:project-1234
।
इन दोनों ही मामलों में, प्रोजेक्ट फायरबेस के लिए Google क्लाउड स्टोरेज का समर्थन नहीं करेगा, और Google क्लाउड स्टोरेज का उपयोग करने के लिए आपको एक नया फायरबेस प्रोजेक्ट बनाना चाहिए। कृपया समर्थन से संपर्क करें ताकि हम आपकी सहायता कर सकें।
Google क्लाउड फ़ंक्शंस (बीटा)
Google क्लाउड फ़ंक्शंस एक हल्का, घटना-आधारित, अतुल्यकालिक गणना समाधान है जो आपको छोटे, एकल-उद्देश्य वाले फ़ंक्शंस बनाने की अनुमति देता है जो सर्वर या रनटाइम वातावरण का प्रबंधन करने की आवश्यकता के बिना घटनाओं का जवाब देते हैं। इन कार्यों को ट्रांसकोडिंग वीडियो, मशीन लर्निंग का उपयोग करके छवियों को वर्गीकृत करने या फायरबेस रियलटाइम डेटाबेस के साथ मेटाडेटा को सिंक्रनाइज़ करने के लिए उपयोग किया जा सकता है। Google App Engine की तुलना में कम ओवरहेड होने के साथ, Cloudbions Firebase Storage में परिवर्तन पर प्रतिक्रिया करने का सबसे तेज़ तरीका है।
Google क्लाउड विजन एपीआई
Google क्लाउड विज़न एपीआई डेवलपर्स को एपीआई का उपयोग करने के लिए शक्तिशाली मशीन लर्निंग मॉडल को आसान बनाने के लिए एक छवि की सामग्री को समझने में सक्षम बनाता है। यह त्वरित रूप से छवियों को हजारों श्रेणियों में वर्गीकृत करता है, छवियों के भीतर व्यक्तिगत वस्तुओं और चेहरों का पता लगाता है, छवियों के भीतर निहित मुद्रित शब्दों को ढूंढता और पढ़ता है, आक्रामक सामग्री की पहचान करता है, और यहां तक कि छवि भावना विश्लेषण भी प्रदान करता है।
Google क्लाउड स्पीच API
विज़न एपीआई के समान, Google क्लाउड स्पीच डेवलपर डेवलपर्स को क्लाउड स्टोरेज में संग्रहीत ऑडियो फ़ाइल से टेक्स्ट निकालने में सक्षम बनाता है। एपीआई आपके वैश्विक उपयोगकर्ता आधार का समर्थन करने के लिए 80 से अधिक भाषाओं और वेरिएंट को पहचानता है। Google क्लाउड नेचुरल लैंग्वेज एपीआई के साथ संयुक्त होने पर, डेवलपर्स कच्चे पाठ को निकाल सकते हैं और उस पाठ के बारे में अर्थ निकाल सकते हैं। और यदि वैश्विक दर्शकों की आवश्यकता है, तो इस पाठ को 90 + भाषाओं में अनुवाद करने के लिए Google Translate API के साथ युगल करें।