Menyebarkan fungsi C# Lambda menggunakan AWS SAM - AWS Lambda

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menyebarkan fungsi C# Lambda menggunakan AWS SAM

The AWS Serverless Application Model (AWS SAM) adalah toolkit yang membantu merampingkan proses membangun dan menjalankan aplikasi tanpa server. AWS Anda menentukan sumber daya untuk aplikasi Anda dalam template YAMM atau JSON dan menggunakan antarmuka baris AWS SAM perintah (AWS SAM CLI) untuk membangun, mengemas, dan menyebarkan aplikasi Anda. Saat Anda membuat fungsi Lambda dari AWS SAM template, AWS SAM secara otomatis membuat paket penerapan .zip atau gambar kontainer dengan kode fungsi Anda dan dependensi apa pun yang Anda tentukan. AWS SAM kemudian menyebarkan fungsi Anda menggunakan AWS CloudFormation tumpukan. Untuk mempelajari lebih lanjut cara menggunakan AWS SAM untuk membangun dan menerapkan fungsi Lambda, lihat Memulai di Panduan AWS SAMAWS Serverless Application Model Pengembang.

Langkah-langkah berikut menunjukkan kepada Anda cara mengunduh, membangun, dan menyebarkan contoh aplikasi.NET Hello World menggunakan AWS SAM. Contoh aplikasi ini menggunakan fungsi Lambda dan endpoint Amazon API Gateway untuk mengimplementasikan backend API dasar. Saat Anda mengirim permintaan HTTP GET ke titik akhir API Gateway, API Gateway akan memanggil fungsi Lambda Anda. Fungsi mengembalikan pesan “hello world”, bersama dengan alamat IP dari instance fungsi Lambda yang memproses permintaan Anda.

Saat Anda membangun dan menerapkan aplikasi Anda menggunakan AWS SAM, di belakang layar AWS SAM CLI menggunakan perintah untuk mengemas dotnet lambda package bundel kode fungsi Lambda individual.

Prasyarat

.NET 8 SDK

Instal .NET 8 SDK dan Runtime.

AWS SAM CLI versi 1.39 atau yang lebih baru

Untuk mempelajari cara menginstal AWS SAM CLI versi terbaru, lihat Menginstal CLI AWS SAM.

Menyebarkan aplikasi sampel AWS SAM

  1. Inisialisasi aplikasi menggunakan template Hello world .NET menggunakan perintah berikut.

    sam init --app-template hello-world --name sam-app \ --package-type Zip --runtime dotnet8

    Perintah ini membuat file dan direktori berikut di direktori proyek Anda.

    └── sam-app ├── README.md ├── events │   └── event.json ├── omnisharp.json ├── samconfig.toml ├── src │   └── HelloWorld │   ├── Function.cs │   ├── HelloWorld.csproj │   └── aws-lambda-tools-defaults.json ├── template.yaml └── test └── HelloWorld.Test ├── FunctionTest.cs └── HelloWorld.Tests.csproj
  2. Arahkan ke direktori yang berisi filetemplate.yaml file. File ini adalah tempate yang mendefinisikan AWS resource untuk aplikasi Anda, termasuk fungsi Lambda dan API Gateway API.

    cd sam-app
  3. Untuk membangun sumber aplikasi Anda, jalankan perintah berikut.

    sam build
  4. Untuk menyebarkan aplikasi Anda AWS, jalankan perintah berikut.

    sam deploy --guided

    Perintah ini mengemas dan menyebarkan aplikasi Anda dengan serangkaian prompt berikut. Untuk menerima opsi default, tekan Enter.

    catatan

    Karena HelloWorldFunction mungkin tidak memiliki otorisasi yang ditentukan, apakah ini baik-baik saja? , pastikan untuk masuky.

    • Nama Stack: Nama tumpukan yang akan digunakan. AWS CloudFormation Nama ini harus unik untuk Anda Akun AWS dan Wilayah AWS.

    • Wilayah AWS: Wilayah AWS Anda ingin menerapkan aplikasi Anda ke.

    • Konfirmasikan perubahan sebelum penerapan: Pilih ya untuk meninjau set perubahan apa pun secara manual sebelum AWS SAM menerapkan perubahan aplikasi. Jika Anda memilih tidak, AWS SAM CLI secara otomatis menyebarkan perubahan aplikasi.

    • Izinkan pembuatan peran SAM CLI IAM: Banyak AWS SAM templat, termasuk Hello world dalam contoh ini, buat peran AWS Identity and Access Management (IAM) untuk memberikan izin fungsi Lambda Anda untuk mengakses yang lain. AWS layanan Pilih Ya untuk memberikan izin untuk menyebarkan AWS CloudFormation tumpukan yang membuat atau memodifikasi peran IAM.

    • Nonaktifkan rollback: Secara default, jika AWS SAM menemukan kesalahan selama pembuatan atau penyebaran tumpukan Anda, itu akan memutar tumpukan kembali ke versi sebelumnya. Pilih Tidak untuk menerima default ini.

    • HelloWorldFunction mungkin tidak memiliki otorisasi yang ditentukan, apakah ini baik-baik saja: Entery.

    • Simpan argumen ke samconfig.toml: Pilih ya untuk menyimpan pilihan konfigurasi Anda. Di masa mendatang, Anda dapat menjalankan ulang sam deploy tanpa parameter untuk menerapkan perubahan pada aplikasi Anda.

  5. Ketika penerapan aplikasi Anda selesai, CLI mengembalikan Amazon Resource Name (ARN) dari fungsi Hello World Lambda dan peran IAM yang dibuat untuknya. Ini juga menampilkan titik akhir API Gateway API Anda. Untuk menguji aplikasi Anda, buka titik akhir di browser. Anda akan melihat respons yang mirip dengan yang berikut ini.

    {"message":"hello world","location":"34.244.135.203"}
  6. Untuk menghapus sumber daya Anda, jalankan perintah berikut. Perhatikan bahwa titik akhir API yang Anda buat adalah titik akhir publik yang dapat diakses melalui internet. Kami menyarankan Anda menghapus titik akhir ini setelah pengujian.

    sam delete

Langkah selanjutnya

Untuk mempelajari selengkapnya tentang penggunaan AWS SAM untuk membangun dan menerapkan fungsi Lambda menggunakan.NET, lihat sumber daya berikut: