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

Erstellt am 2. Dez. 2018  ·  20Kommentare  ·  Quelle: aws/aws-lambda-dotnet

Funktioniert der Amazon.Lambda.AspNetCoreServer mit der Application Load Balancer-Integration, die gerade während reInvent angekündigt wurde? Beim Ausprobieren bemerke ich ein seltsames Verhalten, bin mir nicht sicher, ob ich etwas falsch mache oder ob es sich um ein bekanntes Problem handelt.

feature-request

Hilfreichster Kommentar

Ich habe an der ALB-Unterstützung im alb-support- Zweig gearbeitet. Der nächste Schritt in diesem Zweig ist die Arbeit an Amazon.Lambda.AspNetCoreServer

Alle 20 Kommentare

Ich habe mir gerade die neue ALB-Integration angesehen. Die JSON-Anforderung, die an die Lambda-Funktion gesendet wird, unterscheidet sich von API Gateway. Es sollte nicht allzu schwer sein, in APIGatewayProxyFunction das JSON-Format zu erkennen und basierend auf der Quelle eine andere Parsing-Logik durchzuführen.

Das wäre großartig. Wir würden ALB wahrscheinlich als unsere bevorzugte Integrationsmethode verwenden, da wir ALB bereits stark nutzen.

Wir verwenden derzeit APIGatewayProxyFunction, aber das API-Gateway lässt nur 30 Sekunden zu, um die Transaktion abzuschließen. Ein ELB wäre eine gute Lösung für unsere größeren Daten, die verarbeitet werden müssen. (Bis zur Grenze der Lambda-Funktionen 15min)

Es wäre erstaunlich, wenn wir einfach die LambdaEntryPoint : Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFunction verwenden könnten und es egal wäre, ob es sich um ein APIGateway oder ein ELB handelt.

Ich habe an der ALB-Unterstützung im alb-support- Zweig gearbeitet. Der nächste Schritt in diesem Zweig ist die Arbeit an Amazon.Lambda.AspNetCoreServer

Wow war das schnell! =) Danke!
Ich kann es kaum erwarten!

Das ist großartig, danke. Ich freue mich darauf, dies für unsere dotnet Core-Web-App zu verwenden. Danke!

Einverstanden, ich kann dieses Feature kaum erwarten!

Statusaktualisierung Ich habe den Zweig alb-support-aspnetcore gepusht , der die Updates für Amazon.Lambda.AspNetCoreServer enthält.

Die Änderungen lösten schließlich einen größeren Refactor aus, als ich gesprungen war. Als ich diese Bibliothek ursprünglich schrieb, hatte ich definitiv nicht damit gerechnet, dass es mehrere HTTP-Frontends für Lambda-Funktionen geben würde.

Wenn jemand bereit ist, das Repo zu klonen und es auszuprobieren, während ich mit der Validierung fertig bin, wäre das großartig. Sie sollten nur das Repo klonen, in Amazon.Lambda.ApplicationLoadBalancerEvents und Amazon.Lambda.AspNetCoreServer gehen und ein dotnet pack . Fügen Sie dann das erstellte NuGet-Paket einem lokalen Feed hinzu.

Für die meisten Apps ist die einzige Änderung, die Sie in LambdaEntryPoint oder wie auch immer Sie es genannt haben, vornehmen müssen, die Änderung der Basisklasse von APIGatewayProxyFunction in ApplicationLoadBalancerFunction .

Das Lustige ist, dass ich mit master erneut einen LAMBDA-Namen bereitgestellt habe und ELB mit LambdaEntryPoint : Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFunction vor Ihrem Zweig verwenden konnte, und alles funktionierte. (Sie müssen nur die Regeln für den ELB-Trigger festlegen, um den Pfad „api/*“ zu verwenden.)

(Irgendwie funktioniert das Einrichten eines ELB-Triggers für eine neue Lambda-Funktion ohne Ihre Verzweigungen, vielleicht weil die Header/Antworten fast gleich sind.)

Wenn ich Zeit habe, werde ich Ihren Zweig heute später testen.

Es gibt eine ziemliche Ähnlichkeit zwischen dem API-Gateway und dem ALB-Ereignis, mit dem Sie Glück haben können. Wenn Sie Header mit mehreren Werten aktiviert haben oder Binärdaten aus dem Anforderungstext hatten, schlägt dies fehl.

Zweig sieht gut aus.

Das sieht toll aus! Ich bin gespannt, wie diese Funktionalität in Aktion funktioniert. Haben wir eine geschätzte ETA, wann dies zusammengeführt und verpackt werden kann?

Ich freue mich wirklich darauf, dies im offiziellen Paket zu sehen.
Ich denke, dies ist das beste serverlose Angebot, das Sie haben. Wir würden die meisten unserer APIs und sogar Websites darauf migrieren, wenn da nicht die beiden Hauptnachteile wären; API Gateway und die (Lambda) Kaltstartverzögerungen. Dies behebt einen von ihnen, und ALB-Zustandsprüfungen sollten helfen, Lambdas am Leben zu erhalten :-)

@normj , nur neugierig, ob es eine ETA gibt, wann wir damit rechnen können, dass dies auf Nuget verfügbar ist?

Ich warte gespannt darauf, dass dieses Feature auch im Nuget enthalten ist.

Ich habe dies an meiner bereits vorhandenen Anwendung getestet und es scheint ohne Probleme zu funktionieren.

Version 3.0.0 von Amazon.Lambda.AspNetCoreServer wurde heute mit ALB-Unterstützung veröffentlicht. Weitere Informationen finden Sie im Blogbeitrag. https://aws.amazon.com/blogs/developer/updates-for-serverless-asp-net-core/

@normj Toller Beitrag und hervorragende Arbeit! Vielen Dank für alles, was Sie tun, um .NET in das AWS-Ökosystem zu integrieren.

@ryanpagel Herzlich willkommen 😄

Wird geschlossen, wenn die Funktion veröffentlicht wird.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen