Aws-lambda-dotnet: Amazon.Lambda.AspNetCoreServer dengan Application Load Balancer

Dibuat pada 2 Des 2018  ·  20Komentar  ·  Sumber: aws/aws-lambda-dotnet

Apakah Amazon.Lambda.AspNetCoreServer berfungsi dengan integrasi Application Load Balancer yang baru saja diumumkan selama reInvent? Saya memperhatikan beberapa perilaku aneh ketika mencoba ini, tidak yakin apakah saya melakukan sesuatu yang salah atau apakah itu masalah yang diketahui.

feature-request

Komentar yang paling membantu

Saya telah mengerjakan dukungan ALB di cabang dukungan alb . Langkah selanjutnya di cabang itu adalah mengerjakan Amazon.Lambda.AspNetCoreServer

Semua 20 komentar

Saya baru saja melihat integrasi ALB yang baru. Permintaan JSON yang dikirim ke fungsi Lambda berbeda dengan API Gateway. Seharusnya tidak terlalu sulit untuk mendeteksi di APIGatewayProxyFunction format JSON dan melakukan logika parse yang berbeda berdasarkan sumbernya.

Itu bagus. Kami mungkin akan menggunakan ALB sebagai metode pengintegrasian pilihan kami karena kami telah banyak menggunakan ALB.

Kami saat ini menggunakan APIGatewayProxyFunction, tetapi API Gateway hanya mengizinkan 30 detik untuk menyelesaikan transaksi. ELB akan menjadi solusi yang baik untuk data kami yang lebih besar yang perlu diproses. (Hingga batas pada fungsi lambda 15 menit)

Akan luar biasa jika kita bisa menggunakan LambdaEntryPoint : Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFunction dan tidak peduli apakah itu APIGateway atau ELB.

Saya telah mengerjakan dukungan ALB di cabang dukungan alb . Langkah selanjutnya di cabang itu adalah mengerjakan Amazon.Lambda.AspNetCoreServer

Wow itu cepat! =) Terima kasih!
Tidak sabar!

Ini bagus, terima kasih. Menantikan untuk menggunakan ini untuk aplikasi web inti dotnet kami. Terima kasih!

Setuju, tidak sabar untuk fitur ini!

Pembaruan status Saya telah mendorong cabang alb-support-aspnetcore yang berisi pembaruan untuk Amazon.Lambda.AspNetCoreServer .

Perubahan akhirnya memicu refactor yang lebih besar daripada yang saya lompat. Saya pasti tidak mengantisipasi ketika saya awalnya menulis perpustakaan ini bahwa akan ada beberapa antarmuka HTTP untuk fungsi Lambda.

Jika ada yang mau mengkloning repo dan mencoba ini sementara saya selesai dengan validasi itu akan bagus. Anda hanya perlu mengkloning repo, masuk ke Amazon.Lambda.ApplicationLoadBalancerEvents dan Amazon.Lambda.AspNetCoreServer dan lakukan dotnet pack . Kemudian tambahkan paket NuGet yang dibuat ke feed lokal.

Untuk sebagian besar aplikasi, satu-satunya perubahan yang harus Anda lakukan di LambdaEntryPoint atau apa pun yang Anda beri nama adalah mengubah kelas dasar dari APIGatewayProxyFunction menjadi ApplicationLoadBalancerFunction .

Lucunya adalah saya menggunakan kembali nama LAMBDA menggunakan master, dan saya dapat menggunakan ELB dengan LambdaEntryPoint : Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFunction sebelum cabang Anda, dan semuanya bekerja. (Hanya perlu mengatur aturan pada Pemicu ELB untuk menggunakan jalur "api/*")

(Entah bagaimana menyiapkan pemicu ELB pada fungsi lambda baru bekerja di luar gerbang tanpa cabang Anda, mungkin karena tajuk/tanggapannya hampir sama.)

Jika saya punya waktu, saya akan menguji cabang Anda hari ini.

Ada cukup banyak kesamaan antara API Gateway dan acara ALB yang memungkinkan Anda untuk beruntung. Jika Anda mengaktifkan header multi nilai atau memiliki data biner dari badan permintaan, itu akan gagal.

Cabang terlihat bagus.

Ini terlihat hebat! Saya ingin melihat bagaimana fungsi ini bekerja. Apakah kami memiliki perkiraan ETA kapan ini dapat digabungkan dan dikemas?

Sangat menantikan untuk melihat ini dalam paket resmi.
Saya pikir ini adalah penawaran tanpa server terbaik yang Anda miliki. Kami akan memigrasikan sebagian besar API kami dan bahkan situs web ke sini jika bukan karena dua kelemahan utama; API Gateway dan penundaan mulai dingin (lambda). Ini memperbaiki salah satunya, dan pemeriksaan kesehatan ALB akan membantu menjaga lambda tetap hidup :-)

@normj , hanya ingin tahu apakah ada ETA kapan kita bisa mengharapkan ini tersedia di Nuget?

Saya tidak sabar menunggu fitur ini dimasukkan ke dalam Nuget juga.

Saya telah menguji ini pada aplikasi saya yang sudah ada dan tampaknya berfungsi tanpa masalah.

Versi 3.0.0 dari Amazon.Lambda.AspNetCoreServer dirilis hari ini dengan dukungan ALB. Lihat posting blog untuk informasi lebih lanjut. https://aws.amazon.com/blogs/developer/updates-for-serverless-asp-net-core/

@normj Postingan yang bagus dan pekerjaan yang luar biasa! Terima kasih atas semua yang Anda lakukan untuk mengintegrasikan .NET ke dalam ekosistem AWS.

@ryanpagel Selamat datang

Menutup saat fitur dirilis.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat