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