Tutorial: Memulai Azure WebJobs SDK untuk pemrosesan latar belakang berbasis peristiwa

Mulai dengan Azure WebJobs SDK for Azure App Service untuk memungkinkan aplikasi web Anda menjalankan tugas latar belakang, tugas terjadwal, dan merespons peristiwa.

Gunakan Visual Studio 2022 untuk membuat aplikasi konsol .NET Core yang menggunakan WebJobs SDK untuk merespons pesan Azure Storage Queue, menjalankan proyek secara lokal, dan akhirnya menyebarkannya ke Azure.

Dalam tutorial ini, Anda akan belajar cara:

  • Membuat aplikasi konsol
  • Menambahkan fungsi
  • Menguji secara lokal
  • Sebarkan ke Azure
  • Mengaktifkan pengelogan Application Insights
  • Menambahkan pengikatan input/output

Prasyarat

Membuat aplikasi konsol

Di bagian ini, Anda mulai dengan membuat proyek di Visual Studio 2022. Selanjutnya, Anda akan menambahkan alat untuk pengembangan Azure, penerbitan kode, dan fungsi yang mendengarkan pemicu dan fungsi panggilan. Terakhir, Anda akan menyiapkan pengelogan konsol yang menonaktifkan alat pemantauan lama dan mengaktifkan penyedia konsol dengan pemfilteran default.

Catatan

Prosedur dalam artikel ini diverifikasi untuk membuat aplikasi konsol .NET Core yang berjalan di .NET 6.0.

Membuat proyek

  1. Di Visual Studio, pilih File>Baru>Proyek.

  2. Pada Buat proyek baru, pilih Aplikasi Konsol (C#) , lalu pilih Berikutnya.

  3. Pada Mengonfigurasi proyek baru Anda, beri nama proyek WebJobsSDKSample, lalu pilih Berikutnya.

  4. Pilih Target framework Anda dan pilih Buat. Tutorial ini telah diverifikasi menggunakan .NET 6.0.

Pasang paket WebJobs NuGet

Pasang paket WebJobs NuGet terbaru. Paket ini mencakup Microsoft.Azure.WebJobs (WebJobs SDK), yang memungkinkan Anda menerbitkan kode fungsi Anda ke WebJobs di Azure App Service.

  1. Dapatkan versi 4.x stabil terbaru dari paket Microsoft.Azure.WebJobs.Extensions NuGet.

  2. Di Visual Studio, buka Alat>Pengelola Paket NuGet.

  3. Pilih Konsol Pengelola Paket. Anda akan melihat daftar cmdlet NuGet, tautan ke dokumentasi, dan PM> titik masuk.

  4. Pada perintah berikut, ganti <4_X_VERSION> dengan nomor versi saat ini yang Anda temukan di langkah 1.

    Install-Package Microsoft.Azure.WebJobs.Extensions -version <4_X_VERSION>
    
  5. Di Package Manager Console, jalankan perintah. Daftar ekstensi muncul dan dipasang secara otomatis.

Buat Host

Host adalah wadah runtime untuk fungsi yang mendengarkan pemicu dan memanggil fungsi. Langkah-langkah berikut membuat host yang mengimplementasikan IHost, yang merupakan Host Generik di ASP.NET Core.

  1. Pilih tab Program.cs, hapus konten yang ada, dan tambahkan using pernyataan berikut:

    using System.Threading.Tasks;
    using Microsoft.Extensions.Hosting;
    
  2. Juga di bawah Program.cs, tambahkan kode berikut:

    namespace WebJobsSDKSample
    {
        class Program
        {
            static async Task Main()
            {
                var builder = new HostBuilder();
                builder.ConfigureWebJobs(b =>
                {
                    b.AddAzureStorageCoreServices();
                });
                var host = builder.Build();
                using (host)
                {
                    await host.RunAsync();
                }
            }
        }
    }
    

Di ASP.NET Core, konfigurasi host ditetapkan dengan memanggil metode pada instans HostBuilder. Untuk informasi lebih lanjut, lihat Host Generik .NET. Metode ekstensi ConfigureWebJobs menginisialisasi host WebJobs. Di ConfigureWebJobs, inisialisasi ekstensi pengikatan tertentu, seperti ekstensi pengikatan Storage, dan atur properti ekstensi tersebut.

Aktifkan pencatatan log konsol

Siapkan pengelogan konsol yang menggunakan kerangka kerja pengelogan ASP.NET Core. Kerangka kerja ini, Microsoft.Extensions.Logging, menyertakan API yang bekerja dengan berbagai penyedia pengelogan bawaan dan pihak ketiga.

  1. Dapatkan versi stabil terbaru dari Microsoft.Extensions.Logging.Console paket NuGet, yang mencakup Microsoft.Extensions.Logging.

  2. Pada perintah berikut, ganti <6_X_VERSION> dengan nomor versi saat ini yang Anda temukan di langkah 1. Setiap jenis Paket NuGet memiliki nomor versi yang berbeda.

    Install-Package Microsoft.Extensions.Logging.Console -version <6_X_VERSION>
    
  3. Di Package Manager Console, isi nomor versi saat ini dan jalankan perintah. Daftar ekstensi muncul dan dipasang secara otomatis.

  4. Pada tab Program.cs, tambahkan pernyataan using ini:

    using Microsoft.Extensions.Logging;
    
  5. Melanjutkan di bawah Program.cs, tambahkan metode ConfigureLogging ke HostBuilder, sebelum perintah Build. Metode AddConsole menambahkan pencatatan log konsol ke konfigurasi.

    builder.ConfigureLogging((context, b) =>
    {
        b.AddConsole();
    });
    

    Metode Main sekarang terlihat seperti ini:

    static async Task Main()
    {
        var builder = new HostBuilder();
        builder.ConfigureWebJobs(b =>
                {
                    b.AddAzureStorageCoreServices();
                });
        builder.ConfigureLogging((context, b) =>
                {
                    b.AddConsole();
                });
        var host = builder.Build();
        using (host)
        {
            await host.RunAsync();
        }
    }
    

    Penambahan ini membuat perubahan ini:

    • Menonaktifkan pencatatan log dasbor. Dasbor adalah alat pemantauan lama, dan pencatatan dasbor tidak disarankan untuk skenario produksi dengan hasil tinggi.
    • Menambahkan penyedia konsol dengan pemfilteran default.

Sekarang, Anda dapat menambahkan fungsi yang dipicu oleh pesan yang tiba di antrean Azure Storage.

Menambahkan fungsi

Fungsi adalah unit kode yang berjalan sesuai jadwal, dipicu berdasarkan peristiwa, atau dijalankan sesuai permintaan. Pemicu mendengarkan peristiwa layanan. Dalam konteks SDK WebJobs, dipicu tidak merujuk ke mode penerapan. WebJob berbasis peristiwa atau terjadwal yang dibuat menggunakan SDK harus selalu diterapkan sebagai WebJob berkelanjutan dengan "Selalu aktif".

Di bagian ini, Anda membuat fungsi yang dipicu oleh pesan dalam antrean Azure Storage. Pertama, Anda perlu menambahkan ekstensi pengikatan untuk tersambung ke Azure Storage.

Instal ekstensi pengikatan Storage

Dimulai dengan versi 3 WebJobs SDK, untuk tersambung ke layanan Azure Storage, Anda harus menginstal paket ekstensi pengikatan Storage terpisah.

Catatan

Dimulai dengan 5.x, Microsoft.Azure.WebJobs.Extensions.Storage telah dibagi berdasarkan layanan penyimpanan dan telah memigrasikan metode ekstensi AddAzureStorage() berdasarkan jenis layanan.

  1. Dapatkan versi stabil terbaru dari paket NuGet Microsoft.Azure.WebJobs.Extensions.Storage, versi 5.x.

  2. Pada perintah berikut, ganti <5_X_VERSION> dengan nomor versi saat ini yang Anda temukan di langkah 1. Setiap jenis Paket NuGet memiliki nomor versi yang berbeda.

    Install-Package Microsoft.Azure.WebJobs.Extensions.Storage -Version <5_X_VERSION>
    
  3. Di Konsol Pengelola Paket, jalankan perintah dengan nomor versi saat ini di titik masuk PM>.

  4. Melanjutkan di Program.cs, dalam metode ekstensi ConfigureWebJobs, tambahkan metode AddAzureStorageQueues pada instans HostBuilder (sebelum perintah Build) untuk menginisialisasi ekstensi Storage. Pada titik ini, metode ConfigureWebJobs terlihat seperti ini:

    builder.ConfigureWebJobs(b =>
    {
        b.AddAzureStorageCoreServices();
        b.AddAzureStorageQueues();
    });
    
  5. Tambahkan kode berikut dalam metode builder setelah Main diinstantiasi:

    builder.UseEnvironment(EnvironmentName.Development);
    

    Menjalankan dalam mode pengembangan mengurangi antrean pengumpulan backoff eksponensial yang dapat secara signifikan menunda jumlah waktu yang dibutuhkan runtime untuk menemukan pesan dan menjalankan fungsi tersebut. Anda harus menghapus baris kode ini atau beralih ke Production saat Anda selesai dengan pengembangan dan pengujian.

    Metode Main Anda sekarang akan terlihat seperti contoh berikut:

    static async Task Main()
    {
        var builder = new HostBuilder();
        builder.UseEnvironment(EnvironmentName.Development);
        builder.ConfigureLogging((context, b) =>
        {
            b.AddConsole();
        });
        builder.ConfigureWebJobs(b =>
        {
            b.AddAzureStorageCoreServices();
            b.AddAzureStorageQueues();
        });
        var host = builder.Build();
        using (host)
        {
            await host.RunAsync();
        }
    }
    

Buat fungsi yang dipicu Antrean

Atribut QueueTrigger memberi tahu runtime untuk memanggil fungsi ini saat pesan baru ditulis pada antrean Azure Storage yang disebut queue. Isi pesan antrean diberikan ke kode metode dalam parameter message. Isi metode adalah tempat Anda memproses data pemicu. Dalam contoh ini, kode hanya mencatat log pesan.

  1. Di Penjelajah Solusi, klik kanan proyek, pilih Tambahkan>Item Baru, lalu pilih Kelas.

  2. Beri nama file kelas C# baru Functions.cs dan pilih Tambahkan.

  3. Di Functions.cs, ganti templat yang dihasilkan dengan kode berikut:

    using Microsoft.Azure.WebJobs;
    using Microsoft.Extensions.Logging;
    
    namespace WebJobsSDKSample
    {
        public class Functions
        {
            public static void ProcessQueueMessage([QueueTrigger("queue")] string message, ILogger logger)
            {
                logger.LogInformation(message);
            }
        }
    }
    

    Anda harus menandai kelas Fungsi sebagai public static agar runtime bahasa umum dapat mengakses dan menjalankan metode. Di atas kode sampel, saat pesan ditambahkan ke antrean bernama queue, fungsi dijalankan dan untai (karakter) message ditulis ke log. Antrean yang dipantau ada di akun Azure Storage default, yang Anda buat selanjutnya.

Parameter message tidak harus berupa string. Anda juga dapat mengikat ke objek JSON, array byte, atau objek CloudQueueMessage. Lihat Penggunaan pemicu Antrean. Setiap jenis pengikatan (seperti antrean, blob, atau tabel) memiliki rangkaian tipe parameter berbeda yang dapat Anda ikat.

Buat akun penyimpanan Azure

Azure Storage Emulator yang berjalan secara lokal tidak memiliki semua fitur yang dibutuhkan WebJobs SDK. Anda akan membuat akun penyimpanan di Azure dan mengonfigurasi proyek untuk menggunakannya.

Untuk mempelajari cara membuat akun penyimpanan v2 tujuan umum, lihat Membuat akun Azure Storage.

Mencari dan menyalin string koneksi Anda

String koneksi diperlukan untuk mengonfigurasi penyimpanan. Simpan string koneksi ini untuk langkah berikutnya.

  1. Di portal Microsoft Azure, buka akun penyimpanan Anda dan pilih Pengaturan.

  2. Di Pengaturan, pilih Kunci akses.

  3. Untuk String koneksi di bawah key1, pilih ikon Salin ke papan klip.

    kunci

Konfigurasikan penyimpanan untuk dijalankan secara lokal

WebJobs SDK mencari string koneksi penyimpanan di Pengaturan Aplikasi di Azure. Saat Anda menjalankan secara lokal, nilai ini akan dicari di file konfigurasi lokal atau di variabel lingkungan.

  1. Klik kanan proyek, pilih Tambahkan>Item Baru, pilih File konfigurasi JavaScript JSON, beri nama file baru appsettings. json, dan pilih Tambah.

  2. Di file baru, tambahkan bidang AzureWebJobsStorage, seperti pada contoh berikut:

    {
        "AzureWebJobsStorage": "{storage connection string}"
    }
    
  3. Ganti {storage connection string} dengan connection string yang Anda salin sebelumnya.

  4. Pilih file appsettings.json di Penjelajah Solusi dan di jendela Properti, tetapkan tindakan Salin ke Direktori Output ke Salin jika lebih baru.

Karena file ini berisi rahasia string koneksi, Anda tidak boleh menyimpan file dalam repositori kode jarak jauh. Setelah menerbitkan proyek Anda ke Azure, Anda bisa menambahkan pengaturan aplikasi string koneksi yang sama di aplikasi Anda di Azure App Service.

Menguji secara lokal

Bangun dan jalankan proyek secara lokal dan buat antrian pesan untuk memicu fungsi.

  1. Di portal Azure, navigasikan ke akun penyimpanan Anda dan pilih tab Antrean (1). Pilih + Antrean (2) dan masukkan antrean sebagai nama Antrean (3). Kemudian, pilih OK (4).

    Gambar ini memperlihatkan cara membuat Antrean Azure Storage baru.

  2. Klik antrean baru dan pilih Tambahkan pesan.

  3. Dalam dialog Tambahkan Pesan, masukkan Halo Dunia! sebagai teks Pesan, kemudian pilih OK. Sekarang ada pesan dalam antrean.

    Membuat antrean

  4. Tekan Ctrl+F5 untuk menjalankan proyek.

    Konsol menunjukkan bahwa runtime menemukan fungsi Anda. Karena Anda menggunakan atribut QueueTrigger dalam fungsi ProcessQueueMessage, waktu proses WebJobs mendengarkan pesan dalam antrean bernama queue. Ketika menemukan pesan baru dalam antrean ini, runtime memanggil fungsi, meneruskan nilai string pesan.

  5. Kembali ke jendela Antrean dan refresh. Pesan hilang, karena telah diproses oleh fungsi Anda yang berjalan secara lokal.

  6. Tutup jendela konsol.

Sekarang saatnya untuk menerbitkan proyek SDK WebJobs Anda ke Azure.

Sebarkan ke Azure

Selama penerapan, Anda membuat instance layanan aplikasi di mana Anda akan menjalankan fungsi Anda. Saat Anda menerbitkan aplikasi konsol .NET ke App Service di Azure, aplikasi itu secara otomatis berjalan sebagai WebJob. Untuk mempelajari lebih lanjut tentang publikasi, lihat Mengembangkan dan menyebarkan WebJobs menggunakan Visual Studio.

Buat Sumber Daya Azure

  1. Di Penjelajah Solusi, klik kanan proyek dan pilih Terbitkan.

  2. Di kotak dialog Terbitkan, pilih Azure untuk Target, lalu pilih Berikutnya.

  3. Pilih Azure WebJobs untuk Target spesifik, lalu pilih Berikutnya.

  4. Di atas instans App Service, pilih tombol plus ( + ) untuk Membuat Azure WebJob baru.

  5. Di kotak dialog Azure App Service (Windows) , gunakan pengaturan hosting dalam tabel berikut.

    Pengaturan Nilai yang disarankan Deskripsi
    Nama Nama unik global Nama yang mengidentifikasi secara unik aplikasi fungsi baru Anda.
    Langganan Memilih langganan Anda Langganan Azure yang akan digunakan.
    Grup sumber daya myResourceGroup Nama grup sumber daya tempat membuat aplikasi fungsi Anda. Pilih Baru untuk membuat grup sumber daya baru.
    Paket Hosting Paket Azure App Service Paket Azure App Service menentukan lokasi, ukuran, dan fitur farm server web yang menghosting aplikasi Anda. Anda dapat menghemat uang saat menghosting beberapa aplikasi dengan mengonfigurasi aplikasi web untuk berbagi satu paket Azure App Service. Paket Azure App Service menentukan wilayah, ukuran instans, jumlah skala, dan SKU (Gratis, Berbagi, Dasar, Standar, atau Premium). Pilih Baru untuk membuat paket Azure App Service baru. Tingkat Gratis dan Dasar tidak mendukung opsi Grup Ketersediaan AlwaysOn untuk menjaga situs Anda berjalan terus-menerus.

    Membuat kotak dialog Azure App Service

  6. Pilih Buat untuk membuat WebJob dan sumber daya terkait di Azure dengan pengaturan ini dan menyebarkan kode proyek Anda.

  7. Pilih Selesai untuk kembali ke halaman Terbitkan.

Mengaktifkan Grup Ketersediaan AlwaysOn

Untuk WebJob berkelanjutan, Anda harus mengaktifkan pengaturan Selalu aktif di situs agar WebJob Anda berjalan dengan benar. Jika Anda tidak mengaktifkan Selalu aktif, runtime menjadi siaga setelah beberapa menit tidak aktif.

  1. Di laman Terbitkan, pilih tiga titik di atas Hosting untuk menampilkan Tindakan bagian profil hosting dan pilih Buka di portal Microsoft Azure.

  2. Di bawah Pengaturan, pilih Konfigurasi>Pengaturan umum, atur Selalu aktif ke Aktif, lalu pilih Simpan dan Lanjutkan untuk memulai ulang situs.

Menerbitkan proyek

Dengan aplikasi web yang dibuat di Azure, saatnya untuk menerbitkan proyek WebJobs.

  1. Di laman Terbitkan pada Hosting, pilih tombol edit dan ubah Jenis WebJob menjadi Continuous dan pilih Simpan. Ini memastikan bahwa WebJob berjalan saat pesan ditambahkan ke antrean. WebJobs yang dipicu biasanya hanya digunakan untuk webhook manual.

    Ubah jenis WebJob dari jendela Terbitkan VS 2022.

  2. Pilih tombol Terbitkan di sudut kanan atas halaman Terbitkan. Saat operasi selesai, WebJob Anda berjalan di Azure.

Membuat pengaturan aplikasi sambungan penyimpanan

Anda perlu membuat pengaturan string koneksi penyimpanan yang sama di Azure yang Anda gunakan secara lokal di file konfigurasi appsettings.json Anda. Ini memungkinkan Anda menyimpan string koneksi dengan lebih aman dan

  1. Di laman profil Terbitkan Anda, pilih tiga titik di atas Hosting untuk menampilkan Tindakan bagian profil hosting dan pilih Kelola setelan Azure App Service.

  2. Di Pengaturan aplikasi, pilih + Tambahkan pengaturan.

  3. Di Nama pengaturan aplikasi baru, ketik AzureWebJobsStorage dan pilih OK.

  4. Di Jarak Jauh, rekatkan string koneksi dari pengaturan lokal Anda dan pilih OK.

String koneksi sekarang diatur di aplikasi Anda di Azure.

Memicu fungsi di Azure

  1. Pastikan Anda tidak menjalankan secara lokal. Tutup jendela konsol jika masih terbuka. Jika tidak, instans lokal mungkin yang pertama memproses pesan antrean yang Anda buat.

  2. Di halaman Antrean di Visual Studio, tambahkan pesan ke antrean seperti sebelumnya.

  3. Refresh halaman Antrean, dan pesan baru akan hilang karena telah diproses oleh fungsi yang berjalan di Azure.

Mengaktifkan pengelogan Application Insights

Saat WebJob berjalan di Azure, Anda tidak dapat memantau eksekusi fungsi dengan melihat output konsol. Agar dapat memantau WebJob, Anda harus membuat instance Application Insights terkait saat Anda menerbitkan proyek Anda.

Buat instans Application Insights

  1. Di halaman profil Terbitkan Anda, pilih tiga titik di atas Hosting untuk menampilkan Tindakan bagian profil hosting dan pilih Buka di Portal Microsoft Azure.

  2. Di aplikasi web pada Pengaturan, pilih Application Insights, dan pilih Aktifkan Application Insights.

  3. Verifikasi Nama sumber daya yang dihasilkan untuk instans dan Lokasi, lalu pilih Terapkan.

  4. Pada Pengaturan, pilih Konfigurasi dan verifikasi bahwa APPINSIGHTS_INSTRUMENTATIONKEY baru telah dibuat. Kunci ini digunakan untuk menghubungkan instans WebJob Anda ke Application Insights.

Untuk memanfaatkan pengelogan Application Insights, Anda juga perlu memperbarui kode pengelogan.

Pasang ekstensi Application Insights

  1. Dapatkan versi stabil terbaru dari paket NuGet Microsoft.Azure.WebJobs.Logging.ApplicationInsights, versi 3.x.

  2. Pada perintah berikut, ganti <3_X_VERSION> dengan nomor versi saat ini yang Anda temukan di langkah 1. Setiap jenis Paket NuGet memiliki nomor versi yang berbeda.

    Install-Package Microsoft.Azure.WebJobs.Logging.ApplicationInsights -Version <3_X_VERSION>
    
  3. Di Konsol Pengelola Paket, jalankan perintah dengan nomor versi saat ini di titik masuk PM>.

Menginisialisasi penyedia pengelogan Application Insights

Buka Program.cs dan tambahkan penginisialisasi berikut di ConfigureLogging setelah panggilan ke AddConsole:

// If the key exists in settings, use it to enable Application Insights.
string instrumentationKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
if (!string.IsNullOrEmpty(instrumentationKey))
{
    b.AddApplicationInsightsWebJobs(o => o.InstrumentationKey = instrumentationKey);
}

Kode metode Main sekarang akan terlihat seperti contoh berikut:

static async Task Main()
{
    var builder = new HostBuilder();
    builder.UseEnvironment(EnvironmentName.Development);
    builder.ConfigureWebJobs(b =>
            {
                b.AddAzureStorageCoreServices();
                b.AddAzureStorage();
            });
    builder.ConfigureLogging((context, b) =>
            {
                b.AddConsole();

                // If the key exists in settings, use it to enable Application Insights.
                string instrumentationKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
                if (!string.IsNullOrEmpty(instrumentationKey))
                {
                    b.AddApplicationInsightsWebJobs(o => o.InstrumentationKey = instrumentationKey);
                }
            });
    var host = builder.Build();
    using (host)
    {
        await host.RunAsync();
    }
}

Ini menginisialisasi penyedia log Application Insights dengan pemfilteran default. Saat berjalan secara lokal, semua Informasi dan log tingkat yang lebih tinggi ditulis ke konsol dan Application Insights.

\Terbitkan ulang proyek dan picu lagi fungsi

  1. Di Penjelajah Solusi, klik kanan proyek dan pilih Terbitkan.

  2. Seperti sebelumnya, gunakan portal Azure untuk membuat pesan antrean seperti yang Anda lakukan sebelumnya, kecuali masukkan Hello App Insights! sebagai teks pesan.

  3. Di halaman profil Terbitkan Anda, pilih tiga titik di atas Hosting untuk menampilkan Tindakan bagian profil hosting dan pilih Buka di Portal Microsoft Azure.

  4. Di aplikasi web pada Pengaturan, pilih Application Insights, dan pilih Lihat data Application Insights.

  5. Pilih Telusuri lalu pilih Lihat semua data dalam 24 jam terakhir.

    Pilih Telusuri

  6. Jika Anda tidak melihat pesan Hello App Insights!, pilih Refresh secara berkala selama beberapa menit. Log tidak segera muncul, karena klien Application Insights perlu beberapa saat untuk menghapus log yang diprosesnya.

    Masuk Application Insights

Menambahkan pengikatan input/output

Binding menyederhanakan kode yang membaca dan menulis data. Pengikatan input menyederhanakan kode yang membaca data. Pengikatan output menyederhanakan kode yang menulis data.

Menambahkan pengikatan

Pengikatan input menyederhanakan kode yang membaca data. Untuk contoh ini, pesan antrian adalah nama blob, yang akan Anda gunakan untuk menemukan dan membaca blob di Azure Storage. Anda kemudian akan menggunakan pengikatan output untuk menulis salinan file ke kontainer yang sama.

  1. Di Functions.cs, tambahkan using:

    using System.IO;
    
  2. Ganti metode ProcessQueueMessage dengan kode berikut:

    public static void ProcessQueueMessage(
        [QueueTrigger("queue")] string message,
        [Blob("container/{queueTrigger}", FileAccess.Read)] Stream myBlob,
        [Blob("container/copy-{queueTrigger}", FileAccess.Write)] Stream outputBlob,
        ILogger logger)
    {
        logger.LogInformation($"Blob name:{message} \n Size: {myBlob.Length} bytes");
        myBlob.CopyTo(outputBlob);
    }
    

    Dalam kode ini, queueTrigger adalah ekspresi pengikatan, yang berarti diselesaikan ke nilai yang berbeda saat runtime. Saat runtime, berarti memiliki isi pesan antrean.

    Kode ini menggunakan pengikatan output untuk membuat salinan file yang diidentifikasi oleh pesan antrean. Salinan file diawali dengan salin-.

  3. Di Program.cs, dalam metode ekstensi ConfigureWebJobs, tambahkan metode AddAzureStorageBlobs pada instance HostBuilder (sebelum Build perintah) untuk menginisialisasi ekstensi Storage. Pada titik ini, metode ConfigureWebJobs terlihat seperti ini:

    builder.ConfigureWebJobs(b =>
    {
        b.AddAzureStorageCoreServices();
        b.AddAzureStorageQueues();
        b.AddAzureStorageBlobs();
    });
    
  4. Buat wadah blob di akun penyimpanan Anda.

    a. Di portal Azure, navigasikan ke tab Kontainer di bawah Penyimpanan data dan pilih + Kontainer

    b. Dalam dialog Kontainer baru, masukkan kontainer sebagai nama kontainer, lalu pilih Buat.

  5. Unggah file Program.cs ke wadah blob. (File ini digunakan di sini sebagai contoh; Anda dapat mengunggah file teks apa pun dan membuat pesan antrean dengan nama file.)

    a. Pilih kontainer baru yang Anda buat

    b. Pilih tombol Unggah.

    Tombol unggah blob

    c. Cari dan pilih Program.cs, lalu pilih OK.

Menerbitkan ulang proyek

  1. Di Penjelajah Solusi, klik kanan proyek dan pilih Terbitkan.

  2. Dalam dialog Terbitkan, pastikan profil saat ini dipilih, lalu pilih Terbitkan. Hasil publikasi dijelaskan secara mendetail di jendela Output.

  3. Buat pesan antrean dalam antrean yang Anda buat sebelumnya, dengan Program.cs sebagai teks pesan.

    Program.cs pesan antrean

  4. Salinan file, copy-Program.cs, akan muncul di kontainer blob.

Langkah berikutnya

Tutorial ini menunjukkan cara membuat, menjalankan, dan menyebarkan proyek WebJobs SDK 3.x.