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

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

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

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

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

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

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

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

এপিআই

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

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

গুগল ক্লাউড ক্লাউড স্টোরেজ সহ বেশ কয়েকটি ক্লাউড পণ্যগুলির জন্য উচ্চমানের সার্ভার এসডিকে সরবরাহ করে। এই গ্রন্থাগারে পাওয়া যায় 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 এপিআই

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

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

gsutil

gsutil একটি কমান্ড লাইন টুল যা আপনি ক্লাউড স্টোরেজ থেকে সরাসরি প্রবেশাধিকার দেয়। আপনি ব্যবহার করতে পারেন gsutil বালতি এবং বস্তুর ব্যবস্থাপনা কর্ম সহ বিস্তৃত করতে:

  • অবজেক্ট আপলোড, ডাউনলোড করা এবং মুছে ফেলা হচ্ছে।
  • বালতি এবং অবজেক্টের তালিকা করা।
  • অবজেক্টগুলি মুভিং, কপি করা, এবং নামকরণ করা।
  • সম্পাদনা অবজেক্ট এবং বালতি এসিএল।

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

অনুরোধ হার

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

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

আপনি যেমন আপনার অ্যাপ্লিকেশনে ফায়ারব্যাসের জন্য ক্লাউড স্টোরেজ একীভূত করার পরিকল্পনা করছেন, আপনার অ্যাপ্লিকেশনটির ভাল পারফরম্যান্সের জন্য প্রয়োজনীয় ন্যূনতম অনুরোধের হার এবং দক্ষতার সাথে অনুরোধ করার বিষয়ে চিন্তা করুন। সম্পর্কে পর্যালোচনা নির্দেশিকা অনুরোধ হার , বিশেষ করে অনুরোধ হার আপ 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 বা আপনার নিজের সার্ভার।

অ্যাপ ইঞ্জিন

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

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

জাভা, পাইথন, এবং যেতে স্ট্যান্ডার্ড পরিবেশের 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+ ভাষায় পাঠ্য অনুবাদ করতে।