Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Terapkan fungsi C# Lambda menggunakan AWS SAM
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 templat YAML atau JSON dan menggunakan antarmuka baris AWS SAM perintah (AWS SAM CLI) untuk membangun, mengemas, dan menyebarkan aplikasi Anda. Saat Anda membangun fungsi Lambda dari AWS SAM template, AWS SAM secara otomatis membuat paket penerapan.zip atau image wadah dengan kode fungsi Anda dan dependensi apa pun yang Anda tentukan. AWS SAM kemudian menerapkan fungsi Anda menggunakan CloudFormation tum pukan. Untuk mempelajari selengkapnya tentang menggunakan AWS SAM untuk membangun dan menerapkan fungsi Lambda, lihat Memulai dengan AWS SAM di Panduan Peng AWS Serverless Application Model embang.
Langkah-langkah berikut menunjukkan cara mengunduh, membangun, dan menyebarkan contoh aplikasi.NET Hello World menggunakan AWS SAM. Aplikasi sampel ini menggunakan fungsi Lambda dan titik akhir Amazon API Gateway untuk mengimplementasikan backend API dasar. Saat Anda mengirim permintaan HTTP GET ke titik akhir API Gateway, API Gateway memanggil fungsi Lambda Anda. Fungsi mengembalikan pesan “hello world”, bersama dengan alamat IP instance fungsi Lambda yang memproses permintaan Anda.
Saat Anda membangun dan menerapkan aplikasi menggunakan AWS SAM, di balik layar AWS SAM CLI menggunakan dotnet lambda package perintah untuk mengemas bundel kode fungsi Lambda individual.
Prasyarat
- .NET8 SDK
-
Instal SDK
.NET 8 dan Runtime. - AWS SAM CLI versi 1.39 atau yang lebih baru
-
Untuk mempelajari cara menginstal versi terbaru AWS SAM CLI, lihat Meng instal AWS SAM CLI.
Menyebarkan sampel AWS SAM application
-
Inisialisasi aplikasi menggunakan template Hello world .NET menggunakan perintah berikut.
sam init --app-template hello-world --name sam-app \ --package-type Zip --runtime dotnet8Perintah 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 -
Arahkan ke direktori yang berisi
template.yaml file. File ini adalah tempate yang mendefinisikan AWS sumber daya untuk aplikasi Anda, termasuk fungsi Lambda Anda dan API Gateway API.cd sam-app -
Untuk membangun sumber aplikasi Anda, jalankan perintah berikut.
sam build -
Untuk menerapkan aplikasi Anda ke AWS, jalankan perintah berikut.
sam deploy --guidedPerintah 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 masuk
y.-
Nama Stack: Nama tumpukan yang akan digunakan CloudFormation. Nama ini harus unik untuk Anda Akun AWS dan Wilayah AWS.
-
Wilayah AWS: Tempat yang ingin Wilayah AWS Anda gunakan untuk menerapkan aplikasi Anda.
-
Konfirmasikan perubahan sebelum penerapan: Pilih ya untuk meninjau kumpulan perubahan secara manual AWS SAM sebelum menerapkan perubahan aplikasi. Jika Anda memilih tidak, AWS SAM CLI secara otomatis menerapkan perubahan aplikasi.
-
Izinkan pembuatan peran SAM CLI IAM: Banyak AWS SAM templat, termasuk Hello world dalam contoh ini, membuat peran AWS Identity and Access Management (IAM) untuk memberikan izin fungsi Lambda Anda untuk mengakses yang lain. Layanan AWS Pilih Ya untuk memberikan izin untuk menerapkan CloudFormation tumpukan yang membuat atau memodifikasi peran IAM.
-
Nonaktifkan rollback: Secara default, AWS SAM jika menemukan kesalahan selama pembuatan atau penerapan tumpukan Anda, itu akan mengembalikan tumpukan ke versi sebelumnya. Pilih Tidak untuk menerima default ini.
-
HelloWorldFunction mungkin tidak memiliki otorisasi yang ditentukan, apakah ini baik-baik saja: Enter
y. -
Simpan argumen ke samconfig.toml: Pilih ya untuk menyimpan pilihan konfigurasi Anda. Di masa mendatang, Anda dapat menjalankan ulang
sam deploytanpa parameter untuk menerapkan perubahan pada aplikasi Anda.
-
-
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 berikut ini.
{"message":"hello world","location":"34.244.135.203"} -
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 menggunakan AWS SAM untuk membangun dan menerapkan fungsi Lambda menggunakan.NET, lihat sumber daya berikut: