Cloud Functions برای Firebase
قابلیتهای کلیدی
| ویژگیهای Firebase را یکپارچه میکند و Firebase را به Google Cloud متصل میکند | توابعی که مینویسید میتوانند به رویدادهای تولیدشده توسط ویژگیهای مختلف Firebase و Google Cloud، از راهاندازهای «اصالتسنجی Firebase» تا راهاندازهای «فضای ذخیرهسازی ابری»، پاسخ دهند. بااستفاده از کیت توسعه نرمافزار سرپرست همراه با Cloud Functions، در ویژگیهای Firebase ادغام کنید و با نوشتن وبقلابهای خودتان، با سرویسهای طرف سوم ادغام کنید. Cloud Functions کد کلیشهای را بهحداقل میرساند و استفاده از Firebase و Google Cloud را در تابع شما آسانتر میکند. |
| بدون نیاز به تعمیر و نگهداری | کد JavaScript، TypeScript، یا Python خود را با یک فرمان از خط فرمان در سرورهای ما مستقر کنید. پساز آن، Firebase بهطور خودکار منابع محاسباتی را مقیاسبندی میکند تا با الگوهای استفاده کاربران شما مطابقت داشته باشد. دیگر نگران اطلاعات اعتباری، پیکربندی سرور، آمادهسازی سرورهای جدید، یا ازکار انداختن سرورهای قدیمی نباشید. |
| منطق شما را خصوصی و ایمن نگه میدارد | در بسیاری از موارد، توسعهدهندگان ترجیح میدهند منطق برنامه را در سرور کنترل کنند تا از دستکاری در سمت کارخواه جلوگیری کنند. همچنین، گاهی اوقات اجازه دادن به مهندسی معکوس آن کد مطلوب نیست. Cloud Functions کاملاً از کارخواه جدا شده است، بنابراین میتوانید مطمئن باشید که خصوصی است و همیشه دقیقاً همان کاری را که میخواهید انجام میدهد. |
چگونه کار میکند؟
پساز نوشتن و استقرار تابع، سرورهای Google بلافاصله شروع به مدیریت تابع میکنند. میتوانید تابع را مستقیماً با درخواست HTTP، Admin SDK، یا کار زمانبندیشده اجرا کنید، یا در مورد توابع پسزمینهای، سرورهای Google به رویدادها گوش میدهند و تابع را وقتی راهاندازی میشود اجرا میکنند.
با افزایش یا کاهش بار، Google با مقیاسبندی سریع تعداد نمونههای سرور مجازی موردنیاز برای اجرای تابع شما پاسخ میدهد. هر تابع بهصورت جداگانه در محیط خودش با پیکربندی خودش اجرا میشود.
چرخه حیات تابع پسزمینه
- برای تابع جدید کد مینویسید، ارائهدهنده رویداد (مثلاً Cloud Firestore) را انتخاب میکنید، و شرایطی را که تابع باید تحت آن اجرا شود تعریف میکنید.
- وقتی تابع خود را مستقر میکنید:
- Firebase CLI بایگانی
.zipاز کد تابع ایجاد میکند، که سپس در باکت Cloud Storage (با پیشوندgcf-sources) بارگذاری میشود، پیشاز اینکه Cloud Functions مخزن Artifact Registry (بهنامgcf-artifacts) را در پروژه شما ایجاد کند. - Cloud Build کد تابع را بازیابی میکند و منبع تابع را میسازد. میتوانید گزارشهای Cloud Build را در کنسول Google Cloud مشاهده کنید.
- تصویر محتوی کد توابع ساختهشده در مخزن خصوصی Artifact Registry در پروژه شما
(با نام
gcf-artifacts) بارگذاری میشود و تابع جدیدتان عرضه میشود.
- Firebase CLI بایگانی
- وقتی ارائهدهنده رویداد رویدادی را تولید میکند که با شرایط تابع مطابقت داشته باشد، کد فراخوانی میشود. این تابع حساب سرویسی دارد که میتوان از آن برای دسترسی به دیگر سرویسهای Firebase با کمک Firebase Admin SDK استفاده کرد.
- اگر تابع مشغول رسیدگی به رویدادهای زیادی باشد، Google نمونههای بیشتری ایجاد میکند تا کارها را سریعتر انجام دهد. اگر تابع در حالت آمادهبهکار باشد، نمونهها پاکسازی میشوند.
- وقتی تابع را با استقرار کد بهروزشده بهروز میکنید، نمونههای نسخههای قدیمیتر بههمراه آرتیفکتهای ساخت در Artifact Registry پاکسازی میشوند و با نمونههای جدید جایگزین میشوند.
- وقتی تابع را حذف میکنید، همه نمونهها و بایگانیهای فشرده پاکسازی میشوند، همراه با آرتیفکتهای ساخت مربوطه در Artifact Registry. ارتباط بین تابع و ارائهدهنده رویداد برداشته میشود.
علاوهبر گوش دادن به رویدادها با تابع پسزمینهای، میتوانید توابع را مستقیماً با درخواست HTTP یا تماس از مشتری فراخوانی کنید. همچنین میتوانید عملکردهای را در برنامه زمانی ثابت یا عملکردهای تکلیف در صف ازطریق Admin SDK راهاندازی کنید.
مسیر پیادهسازی
| راهاندازی Cloud Functions | Firebase CLI را نصب کنید و Cloud Functions را در پروژه Firebase خود مقداردهی اولیه کنید. | |
| نوشتن توابع | برای مدیریت رویدادهای سرویسهای Firebase، سرویسهای Google Cloud، یا دیگر ارائهدهندگان رویداد، کد JavaScript، کد TypeScript، یا کد Python بنویسید. | |
| کارکردهای آزمایشی | برای آزمایش کردن توابع، از شبیهساز محلی استفاده کنید. | |
| استقرار و نظارت | پروژهتان را به طرح قیمتگذاری Blaze پرداخت به اندازه استفاده ارتقا دهید و کارکردهای خود را بااستفاده از Firebase CLI پیاده کنید. سپس میتوانید از Google Cloud کنسول برای مشاهده و جستجو در گزارشهایتان استفاده کنید. |
مراحل بعدی
- راهاندازی، ایجاد، و استقرار توابع را با شروع به کار آغاز کنید.
- درباره کارهایی که میتوانید با توابع انجام دهید بیشتر بدانید.
- Cloud Functions codelab را امتحان کنید.