Cloud Functions برای فایربیس

Cloud Functions برای فایربیس یک چارچوب بدون سرور است که به شما امکان می‌دهد به طور خودکار کد بک‌اند را در پاسخ به رویدادهایی که توسط رویدادهای پس‌زمینه، درخواست‌های HTTPS، Admin SDK یا کارهای Cloud Scheduler ایجاد می‌شوند، اجرا کنید. کد جاوا اسکریپت، تایپ اسکریپت یا پایتون شما در زیرساخت ابری گوگل ذخیره می‌شود و در یک محیط مدیریت‌شده اجرا می‌شود. نیازی به مدیریت و مقیاس‌بندی سرورهای خودتان نیست.

آیا از قبل از توابع Cloud Run در Google Cloud استفاده می‌کنید؟ درباره اینکه Firebase چگونه در این زمینه جای می‌گیرد، بیشتر بدانید .

شروع کنید موارد استفاده

قابلیت‌های کلیدی

ویژگی‌های Firebase را ادغام می‌کند و Firebase را با Google Cloud متصل می‌کند.

توابعی که می‌نویسید می‌توانند به رویدادهای تولید شده توسط ویژگی‌های مختلف Firebase و Google Cloud ، از triggerهای احراز هویت Firebase گرفته تا triggerهای ذخیره‌سازی ابری، پاسخ دهند.

با استفاده از Admin SDK و Cloud Functions، ویژگی‌های Firebase را با هم ادغام کنید و با نوشتن webhook های خودتان، آنها را با سرویس‌های شخص ثالث ادغام کنید. Cloud Functions کدهای تکراری را به حداقل می‌رساند و استفاده از Firebase و Google Cloud را در داخل تابع شما آسان‌تر می‌کند.
صفر تعمیر و نگهداری کد جاوا اسکریپت، تایپ اسکریپت یا پایتون خود را با یک دستور از خط فرمان روی سرورهای ما مستقر کنید. پس از آن، فایربیس به طور خودکار منابع محاسباتی را برای مطابقت با الگوهای استفاده کاربران شما افزایش می‌دهد. شما هرگز نگران اعتبارنامه‌ها، پیکربندی سرور، تهیه سرورهای جدید یا از رده خارج کردن سرورهای قدیمی نخواهید بود.
منطق شما را خصوصی و امن نگه می‌دارد در بسیاری از موارد، توسعه‌دهندگان ترجیح می‌دهند منطق برنامه را روی سرور کنترل کنند تا از دستکاری در سمت کلاینت جلوگیری شود. همچنین، گاهی اوقات مطلوب نیست که اجازه داده شود آن کد مهندسی معکوس شود. Cloud Functions کاملاً از کلاینت جدا هستند، بنابراین می‌توانید مطمئن باشید که خصوصی است و همیشه دقیقاً همان کاری را که می‌خواهید انجام می‌دهد.

چگونه کار می‌کند؟

بعد از اینکه یک تابع را نوشتید و مستقر کردید، سرورهای گوگل بلافاصله شروع به مدیریت آن تابع می‌کنند. می‌توانید تابع را مستقیماً با یک درخواست HTTP، Admin SDK یا یک کار زمان‌بندی شده اجرا کنید، یا در مورد توابع پس‌زمینه، سرورهای گوگل به رویدادها گوش می‌دهند و وقتی تابع فعال شد، آن را اجرا می‌کنند.

با افزایش یا کاهش بار، گوگل با افزایش سریع تعداد نمونه‌های سرور مجازی مورد نیاز برای اجرای تابع شما، واکنش نشان می‌دهد. هر تابع به صورت جداگانه، در محیط خاص خود با پیکربندی خاص خود اجرا می‌شود.

چرخه حیات یک تابع پس‌زمینه

  1. شما برای یک تابع جدید کد می‌نویسید، یک ارائه‌دهنده رویداد (مانند Cloud Firestore ) انتخاب می‌کنید و شرایطی را که تابع باید تحت آن اجرا شود، تعریف می‌کنید.
  2. وقتی تابع خود را مستقر می‌کنید:
    1. رابط خط فرمان Firebase CLI) یک آرشیو .zip از کد تابع ایجاد می‌کند که سپس در یک مخزن Cloud Storage (با پیشوند gcf-sources ) آپلود می‌شود، قبل از اینکه Cloud Functions یک مخزن Artifact Registry (با نام gcf-artifacts ) در پروژه شما ایجاد کند.
    2. Cloud Build کد تابع را بازیابی کرده و منبع تابع را می‌سازد. می‌توانید گزارش‌های Cloud Build را در کنسول Google Cloud مشاهده کنید.
    3. تصویر کانتینر مربوط به کد توابع ساخته شده در یک مخزن خصوصی Artifact Registry در پروژه شما (با نام gcf-artifacts ) آپلود می‌شود و تابع جدید شما منتشر می‌شود.
  3. وقتی ارائه‌دهنده رویداد، رویدادی را ایجاد می‌کند که با شرایط تابع مطابقت دارد، کد فراخوانی می‌شود. این تابع یک حساب کاربری سرویس متصل به خود دارد که می‌تواند با کمک Firebase Admin SDK برای دسترسی به سایر سرویس‌های Firebase استفاده شود.
  4. اگر تابع مشغول مدیریت رویدادهای زیادی باشد، گوگل نمونه‌های بیشتری ایجاد می‌کند تا کار را سریع‌تر انجام دهد. اگر تابع بیکار باشد، نمونه‌ها پاک‌سازی می‌شوند.
  5. وقتی تابع را با استفاده از کد به‌روزرسانی‌شده به‌روزرسانی می‌کنید، نمونه‌های نسخه‌های قدیمی‌تر به همراه مصنوعات ساخت در Artifact Registry پاک می‌شوند و با نمونه‌های جدید جایگزین می‌شوند.
  6. وقتی تابع را حذف می‌کنید، تمام نمونه‌ها و آرشیوهای زیپ، به همراه مصنوعات ساخت مرتبط در Artifact Registry ، پاک می‌شوند. ارتباط بین تابع و ارائه‌دهنده رویداد حذف می‌شود.

علاوه بر گوش دادن به رویدادها با یک تابع پس‌زمینه، می‌توانید توابع را مستقیماً با یک درخواست HTTP یا یک فراخوانی از کلاینت فراخوانی کنید. همچنین می‌توانید توابع را در یک برنامه ثابت اجرا کنید یا توابع وظیفه را از طریق Admin SDK در صف قرار دهید.

مسیر پیاده‌سازی

تنظیم Cloud Functions رابط خط فرمان Firebase CLI) را نصب کنید و Cloud Functions در پروژه فایربیس خود مقداردهی اولیه کنید.
نوشتن توابع کد جاوا اسکریپت، کد تایپ اسکریپت یا کد پایتون را برای مدیریت رویدادهای سرویس‌های Firebase، سرویس‌های Google Cloud یا سایر ارائه‌دهندگان رویداد بنویسید.
توابع تست برای آزمایش توابع خود از شبیه‌ساز محلی استفاده کنید.
استقرار و نظارت پروژه خود را به طرح قیمت‌گذاری پرداخت در محل Blaze ارتقا دهید و توابع خود را با استفاده از Firebase CLI مستقر کنید. سپس می‌توانید از کنسول Google Cloud برای مشاهده و جستجو در گزارش‌های خود استفاده کنید.

مراحل بعدی