全部产品
Search
文档中心

Function Compute:Kompilasi dan Penyebaran Paket Kode

更新时间:Jan 13, 2026

Topik ini menjelaskan cara mengkompilasi kode program dalam waktu proses .NET dan mengemasnya sebagai paket .zip. Setelah kode dikompilasi dan dikemas, Anda dapat mengunggah paket tersebut di Konsol Function Compute atau menggunakan Serverless Devs.

Pustaka dependensi waktu proses C#

Function Compute menyediakan pustaka dependensi waktu proses C# berikut:

Anda dapat memperoleh pustaka dependensi ini dari NuGet Packages dan menambahkannya ke file <NamaProyekAnda>.csproj. Contoh kode:

  <ItemGroup>
        <PackageReference Include="Aliyun.Serverless.Core" Version="1.0.1" />
        <PackageReference Include="Aliyun.Serverless.Core.Http" Version="1.0.3" />
  </ItemGroup>

Menggunakan .NET Core CLI untuk mengkompilasi dan menyebarkan program

Paket penyebaran .NET Core harus mencakup perakitan terkompilasi dari fungsi Anda dan semua dependensinya. Anda dapat menggunakan .NET Core CLI untuk mengkompilasi dan menyebarkan program. Untuk menggunakan .NET Core CLI, Anda dapat membuat aplikasi .NET di Function Compute lintas platform. Untuk informasi lebih lanjut, lihat Unduh .NET.

Sebelum memulai

Buat layanan.

Langkah 1: Buat proyek .NET

  1. Jalankan perintah berikut untuk membuat proyek .NET:

    dotnet new console -o HelloFcApp -f netcoreapp3.1

    Dalam perintah di atas:

    • new console: template aplikasi konsol (direkomendasikan).

    • -o|--output: jalur keluaran proyek. Dalam contoh ini, direktori HelloFcApp dibuat untuk menyimpan isi proyek.

    • -f|--framework: versi .NET. Jika versi waktu proses adalah .NET Core 3.1, gunakan netcoreapp3.1.

    Berikut adalah contoh kode yang menunjukkan struktur direktori proyek setelah pembuatan:

    HelloFcApp
    ├── HelloFcApp.csproj
    ├── Program.cs
    └── obj
  2. Di direktori proyek, modifikasi parameter sesuai dengan kebutuhan bisnis Anda.

    • File HelloFcApp.csproj

      File ini merupakan konfigurasi proyek .NET yang mencakup informasi seperti kerangka kerja target dan pustaka dependensi proyek. Tambahkan pustaka dependensi yang disediakan oleh Function Compute ke file ini. Contoh kode:

      <Project Sdk="Microsoft.NET.Sdk">
      
        <PropertyGroup>
          <OutputType>Exe</OutputType>
          <TargetFramework>netcoreapp3.1</TargetFramework>
        </PropertyGroup>
      
        <ItemGroup>
              <PackageReference Include="Aliyun.Serverless.Core" Version="1.0.1" />
              <PackageReference Include="Aliyun.Serverless.Core.Http" Version="1.0.3" />
        </ItemGroup>
      
      </Project>
    • File Program.cs

      File ini berisi kode penangan permintaan Anda. Untuk informasi lebih lanjut, lihat Penangan Acara atau Penangan HTTP. Bagian ini menggunakan penangan permintaan acara tipe Stream sebagai contoh.

      using System.IO;
      using System.Threading.Tasks;
      using Aliyun.Serverless.Core;
      using Microsoft.Extensions.Logging;
      
      namespace Example
      {
          public class Hello
          {
              public async Task<Stream> StreamHandler(Stream input, IFcContext context)
              {
                  IFcLogger logger = context.Logger;
                  logger.LogInformation("Menangani permintaan: {0}", context.RequestId);
                  MemoryStream copy = new MemoryStream();
                  await input.CopyToAsync(copy);
                  copy.Seek(0, SeekOrigin.Begin);
                  return copy;
              }
      
              static void Main(string[] args){}
          }
      }

Langkah 2: Kompilasi proyek .NET

  1. Jalankan perintah berikut untuk masuk ke direktori proyek, mengkompilasi program, lalu ekspor hasilnya ke direktori target:

    cd HelloFcApp && dotnet publish -c Release -o ./target
  2. Jalankan perintah berikut untuk masuk ke direktori target dan mengemas program menjadi paket .zip:

    cd target && zip -r HelloFcApp.zip *

    Berikut adalah contoh kode yang menunjukkan struktur direktori paket .zip:

    HelloFcApp.zip
    ├── Aliyun.Serverless.Core.dll
    ├── HelloFcApp.deps.json
    ├── HelloFcApp.dll
    ├── HelloFcApp.pdb
    ├── HelloFcApp.runtimeconfig.json
    └ ── Microsoft.Extensions.Logging.Abstractions.dll
    Penting

    Pastikan bahwa HelloFcApp.dll dan file lainnya telah dikemas ke dalam direktori root file .zip.

Langkah 3: Sebarkan kode proyek dan lakukan verifikasi

  1. Masuk ke Konsol Function Compute. Di panel navigasi sebelah kiri, klik Services & Functions.

  2. Di bilah navigasi atas, pilih wilayah. Di halaman Services, klik layanan yang diinginkan.

  3. Di halaman Functions, klik Create Function.

  4. Di halaman Create Function, pilih Use Built-in Runtime, konfigurasikan parameter terkait fungsi, lalu klik Create.

    Konfigurasikan parameter berikut sesuai deskripsi. Pertahankan nilai default untuk parameter lainnya:

    • Handler Type: Pilih Event Handler.

    • Runtime: Pilih .NET Core 3.1.

    • Code Upload Method: Pilih Upload ZIP dan unggah file .zip yang dikemas oleh pustaka dependensi waktu proses C#.

    • Request Handler: Atur nilainya menjadi HelloFcApp::Example.Hello::StreamHandler. Untuk informasi tentang format penangan, lihat Penangan.

    Setelah fungsi dibuat, Anda akan diarahkan ke tab Code pada halaman detail fungsi.

  5. Di tab Code pada halaman detail fungsi, klik Test Function.

    Hasil berikut dikembalikan setelah fungsi dieksekusi:

    {
        "key1": "value1",
        "key2": "value2",
        "key3": "value3"
    }

    Anda juga dapat mengklik tab Log Output untuk melihat log rinci.