پشتیبانی آزمایشی Dart در Cloud Functions for Firebase به شما امکان میدهد برنامههای پشته کامل را با Flutter و Dart بسازید. با کیت توسعه نرمافزار جدید Firebase Admin Dart با دیگر سرویسهای Firebase ارتباط برقرار کنید.
برای شروع کار با توابع Dart، کارهای راهاندازی را در این راهنما انجام دهید و سپس به کاوش Dart HTTP و توابع قابلفراخوانی ادامه دهید.
پیشنیازها
- کیت توسعه نرمافزار Dart نسخه ۳.۹ یا بالاتر
- Firebase CLI (نسخه ۱۵.۱۵.۰ یا بالاتر)
بررسی کنید که نسخهای از Firebase CLI را داشته باشید که از Dart در
Cloud Functions for Firebase با پرچم --version پشتیبانی کند:
`firebase --version`
آزمایش را در Firebase CLI فعال کنید
firebase experiments:enable dartfunctions
مقداردهی اولیه پروژه
اجرا:
firebase init functionsDart را بهعنوان زبان خود انتخاب کنید.
وقتی پرسیده شد «Do you want to install dependencies now?» (آیا میخواهید وابستگیها را اکنون نصب کنید؟)، پاسخ دهید «Yes» (بله).
مشاهده کد تابع
کدی را که در functions/bin/server.dart (یا نقطه ورودی شما) تولید شده است مشاهده کنید. این کد یک تابع HTTP ساده را نشان میدهد.
توجه داشته باشید که کد نمونه حداکثر تعداد نمونهها را برای تابع helloWorld با سازنده HttpsOptions روی ۱۰ تنظیم میکند. در تنظیم گزینههای زمان اجرا میتوانید درباره گزینههای زمان اجرا بیشتر بدانید.
آزمایش محلی
firebase emulators:start
وقتی Local Emulator Suite راهاندازی شد،
خط گزارشی مثل functions http function initialized
(http://127.0.0.1:5001/<url>) خواهید دید. آن نشانی وب را در مرورگرتان بار کنید تا تابع Dart شبیهسازیشده محلیتان را فراخوانی کنید.
اگر کد Dart را ویرایش کنید، Firebase Local Emulator Suite تغییر را شناسایی میکند و تابع شما را بهطور خودکار بازبار میکند.
استقرار
firebase deploy --only functions
فرایند استقرار Dart با توابع Node.js یا Python متفاوت است. بهجای بارگذاری کد منبع برای ساخته شدن در Cloud Build، Firebase CLI مرحله کامپایل Dart را در ماشین توسعه نرمافزار شما اجرا میکند و باینری تولیدشده را مستقیماً در توابع Cloud Run بارگذاری میکند.
وقتی استقرار کامل شد، خط گزارشی مانند Function URL
(hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app خواهید دید
آن نشانی وب را در مرورگرتان بار کنید تا تابع Dart جدیداً مستقرشدهتان را فراخوانی کنید.
مراحل بعدی
- گزینههای پیکربندی را تنظیم کنید، مثلاً حداقل نمونهها.
- درباره توابع HTTP و توابع قابلفراخوانی بیشتر بدانید.
- codelab مربوط به Dart Functions را دنبال کنید codelab مربوط به Dart Functions
- از DartAdmin SDK آزمایشی برای تعامل با سایر سرویسهای Firebase، مانند Cloud Firestore، از تابع خود استفاده کنید.
- علاوهبر توابع HTTP
onRequest، میتوانید نمونهonCallیا نمونهonCallبا جاریسازی را برای فراخوانی مستقیم توابع از برنامهتان امتحان کنید (با توجه به محدودیت خاص مربوط به روش فراخوانی).
محدودیتها
- راهانداز
onCallرا میتوان مستقر کرد، اما نمیتوان آن را از کیتهای توسعه نرمافزار کارخواه با روشهایی مثل httpsCallable که توابع را با نام شناسایی میکنند فراخوانی کرد. درعوض میتوانید از روشهایی مثل httpsCallableFromURL استفاده کنید و نشانی وب کامل Cloud Run تابع خود را ارسال کنید. - راهاندازهای دیگر، مثل راهاندازهای Firestore، میتوانند در مجموعه شبیهساز محلی اجرا شوند، اما نمیتوانند مستقر شوند.
- کنسول Firebase توابع Dart را درطول انتشار آزمایشی نمایش نمیدهد. درعوض، میتوانید توابع Dart را در صفحه توابع Cloud Run در کنسول Cloud مشاهده کنید.
اگر هنگام کار با توابع Dart با مشکلی مواجه شدید، لطفاً گزارشی برای تیم ارسال کنید تا به ما در بهبود و گسترش Dart SDK آزمایشی کمک کنید.