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

মেঘ ফাংশন সহ গতিশীল সামগ্রী এবং হোস্ট মাইক্রোসার্ভেসিকে পরিবেশন করুন

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

Firebase জন্য মেঘ কার্যাবলী আপনি স্বয়ংক্রিয়ভাবে HTTPS দ্বারা অনুরোধ প্রতিক্রিয়ায় ব্যাকএন্ড কোড রান করতে দেয়। আপনার কোড গুগলের ক্লাউডে সংরক্ষিত থাকে এবং পরিচালিত পরিবেশে চলে। আপনার নিজের সার্ভারগুলি পরিচালনা এবং স্কেল করার কোন প্রয়োজন নেই।

উদাহরণস্বরূপ ব্যবহারের ক্ষেত্রে এবং Firebase হোস্টিং সাথে একত্রিত ক্লাউড কাজকর্মের জন্য নমুনার জন্য, আমাদের দেখার জন্য serverless ওভারভিউ

ক্লাউড ফাংশনগুলিকে ফায়ারবেস হোস্টিংয়ের সাথে সংযুক্ত করুন

এই বিভাগটি ফায়ারবেস হোস্টিংয়ের সাথে একটি ফাংশন সংযুক্ত করার জন্য একটি ওয়াক-থ্রু উদাহরণ প্রদান করে।

লক্ষ্য করুন গতিশীল বিষয়বস্তু, আপনি বিকল্প হিসেবে সুর আপনার যা করতে পারেন ভজনা পারফরম্যান্সের উন্নতি করতে ক্যাশে সেটিংস

ধাপ 1: সেট আপ করুন ক্লাউড কার্যাবলী

  1. নিশ্চিত করুন যে আপনার কাছে Firebase CLI এর সর্বশেষ সংস্করণ আছে এবং আপনি Firebase হোস্টিং শুরু করেছেন।

    CLI ইনস্টল এবং হোস্টিং আরম্ভের বিষয়ে বিস্তারিত নির্দেশাবলীর জন্য, দেখুন হোস্টিং জন্য পেতে শুরু করার নির্দেশিকা

  2. আপনি ক্লাউড ফাংশন সেট আপ করেছেন তা নিশ্চিত করুন:

    • যদি আপনি ইতিমধ্যে ক্লাউড কার্যাবলী সেট আপ করে থাকেন, তবে আপনাকে এগিয়ে যেতে পারেন পদক্ষেপ 2: তৈরি করুন এবং একটি HTTPS দ্বারা ফাংশন পরীক্ষা

    • আপনি ক্লাউড কার্যাবলী সেট আপ করেননি থাকেন তাহলে:

      1. আপনার প্রজেক্ট ডাইরেক্টরির মূল থেকে নিম্নলিখিত কমান্ডটি চালিয়ে ক্লাউড ফাংশন শুরু করুন:

        firebase init functions
      2. অনুরোধ করা হলে, জাভাস্ক্রিপ্ট নির্বাচন করুন (এই ওয়াক-থ্রু উদাহরণটি JS ব্যবহার করে)।

      3. পরীক্ষা করে দেখুন আপনি একটি আছে functions (Firebase কমান্ড আপনি শুধু দৌড়ে দ্বারা নির্মিত) আপনার স্থানীয় প্রকল্প ডিরেক্টরির মধ্যে ডিরেক্টরি। এই functions ডিরেক্টরি যেখানে মেঘ কার্যাবলী কোড বেঁচে থাকে।

পদক্ষেপ 2: তৈরি করুন এবং আপনার হোস্টিং সাইটের জন্য একটি HTTPS দ্বারা ফাংশন পরীক্ষা

  1. ওপেন /functions/index.js আপনার প্রিয় সম্পাদকে।

  2. নিচের কোড দিয়ে ফাইলের বিষয়বস্তু প্রতিস্থাপন করুন।

    এই কোড একটি HTTPS দ্বারা ফাংশন (নামে সৃষ্টি bigben ) যে একটি সঙ্গে HTTPS দ্বারা অনুরোধ উত্তর BONG দিনের প্রতিটি ঘন্টার জন্য, শুধু একটি ঘড়ি মত।

    const functions = require('firebase-functions');
    
    exports.bigben = functions.https.onRequest((req, res) => {
      const hours = (new Date().getHours() % 12) + 1  // London is UTC + 1hr;
      res.status(200).send(`<!doctype html>
        <head>
          <title>Time</title>
        </head>
        <body>
          ${'BONG '.repeat(hours)}
        </body>
      </html>`);
    });
    
  3. আপনার ফাংশন স্থানীয়ভাবে ব্যবহার পরীক্ষা করুন Firebase স্থানীয় এমুলেটর সুইট

    1. আপনার স্থানীয় প্রকল্প ডিরেক্টরির মূল থেকে, নিম্নলিখিত কমান্ডটি চালান:

      firebase emulators:start
    2. অ্যাক্সেস ফাংশন স্থানীয় CLI দ্বারা ফিরে URL টি, উদাহরণস্বরূপ মাধ্যমে: http://localhost:5001/ PROJECT_ID /us-central1/bigben

পরিদর্শন ক্লাউড কার্যাবলী ডকুমেন্টেশন HTTPS দ্বারা অনুরোধ সম্পর্কে আরো জানতে।

পরবর্তী ধাপে কিভাবে Firebase হোস্টিং URL থেকে এই HTTPS দ্বারা ফাংশন অ্যাক্সেস করতে যাতে এটি আপনার Firebase-হোস্ট করা সাইটের জন্য ডায়নামিক সামগ্রী তৈরি করতে পারেন মাধ্যমে আপনাকে নিয়ে যাবে।

ধাপ 3: সরাসরি আপনার ফাংশন অনুরোধ HTTPS

সঙ্গে লেখা নিয়ম , আপনি অনুরোধ একটি একক গন্তব্য নির্দিষ্ট প্যাটার্নে মেলে নির্দেশ দিতে পারেন। নিম্নলিখিত পদক্ষেপগুলি কিভাবে আপনাকে দেখাতে পথ থেকে সমস্ত অনুরোধ নির্দেশ ../bigben আপনার হোস্টিং সাইটের চালানো উপর bigben ফাংশন।

  1. আপনার খোলা firebase.json ফাইল

  2. নিম্নলিখিত যোগ rewrite অধীনে কনফিগারেশন hosting অধ্যায়:

    "hosting": {
      // ...
    
      // Add the "rewrites" attribute within "hosting"
      "rewrites": [ {
        "source": "/bigben",
        "function": "bigben"
      } ]
    }
    
  3. ফায়ারবেস এমুলেটরগুলির সাথে আবার পরীক্ষা করে নিশ্চিত করুন যে আপনার পুনirectনির্দেশ প্রত্যাশা অনুযায়ী কাজ করে।

    1. আপনার স্থানীয় প্রকল্প ডিরেক্টরির মূল থেকে, নিম্নলিখিত কমান্ডটি চালান:

      firebase emulators:start
    2. যেমন, CLI দ্বারা ফিরে আপনার সাইটের জন্য স্থানীয়ভাবে আয়োজিত URL টিতে যান (সাধারণত localhost:5000 ), কিন্তু সহ URL যোগ bigben মত তাই: http://localhost:5000/bigben

  4. আপনার সাইটের জন্য আপনার ফাংশন এবং এর কার্যকারিতা সম্পর্কে পুনরাবৃত্তি করুন। এই পুনরাবৃত্তিগুলি পরীক্ষা করতে Firebase emulators ব্যবহার করুন।

জন্য হোস্টিং কনফিগারেশন পৃষ্ঠায় যান লেখা নিয়ম সম্পর্কে আরো বিস্তারিত জানার । এছাড়াও আপনি সম্পর্কে জানতে পারেন প্রতিক্রিয়া অগ্রাধিকার ক্রম বিভিন্ন হোস্টিং কনফিগারেশনের জন্য।

লক্ষ্য করুন গতিশীল বিষয়বস্তু, আপনি বিকল্প হিসেবে সুর আপনার যা করতে পারেন ভজনা পারফরম্যান্সের উন্নতি করতে ক্যাশে সেটিংস

পদক্ষেপ 4: আপনার ফাংশন স্থাপন করুন

একবার আপনার ফাংশন হিসাবে এমুলেটর কাঙ্ক্ষিত কাজ করছে, আপনি মোতায়েন পরীক্ষা এবং রিয়েল প্রকল্পের সম্পদ সঙ্গে চলমান অগ্রসর হতে পারবেন। এটি একটি ভাল সময় রানটাইম অপশন সেটিং বিবেচনা করা হয় নিয়ন্ত্রণ স্কেলিং আচরণ প্রকাশনা চলমান কাজকর্মের জন্য।

  1. আপনার ফাংশন এবং আপনার হোস্টিং সামগ্রী স্থাপন করুন এবং আপনার স্থানীয় প্রকল্প ডিরেক্টরির মূল থেকে নিম্নলিখিত কমান্ডটি চালিয়ে আপনার সাইটে কনফিগ করুন:

    firebase deploy --only functions,hosting
  2. নিম্নলিখিত ইউআরএলগুলিতে আপনার লাইভ সাইট এবং আপনার ফাংশন অ্যাক্সেস করুন:

    • আপনার Firebase সাবডোমেন:
      PROJECT_ID .web.app/bigben এবং PROJECT_ID .firebaseapp.com/bigben

    • কোন সংযুক্ত কাস্টম ডোমেন :
      CUSTOM_DOMAIN /bigben

একটি ওয়েব ফ্রেমওয়ার্ক ব্যবহার করুন

আপনি ওয়েবে অবকাঠামো ব্যবহার করতে পারেন মতো Express.js ক্লাউড কার্যাবলী, আপনার অ্যাপ্লিকেশনের ডায়নামিক সামগ্রী পরিবেশন করা এবং জটিল ওয়েব অ্যাপ্লিকেশান আরো সহজে লিখতে।

নিম্নলিখিত বিভাগটি Firebase হোস্টিং এবং ক্লাউড ফাংশন সহ Express.js ব্যবহারের জন্য একটি ওয়াক-থ্রু উদাহরণ প্রদান করে।

  1. আপনার থেকে নিম্নলিখিত কমান্ডের দ্বারা আপনার স্থানীয় প্রকল্পে Express.js ইনস্টল functions ডিরেক্টরি:

    npm install express --save
  2. আপনার খোলা /functions/index.js ফাইল, তারপর আমদানি করবে এবং আরম্ভ Express.js:

    const functions = require('firebase-functions');
    const express = require('express');
    const app = express();
    
  3. নিম্নলিখিত দুটি শেষ পয়েন্ট যোগ করুন:

    1. আমাদের ওয়েবসাইটের সূচক সেবা করার জন্য প্রথম শেষবিন্দু যোগ করুন /

      app.get('/', (req, res) => {
        const date = new Date();
        const hours = (date.getHours() % 12) + 1;  // London is UTC + 1hr;
        res.send(`
          <!doctype html>
          <head>
            <title>Time</title>
            <link rel="stylesheet" href="/style.css">
            <script src="/script.js"></script>
          </head>
          <body>
            <p>In London, the clock strikes:
              <span id="bongs">${'BONG '.repeat(hours)}</span></p>
            <button onClick="refresh(this)">Refresh</button>
          </body>
        </html>`);
      });
      
    2. আর একজন শেষবিন্দু ফিরে যাওয়ার BONG একটি API যেমন গণনা, JSON ফর্ম্যাটে অধীন /api :

      app.get('/api', (req, res) => {
        const date = new Date();
        const hours = (date.getHours() % 12) + 1;  // London is UTC + 1hr;
        res.json({bongs: 'BONG '.repeat(hours)});
      });
      
  4. একটি HTTPS ফাংশন হিসাবে Express.js অ্যাপ রপ্তানি করুন:

    exports.app = functions.https.onRequest(app);
    
  5. আপনার firebase.json ফাইল, সব অনুরোধ সরাসরি app ফাংশন। এই লেখা Express.js বিভিন্ন subpath যে আমরা কনফিগার (এই উদাহরণে, পরিচালনা করা যাবে / এবং /api )।

    {
     "hosting": {
       // ...
    
       // Add the "rewrites" attribute within "hosting"
       "rewrites": [ {
         "source": "**",
         "function": "app"
       } ]
     }
    }
    

মিডলওয়্যার যুক্ত করুন

উদাহরণস্বরূপ অব্যাহত, এখন যেহেতু আপনি Express.js ব্যবহার করছেন, আপনি যোগ করতে পারেন Express.js মিডলওয়্যার টিপিক্যাল উপায়। উদাহরণস্বরূপ, যদি আপনি সক্ষম করতে পারেন CORS আমাদের এন্ড পয়েন্ট থেকে অনুরোধ।

  1. ইনস্টল করুন cors নিম্নলিখিত কমান্ডের দ্বারা মিডলওয়্যার:

    npm install --save cors
  2. আপনার খোলা /functions/index.js ফাইল, তারপর যোগ cors তাই মত, আপনার Express.js অ্যাপ্লিকেশানে:

    const cors = require('cors')({origin: true});
    app.use(cors);
    

পরিদর্শন ক্লাউড কার্যাবলী ডকুমেন্টেশন এক্সপ্রেস অ্যাপ্লিকেশন এবং মিডলওয়্যার মডিউলগুলির সাথে Firebase ব্যবহার সম্পর্কে আরও জানতে।

পরবর্তী পদক্ষেপ