Mengembangkan Azure Functions secara lokal menggunakan Core Tools

Azure Functions Core Tools memungkinkan Anda mengembangkan dan menguji fungsi di komputer lokal Anda. Setelah siap, Anda juga dapat menggunakan Core Tools untuk menyebarkan proyek kode Anda ke Azure dan bekerja dengan pengaturan aplikasi.

Anda melihat versi C# dari artikel ini. Pastikan untuk memilih bahasa pemrograman Functions pilihan Anda di bagian atas artikel.

Jika Anda ingin segera memulai, selesaikan artikel mulai cepat Core Tools.

Anda menampilkan versi Java dari artikel ini. Pastikan untuk memilih bahasa pemrograman Functions pilihan Anda di bagian atas artikel.

Jika Anda ingin segera memulai, selesaikan artikel mulai cepat Core Tools.

Anda melihat versi JavaScript dari artikel ini. Pastikan untuk memilih bahasa pemrograman Functions pilihan Anda di bagian atas artikel.

Jika Anda ingin segera memulai, selesaikan artikel mulai cepat Core Tools.

Anda menampilkan versi PowerShell dari artikel ini. Pastikan untuk memilih bahasa pemrograman Functions pilihan Anda di bagian atas artikel.

Jika Anda ingin segera memulai, selesaikan artikel mulai cepat Core Tools.

Anda melihat versi Python dari artikel ini. Pastikan untuk memilih bahasa pemrograman Functions pilihan Anda di bagian atas artikel.

Jika Anda ingin segera memulai, selesaikan artikel mulai cepat Core Tools.

Anda melihat versi TypeScript dari artikel ini. Pastikan untuk memilih bahasa pemrograman Functions pilihan Anda di bagian atas artikel.

Jika Anda ingin segera memulai, selesaikan artikel mulai cepat Core Tools.

Instal Azure Functions Core Tools

Cara yang disarankan untuk menginstal Core Tools tergantung pada sistem operasi komputer pengembangan lokal Anda.

Langkah-langkah berikut menggunakan penginstal Windows (MSI) untuk menginstal Core Tools v4.x. Untuk informasi selengkapnya tentang penginstal berbasis paket lainnya, lihat Core Tools readme.

Unduh dan jalankan penginstal Core Tools, berdasarkan versi Windows Anda:

Jika sebelumnya Anda menggunakan penginstal Windows (MSI) untuk menginstal Core Tools di Windows, Anda harus menghapus instalan versi lama dari Tambahkan Hapus Program sebelum menginstal versi terbaru.

Untuk bantuan tentang masalah terkait versi, lihat Versi Core Tools.

Membuat proyek lokal Anda

Penting

Untuk Python, Anda harus menjalankan perintah Core Tools di lingkungan virtual. Untuk informasi selengkapnya, lihat Mulai Cepat: Membuat fungsi Python di Azure dari baris perintah.

Di jendela terminal atau dari prompt perintah, jalankan perintah berikut untuk membuat proyek di MyProjFolder folder:

func init MyProjFolder --worker-runtime dotnet-isolated 

Secara default perintah ini membuat proyek yang berjalan dalam proses dengan host Functions pada versi Dukungan Jangka Panjang (LTS) saat ini dari .NET Core. Anda dapat menggunakan --target-framework opsi untuk menargetkan versi .NET tertentu yang didukung, termasuk .NET Framework. Untuk informasi selengkapnya, lihat func init referensi.

Untuk perbandingan antara dua model proses .NET, lihat artikel perbandingan mode proses.

Java menggunakan arketipe Maven untuk membuat proyek lokal, bersama dengan fungsi http pertama Anda yang dipicu. Alih-alih menggunakan func init dan func new, Anda harus mengikuti langkah-langkah dalam mulai cepat Baris perintah.

func init MyProjFolder --worker-runtime javascript --model V4

Perintah ini membuat proyek JavaScript yang menggunakan versi model pemrograman yang diinginkan.

func init MyProjFolder --worker-runtime typescript --model V4

Perintah ini membuat proyek TypeScript yang menggunakan versi model pemrograman yang diinginkan.

func init MyProjFolder --worker-runtime powershell
func init MyProjFolder --worker-runtime python --model V2

Perintah ini membuat proyek Python yang menggunakan versi model pemrograman yang diinginkan.

Saat Anda menjalankan func init tanpa --worker-runtime opsi , Anda diminta untuk memilih bahasa proyek Anda. Untuk mempelajari selengkapnya tentang opsi yang func init tersedia untuk perintah, lihat func init referensi.

Membuat fungsi

Untuk menambahkan fungsi ke proyek Anda, jalankan func new perintah menggunakan --template opsi untuk memilih templat pemicu Anda. Contoh berikut membuat pemicu HTTP bernama MyHttpTrigger:

func new --template "Http Trigger" --name MyHttpTrigger

Contoh ini membuat pemicu Queue Storage bernama MyQueueTrigger:

func new --template "Azure Queue Storage Trigger" --name MyQueueTrigger

Pertimbangan berikut berlaku saat menambahkan fungsi:

  • Saat Anda menjalankan func new tanpa --template opsi , Anda diminta untuk memilih templat.

  • func templates list Gunakan perintah untuk melihat daftar lengkap templat yang tersedia untuk bahasa Anda.

  • Saat menambahkan pemicu yang tersambung ke layanan, Anda juga perlu menambahkan pengaturan aplikasi yang mereferensikan string koneksi atau identitas terkelola ke file local.settings.json. Menggunakan pengaturan aplikasi dengan cara ini mencegah Anda harus menyematkan kredensial dalam kode Anda. Untuk informasi selengkapnya, lihat Bekerja dengan pengaturan aplikasi secara lokal.

  • Core Tools juga menambahkan referensi ke ekstensi pengikatan tertentu ke proyek C# Anda.

Untuk mempelajari selengkapnya tentang opsi yang func new tersedia untuk perintah, lihat func new referensi.

Menambahkan pengikatan ke fungsi Anda

Functions menyediakan serangkaian pengikatan input dan output khusus layanan, yang memudahkan fungsi Anda untuk terhubung ke layanan Azure lainnya tanpa harus menggunakan SDK klien khusus layanan. Untuk mempelajari selengkapnya, lihat Konsep pengikatan dan pemicu Azure Functions.

Untuk menambahkan pengikatan input atau output ke fungsi yang ada, Anda harus memperbarui definisi fungsi secara manual.

Contoh berikut menunjukkan definisi fungsi setelah menambahkan pengikatan output Queue Storage ke fungsi yang dipicu HTTP:

Karena fungsi yang dipicu HTTP juga mengembalikan respons HTTP, fungsi mengembalikan MultiResponse objek, yang mewakili output HTTP dan antrean.

[Function("HttpExample")]
public static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req,
    FunctionContext executionContext)
{

Contoh ini adalah definisi MultiResponse objek yang mencakup pengikatan output:

public class MultiResponse
{
    [QueueOutput("outqueue",Connection = "AzureWebJobsStorage")]
    public string[] Messages { get; set; }
    public IActionResult HttpResponse { get; set; }
}

Saat menerapkan contoh tersebut ke proyek Anda sendiri, Anda mungkin perlu mengubah HttpRequest ke HttpRequestData dan IActionResult ke HttpResponseData, tergantung pada apakah Anda menggunakan integrasi ASP.NET Core atau tidak.

Pesan dikirim ke antrean ketika fungsi selesai. Cara Anda menentukan pengikatan output tergantung pada model proses Anda. Untuk informasi selengkapnya, termasuk tautan ke contoh kode pengikatan yang dapat Anda rujuk, lihat Menambahkan pengikatan ke fungsi.

@FunctionName("HttpExample")
public HttpResponseMessage run(
        @HttpTrigger(name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) 
        HttpRequestMessage<Optional<String>> request, 
        @QueueOutput(name = "msg", queueName = "outqueue", 
        connection = "AzureWebJobsStorage") OutputBinding<String> msg, 
        final ExecutionContext context) {

Untuk informasi selengkapnya, termasuk tautan ke contoh kode pengikatan yang dapat Anda rujuk, lihat Menambahkan pengikatan ke fungsi.

Contoh pengikatan untuk model Node.js v4 belum tersedia.

Cara Anda menentukan pengikatan output tergantung pada versi model Node.js Anda. Untuk informasi selengkapnya, termasuk tautan ke contoh kode pengikatan yang dapat Anda rujuk, lihat Menambahkan pengikatan ke fungsi.

$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg

Untuk informasi selengkapnya, termasuk tautan ke contoh kode pengikatan yang dapat Anda rujuk, lihat Menambahkan pengikatan ke fungsi.

@app.route(route="HttpExample")
@app.queue_output(arg_name="msg", queue_name="outqueue", connection="AzureWebJobsStorage")
def HttpExample(req: func.HttpRequest, msg: func.Out [func.QueueMessage]) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

Cara Anda menentukan pengikatan output tergantung pada versi model Python Anda. Untuk informasi selengkapnya, termasuk tautan ke contoh kode pengikatan yang dapat Anda rujuk, lihat Menambahkan pengikatan ke fungsi.

Contoh pengikatan untuk model Node.js v4 belum tersedia.

Cara Anda menentukan pengikatan output tergantung pada versi model Node.js Anda. Untuk informasi selengkapnya, termasuk tautan ke contoh kode pengikatan yang dapat Anda rujuk, lihat Menambahkan pengikatan ke fungsi.

Pertimbangan berikut berlaku saat menambahkan pengikatan ke fungsi:

  • Saat menambahkan pengikatan yang tersambung ke layanan, Anda juga harus menambahkan pengaturan aplikasi yang mereferensikan string koneksi atau identitas terkelola ke file local.settings.json. Untuk informasi selengkapnya, lihat Bekerja dengan pengaturan aplikasi secara lokal.
  • Saat Anda menambahkan pengikatan yang didukung, ekstensi harus sudah diinstal saat aplikasi Anda menggunakan bundel ekstensi. Untuk informasi selengkapnya, lihat bundel ekstensi.
  • Saat Anda menambahkan pengikatan yang memerlukan ekstensi pengikatan baru, Anda juga harus menambahkan referensi ke ekstensi pengikatan tertentu dalam proyek C# Anda.

Untuk informasi selengkapnya, termasuk tautan ke contoh kode pengikatan yang dapat Anda rujuk, lihat Menambahkan pengikatan ke fungsi.

Untuk informasi selengkapnya, termasuk tautan ke contoh kode pengikatan yang dapat Anda rujuk, lihat Menambahkan pengikatan ke fungsi.

Untuk informasi selengkapnya, termasuk tautan ke contoh kode pengikatan yang dapat Anda rujuk, lihat Menambahkan pengikatan ke fungsi.

Untuk informasi selengkapnya, termasuk tautan ke contoh kode pengikatan yang dapat Anda rujuk, lihat Menambahkan pengikatan ke fungsi.

Untuk informasi selengkapnya, termasuk tautan ke contoh kode pengikatan yang dapat Anda rujuk, lihat Menambahkan pengikatan ke fungsi.

Untuk informasi selengkapnya, termasuk tautan ke contoh kode pengikatan yang dapat Anda rujuk, lihat Menambahkan pengikatan ke fungsi.

Memulai runtime Functions

Sebelum dapat menjalankan atau men-debug fungsi dalam proyek, Anda perlu memulai host Functions dari direktori akar proyek Anda. Host mengaktifkan pemicu untuk semua fungsi dalam proyek. Gunakan perintah ini untuk memulai runtime lokal:

mvn clean package 
mvn azure-functions:run
func start
npm install
npm start     

Perintah ini harus dijalankan di lingkungan virtual.

Ketika host Functions dimulai, host ini menghasilkan daftar fungsi dalam proyek, termasuk URL dari fungsi yang dipicu HTTP apa pun, seperti dalam contoh ini:

Found the following functions:
Host.Functions.MyHttpTrigger

Job host started
Http Function MyHttpTrigger: http://localhost:7071/api/MyHttpTrigger

Perlu diingat pertimbangan berikut saat menjalankan fungsi Anda secara lokal:

  • Secara default, otorisasi tidak diberlakukan secara lokal untuk titik akhir HTTP. Artinya semua permintaan HTTP lokal ditangani sebagai authLevel = "anonymous". Untuk informasi selengkapnya, lihat artikel pengikatan HTTP. Anda dapat menggunakan --enableAuth opsi untuk memerlukan otorisasi saat berjalan secara lokal. Untuk informasi selengkapnya, lihat func start

  • Anda dapat menggunakan emulator Azurite lokal saat menjalankan fungsi secara lokal yang memerlukan akses ke layanan Azure Storage (Queue Storage, Blob Storage, dan Table Storage) tanpa harus terhubung ke layanan ini di Azure. Saat menggunakan emulasi lokal, pastikan untuk memulai Azurite sebelum memulai host lokal (func.exe). Untuk informasi selengkapnya, lihat Emulasi penyimpanan lokal.

  • Anda dapat menggunakan emulasi Azurite lokal untuk memenuhi persyaratan penyimpanan pekerja Python v2.
  • Anda dapat memicu fungsi non-HTTP secara lokal tanpa menyambungkan ke layanan langsung. Untuk informasi selengkapnya, lihat Menjalankan fungsi lokal.

  • Saat Anda menyertakan informasi koneksi Application Insights dalam file local.settings.json, data log lokal ditulis ke instans Application Insights tertentu. Untuk memisahkan data telemetri lokal dari data produksi, pertimbangkan untuk menggunakan instans Application Insights terpisah untuk pengembangan dan pengujian.

  • Saat menggunakan core Tools versi 1.x, gunakan func host start perintah untuk memulai runtime lokal.

Menjalankan fungsi lokal

Dengan host Functions lokal (func.exe) berjalan, Anda sekarang dapat memicu fungsi individual untuk menjalankan dan men-debug kode fungsi Anda. Cara Anda menjalankan fungsi individual tergantung pada jenis pemicunya.

Catatan

Contoh dalam topik ini menggunakan alat cURL untuk mengirim permintaan HTTP dari terminal atau perintah. Anda dapat menggunakan alat pilihan Anda untuk mengirim permintaan HTTP ke server lokal. Alat cURL tersedia secara default pada sistem berbasis Linux dan Windows 10 build 17063 dan yang lebih baru. Pada Windows yang lebih lama, Anda harus terlebih dahulu mengunduh dan menginstal alat cURL.

Pemicu HTTP dimulai dengan mengirim permintaan HTTP ke titik akhir dan port lokal seperti yang ditampilkan dalam output func.exe, yang memiliki format umum ini:

http://localhost:<PORT>/api/<FUNCTION_NAME>

Dalam templat URL ini, <FUNCTION_NAME> adalah nama fungsi atau rute dan <PORT> merupakan port lokal tempat func.exe mendengarkan.

Misalnya, perintah cURL ini memicu MyHttpTrigger fungsi mulai cepat dari permintaan GET dengan parameter nama yang diteruskan dalam string kueri:

curl --get http://localhost:7071/api/MyHttpTrigger?name=Azure%20Rocks

Contoh ini adalah fungsi yang sama yang disebut dari nama passing permintaan POST dalam isi permintaan, yang ditunjukkan untuk shell Bash dan baris perintah Windows:

curl --request POST http://localhost:7071/api/MyHttpTrigger --data '{"name":"Azure Rocks"}'
curl --request POST http://localhost:7071/api/MyHttpTrigger --data "{'name':'Azure Rocks'}"

Pertimbangan berikut berlaku saat memanggil titik akhir HTTP secara lokal:

  • Anda dapat membuat permintaan GET dari browser yang meneruskan data dalam untai (karakter) kueri. Untuk semua metode HTTP lainnya, Anda harus menggunakan cURL, Fiddler, Postman, atau alat pengujian HTTP serupa yang mendukung permintaan POST.

  • Pastikan untuk menggunakan nama server dan port yang sama dengan yang didengarkan oleh host Functions. Anda melihat titik akhir seperti ini dalam output yang dihasilkan saat memulai host Fungsi. Anda dapat memanggil URL ini menggunakan metode HTTP apa pun yang didukung oleh pemicunya.

Menerbitkan ke Azure

Azure Functions Core Tools mendukung tiga jenis penyebaran:

Jenis penyebaran Perintah Deskripsi
File proyek func azure functionapp publish Sebarkan file proyek fungsi langsung ke aplikasi fungsi Anda menggunakan penyebaran zip.
Azure Container Apps func azurecontainerapps deploy Menyebarkan aplikasi fungsi dalam kontainer ke lingkungan Aplikasi Kontainer yang ada.
Kluster Kube func kubernetes deploy Sebarkan aplikasi fungsi Linux Anda sebagai kontainer Docker kustom ke kluster Kubernetes.

Anda harus menginstal Azure CLI atau Azure PowerShell secara lokal untuk dapat menerbitkan ke Azure dari Core Tools. Secara default, Core Tools menggunakan alat ini untuk mengautentikasi dengan akun Azure Anda.

Jika Anda tidak menginstal alat-alat ini, Anda harus mendapatkan token akses yang valid untuk digunakan selama penyebaran. Anda dapat menyajikan token akses menggunakan --access-token opsi dalam perintah penyebaran.

Menyebarkan file proyek

Untuk menerbitkan kode lokal Anda ke aplikasi fungsi di Azure, gunakan func azure functionapp publish publish perintah , seperti dalam contoh berikut:

func azure functionapp publish <FunctionAppName>

Perintah ini menerbitkan file proyek dari direktori saat ini ke <FunctionAppName> sebagai paket penyebaran .zip. Jika proyek memerlukan kompilasi, proyek dilakukan dari jarak jauh selama penyebaran.

Java menggunakan Maven untuk menerbitkan proyek lokal Anda ke Azure alih-alih Core Tools. Gunakan perintah Maven berikut untuk menerbitkan proyek Anda ke Azure:

mvn azure-functions:deploy

Saat Anda menjalankan perintah ini, sumber daya Azure dibuat selama penyebaran awal berdasarkan pengaturan dalam file pom.xml Anda. Untuk informasi selengkapnya, lihat Menyebarkan proyek fungsi ke Azure.

Pertimbangan berikut berlaku untuk jenis penyebaran ini:

  • Penerbitan menimpa file yang ada dalam penyebaran aplikasi fungsi jarak jauh.

  • Anda harus sudah membuat aplikasi fungsi di langganan Azure Anda. Core Tools menyebarkan kode proyek Anda ke sumber daya aplikasi fungsi ini. Untuk mempelajari cara membuat aplikasi fungsi dari perintah atau jendela terminal menggunakan Azure CLI atau Azure PowerShell, lihat Membuat Aplikasi Fungsi untuk eksekusi tanpa server. Anda juga dapat membuat sumber daya ini di portal Azure. Anda mendapatkan kesalahan saat mencoba menerbitkan ke <FunctionAppName> langganan yang tidak ada di langganan Anda.

  • Folder proyek mungkin berisi file dan direktori bahasa tertentu yang seharusnya tidak dipublikasikan. Item yang dikecualikan tercantum dalam file .funcignore di folder proyek akar.

  • Secara default, proyek Anda disebarkan sehingga berjalan dari paket penyebaran. Untuk menonaktifkan mode penyebaran yang disarankan ini, gunakan --nozip opsi.

  • Build jarak jauh dilakukan pada proyek yang dikompilasi. Hal ini dapat dikontrol dengan menggunakan --no-build opsi.

  • --publish-local-settings Gunakan opsi untuk membuat pengaturan aplikasi secara otomatis di aplikasi fungsi Anda berdasarkan nilai dalam file local.settings.json.

  • Untuk menerbitkan ke slot bernama tertentu di aplikasi fungsi Anda, gunakan --slot opsi .

Menyebarkan kontainer

Core Tools memungkinkan Anda menyebarkan aplikasi fungsi dalam kontainer ke lingkungan Azure Container Apps terkelola dan kluster Kubernetes yang Anda kelola.

Gunakan perintah berikut func azurecontainerapps deploy untuk menyebarkan gambar kontainer yang ada ke lingkungan Container Apps:

func azurecontainerapps deploy --name <APP_NAME> --environment <ENVIRONMENT_NAME> --storage-account <STORAGE_CONNECTION> --resource-group <RESOURCE_GROUP> --image-name <IMAGE_NAME> [--registry-password] [--registry-server] [--registry-username]

Saat Anda menyebarkan ke lingkungan Azure Container Apps, pertimbangan berikut berlaku:

  • Lingkungan dan akun penyimpanan harus sudah ada. Akun penyimpanan yang string koneksi Anda sediakan digunakan oleh aplikasi fungsi yang disebarkan.

  • Anda tidak perlu membuat sumber daya aplikasi fungsi terpisah saat menyebarkan ke Aplikasi Kontainer.

  • String koneksi penyimpanan dan kredensial layanan lainnya adalah rahasia penting. Pastikan untuk menyimpan file skrip apa pun dengan aman menggunakan func azurecontainerapps deploy dan tidak menyimpannya di sistem kontrol sumber yang dapat diakses publik. Anda dapat mengenkripsi file local.settings.json untuk keamanan tambahan.

Untuk informasi selengkapnya, lihat Hosting Azure Container Apps azure Functions.

Bekerja dengan pengaturan aplikasi secara lokal

Saat menjalankan aplikasi fungsi di Azure, pengaturan yang diperlukan oleh fungsi Anda disimpan dengan aman di pengaturan aplikasi. Selama pengembangan lokal, pengaturan ini ditambahkan ke Values koleksi dalam file local.settings.json. File local.settings.json juga menyimpan pengaturan yang digunakan oleh alat pengembangan lokal.

Item dalam Values koleksi dalam file local.settings.json proyek Anda dimaksudkan untuk mencerminkan item di pengaturan aplikasi aplikasi fungsi Anda di Azure.

Pertimbangan berikut berlaku saat bekerja dengan file pengaturan lokal:

  • Karena local.settings.json mungkin mencakup rahasia, seperti string koneksi, Anda tidak boleh menyimpannya di repositori jarak jauh. Core Tools membantu Anda mengenkripsi file pengaturan lokal ini untuk meningkatkan keamanan. Untuk informasi selengkapnya, lihat File pengaturan lokal. Anda juga dapat mengenkripsi file local.settings.json untuk keamanan tambahan.

  • Secara default, pengaturan lokal tidak dimigrasikan secara otomatis saat proyek diterbitkan ke Azure. --publish-local-settings Gunakan opsi saat Anda menerbitkan file proyek untuk memastikan pengaturan ini ditambahkan ke aplikasi fungsi di Azure. Nilai di bagian ConnectionStrings tidak pernah diterbitkan. Anda juga dapat mengunggah pengaturan dari file local.settings.json kapan saja.

  • Anda dapat mengunduh dan menimpa pengaturan di file local.settings.json Anda dengan pengaturan dari aplikasi fungsi Anda di Azure. Untuk informasi selengkapnya, lihat Mengunduh pengaturan aplikasi.

  • Nilai pengaturan aplikasi fungsi juga dapat dibaca dalam kode Anda sebagai variabel lingkungan. Untuk informasi selengkapnya, lihat Variabel lingkungan.
  • Nilai pengaturan aplikasi fungsi juga dapat dibaca dalam kode Anda sebagai variabel lingkungan. Untuk informasi selengkapnya, lihat Variabel lingkungan.
  • Nilai pengaturan aplikasi fungsi juga dapat dibaca dalam kode Anda sebagai variabel lingkungan. Untuk informasi selengkapnya, lihat Variabel lingkungan.
  • Nilai pengaturan aplikasi fungsi juga dapat dibaca dalam kode Anda sebagai variabel lingkungan. Untuk informasi selengkapnya, lihat Variabel lingkungan.
  • Nilai pengaturan aplikasi fungsi juga dapat dibaca dalam kode Anda sebagai variabel lingkungan. Untuk informasi selengkapnya, lihat Variabel lingkungan.
  • Saat tidak ada string koneksi penyimpanan yang valid yang diatur dan AzureWebJobsStorage emulator penyimpanan lokal tidak digunakan, kesalahan akan ditampilkan. Anda dapat menggunakan Core Tools untuk mengunduh string koneksi tertentu dari salah satu akun Azure Storage Anda.

Mengunduh pengaturan aplikasi

Dari akar proyek, gunakan perintah berikut untuk mengunduh semua pengaturan aplikasi dari myfunctionapp12345 aplikasi di Azure:

func azure functionapp fetch-app-settings myfunctionapp12345

Perintah ini menimpa pengaturan yang ada dalam file local.settings.json dengan nilai dari Azure. Ketika belum ada, item baru ditambahkan ke koleksi. Untuk informasi selengkapnya, lihat func azure functionapp fetch-app-settings perintah .

Mengunduh string koneksi penyimpanan

Core Tools juga memudahkan untuk mendapatkan string koneksi akun penyimpanan apa pun yang dapat Anda akses. Dari akar proyek, gunakan perintah berikut untuk mengunduh string koneksi dari akun penyimpanan bernama mystorage12345.

func azure storage fetch-connection-string mystorage12345

Perintah ini menambahkan pengaturan bernama mystorage12345_STORAGE ke file local.settings.json, yang berisi string koneksi untuk akun tersebutmystorage12345. Untuk informasi selengkapnya, lihat func azure storage fetch-connection-string perintah .

Untuk meningkatkan keamanan selama pengembangan, pertimbangkan untuk mengenkripsi file local.settings.json.

Mengunggah pengaturan lokal ke Azure

Saat Anda menerbitkan file proyek ke Azure tanpa menggunakan --publish-local-settings opsi , pengaturan dalam file local.settings.json tidak diatur di aplikasi fungsi Anda. Anda selalu dapat menjalankan func azure functionapp publish ulang dengan --publish-settings-only opsi untuk mengunggah hanya pengaturan tanpa menerbitkan ulang file proyek.

Contoh berikut hanya mengunggah pengaturan dari Values koleksi dalam file local.settings.json ke aplikasi fungsi di Azure bernama myfunctionapp12345:

func azure functionapp publish myfunctionapp12345 --publish-settings-only

Mengenkripsi file pengaturan lokal

Untuk meningkatkan keamanan string koneksi dan data berharga lainnya di pengaturan lokal Anda, Core Tools memungkinkan Anda mengenkripsi file local.settings.json. Ketika file ini dienkripsi, runtime secara otomatis mendekripsi pengaturan ketika diperlukan dengan cara yang sama seperti yang dilakukannya dengan pengaturan aplikasi di Azure. Anda juga dapat mendekripsi file yang dienkripsi secara lokal untuk bekerja dengan pengaturan.

Gunakan perintah berikut untuk mengenkripsi file pengaturan lokal untuk proyek:

func settings encrypt

Gunakan perintah berikut untuk mendekripsi pengaturan lokal terenkripsi, sehingga Anda dapat bekerja dengannya:

func settings decrypt

Ketika file pengaturan dienkripsi dan didekripsi, pengaturan file IsEncrypted juga akan diperbarui.

Mengonfigurasi ekstensi pengikatan

Pemicu dan pengikatan fungsi diimplementasikan sebagai paket ekstensi .NET (NuGet). Agar dapat menggunakan ekstensi pengikatan tertentu, ekstensi tersebut harus diinstal dalam proyek.

Bagian ini tidak berlaku untuk runtime Functions versi 1.x. Dalam versi 1.x, pengikatan yang didukung disertakan dalam ekstensi produk inti.

Untuk proyek pustaka kelas C#, tambahkan referensi ke paket NuGet tertentu untuk ekstensi pengikatan yang diperlukan oleh fungsi Anda. Proyek skrip C# (.csx) harus menggunakan bundel ekstensi.

Functions menyediakan bundel ekstensi untuk dibuat mudah digunakan dengan ekstensi pengikatan dalam proyek Anda. Bundel ekstensi, yang di-versi dan ditentukan dalam file host.json, instal sekumpulan lengkap paket ekstensi pengikatan yang kompatibel untuk aplikasi Anda. host.json Anda seharusnya sudah mengaktifkan bundel ekstensi. Jika karena alasan tertentu Anda perlu menambahkan atau memperbarui bundel ekstensi dalam file host.json, lihat Bundel ekstensi.

Jika Anda harus menggunakan ekstensi pengikatan atau versi ekstensi yang tidak ada dalam bundel yang didukung, Anda perlu menginstal ekstensi secara manual. Untuk skenario langka seperti itu func extensions install , lihat perintah .

Versi Core Tools

Versi utama Azure Functions Core Tools ditautkan ke versi utama tertentu dari runtime Azure Functions. Misalnya, Core Tools versi 4.x mendukung runtime Functions versi 4.x. Versi ini adalah versi utama yang direkomendasikan dari runtime Functions dan Core Tools. Anda dapat menentukan versi rilis terbaru Core Tools di repositori Azure Functions Core Tools.

Jalankan perintah berikut untuk menentukan versi penginstalan Core Tools Anda saat ini:

func --version

Kecuali dinyatakan lain, contoh dalam artikel ini adalah untuk versi 4.x.

Pertimbangan berikut berlaku untuk penginstalan Core Tools:

  • Anda hanya dapat menginstal satu versi Core Tools pada komputer tertentu.

  • Saat meningkatkan ke versi terbaru Core Tools, Anda harus menggunakan metode yang sama dengan yang Anda gunakan untuk penginstalan asli untuk melakukan peningkatan. Misalnya, jika Anda menggunakan MSI di Windows, hapus instalan MSI saat ini dan instal yang terbaru. Atau jika Anda menggunakan npm, jalankan npm install commandulang .

  • Core Tools versi 2.x dan 3.x digunakan dengan versi 2.x dan 3.x dari runtime Functions, yang telah mencapai akhir dukungan mereka. Untuk informasi selengkapnya, lihat Ringkasan versi runtime Azure Functions.

  • Core Tools versi 1.x diperlukan saat menggunakan Versi 1.x dari Functions Runtime, yang masih didukung. Versi Core Tools ini hanya dapat dijalankan secara lokal pada komputer Windows. Jika saat ini Anda menjalankan versi 1.x, Anda harus mempertimbangkan untuk memigrasikan aplikasi anda ke versi 4.x hari ini.

Langkah berikutnya

Pelajari cara mengembangkan, menguji, dan menerbitkan fungsi Azure dengan menggunakan alat inti Azure Functions. Azure Functions Core Tools adalah sumber terbuka dan dihosting di GitHub. Untuk mengajukan bug atau permintaan fitur, buka masalah GitHub.