پشتیبانی آزمایشی از 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
Once the Local Emulator Suite boots up, you'll see a log line like functions http function initialized (http://127.0.0.1:5001/<url>) . Load that URL in your browser to call your locally emulated Dart function.
اگر کد Dart خود را ویرایش کنید، Firebase Local Emulator Suite تغییر را تشخیص داده و به طور خودکار تابع شما را مجدداً بارگذاری میکند.
استقرار
firebase deploy --only functions
فرآیند استقرار Dart با توابع 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 را امتحان کنید تا توابع را مستقیماً از برنامه خود فراخوانی کنید (با توجه به محدودیت ویژه در مورد روش فراخوانی).
محدودیتها
- The
onCalltrigger can be deployed, but cannot be called from client SDKs with methods such as httpsCallable , which identify functions by name. You can instead use methods such as httpsCallableFromURL and pass the full Cloud Run URL of your function. - محرکهای دیگر، مانند محرکهای Firestore، میتوانند در مجموعه شبیهساز محلی اجرا شوند، اما نمیتوان آنها را مستقر کرد.
- The Firebase console does not display Dart functions during the experimental release. You can view Dart functions in the Cloud Run functions page of the Cloud console instead.
اگر هنگام کار با توابع Dart با مشکلاتی مواجه شدید، توصیه میشود گزارشی را برای تیم ارسال کنید تا به ما در بهبود و گسترش SDK آزمایشی Dart کمک کند.