Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

গুগল ক্লাউডের সাথে একীভূত করুন

Firebase জন্য মেঘ সঞ্চয়স্থান শক্তভাবে সাথে একত্রিত করা হয় Google মেঘ । ক্লাউড স্টোরেজ দোকান সরাসরি ফাইল Firebase SDK আছে Google মেঘ সংগ্রহস্থল বাকেট , এবং আপনার অ্যাপ্লিকেশন বৃদ্ধি, আপনি সহজেই এই ধরনের App ইঞ্জিন বা ক্লাউড কার্যাবলী, অথবা ক্লাউড ভিশন বা Google এর মতো মেশিন লার্নিং API গুলি মত পরিচালিত কম্পিউট হিসাবে অন্যান্য Google মেঘ পরিষেবা, সংহত করতে পারেন অনুবাদ করা.

ফায়ারবেস ব্যবহারকারীর শংসাপত্রগুলি ভাগ না করে পরিষেবাগুলি পরিচালনা এবং পরিচালনা করতে Google ক্লাউড পরিষেবা অ্যাকাউন্ট ব্যবহার করে। যখন আপনি একটি Firebase প্রকল্পের ক্লাউড স্টোরেজ ব্যবহার করে তৈরি করেন, আপনি লক্ষ্য হতে পারে একটি সংশ্লিষ্ট সেবা অ্যাকাউন্টটি ইতিমধ্যেই আপনার প্রকল্পের উপলব্ধ: service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com । এই দেখুন Firebase সমর্থন নির্দেশিকা আরও তথ্যের জন্য।

ফণা অধীনে, ক্লাউড স্টোরেজ জন্য Firebase SDK আছে এ ডিফল্ট বালতি ব্যবহার App ইঞ্জিন বিনামূল্যে স্তর। এটি আপনাকে ক্রেডিট কার্ড না রেখে বা ক্লাউড বিলিং অ্যাকাউন্ট সক্ষম না করেই ক্লাউড স্টোরেজের সাথে দ্রুত উঠতে এবং চালাতে দেয়। এটি আপনাকে সহজেই ফায়ারবেস এবং একটি গুগল ক্লাউড প্রকল্পের মধ্যে ডেটা ভাগ করতে দেয়।

বিদ্যমান ক্লাউড স্টোরেজ বালতি আমদানি সহ গুগল ক্লাউডের সাথে একীভূত করার জন্য, জ্বলন্ত পরিকল্পনায় একটি ফায়ারবেস প্রকল্প প্রয়োজন। আমাদের পরিকল্পনা সম্পর্কে আরো জানুন মূল্যের পৃষ্ঠা

গুগল ক্লাউড স্টোরেজ

আপনি ব্যবহার করতে পারেন Google মেঘ সংগ্রহস্থল API গুলি , বিশেষ করে এই ধরনের কপি অথবা একটি ফাইল নড়ছে, নাকি আগে সব ফাইল একটি রেফারেন্স পাওয়া তালিকা হিসাবে আরো জটিল অপারেশন, সম্পাদন করতে ক্লাউড স্টোরেজ জন্য Firebase SDK আছে মাধ্যমে আপলোড করা ফাইলগুলি অ্যাক্সেস করতে।

এটা খেয়াল করা জরুরী যে এই অনুরোধ Google মেঘ Storage ব্যবহার গুরুত্বপূর্ণ প্রবেশাধিকার নিয়ন্ত্রণ অপশন , বরং Firebase অনুমোদন ও ক্লাউড স্টোরেজ সিকিউরিটি রুলস থাকে।

API গুলি

ক্লাউড স্টোরেজের জন্য ফায়ারবেস এসডিকে ছাড়াও, আপনি কি করতে চান তার উপর নির্ভর করে আপনার ক্লাউড স্টোরেজ বালতিতে সংরক্ষিত ডেটা অ্যাক্সেস করার আরও অনেক উপায় রয়েছে। যদি আপনি কোনও সার্ভার ডেটা অ্যাক্সেস, তাহলে আমরা সার্ভার প্রান্তের লাইব্রেরি, এবং সেইসাথে একটি প্রস্তাব JSON এবং এস 3 সামঞ্জস্যপূর্ণ XML RESTful API, অথবা যদি আপনি স্ক্রিপ্ট পরিবর্তন করতে হবে অথবা অন্য প্রশাসনিক কর্ম সঞ্চালন, আমরা একটি কমান্ড লাইন সরঞ্জাম যা পেয়েছেন কাজে আসবে।

গুগল ক্লাউড সার্ভার এসডিকে

গুগল ক্লাউড ক্লাউড স্টোরেজ সহ বেশ কয়েকটি ক্লাউড পণ্যগুলির জন্য উচ্চমানের সার্ভার এসডিকে সরবরাহ করে। এই গ্রন্থাগারে পাওয়া যায় Node.js , জাভা , যেতে , পাইথন , পিএইচপি , এবং রুবি

ইনস্টলেশন নির্দেশাবলী, প্রমাণীকরণ এবং সমস্যা সমাধান সহ আরও তথ্যের জন্য, উপরের লিঙ্কযুক্ত প্ল্যাটফর্ম-নির্দিষ্ট ডকুমেন্টেশনের সাথে পরামর্শ করুন।

গুগল ক্লাউড স্টোরেজ এসডিকে ব্যবহারের উদাহরণ নিচে দেখানো হয়েছে:

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}"
    

REST API

আপনি একটি ক্লায়েন্ট গ্রন্থাগার ছাড়া একটি ভাষা ব্যবহার করেন, তাহলে আপনার ব্যবহারের জন্য পেশ করবো উভয়ের জন্য, Google মেঘ সংগ্রহস্থল অফার API গুলি এমন কিছু বিষয় যা ক্লায়েন্ট লাইব্রেরী না, বা শুধু একটি প্রিয় HTTP- র ক্লায়েন্ট আছে কাজ করতে চান তাদেরকে JSON এবং এক্সএমএল

এই স্টোরেজ ডেটা অ্যাক্সেস API গুলি ছাড়াও, Firebase প্রকল্পে ব্যবহারের জন্য ক্লাউড স্টোরেজ বাকেট পরিচালনা করতে, আপনি ব্যবহার করতে পারেন Firebase 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

অনুরোধের হার

গুগল ক্লাউড স্টোরেজ একটি অত্যন্ত স্কেলেবল পরিষেবা যা খুব বেশি অনুরোধের হার অর্জনের জন্য অটো-স্কেলিং প্রযুক্তি ব্যবহার করে।

গুগল ক্লাউড স্টোরেজ একটি বহু-ভাড়াটে পরিষেবা, যার অর্থ ব্যবহারকারীরা অন্তর্নিহিত সম্পদের একই সেট ভাগ করে। এই ভাগ করা সম্পদের সর্বোত্তম ব্যবহার করার জন্য, বালতিগুলির একটি প্রাথমিক আইও ক্ষমতা রয়েছে।

আপনি যখন আপনার অ্যাপে ফায়ারবেসের জন্য ক্লাউড স্টোরেজ সংহত করার পরিকল্পনা করছেন, ভাল পারফরম্যান্সের জন্য আপনার অ্যাপের ন্যূনতম অনুরোধের হার এবং দক্ষতার সাথে অনুরোধ করার বিষয়ে চিন্তা করুন। সম্পর্কে পর্যালোচনা নির্দেশিকা অনুরোধ হার , বিশেষ করে অনুরোধ হার আপ ramping

অবজেক্ট ভার্সন করা

আপনি কি কখনও দুর্ঘটনাক্রমে কিছু মুছে ফেলেছেন এবং ব্যাকআপ পাননি? Google মেঘ সংগ্রহস্থল সমর্থন ভারশনিং অবজেক্ট , যা তাদের ব্যাকআপ থেকে আপনার ডেটা ব্যাক আপ এবং পুনরুদ্ধার করার স্বয়ংক্রিয় উপায় প্রদান করে। আপনি বস্তু ব্যবহার ভার্সন সক্ষম করতে পারেন gsutil versioning set কমান্ড প্রয়োগ করুন:

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

ক্লাউড স্টোরেজ সর্বদা সাম্প্রতিকতম সংস্করণটি বেছে নেয়, তাই যদি আপনি কোনও বস্তু পুনরুদ্ধার করতে চান তবে আপনাকে পছন্দসই বস্তুটিকে সাম্প্রতিকতম হিসাবে সেট করতে উপরের অন্যান্য API বা সরঞ্জামগুলির একটি ব্যবহার করতে হবে।

অবজেক্ট লাইফসাইকেল ম্যানেজমেন্ট

বাসি ফাইলগুলিকে স্বয়ংক্রিয়ভাবে আর্কাইভ বা মুছে ফেলার ক্ষমতা থাকা অনেক অ্যাপ্লিকেশনের জন্য একটি দরকারী বৈশিষ্ট্য। সৌভাগ্য যে, 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 বা আপনার নিজের সার্ভার।

অ্যাপ ইঞ্জিন

অ্যাপ ইঞ্জিন হল "একটি পরিষেবা হিসাবে প্ল্যাটফর্ম" যা স্বয়ংক্রিয়ভাবে ব্যাকএন্ড লজিককে পরিমাপ করে ট্রাফিকের পরিমাণের পরিপ্রেক্ষিতে। শুধু আপনার ব্যাকএন্ড কোড আপলোড করুন এবং গুগল আপনার অ্যাপের প্রাপ্যতা পরিচালনা করবে; আপনার জন্য ব্যবস্থা বা রক্ষণাবেক্ষণের জন্য কোন সার্ভার নেই। অ্যাপ ইঞ্জিন আপনার ফায়ারবেস অ্যাপ্লিকেশনে অতিরিক্ত প্রসেসিং পাওয়ার বা বিশ্বস্ত এক্সিকিউশন যোগ করার একটি দ্রুত এবং সহজ উপায়।

ক্লাউড স্টোরেজের জন্য Firebase SDKs অ্যাপ ইঞ্জিন ডিফল্ট বালতি ব্যবহার করে, যার মানে হল যে আপনি যদি একটি App Engine অ্যাপ তৈরি করেন, তাহলে আপনি Firebase এবং App Engine- এর মধ্যে ডেটা শেয়ার করতে অন্তর্নির্মিত App Engine API ব্যবহার করতে পারেন। এটি অডিও এনকোডিং, ভিডিও ট্রান্সকোডিং এবং ইমেজ ট্রান্সফরমেশন, পাশাপাশি অন্যান্য গণনা নিবিড় পটভূমি প্রক্রিয়াকরণের জন্য উপযোগী।

জাভা, পাইথন, এবং যেতে স্ট্যান্ডার্ড পরিবেশের App ইঞ্জিন জন্য App ইঞ্জিন চিত্র এপিআই (অন্তর্ভুক্ত জাভা , পাইথন , যা, মাপ পরিবর্তন করতে পারেন ঘোরান, উল্টানো, এবং একটি চিত্র ক্রপ, সেইসাথে একটি চিত্র ভজনা যে URL ক্লায়েন্ট সাইড রূপান্তরের জন্য করতে পারবেন আসতে , ক্লাউডিনারি এবং ইমজিক্সের অনুরূপ।

যখন 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

এই উভয় ক্ষেত্রেই, প্রকল্পটি ফায়ারবেসের জন্য ক্লাউড স্টোরেজ সমর্থন করবে না এবং ক্লাউড স্টোরেজ ব্যবহার করার জন্য আপনার একটি নতুন ফায়ারবেস প্রকল্প তৈরি করা উচিত। যোগাযোগ সমর্থন যাতে আমরা আপনাকে সাহায্য করতে পারেন।

গুগল ক্লাউড ফাংশন (বিটা)

Google মেঘ কার্যাবলী একটি হালকা, ঘটনা ভিত্তিক, অ্যাসিঙ্ক্রোনাস কম্পিউট সমাধান যে আপনার ছোট, একক উদ্দেশ্য যে প্রয়োজন ছাড়াই ইভেন্ট-এ জবাব একটি সার্ভার অথবা একটি রানটাইম এনভায়রনমেন্ট পরিচালনা করতে ফাংশন তৈরি করার অনুমতি দেয়। এই ফাংশনগুলি ভিডিও ট্রান্সকোডিং, মেশিন লার্নিং ব্যবহার করে ইমেজ শ্রেণীবদ্ধকরণ, বা ফায়ারবেস রিয়েলটাইম ডাটাবেসের সাথে মেটাডেটা সিঙ্ক করার জন্য ব্যবহার করা যেতে পারে। অ্যাপ ইঞ্জিনের চেয়েও কম ওভারহেডের সাথে, ক্লাউড ফাংশনগুলি ক্লাউড স্টোরেজে পরিবর্তনের প্রতিক্রিয়া জানানোর দ্রুততম উপায়।

গুগল ক্লাউড ভিশন এপিআই

Google মেঘ ভিশন এপিআই ডেভেলপারদের ব্যবহার এপিআই একটি সহজ মডেল শেখার শক্তিশালী মেশিন encapsulating দ্বারা একটি চিত্র বিষয়বস্তু বুঝতে সক্ষম। এটি দ্রুত ছবিকে হাজার হাজার শ্রেণীতে শ্রেণীবদ্ধ করে, চিত্রের মধ্যে পৃথক বস্তু এবং মুখ সনাক্ত করে, চিত্রের মধ্যে থাকা মুদ্রিত শব্দগুলি খুঁজে পায় এবং পড়ে, আপত্তিকর বিষয়বস্তু সনাক্ত করে এবং এমনকি চিত্রের অনুভূতি বিশ্লেষণ প্রদান করে।

গুগল ক্লাউড স্পিচ এপিআই

ভিশন এপিআই অনুরূপ, Google মেঘ ভাষ্য API Cloud Storage এ একটি অডিও ফাইল থেকে নির্যাস টেক্সট করা সক্ষম করে। এপিআই আপনার বিশ্বব্যাপী ব্যবহারকারী ভিত্তিকে সমর্থন করার জন্য 80 টিরও বেশি ভাষা এবং রূপকে স্বীকৃতি দেয়। যখন সঙ্গে মিলিত Google মেঘ প্রাকৃতিক ভাষা এপিআই , ডেভেলপারদের করতে পারেন উভয় নির্যাস কাঁচা টেক্সট এবং টেক্সট সম্পর্কে আভাসিত করা অর্থ। যদি বিশ্বব্যাপী শ্রোতাদের প্রয়োজন বোধ করা হয়, সঙ্গে দম্পতি এই Google Translate এপিআই 90+ ভাষায় পাঠ্য অনুবাদ করতে।