Firebase Data Connect দিয়ে শুরু করুন

এই কুইকস্টার্টে, আপনি শিখবেন কিভাবে:

  • আপনার Firebase প্রকল্পে Firebase Data Connect যোগ করুন।
  • একটি প্রোডাকশন ইনস্ট্যান্সের সাথে কাজ করার জন্য একটি ভিজ্যুয়াল স্টুডিও কোড এক্সটেনশন সহ একটি উন্নয়ন পরিবেশ সেট আপ করুন।
  • তারপর আমরা আপনাকে দেখাব কিভাবে:
    • একটি ইমেল অ্যাপের জন্য একটি স্কিমা তৈরি করুন এবং উৎপাদনে স্থাপন করুন।
    • আপনার স্কিমার জন্য প্রশ্ন এবং মিউটেশন সংজ্ঞায়িত করুন।
    • উত্পাদনে আপনার চূড়ান্ত স্কিমা, ক্যোয়ারী এবং ডেটা স্থাপন করুন।

পূর্বশর্ত

এই কুইকস্টার্ট ব্যবহার করার জন্য, আপনার নিম্নলিখিতগুলির প্রয়োজন হবে৷

আপনার Firebase প্রকল্পের সাথে সংযোগ করুন

  1. যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে একটি Firebase প্রকল্প তৈরি করুন৷
    1. Firebase কনসোলে , প্রজেক্ট যোগ করুন ক্লিক করুন, তারপর অন-স্ক্রীন নির্দেশাবলী অনুসরণ করুন।
  2. আপনার প্রকল্পকে ব্লেজ প্ল্যানে আপগ্রেড করুন। এটি আপনাকে PostgreSQL উদাহরণের জন্য একটি ক্লাউড SQL তৈরি করতে দেয়।

  3. Firebase কনসোলের Data Connect বিভাগে নেভিগেট করুন এবং পণ্য সেটআপ ওয়ার্কফ্লো অনুসরণ করুন।

  4. PostgreSQL ডাটাবেসের জন্য আপনার CloudSQL-এর জন্য একটি অবস্থান নির্বাচন করুন।

  5. পরে নিশ্চিতকরণের জন্য প্রকল্প, পরিষেবা এবং ডাটাবেসের নাম এবং আইডি নোট করুন।

  6. অবশিষ্ট সেটআপ ফ্লো অনুসরণ করুন তারপর সম্পন্ন ক্লিক করুন।

একটি উন্নয়ন পরিবেশ চয়ন করুন এবং সেট আপ করুন

Data Connect প্রোটোটাইপিংয়ের জন্য দুটি উন্নয়ন অভিজ্ঞতা সমর্থন করে:

  • আপনি যদি একজন Kotlin Android , iOS বা ওয়েব ডেভেলপার হন, তাহলে আপনি PostgreSQL উদাহরণের জন্য আপনার ক্লাউড SQL এর সাথে সংযোগ করার সময় স্থানীয়ভাবে স্কিমা এবং ক্রিয়াকলাপগুলি ডিজাইন এবং পরীক্ষা করতে VS কোড বিকাশ ব্যবহার করতে পারেন৷
  • আপনি যদি একজন ওয়েব ডেভেলপার হন, তাহলে আপনি IDX ডেভেলপমেন্ট ব্যবহার করতে পারেন IDX ওয়ার্কস্পেসে বিকাশের জন্য PostgreSQL এর সাথে একটি পূর্ব-কনফিগার করা IDX টেমপ্লেট, Data Connect এমুলেটরের সাথে VS কোড এক্সটেনশন এবং আপনার জন্য সেট আপ করা কুইকস্টার্ট কোড। আপনি Project IDX সাইটে আরও তথ্য পাবেন।

এই কুইকস্টার্টটি ভিএস কোড এক্সটেনশন ডেভেলপমেন্ট ফ্লোতে ফোকাস করে। চালিয়ে যেতে:

  1. আপনার স্থানীয় প্রকল্পের জন্য একটি নতুন ডিরেক্টরি তৈরি করুন।
  2. নতুন ডিরেক্টরিতে VS কোড খুলুন।
  3. ফায়ারবেস স্টোরেজ থেকে VSIX প্যাকেজ হিসাবে বান্ডিল করা এক্সটেনশনটি ডাউনলোড করুন।

  4. ভিএস কোডে, ভিউ মেনু থেকে, এক্সটেনশন নির্বাচন করুন।

  5. এক্সটেনশন প্যানেলের শিরোনাম বারে, মেনু আইকনে more_horiz ক্লিক করুন, তারপর VSIX থেকে ইনস্টল করুন... অনুসরণ করুন।

ঐচ্ছিকভাবে, আপনি Data Connect এমুলেটর দিয়ে স্থানীয় উন্নয়নের জন্য একটি স্থানীয় PostgreSQL ডাটাবেস ইনস্টল করতে পারেন। এই সেটআপটি এই কুইকস্টার্ট গাইডের শেষে কভার করা হয়েছে।

আপনার স্থানীয় প্রকল্প সেট আপ করুন

সাধারণ নির্দেশাবলী অনুসরণ করে CLI ইনস্টল করুন। আপনার যদি ইতিমধ্যেই npm ইনস্টল করা থাকে তবে নিম্নলিখিত কমান্ডটি চালান:

npm install -g firebase-tools

আপনার প্রকল্প ডিরেক্টরি সেট আপ করুন

আপনার স্থানীয় প্রকল্প সেট আপ করতে, আপনার প্রকল্প ডিরেক্টরি শুরু করুন.

VS Code বামদিকের প্যানেলে, Firebase VS Code এক্সটেনশন UI খুলতে Firebase আইকনে ক্লিক করুন।

Firebase এক্সটেনশন UI-তে:

  1. আপনি সাইন ইন করেছেন তা নিশ্চিত করুন৷
  2. রান ফায়ারবেস ইনিট বোতামে ক্লিক করুন।
  3. প্রম্পটের জন্য VS কোড নিম্ন প্যানেলে টার্মিনাল ট্যাব চেক করুন।
  4. এই ডিরেক্টরিতে ব্যবহার করার জন্য একটি বৈশিষ্ট্য হিসাবে ডেটা সংযোগ নির্বাচন করুন।
  5. প্রম্পট করা হলে, কনসোলে আগে তৈরি করা Data Connect প্রোজেক্টের প্রোজেক্ট, পরিষেবা এবং ডাটাবেস আইডি সরবরাহ করুন।

একটি স্কিমা তৈরি করুন

আপনার ফায়ারবেস প্রজেক্ট ডিরেক্টরিতে, /dataconnect/schema/schema.gql ফাইলে, একটি GraphQL স্কিমা সংজ্ঞায়িত করা শুরু করুন যাতে ব্যবহারকারী এবং ইমেল অন্তর্ভুক্ত থাকে।

ব্যবহারকারী

Data Connect , গ্রাফকিউএল ক্ষেত্রগুলি কলামে ম্যাপ করা হয়। ব্যবহারকারীদের একটি uid , name এবং ইমেল address আছে। Data Connect বেশ কয়েকটি আদিম ডেটা প্রকারকে স্বীকৃতি দেয়: String এবং Date

নিম্নলিখিত স্নিপেটটি অনুলিপি করুন বা ফাইলের সংশ্লিষ্ট লাইনগুলিকে আনকমেন্ট করুন।

# File `/dataconnect/schema/schema.gql`

type User @table(key: "uid") {
   uid: String!
   name: String!
   address: String!
}

ডিফল্টরূপে Firebase Data Connect একটি UUID id কী যোগ করবে যদি কোনোটি প্রদান করা না হয়। যাইহোক, এই ক্ষেত্রে আপনি আমার uid প্রাথমিক কী হতে চান, যা আপনি @table(key: "uid") নির্দেশের মাধ্যমে করতে পারেন।

ইমেইল

এখন আপনার ব্যবহারকারী আছে, আপনি ইমেল মডেল করতে পারেন. এখানে আপনি ইমেল ডেটার জন্য সাধারণ ক্ষেত্র (বা কলাম) যোগ করতে পারেন। এই সময়, আমরা একটি প্রাথমিক কী যোগ করা বাদ দিই কারণ আপনি এটি পরিচালনা করতে Data Connect উপর নির্ভর করতে পারেন।

# File `/dataconnect/schema/schema.gql`

type Email @table {
   subject: String!
   sent: Date!
   text: String!
   from: User!
}

লক্ষ্য করুন যে from ফিল্ডটি এক ধরণের User সাথে ম্যাপ করা হয়েছে। Data Connect বুঝতে পারে যে এটি Email এবং User মধ্যে একটি সম্পর্ক এবং আপনার জন্য এই সম্পর্কটি পরিচালনা করবে৷

উত্পাদনে আপনার স্কিমা স্থাপন করুন

আপনি যদি আপনার প্রোডাকশন ডাটাবেসের সাথে কাজ করার জন্য Firebase VS কোড এক্সটেনশন ব্যবহার করেন, তাহলে চালিয়ে যাওয়ার আগে আপনাকে আপনার স্কিমা স্থাপন করতে হবে। আপনার প্রোডাকশন ডাটাবেসে আপনার স্কিমা স্থাপন করার পরে, আপনি কনসোলে স্কিমা দেখতে সক্ষম হবেন।

  1. আপনি স্থাপন করতে Firebase VS কোড এক্সটেনশন ব্যবহার করতে পারেন।
    • এক্সটেনশন UI-তে, Firebase Data Connect প্যানেলের অধীনে, Deploy এ ক্লিক করুন।
  2. আপনাকে স্কিমা পরিবর্তনগুলি পর্যালোচনা করতে এবং সম্ভাব্য ধ্বংসাত্মক পরিবর্তনগুলি অনুমোদন করতে হতে পারে৷ আপনাকে অনুরোধ করা হবে:
    • firebase dataconnect:sql:diff ব্যবহার করে স্কিমা পরিবর্তন পর্যালোচনা করুন
    • আপনি যখন পরিবর্তন নিয়ে সন্তুষ্ট হন, firebase dataconnect:sql:migrate দ্বারা শুরু হওয়া ফ্লো ব্যবহার করে সেগুলি প্রয়োগ করুন।

আপনার টেবিলে ডেটা যোগ করুন

VS কোড এডিটর প্যানেলে, আপনি /dataconnect/schema/schema.gql এ গ্রাফকিউএল প্রকারের উপর কোডলেন্স বোতামগুলি উপস্থিত দেখতে পাবেন। যেহেতু আপনি আপনার স্কিমা উৎপাদনে স্থাপন করেছেন, আপনি ব্যাকএন্ডে আপনার ডাটাবেসে ডেটা যোগ করতে ডেটা যোগ করুন এবং রান (উৎপাদন) বোতামগুলি ব্যবহার করতে পারেন।

User এবং Email টেবিলে রেকর্ড যোগ করতে:

  1. schema.gql এ, User প্রকার ঘোষণার উপরে ডেটা যোগ করুন বোতামে ক্লিক করুন।
    ফায়ারবেস ডেটা সংযোগের জন্য কোড লেন্স ডেটা যোগ করার বোতাম
  2. User_insert.gql ফাইলে যেটি তৈরি হয়, তিনটি ক্ষেত্রের জন্য হার্ড কোড ডেটা।
  3. রান (উৎপাদন) বোতামে ক্লিক করুন।
    ফায়ারবেস ডেটা সংযোগের জন্য কোড লেন্স রান বোতাম
  4. Email টেবিলে একটি রেকর্ড যোগ করার জন্য পূর্ববর্তী পদক্ষেপগুলি পুনরাবৃত্তি করুন, fromUid ক্ষেত্রে আপনার ব্যবহারকারীর uid সরবরাহ করুন, যেমন জেনারেট করা Email_insert মিউটেশনে প্রম্পট করা হয়েছে।

আপনার প্রশ্ন সংজ্ঞায়িত করুন

এখন মজার অংশ, প্রশ্ন. একজন ডেভেলপার হিসেবে, আপনি GraphQL কোয়েরির পরিবর্তে SQL ক্যোয়ারী লিখতে অভ্যস্ত, তাই এটি প্রথমে কিছুটা আলাদা মনে হতে পারে। যাইহোক, GraphQL raw SQL এর চেয়ে অনেক বেশি পরিচ্ছন্ন এবং টাইপ-নিরাপদ। এবং আমাদের VS কোড এক্সটেনশন উন্নয়ন অভিজ্ঞতা সহজ করে.

/dataconnect/connector/queries.gql ফাইলটি সম্পাদনা করা শুরু করুন। আপনি যদি সব ইমেল পেতে চান, এই মত একটি প্রশ্ন ব্যবহার করুন.

# File `/dataconnect/connector/queries.gql`

query ListEmails @auth(level: NO_ACCESS) {
  emails {
    id, subject, text, sent
    from {
      name
    }
  }
}

কাছাকাছি কোডলেন্স বোতাম ব্যবহার করে ক্যোয়ারীটি চালান।

এখানে একটি সত্যিই উত্তেজনাপূর্ণ বৈশিষ্ট্য একটি গ্রাফ মত ডাটাবেসের সম্পর্ক আচরণ করার ক্ষমতা. যেহেতু একটি ইমেলের একটি from রয়েছে যা একজন ব্যবহারকারীকে উল্লেখ করে, আপনি ক্ষেত্রের মধ্যে নেস্ট করতে পারেন এবং ব্যবহারকারী সম্পর্কে তথ্য ফিরে পেতে পারেন।

উত্পাদনে আপনার স্কিমা এবং ক্যোয়ারী স্থাপন করুন

আপনি একটি উন্নয়ন পুনরাবৃত্তি মাধ্যমে কাজ করেছেন. এখন আপনি আপনার স্কিমা, ডেটা এবং প্রশ্নগুলিকে Firebase এক্সটেনশন UI বা Firebase CLI দিয়ে সার্ভারে স্থাপন করতে পারেন, ঠিক যেমন আপনি আপনার স্কিমা (#deploy-schema) দিয়ে করেছিলেন।

আপনি যদি ফায়ারবেস ভিএস কোড এক্সটেনশন ব্যবহার করেন তাহলে ডিপ্লয় বোতামে ক্লিক করুন।

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

(ঐচ্ছিক) স্থানীয়ভাবে PostgreSQL ইনস্টল করুন

PostgreSQL স্থানীয়ভাবে ইনস্টল করা এবং এটিকে এমুলেটরের সাথে একীভূত করা আপনাকে সম্পূর্ণ স্থানীয় উন্নয়ন পরিবেশে প্রোটোটাইপ করতে দেয়।

আপনি PostgreSQL এর একটি নতুন উদাহরণ ইনস্টল করতে পারেন বা একটি বিদ্যমান উদাহরণ ব্যবহার করতে পারেন।

PostgreSQL ইনস্টল করুন

আপনার প্ল্যাটফর্মের জন্য নির্দেশাবলী অনুসরণ করে PostgreSQL সংস্করণ 15.x ইনস্টল করুন।

হোস্টনেম, পোর্ট, ব্যবহারকারীর নাম এবং পাসওয়ার্ড এবং ইনস্টলেশন ক্রম চলাকালীন সম্পর্কিত পরামিতি আউটপুট নোট করুন।

আপনার PostgreSQL উদাহরণের সাথে সংযোগ করতে, এমুলেটর প্রয়োজন:

  • এই সেটআপ কনফিগারেশন পরামিতি
  • আপনার dataconnect.yaml থেকে ডাটাবেসের নাম এবং আপনার স্থানীয় উদাহরণে একটি সংশ্লিষ্ট-নামযুক্ত ডাটাবেস শুরু হয়েছে।

আপনার স্থানীয় PostgreSQL উদাহরণ ব্যবহার করুন

আপনি Data Connect এমুলেটর সেটিংস আপডেট করে একটি বিদ্যমান স্থানীয় PostgreSQL উদাহরণ ব্যবহার করতে পারেন।

firebase setup:emulators:dataconnect

অনুরোধ করা হলে, এই বিন্যাসে PostgreSQL সংযোগ স্ট্রিং লিখুন: postgresql://postgresusername:postgrespassword@localhost:5432/postgresdatabase?sslmode=disable

সংযোগ স্ট্রিং সম্পর্কে আরও জানতে, PostgreSQL ডকুমেন্টেশন পড়ুন।

আপনার স্থানীয় PostgreSQL উদাহরণের সাথে সংযোগ করুন

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

  1. VS কোডে, বামদিকের প্যানেলে, Firebase VS কোড এক্সটেনশন UI খুলতে Firebase আইকনে ক্লিক করুন।
  2. Connect to Local PostgreSQL বোতামে ক্লিক করুন।

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