Tagihan Durable Functions

Durable Functions memiliki penagihan yang sama dengan Azure Functions. Untuk informasi selengkapnya, lihat harga Azure Functions.

Saat menjalankan fungsi orkestrator dalam paket Konsumsi Azure Functions, ada beberapa perilaku penagihan yang perlu diperhatikan. Bagian berikut menjelaskan perilaku ini dan efeknya secara terperinci.

Fungsi orkestrator memutar ulang penagihan

Fungsi orkestrator mungkin diputar ulang beberapa kali selama masa pakai orkestrasi. Setiap pemutaran ulang ditampilkan oleh runtime Azure Functions sebagai pemanggilan fungsi yang berbeda. Untuk alasan ini, dalam paket Konsumsi Azure Functions Anda ditagih untuk setiap pemutaran ulang fungsi orkestrator. Jenis paket lain tidak dikenakan biaya untuk pemutaran ulang fungsi orkestrator.

Menunggu dan menghasilkan dalam fungsi orkestrator

Ketika fungsi orkestrator menunggu tugas asinkron selesai, runtime bahasa umum menganggap pemanggilan fungsi tertentu telah selesai. Penagihan untuk fungsi orkestrator berhenti pada saat itu. Ini tidak dilanjutkan sampai fungsi orkestrator berikutnya diputar ulang. Anda tidak ditagih untuk waktu yang dihabiskan untuk menunggu atau menghasilkan fungsi orkestrator.

Catatan

Fungsi yang memanggil fungsi lain dianggap oleh beberapa orang sebagai anti-pattern Tanpa Server. Ini karena masalah yang dikenal sebagai penagihan ganda. Ketika fungsi memanggil fungsi lain secara langsung, keduanya berjalan pada saat yang sama. Fungsi yang dipanggil secara aktif menjalankan kode saat fungsi panggilan sedang menunggu respons. Dalam kasus ini, Anda harus membayar waktu yang dihabiskan fungsi panggilan untuk menunggu fungsi yang dipanggil dijalankan.

Tidak ada penagihan ganda dalam fungsi orkestrator. Penagihan fungsi orkestrator berhenti sementara menunggu hasil dari fungsi aktivitas atau sub-orkestrasi.

Poling HTTP yang tahan lama

Fungsi orkestrator dapat melakukan panggilan HTTP jangka panjang ke titik akhir eksternal seperti yang dijelaskan dalam artikel fitur HTTP. API "panggil HTTP" mungkin secara internal melakukan polling titik akhir HTTP saat mengikuti pola asinkron 202.

Saat ini tidak ada penagihan langsung untuk operasi poling HTTP internal. Namun, poling internal dapat menyebabkan fungsi orkestrator diputar ulang secara berkala. Anda akan ditagih biaya standar untuk pemutaran ulang fungsi internal ini.

Transaksi Azure Storage

Durable Functions menggunakan Azure Storage secara default untuk menjaga status tetap persisten, memproses pesan, dan mengelola partisi melalui sewa blob. Karena Anda memiliki akun penyimpanan ini, biaya transaksi apa pun akan ditagih ke langganan Azure Anda. Untuk informasi selengkapnya tentang artefak Azure Storage yang digunakan oleh Durable Functions, lihat Artikel hub tugas.

Beberapa faktor berkontribusi pada biaya Azure Storage aktual yang dikeluarkan oleh aplikasi Durable Functions Anda:

  • Satu aplikasi fungsi dikaitkan dengan satu hub tugas, yang berbagi set sumber daya Azure Storage. Sumber daya ini digunakan oleh semua fungsi yang tahan lama dalam aplikasi fungsi. Jumlah fungsi aktual dalam aplikasi fungsi tidak berpengaruh pada biaya transaksi Azure Storage.
  • Setiap instans aplikasi fungsi secara internal melakukan poling beberapa antrean di akun penyimpanan dengan menggunakan algoritma poling exponential-backoff. Instans aplikasi yang tidak aktif lebih jarang melakukan poling pada antrean daripada aplikasi aktif, yang menghasilkan lebih sedikit biaya transaksi. Untuk informasi selengkapnya tentang perilaku polling antrean Durable Functions saat menggunakan penyedia Azure Storage, lihat bagian polling antrean dari dokumentasi penyedia Azure Storage.
  • Saat berjalan di Konsumsi Azure Functions atau paket Premium, pengontrol skala Azure Functions secara teratur melakukan poling semua antrean hub tugas di latar belakang. Jika aplikasi fungsi dalam skala ringan hingga sedang, hanya satu iinstans pengontrol skala yang akan melakukan poling pada antrean ini. Jika aplikasi fungsi menskalakan ke sejumlah besar instans, lebih banyak instans pengontrol skala mungkin ditambahkan. Instans pengontrol skala tambahan ini dapat meningkatkan total biaya transaksi antrean.
  • Setiap instans aplikasi fungsi bersaing untuk satu set sewa blob. Instans ini akan secara berkala melakukan panggilan ke Azure Blob service baik untuk memperpanjang sewa yang ditahan atau mencoba memperoleh sewa baru. Jumlah partisi yang dikonfigurasi tugas hub menentukan jumlah sewa blob. Menskalakan ke sejumlah besar instans aplikasi fungsi kemungkinan meningkatkan biaya transaksi Azure Storage yang terkait dengan operasi sewa ini.

Anda dapat menemukan informasi selengkapnya tentang harga Penyimpanan Azure dalam dokumentasi harga Azure Storage.

Langkah berikutnya