Bagikan melalui


Cara menonaktifkan fungsi di Azure Functions

Artikel ini menjelaskan cara menonaktifkan fungsi di Azure Functions. Untuk menonaktifkan fungsi berarti membuat runtime mengabaikan peristiwa yang dimaksudkan untuk memicu fungsi. Kemampuan ini memungkinkan Anda mencegah fungsi tertentu berjalan tanpa harus memodifikasi dan menerbitkan ulang seluruh aplikasi fungsi.

Anda dapat menonaktifkan fungsi di tempat dengan membuat pengaturan aplikasi dalam format AzureWebJobs.<FUNCTION_NAME>.Disabled yang diatur ke true. Anda dapat membuat dan mengubah pengaturan aplikasi ini dengan beberapa cara, termasuk dengan menggunakan Azure CLI, Azure PowerShell, dan dari tab Gambaran Umum fungsi Anda di portal Azure.

Perubahan pada pengaturan aplikasi menyebabkan aplikasi fungsi Anda dimulai ulang. Untuk informasi selengkapnya, lihat Referensi pengaturan aplikasi untuk Azure Functions.

Menonaktifkan fungsi

Gunakan salah satu mode ini untuk membuat pengaturan aplikasi yang menonaktifkan fungsi contoh bernama QueueTrigger:

Gunakan tombol Aktifkan dan Nonaktifkan pada halaman Gambaran Umum fungsi. Tombol ini berfungsi dengan mengubah nilai pengaturan aplikasi AzureWebJobs.QueueTrigger.Disabled. Pengaturan aplikasi khusus fungsi dibuat saat pertama kali fungsi dinonaktifkan.

Function state switch

Bahkan saat menerbitkan ke aplikasi fungsi dari proyek lokal, Anda masih dapat menggunakan portal untuk menonaktifkan fungsi di aplikasi fungsi.

Catatan

Fungsi yang dinonaktifkan masih dapat dijalankan dengan memanggil titik akhir REST menggunakan kunci master. Untuk mempelajari selengkapnya, lihat Menjalankan fungsi yang dinonaktifkan. Ini berarti bahwa fungsi yang dinonaktifkan masih berjalan saat dimulai dari jendela Uji/Jalankan di portal menggunakan master (Kunci host).

Menonaktifkan fungsi dalam slot

Secara default, pengaturan aplikasi juga berlaku untuk aplikasi yang berjalan di slot penyebaran. Namun, Anda dapat mengambil alih pengaturan aplikasi yang digunakan oleh slot dengan mengatur pengaturan aplikasi khusus slot. Misalnya, Anda mungkin ingin fungsi aktif dalam produksi tetapi tidak selama pengujian penyebaran. Adalah umum untuk menonaktifkan fungsi yang dipicu timer di slot untuk mencegah eksekusi simultan.

Untuk menonaktifkan fungsi hanya di slot penahapan:

Navigasikan ke instans slot aplikasi fungsi Anda dengan memilih Slot penyebaran di bawah Penyebaran, pilih slot Anda, dan pilih Functions di instans slot. Pilih fungsi Anda, lalu gunakan tombol Aktifkan dan Nonaktifkan pada halaman Gambaran Umum fungsi. Tombol ini berfungsi dengan mengubah nilai pengaturan aplikasi AzureWebJobs.<FUNCTION_NAME>.Disabled. Pengaturan khusus fungsi ini dibuat saat pertama kali Anda menonaktifkan fungsi.

Anda juga dapat langsung menambahkan pengaturan aplikasi bernama AzureWebJobs.<FUNCTION_NAME>.Disabled dengan nilai true dalam Konfigurasi untuk instans slot. Saat Anda menambahkan pengaturan aplikasi khusus slot, pastikan untuk mencentang kotak Pengaturan slot penyebaran. Opsi ini mempertahankan nilai pengaturan dengan slot selama pertukaran.

Untuk mempelajari selengkapnya, lihat Slot Penyebaran Azure Functions.

Menjalankan fungsi yang dinonaktifkan

Anda masih dapat menyebabkan fungsi yang dinonaktifkan berjalan dengan menyediakan kunci master dalam permintaan REST ke URL titik akhir fungsi yang dinonaktifkan. Dengan cara ini, Anda dapat mengembangkan dan memvalidasi fungsi di Azure dalam status dinonaktifkan sambil mencegah fungsi diakses oleh orang lain. Menggunakan jenis kunci lain dalam permintaan mengembalikan respons HTTP 404.

Perhatian

Karena izin yang ditinggikan di aplikasi fungsi yang diberikan oleh kunci master, Anda tidak boleh berbagi kunci ini dengan pihak ketiga atau mendistribusikannya di aplikasi klien asli. Berhati-hatilah saat memilih tingkat akses admin.

Untuk mempelajari selengkapnya tentang kunci master, lihat Mendapatkan kunci. Untuk mempelajari selengkapnya tentang memanggil fungsi yang dipicu non-HTTP, lihat Menjalankan fungsi yang tidak dipicu HTTP secara manual.

Menonaktifkan fungsi secara lokal

Fungsi dapat dinonaktifkan dengan cara yang sama saat berjalan secara lokal. Untuk menonaktifkan fungsi bernama QueueTrigger, tambahkan entri ke koleksi Nilai di file local.settings.json, sebagai berikut:

{
  "IsEncrypted": false,
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "python",
    "AzureWebJobsStorage": "UseDevelopmentStorage=true", 
    "AzureWebJobs.QueueTrigger.Disabled": true
  }
}

Pertimbangan

Ingatlah pertimbangan berikut ketika Anda menonaktifkan fungsi:

  • Saat Anda menonaktifkan fungsi yang dipicu HTTP dengan menggunakan metode yang dijelaskan dalam artikel ini, titik akhir masih dapat diakses saat berjalan di komputer lokal Anda dan di portal.

  • Saat ini, nama fungsi yang berisi tanda hubung (-) tidak dapat dinonaktifkan saat berjalan di Linux. Jika Anda berencana untuk menonaktifkan fungsi saat berjalan di Linux, jangan gunakan tanda hubung dalam nama fungsi Anda.

Langkah berikutnya

Artikel ini berisi tentang menonaktifkan pemicu otomatis. Untuk informasi selengkapnya tentang pemicu, lihat Pemicu dan pengikatan.