کدی که با درخواست اجرا میشود.
یک تابع fetch بنویسید و مستقر کنید. با هر درخواست اجرا میشود، در بیکاری میخوابد و به ازای درخواست و زمان CPU فعال حساب میشود.
استاندارد وب، نه API اختصاصی
فانکشن یک ماژول با تابع fetch است، همان شکل استاندارد WinterTC. Request، Response، fetch، crypto و streamها هماناند که در مرورگر میشناسید، و ماژولهای داخلی Node هم در دسترساند.
export default {
async fetch(request: Request, env: Env) {
const url = new URL(request.url)
return Response.json({ hello: url.searchParams.get("name") ?? "salam" })
},
}آنچه میگیرید
اجرا با درخواست
نه سروری برای روشن نگه داشتن، نه ظرفیتی برای تنظیم. با درخواست اجرا میشود و در بیکاری میخوابد.
زمانبندی cron
تا ۵ عبارت cron برای هر فانکشن، با منطقهٔ زمانی دلخواه؛ پیشفرض تهران. هر نوبت حداکثر یک بار اجرا میشود.
سکرتها
سکرتها رمزگذاریشده نگه داشته میشوند و هرگز دوباره نشان داده نمیشوند. فقط در حافظهٔ فانکشن باز میشوند.
لاگ زنده
console.log، درخواستها و اجرای cronها، زنده در ترمینال یا داشبورد.
مانیتورینگ و هشدار
درخواستها، خطاهای ۴xx و ۵xx و p50/p95/p99 هر مسیر در یک ساعت، یک روز و یک هفته. هشدار با ایمیل، پیامک یا وبهوک.
نسخه و بازگشت
هر استقرار یک نسخهٔ تغییرناپذیر است؛ برگشتن یک دستور است.
اتصال به داده
env.DB برای دیتابیس، env.CACHE برای کش، env.BUCKET برای باکت. بدون رشتهٔ اتصال و کلید در کد.
fetch به بیرون
فانکشن میتواند هر API عمومی را صدا بزند. آدرسهای شبکهٔ داخلی بستهاند.
پیشنمایش برای هر شاخه
git push یک شاخه، آدرس آزمایشی خودش را میدهد.
کار شبانه، بدون سرور
هر روز ساعت ۳ بامداد به وقت تهران، سبدهای خرید قدیمی پاک میشوند. دیتابیس فقط همان چند ثانیه بیدار است.
name = "reports"
type = "function"
main = "index.ts"
[[db]]
binding = "DB"
database = "shop"
[triggers]
crons = ["0 3 * * *"]به ازای درخواست و CPU فعال
هر اجرا یک درخواست حساب میشود، بهعلاوهٔ زمانی که کد واقعاً روی CPU کار کرده است. منتظر ماندن برای دیتابیس یا یک API بیرونی حساب نمیشود. پلن رایگان هر ماه سهم رایگان دارد.
پرسشهای رایج
JavaScript یا TypeScript، به شکل ماژول استاندارد وب.
بیشترشان بله. ماژولهای داخلی Node در دسترساند و CLI کد و وابستگیها را با هم بستهبندی میکند. کتابخانهای که به فایلهای باینری بومی نیاز دارد اجرا نمیشود.
روی سرورهای ما داخل ایران. کد هر مشتری در فرایند جداگانهٔ خودش اجرا میشود، نه کنار کد مشتری دیگر.
فانکشن با اولین درخواست روشن میشود و تأخیر آن در نمودار مانیتورینگ، جزء تأخیر همان درخواست دیده میشود. عدد رسمی را پس از آزمون روی زیرساخت نهایی منتشر میکنیم.
رمزگذاریشده با کلید حساب شما. بعد از ذخیره، هیچکس، حتی خودتان، مقدارشان را دوباره نمیبیند؛ فقط فانکشن هنگام اجرا آن را میخواند.
بله. با git push، با API یا از ابزار هوش مصنوعیتان از راه سرور MCP.
اولین فانکشنتان را مستقر کنید
یک فایل، یک دستور، یک آدرس.
فعلاً ثبتنام با کد دعوت است. اگر کد دارید، همین حالا حساب ایجاد کنید.
ثبتنام باکد ایمیلکد پیامکی