Check out what’s new from Firebase at Google I/O 2022. Learn more

ক্লাউড ফাংশন অবস্থান

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

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

ক্লাউড ফাংশন নিম্নলিখিত অঞ্চলে টিয়ার 1 মূল্যের সাথে উপলব্ধ:

  • us-central1 (আইওয়া)
  • us-east1 (দক্ষিণ ক্যারোলিনা)
  • us-east4 (উত্তর ভার্জিনিয়া)
  • europe-west1 (বেলজিয়াম)
  • europe-west2 (লন্ডন)
  • asia-east1 (তাইওয়ান)
  • asia-east2 (হংকং)
  • asia-northeast1 (টোকিও)
  • asia-northeast2 (ওসাকা)

ক্লাউড ফাংশন নিম্নলিখিত অঞ্চলে টিয়ার 2 মূল্যের সাথে উপলব্ধ:

  • us-west2 (লস এঞ্জেলেস)
  • us-west3 (সল্ট লেক সিটি)
  • us-west4 (লাস ভেগাস)
  • northamerica-northeast1 (মন্ট্রিল)
  • southamerica-east1 (সাও পাওলো)
  • europe-west3 (ফ্রাঙ্কফুর্ট)
  • europe-west6 (জুরিখ)
  • europe-central2 (ওয়ারশ)
  • australia-southeast1 (সিডনি)
  • asia-south1 (মুম্বাই)
  • asia-southeast1 (সিঙ্গাপুর)
  • asia-southeast2 (জাকার্তা)
  • asia-northeast3 (সিউল)

একটি প্রদত্ত প্রকল্পে একটি প্রদত্ত অঞ্চলের ফাংশনগুলির অনন্য (কেস সংবেদনশীল) নাম থাকতে হবে, তবে অঞ্চল জুড়ে বা প্রকল্প জুড়ে ফাংশনগুলি একই নাম ভাগ করতে পারে৷

অঞ্চল পরিবর্তনের জন্য সর্বোত্তম অনুশীলন

ডিফল্টরূপে, ফাংশন us-central1 অঞ্চলে চলে। মনে রাখবেন যে এটি একটি ইভেন্ট উত্সের অঞ্চল থেকে আলাদা হতে পারে, যেমন একটি ক্লাউড স্টোরেজ বালতি৷ আপনি যদি একটি ফাংশন চলে এমন অঞ্চল পরিবর্তন করতে চান, প্রতিটি ফাংশন ট্রিগার প্রকারের জন্য এই বিভাগে সুপারিশগুলি অনুসরণ করুন।

যে অঞ্চলে একটি ফাংশন চলে সেটি সেট করতে, ফাংশনের সংজ্ঞায় region পরামিতি সেট করুন যেমন দেখানো হয়েছে:

exports.myStorageFunction = functions
    .region('europe-west1')
    .storage
    .object()
    .onFinalize((object) => {
      // ...
    });

আপনি functions.region() -এ একাধিক কমা-বিভক্ত অঞ্চল স্ট্রিং পাস করে একাধিক অঞ্চল নির্দিষ্ট করতে পারেন। প্রস্তাবিত পদ্ধতি সম্পর্কে আরও তথ্যের জন্য একটি ফাংশনের অঞ্চল পরিবর্তন দেখুন।

HTTP এবং ক্লায়েন্ট কলযোগ্য ফাংশন

HTTP এবং কলযোগ্য ফাংশনগুলির জন্য, আমরা সুপারিশ করি যে আপনি প্রথমে আপনার ফাংশনকে গন্তব্য অঞ্চলে সেট করুন, বা সবচেয়ে কাছের যেখানে সর্বাধিক প্রত্যাশিত গ্রাহকরা অবস্থান করছেন, এবং তারপরে আপনার আসল ফাংশনটি পরিবর্তন করে তার HTTP অনুরোধকে নতুন ফাংশনে পুনঃনির্দেশিত করুন (তাদের একই থাকতে পারে নাম)। যদি আপনার HTTP ফাংশনের ক্লায়েন্ট পুনঃনির্দেশ সমর্থন করে, তাহলে আপনি আপনার নতুন ফাংশনের URL সহ একটি HTTP পুনঃনির্দেশ স্থিতি (301) ফেরত দিতে আপনার আসল ফাংশন পরিবর্তন করতে পারেন। যদি আপনার ক্লায়েন্টরা পুনঃনির্দেশগুলি ভালভাবে পরিচালনা না করে, আপনি মূল ফাংশন থেকে নতুন ফাংশনে একটি নতুন অনুরোধ শুরু করার মাধ্যমে মূল ফাংশন থেকে নতুন ফাংশনে অনুরোধটি প্রক্সি করতে পারেন। চূড়ান্ত পদক্ষেপ হল নিশ্চিত করা যে সমস্ত ক্লায়েন্ট নতুন ফাংশন কল করছে।

কলযোগ্য ফাংশনের জন্য ক্লায়েন্ট-সাইড অবস্থান নির্বাচন

কলযোগ্য ফাংশন সম্পর্কে, ক্লায়েন্ট কলযোগ্য সেটআপগুলিকে HTTP ফাংশনগুলির মতো একই নির্দেশিকা অনুসরণ করা উচিত। ক্লায়েন্ট একটি অঞ্চলও নির্দিষ্ট করতে পারে, এবং যদি ফাংশনটি us-central1 ব্যতীত অন্য কোনও অঞ্চলে চলে তবে তা অবশ্যই করতে হবে।

ক্লায়েন্টে অঞ্চল সেট করতে, শুরুতে পছন্দসই অঞ্চলটি নির্দিষ্ট করুন:

সুইফট

lazy var functions = Functions.functions(region:"europe-west1")

উদ্দেশ্য গ

@property(strong, nonatomic) FIRFunctions *functions;
// ...
self.functions = [FIRFunctions functionsWithRegion:@"europe-west1"];

ওয়েব


var functions = firebase.app().functions('europe-west1');

অ্যান্ড্রয়েড

private FirebaseFunctions mFunctions;
// ...
mFunctions = FirebaseFunctions.getInstance("europe-west1");

সি++

firebase::functions::Functions* functions;
// ...
functions = firebase::functions::Functions::GetInstance("europe-west1");

ঐক্য

firebase.Functions.FirebaseFunctions functions;

functions = Firebase.Functions.FirebaseFunctions.GetInstance("europe-west1");

পটভূমি ফাংশন

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

যদি আপনার ফাংশনটি বর্তমানে idempotent না হয়, বা এর idempotency অঞ্চলের বাইরে প্রসারিত না হয়, তাহলে আমরা সুপারিশ করব যে আপনি ফাংশনটি সরানোর আগে প্রথমে idempotency প্রয়োগ করুন৷

ইভেন্ট ট্রিগার প্রকারের দ্বারা সর্বোত্তম অঞ্চলের সুপারিশগুলি পৃথক হয়:

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

ক্লাউড ফায়ারস্টোর এবং ক্লাউড স্টোরেজ অবস্থানের উপর ভিত্তি করে অঞ্চল নির্বাচন করা

ফাংশনের জন্য উপলব্ধ অঞ্চলগুলি সবসময় আপনার ক্লাউড ফায়ারস্টোর ডাটাবেস এবং আপনার ক্লাউড স্টোরেজ বালতিগুলির জন্য উপলব্ধ অঞ্চলগুলির সাথে অবিকল মেলে না৷

মনে রাখবেন যে যদি আপনার ফাংশন এবং আপনার সংস্থান (ডাটাবেস ইনস্ট্যান্স বা ক্লাউড স্টোরেজ বালতি) বিভিন্ন স্থানে থাকে, তাহলে আপনি সম্ভাব্য দেরি এবং বিলিং খরচ বৃদ্ধির অভিজ্ঞতা পেতে পারেন।

এখানে ক্লাউড ফায়ারস্টোর এবং ক্লাউড স্টোরেজের জন্য নিকটতম ফাংশন-সমর্থিত অঞ্চলগুলির একটি ম্যাপিং রয়েছে, যেখানে একই অঞ্চল সমর্থিত নয় :

ক্লাউড ফায়ারস্টোর এবং ক্লাউড স্টোরেজের জন্য অঞ্চল/মাল্টি-অঞ্চল ফাংশন জন্য নিকটতম অঞ্চল
nam5 বা মার্কিন us-central (বহু-অঞ্চল) us-central1
eur3 বা europe-west (মাল্টি-অঞ্চল) europe-west1
asia-south1 (মুম্বাই) asia-east2