Google क्लाउड के साथ एकीकृत करें

Firebase के लिए क्लाउड संग्रहण कसकर के साथ एकीकृत है Google मेघ । क्लाउड संग्रहण सीधे स्टोर में फ़ाइलों के लिए Firebase SDKs Google क्लाउड संग्रहण बाल्टी , और रूप में अपने अनुप्रयोग बढ़ता है, तो आप आसानी से इस तरह के ऐप इंजिन या बादल कार्य, या बादल विजन या गूगल जैसे मशीन सीखने एपीआई की तरह कामयाब गणना के रूप में अन्य Google क्लाउड सेवाओं, एकीकृत कर सकते हैं अनुवाद करना।

उपयोगकर्ता क्रेडेंशियल साझा किए बिना सेवाओं को संचालित और प्रबंधित करने के लिए फायरबेस Google क्लाउड सेवा खातों का उपयोग करता है। जब आप एक Firebase परियोजना क्लाउड संग्रहण का उपयोग करता है बनाने के लिए, तो हो सकता है कि एक इसी सेवा खाता पहले से ही अपनी परियोजना में उपलब्ध है: service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com । इस देखें Firebase समर्थन गाइड अधिक जानकारी के लिए।

हुड के अंतर्गत, क्लाउड संग्रहण के लिए Firebase SDK में डिफ़ॉल्ट बाल्टी का उपयोग App इंजन मुक्त स्तरीय। यह आपको क्रेडिट कार्ड डाले बिना या क्लाउड बिलिंग खाते को सक्षम किए बिना, क्लाउड स्टोरेज के साथ जल्दी से उठने और चलने की अनुमति देता है। यह आपको फायरबेस और Google क्लाउड प्रोजेक्ट के बीच आसानी से डेटा साझा करने की भी अनुमति देता है।

मौजूदा क्लाउड स्टोरेज बकेट को आयात करने सहित, Google क्लाउड के साथ एकीकृत करने के लिए ब्लेज़ योजना पर एक फायरबेस प्रोजेक्ट की आवश्यकता होती है। हमारे पर योजनाओं के बारे में और जानें मूल्य निर्धारण पेज

गूगल क्लाउड स्टोरेज

आप उपयोग कर सकते हैं Google क्लाउड संग्रहण एपीआई , विशेष रूप से इस तरह के कॉपी करने या एक फ़ाइल चलती, या सभी फाइलों को एक संदर्भ में उपलब्ध लिस्टिंग के रूप में और अधिक जटिल आपरेशन, प्रदर्शन करने के लिए क्लाउड संग्रहण के लिए Firebase SDKs के माध्यम से अपलोड पहुँच फ़ाइलों के लिए।

यह ध्यान रखें कि इन अनुरोधों Google क्लाउड मेमोरी का उपयोग महत्वपूर्ण है अभिगम नियंत्रण विकल्प , बल्कि Firebase प्रमाणीकरण और क्लाउड संग्रहण सुरक्षा नियमों की तुलना में।

शहद की मक्खी

क्लाउड स्टोरेज के लिए फायरबेस एसडीके के अलावा, आपके क्लाउड स्टोरेज बकेट में संग्रहीत डेटा तक पहुंचने के कई अन्य तरीके हैं, जो इस पर निर्भर करता है कि आप क्या करना चाहते हैं। आप एक सर्वर पर डेटा तक पहुँच बना रहे हैं, तो हम सर्वर साइड पुस्तकालयों, और साथ ही एक की पेशकश JSON और S3 संगत XML RESTful API, या यदि आप स्क्रिप्ट परिवर्तन करने की जरूरत है या अन्य प्रशासनिक कार्यों का निष्पादन, हम एक कमांड लाइन उपकरण है जो मिल गया है काम आएगा।

Google क्लाउड सर्वर SDK

Google क्लाउड क्लाउड स्टोरेज सहित कई क्लाउड उत्पादों के लिए उच्च-गुणवत्ता वाले सर्वर SDK प्रदान करता है। इन पुस्तकालयों में उपलब्ध हैं Node.js , जावा , जाना , अजगर , पीएचपी , और रूबी

स्थापना निर्देशों, प्रमाणीकरण और समस्या निवारण सहित अधिक जानकारी के लिए, ऊपर लिंक किए गए प्लेटफ़ॉर्म-विशिष्ट दस्तावेज़ देखें।

Google मेघ संग्रहण SDK के लिए उदाहरण उपयोग नीचे दिखाया गया है:

Node.js

    // Require gcloud
    var gcloud = require('google-cloud');

    // Enable Cloud 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 Cloud 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 Cloud 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 Cloud 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 Cloud 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 Cloud 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}"
    

बाकी एपीआई

आप क्लाइंट लाइब्रेरी के बिना एक भाषा का प्रयोग कर रहे हैं, कि आप उपयोग करना पसंद करते हैं दोनों के लिए, Google क्लाउड संग्रहण प्रदान करता है एपीआई कुछ है कि क्लाइंट लाइब्रेरी नहीं करते हैं, या सिर्फ एक पसंदीदा HTTP ग्राहक है क्या करना चाहते हैं JSON और एक्सएमएल .

इन भंडारण डेटा का उपयोग एपीआई के अलावा, Firebase परियोजनाओं में इस्तेमाल के लिए क्लाउड संग्रहण बाल्टी प्रबंधन करने के लिए, आप उपयोग कर सकते हैं Firebase एपीआई के लिए क्लाउड संग्रह

gsutil

gsutil एक कमांड लाइन उपकरण है कि आप क्लाउड संग्रहण लिए सीधी पहुँच देता है। आप उपयोग कर सकते हैं gsutil बाल्टी और वस्तु प्रबंधन कार्य, सहित की एक विस्तृत श्रृंखला करना है:

  • वस्तुओं को अपलोड करना, डाउनलोड करना और हटाना।
  • बाल्टी और वस्तुओं को सूचीबद्ध करना।
  • वस्तुओं को हिलाना, कॉपी करना और नाम बदलना।
  • ऑब्जेक्ट और बकेट ACL का संपादन।

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

अनुरोध दरें

Google क्लाउड स्टोरेज एक उच्च स्केलेबल सेवा है जो बहुत अधिक अनुरोध दरों को प्राप्त करने के लिए ऑटो-स्केलिंग तकनीक का उपयोग करती है।

Google क्लाउड स्टोरेज एक बहु-किरायेदार सेवा है, जिसका अर्थ है कि उपयोगकर्ता अंतर्निहित संसाधनों का एक ही सेट साझा करते हैं। इन साझा संसाधनों का सर्वोत्तम उपयोग करने के लिए, बकेट में प्रारंभिक IO क्षमता होती है।

जब आप अपने ऐप में फायरबेस के लिए क्लाउड स्टोरेज को एकीकृत करने की योजना बना रहे हैं, तो उस न्यूनतम अनुरोध दर के बारे में सोचें जो आपके ऐप को अच्छे प्रदर्शन के लिए चाहिए, और अनुरोध कुशलतापूर्वक करने के बारे में सोचें। के बारे में समीक्षा के दिशा निर्देशों के अनुरोध दरों , और विशेष रूप से अनुरोध दरें अपेक्षाओं

ऑब्जेक्ट वर्जनिंग

क्या आपने कभी गलती से कुछ हटा दिया है और बैकअप नहीं लिया है? Google क्लाउड संग्रहण का समर्थन करता है संस्करण वस्तु है, जो उन बैकअप से अपने डेटा का बैकअप, और बहाल करने के लिए एक स्वचालित तरीका प्रदान करता है। आप वस्तु का उपयोग कर संस्करण सक्षम कर सकते हैं gsutil versioning set आदेश:

gsutil versioning set on gs://<your-cloud-storage-bucket>

क्लाउड स्टोरेज हमेशा नवीनतम संस्करण लेता है, इसलिए यदि आप किसी ऑब्जेक्ट को पुनर्स्थापित करना चाहते हैं, तो आपको वांछित ऑब्जेक्ट को नवीनतम के रूप में सेट करने के लिए ऊपर दिए गए अन्य एपीआई या टूल में से एक का उपयोग करने की आवश्यकता है।

वस्तु जीवनचक्र प्रबंधन

स्वचालित रूप से पुरानी फ़ाइलों को संग्रहीत करने या हटाने की क्षमता होना कई अनुप्रयोगों के लिए एक उपयोगी विशेषता है। सौभाग्य से, Google क्लाउड संग्रहण प्रदान करता है वस्तु जीवन चक्र प्रबंधन , जो आप समय की एक निश्चित राशि के बाद नष्ट या संग्रहीत वस्तुओं के लिए अनुमति देता है।

एक फोटो शेयरिंग एप्लिकेशन पर विचार करें जिसे आप चाहते हैं कि सभी तस्वीरें एक दिन के भीतर हटा दी जाएं। आप एक वस्तु जीवनचक्र नीति को निम्नानुसार सेट कर सकते हैं:

// 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 आपके ऐप की उपलब्धता का प्रबंधन करेगा; आपके लिए प्रावधान या रखरखाव करने के लिए कोई सर्वर नहीं है। ऐप इंजन आपके फायरबेस एप्लिकेशन में अतिरिक्त प्रोसेसिंग पावर या विश्वसनीय निष्पादन जोड़ने का एक तेज़ और आसान तरीका है।

क्लाउड स्टोरेज के लिए फायरबेस एसडीके ऐप इंजन डिफ़ॉल्ट बकेट का उपयोग करते हैं, जिसका अर्थ है कि यदि आप एक ऐप इंजन ऐप बनाते हैं, तो आप फायरबेस और ऐप इंजन के बीच डेटा साझा करने के लिए अंतर्निहित ऐप इंजन एपीआई का उपयोग कर सकते हैं। यह ऑडियो एन्कोडिंग, वीडियो ट्रांसकोडिंग, और छवि परिवर्तन, साथ ही साथ अन्य गणना गहन पृष्ठभूमि प्रसंस्करण करने के लिए उपयोगी है।

जावा, अजगर, और जाना स्टैंडर्ड वातावरण App इंजन के लिए App इंजन छवियाँ एपीआई (शामिल जावा , अजगर , जो आकार बदल सकते हैं घुमाएं, फ़्लिप, और एक छवि फसल है, साथ ही एक छवि की सेवा यूआरएल जो ग्राहक के पक्ष परिवर्तनों के लिए अनुमति देता वापसी , Cloudinary और Imgix के समान।

जब Firebase में किसी मौजूदा Google मेघ परियोजना आयात करने, आप किसी भी मौजूदा App इंजन Firebase में उपलब्ध वस्तुओं बनाना चाहते हैं, तो आप निम्न आदेश चलाकर का उपयोग करके उन्हें ऐक्सेस करने की अनुमति देने के लिए Firebase अपने वस्तुओं पर डिफ़ॉल्ट अभिगम नियंत्रण सेट करना होगा gsutil :

gsutil -m acl ch -r -u service-<project number;gt@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>

ज्ञात पहलु

ऐसे दो ज्ञात मामले हैं जहां आप अपना ऐप इंजन ऐप आयात नहीं कर सकते हैं:

  1. प्रोजेक्ट में एक पूर्व ऐप इंजन डेटास्टोर मास्टर/स्लेव ऐप है।
  2. : परियोजना एक डोमेन उपसर्ग के परियोजना आईडी, उदाहरण के लिए domain.com:project-1234

इनमें से किसी भी स्थिति में, प्रोजेक्ट Firebase के लिए Cloud Storage का समर्थन नहीं करेगा, और Cloud Storage का उपयोग करने के लिए आपको एक नया Firebase प्रोजेक्ट बनाना चाहिए। समर्थन से संपर्क करें ताकि हम आपकी सहायता कर सकते हैं।

Google मेघ कार्य (बीटा)

Google मेघ कार्य एक हल्के, घटना के आधार पर, अतुल्यकालिक गणना समाधान है कि आप छोटे, एकल उद्देश्य है कि आवश्यकता के बिना घटनाओं का जवाब दे एक सर्वर या एक क्रम पर्यावरण प्रबंधन करने के लिए काम करता है बनाने की अनुमति देता है। इन कार्यों का उपयोग वीडियो ट्रांसकोडिंग, मशीन लर्निंग का उपयोग करके छवियों को वर्गीकृत करने या फायरबेस रीयलटाइम डेटाबेस के साथ मेटाडेटा को सिंक करने के लिए किया जा सकता है। ऐप इंजन से भी कम ओवरहेड के साथ, क्लाउड स्टोरेज में बदलावों पर प्रतिक्रिया करने के लिए क्लाउड फ़ंक्शंस सबसे तेज़ तरीका है।

Google क्लाउड विजन एपीआई

Google मेघ विजन एपीआई डेवलपर्स उपयोग एपीआई के लिए एक आसान में मॉडल सीखने शक्तिशाली मशीन encapsulating द्वारा एक छवि की सामग्री को समझने के लिए सक्षम बनाता है। यह छवियों को हजारों श्रेणियों में जल्दी से वर्गीकृत करता है, छवियों के भीतर अलग-अलग वस्तुओं और चेहरों का पता लगाता है, छवियों के भीतर मुद्रित शब्दों को ढूंढता है और पढ़ता है, आपत्तिजनक सामग्री की पहचान करता है, और यहां तक ​​​​कि छवि भावना विश्लेषण भी प्रदान करता है।

Google क्लाउड स्पीच API

विजन एपीआई के समान, Google मेघ वाक् API मेघ संग्रहण में एक ऑडियो फ़ाइल से निकालने पाठ करने के लिए डेवलपर्स सक्षम बनाता है। एपीआई आपके वैश्विक उपयोगकर्ता आधार का समर्थन करने के लिए 80 से अधिक भाषाओं और प्रकारों को पहचानता है। जब साथ संयुक्त Google मेघ प्राकृतिक भाषा एपीआई , डेवलपर्स कर सकते हैं दोनों निकालने कच्चे पाठ और उस पाठ के बारे में अनुमान अर्थ। और अगर एक वैश्विक दर्शकों के लिए आवश्यक है, के साथ जोड़ी इस Google अनुवाद एपीआई 90 + भाषाओं के लिए पाठ का अनुवाद करने।