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

تم إنشاؤها على ٢ ديسمبر ٢٠١٨  ·  20تعليقات  ·  مصدر: aws/aws-lambda-dotnet

هل يعمل Amazon.Lambda.AspNetCoreServer مع تكامل Application Load Balancer الذي تم الإعلان عنه للتو أثناء إعادة الابتكار؟ ألاحظ بعض السلوك الغريب عند تجربة ذلك ، لست متأكدًا مما إذا كنت أفعل شيئًا خاطئًا أو إذا كانت مشكلة معروفة.

feature-request

التعليق الأكثر فائدة

لقد كنت أعمل على دعم ALB في فرع دعم alb . الخطوة التالية في هذا الفرع هي العمل على Amazon.Lambda.AspNetCoreServer

ال 20 كومينتر

كنت ألقي نظرة على تكامل ALB الجديد. طلب JSON الذي يتم إرساله إلى وظيفة Lambda يختلف عن بوابة API. لا ينبغي أن يكون من الصعب جدًا اكتشاف وظيفة تنسيق JSON في APIGatewayProxy والقيام بمنطق تحليل مختلف بناءً على المصدر.

هذا سيكون رائع. من المحتمل أن نستخدم ALB كطريقتنا المفضلة للتكامل لأننا بالفعل نستخدم ALB بكثافة.

نحن نستخدم حاليًا APIGatewayProxyFunction ، لكن بوابة API تسمح فقط بـ 30 ثانية لإنهاء المعاملة. سيكون ELB حلاً جيدًا لبياناتنا الأكبر التي تحتاج إلى معالجة. (حتى الحد الأقصى لوظائف لامدا 15 دقيقة)

سيكون من الرائع لو تمكنا فقط من استخدام LambdaEntryPoint: Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFunction ولا تهتم بما إذا كانت APIGateway الخاصة بها أو ELB.

لقد كنت أعمل على دعم ALB في فرع دعم alb . الخطوة التالية في هذا الفرع هي العمل على Amazon.Lambda.AspNetCoreServer

واو هذا كان سريعا! =) شكرا!
لا استطيع الانتظار!

هذا رائع شكرا نتطلع إلى استخدام هذا لتطبيق الويب الأساسي الخاص بنا. شكرا!

متفق عليه ، لا يمكن أن تنتظر هذه الميزة!

تحديث الحالة لقد دفعت الفرع alb-support-aspnetcore الذي يحتوي على التحديثات لـ Amazon.Lambda.AspNetCoreServer .

انتهى الأمر بالتغييرات التي أدت إلى إعادة بناء أكبر ثم قفزت. لم أكن أتوقع بالتأكيد عندما كتبت هذه المكتبة في الأصل أنه سيكون هناك العديد من واجهات HTTP الأمامية لوظائف Lambda.

إذا كان أي شخص على استعداد لاستنساخ الريبو وتجربته أثناء الانتهاء من التحقق ، فسيكون ذلك رائعًا. يجب عليك فقط استنساخ الريبو ، والذهاب إلى Amazon.Lambda.ApplicationLoadBalancerEvents و Amazon.Lambda.AspNetCoreServer وقم بعمل dotnet pack . ثم أضف حزمة NuGet التي تم إنشاؤها إلى موجز محلي.

بالنسبة لمعظم التطبيقات ، التغيير الوحيد الذي يجب عليك إجراؤه في LambdaEntryPoint أو أيًا كان ما تسميه هو تغيير الفئة الأساسية من APIGatewayProxyFunction إلى ApplicationLoadBalancerFunction .

الشيء المضحك هو أنني قمت بإعادة النشر إلى اسم LAMBDA باستخدام master ، وتمكنت من استخدام ELB مع LambdaEntryPoint: Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFunction قبل فرعك ، وعمل كل شيء. (تحتاج فقط إلى تعيين القواعد على ELB Trigger لاستخدام المسار "api / *")

(يعمل إعداد مشغل ELB بطريقة ما على وظيفة lambda الجديدة على الخروج من البوابة بدون الفروع ، ربما لأن الرؤوس / الاستجابات قريبة من نفس الشيء.)

إذا كان لدي وقت سأختبر فرعك في وقت لاحق اليوم.

هناك قدر لا بأس به من التشابه بين بوابة API وحدث ALB والذي يمكن أن يسمح لك بالحظ. إذا قمت بتمكين الرؤوس متعددة القيم أو كان لديك بيانات ثنائية من نص الطلب ، فسوف تفشل.

يبدو الفرع جيدًا.

هذا يبدو رائعا! أنا حريص على معرفة كيفية عمل هذه الوظيفة. هل لدينا أي وقت مقدّر للوصول إلى وقت يمكن دمجه فيه وتعبئته؟

أتطلع حقًا إلى رؤية هذا في الحزمة الرسمية.
أعتقد أن هذا هو أفضل عرض بدون خادم لديك. سنقوم بترحيل معظم واجهات برمجة التطبيقات الخاصة بنا وحتى مواقع الويب إلى هذا إذا لم يكن هناك عيبان رئيسيان ؛ بوابة API و (lambda) تأخير البدء البارد. يعمل هذا على إصلاح أحدها ، ويجب أن تساعد فحوصات ALB الصحية في الحفاظ على حياة لامدا :-)

normj ، هل تشعر بالفضول فقط إذا كان هناك أي ETA قيد التشغيل عندما نتوقع أن يكون هذا متاحًا على Nuget؟

أنا أنتظر بفارغ الصبر تضمين هذه الميزة في Nuget أيضًا.

لقد اختبرت هذا في تطبيقي الموجود بالفعل ويبدو أنه يعمل بدون مشكلة.

تم إصدار الإصدار 3.0.0 من Amazon.Lambda.AspNetCoreServer اليوم بدعم ALB. تحقق من بلوق وظيفة لمزيد من المعلومات. https://aws.amazon.com/blogs/developer/updates-for-serverless-asp-net-core/

normj آخر عظيم وعمل ممتاز! نشكرك على كل ما تفعله لدمج .NET في نظام AWS البيئي.

ryanpagel أهلا وسهلا بك 😄

يتم الإغلاق عند إطلاق الميزة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

JustinGrote picture JustinGrote  ·  5تعليقات

ljacobsson picture ljacobsson  ·  7تعليقات

CrazyBaran picture CrazyBaran  ·  7تعليقات

matsola picture matsola  ·  4تعليقات

pandaedward picture pandaedward  ·  6تعليقات