Aws-lambda-dotnet: .NET Core 3.1 (LTS) wurde veröffentlicht

Erstellt am 3. Dez. 2019  Â·  130Kommentare  Â·  Quelle: aws/aws-lambda-dotnet

.NET Core 3.1 (LTS) wurde veröffentlicht – https://devblogs.microsoft.com/dotnet/announcing-net-core-3-1/

Gibt es PlĂ€ne, es bald zu unterstĂŒtzen? Vielen Dank.

feature-request

Hilfreichster Kommentar

Und mit noch 13 Stunden im Viertel ist Schluss

https://aws.amazon.com/blogs/compute/announcing-aws-lambda-supports-for-net-core-3-1/

Danke an alle fĂŒr eure Geduld. @raRaRa Ich werde Ihnen die Ehre ĂŒberlassen, diese Ausgabe

Alle 130 Kommentare

Es ist ein LTS und wird unterstĂŒtzt. Es wird nur einige Zeit dauern, bis .NET Core 3.1 fĂŒr Lambda bereit und bereitgestellt ist.

Es ist ein LTS und wird unterstĂŒtzt. Es dauert nur eine Weile, bis .NET Core 3.1 fĂŒr Lambda bereit und bereitgestellt ist.

Wenn ich etwas tun kann, um zu helfen, lass es mich wissen.

Wird es eine Beschleunigung fĂŒr die Kaltstartzeit geben?

.NET Core 3.1 verfĂŒgt ĂŒber einige Funktionen wie die AOT-Kompilierung

  • VeröffentlichenReadyToRun
  • VeröffentlichenTrimmed

@normj sollten die Leute dieses Problem fĂŒr Updates abonnieren oder gibt es ein anderes .NET Core 3.1-Problem, dem wir folgen sollten, um Fortschritte zu

Wir können dieses Problem verwenden, um Updates zu verfolgen. Leider werde ich wahrscheinlich nicht in der Lage sein, viele Statusaktualisierungen bereitzustellen, bis es draußen ist.

Wird es eine Beschleunigung fĂŒr die Kaltstartzeit geben?

.NET Core 3.1 verfĂŒgt ĂŒber einige Funktionen wie die AOT-Kompilierung

  • VeröffentlichenReadyToRun
  • VeröffentlichenTrimmed

Falls die Antwort fĂŒr den Kommentar ja lautet, ist es dann möglich, das "kompilierte Lambda" in einer lokalen Umgebung auszufĂŒhren und zu testen? Ich wĂŒrde eifrig eine Linux-Umgebung dafĂŒr einrichten :)

Irgendein Update hier?

@rati-dzidziguri

Wie oben von @normj

Wir können dieses Problem verwenden, um Updates zu verfolgen. Leider werde ich wahrscheinlich nicht in der Lage sein, viele Statusaktualisierungen bereitzustellen, bis es draußen ist.

@beeradmoore
Meine Frage bezog sich auf ETA. Das wĂ€re hilfreich, die ETA dafĂŒr zu kennen, da wir uns entsprechend vorbereiten könnten.

@rati-dzidziguri Amazon gibt selten seine ETA bekannt, wenn es um Veröffentlichungen geht.

@rati-dzidziguri Ich verstehe und schĂ€tze Sie, dass Sie eine ETA wĂŒnschen, damit Sie entsprechend planen können. In Wirklichkeit geben wir aus diesem Grund im Allgemeinen keine ETA, weil wir uns wirklich bemĂŒhen, keine Versprechungen zu machen, von denen wir nicht 100% sicher sind, dass wir sie halten können. Ich wĂŒrde es hassen, Ihnen eine ETA zu geben, und Sie erstellen Ihre Roadmap auf dieser Grundlage und wir vermissen diese ETA, von der Sie erwartet hatten, dass sie alle Ihre PlĂ€ne durcheinander bringt.

Denn jetzt , wenn Sie benötigen .NET Core - 3.1 - Funktionen wirklich dann schlage ich .NET - Core 3.1 als Lambda Benutzerdefinierte Runtime verwendet , die erklĂ€rt wird hier (außer Änderung Referenzen von .NET - Core 3.0 auf .NET - Core 3.1). Wenn dann die native .NET Core 3.1-UnterstĂŒtzung verfĂŒgbar ist, haben Sie eine sehr einfache Migration, bei der Sie einige Einstellungen Ihrer Lambda-Funktion Ă€ndern mĂŒssen.

@normj Ein Grund dafĂŒr, dass ich die benutzerdefinierte Laufzeitfunktion nicht mit der Klasse 'LambdaEntry' verwenden kann, ist der Aspekt der 'monolithischen Architektur' des Implementierungsansatzes. Jede API-Anfrage kommt durch das einzige Lambda-Eintrag und wird an die Controller des ASP .net-Projekts "verteilt", was die benutzerdefinierte Laufzeitstruktur beabsichtigte, was definitiv praktisch ist, aber fĂŒr FĂ€lle wie ich es wĂŒnsche, strukturelle Nachteile mit sich bringt. Ich möchte, dass jede Befehls-/Abfrageanforderung jeweils zu Lambda wird. Seitdem kann ich eine Skalierbarkeit bei der Verwaltung von Bereitstellungspaketen erhalten, sodass ich einige Funktionen aufteilen und Codes verwalten kann, wann immer ich möchte.
Aus diesem Grund warte ich darauf, dass die offizielle Laufzeit unterstĂŒtzt wird, damit ich ein BĂŒndel von 'Einzelzweck-Lambdas' mit SAM erstellen kann, das in einer Vorlage mit der Konfiguration 'runtime : .netcore 3.1' geschrieben ist.

Bitte gebt mir einen Rat, wenn ich falsch liege :)

Mit dem Lambda Bootstrapper und der benutzerdefinierten Laufzeitfunktion können Sie definitiv mehrere Lambda-Funktionen aus einer Codebasis erreichen.

Ich habe eine Suite von 16 Lambdas, die von einer Anwendung und nicht von einem „Monolithen“ bereitgestellt werden.

Dies wird erreicht, indem die Umgebungsvariable _handler wird, um die Methode auszuwÀhlen, die zur Laufzeit verwendet werden soll, und nicht die hartcodierte Eins-zu-Eins-Zuordnung, die im Beispielcode des Blogposts gezeigt wird.

Ich stelle es mir als Konsolen-App vor, die einen Schalter erhĂ€lt, der ihr mitteilt, welche Aktion beim Start ausgefĂŒhrt werden soll.

@martinkostello
Vielen Dank fĂŒr den netten Vorschlag! Ich kann mir vorstellen, wie Ihr Fall aussehen könnte. Möglicherweise haben Sie die Switch-Logik in der Main- oder Startup-Klasse platziert, damit ihre FunktionalitĂ€t in der ersten Phase der Laufzeit bestimmt werden kann. Und es kann natĂŒrlich das „nur monolithische“ Problem lösen. Sehr cleverer Ansatz :)

Trotzdem muss ich an eine (wenn nicht viele) Überlegung denken, besonders wenn ich mir vorstelle, im Team zu arbeiten. Durch die Verwendung einer benutzerdefinierten Laufzeit und das Bestimmen der "funktionalen IdentitĂ€t" beim Start wird die Möglichkeit von SAM beseitigt. Als einfaches Beispiel fĂŒr uns kann das API-Gateway nicht wĂ€hrend der Bereitstellung eines Lambda definiert werden, was bedeutet, dass wir eines dafĂŒr manuell generieren mĂŒssen.
Ich weiß, dass ich hier ĂŒbertreibe, weil wir mit dem Bootstrap-Skript eine SAM-Ă€hnliche Konfiguration vornehmen können, wie das aws-Tutorial erklĂ€rt wurde . Aber es wird uns nicht vollstĂ€ndig zufriedenstellen, da es ein Linux-Skript verwendet, was bedeutet, dass
(1) Es kann fĂŒr Neuankömmlinge peinlich sein und manchmal wird es zu einer Lernkurve.
(2) es wird den Vorteil der Aussagekraft des serverlosen Templates verwerfen, da es sich buchstÀblich um ein Skript und nicht um ein Dokument handelt.

Ich denke, das serverlose Template funktioniert als Semi-Dokument dessen, wie der Server aussieht und wie er funktioniert, das nicht nur innerhalb eines Entwicklungsteams, sondern sogar mit einigen aufschlussreichen Nicht-Technikern geteilt wird. und SAM ist ein gut definiertes Konzept, das es in naher Zukunft ermöglichen wird, durch abstrakte Darstellungen einer Anwendung von einem anderen Team mit völlig anderen Sprachen und Plattformen wiederverwendet zu werden. Diese Aspekte motivieren mich immer noch unbestreitbar, bei der Verwendung der 'Serverless Template'-Funktion zu bleiben.

Ein paar schöne Termine fĂŒr die Veröffentlichung, 25. Dezember, 1. Januar fallen mir ein ;)

Ich wĂŒnschte, ich könnte Ihnen allen .NET Core 3.1 Lambda Runtime zu Weihnachten schenken, aber ich denke, 2020 wird ein aufregendes Jahr fĂŒr .NET und AWS.

Ich wĂŒnschte, ich könnte Ihnen allen .NET Core 3.1 Lambda Runtime zu Weihnachten schenken, aber ich denke, 2020 wird ein aufregendes Jahr fĂŒr .NET und AWS.

Keine Sorge, genießt die Feiertage! Ich kann es kaum erwarten zu sehen, was Sie 2020 fĂŒr uns haben! :)

Warten auf native Lambda-UnterstĂŒtzung auf .NetCore3.1

Es gibt eine BeschrĂ€nkung der FestplattengrĂ¶ĂŸe fĂŒr Lambda-Funktionen. Ich denke, es sind 250 MB und wenn wir die benutzerdefinierte Laufzeit verwenden, mĂŒssen wir alle asp.net-Kernassemblys zusammen mit unserer App senden. Ich habe dieses Limit erreicht, als AWS mein Zip-Paket entpackt hat. Ich musste etwas aufrĂ€umen, um den von meiner App verwendeten Speicherplatz zu reduzieren. Wenn die native UnterstĂŒtzung verfĂŒgbar ist, mĂŒssen wir unsere App nicht mit den Assemblys von .core verpacken.

Gibt es eine SchÀtzung, wann wir mit der Veröffentlichung rechnen können?

Wir warten mit dem Upgrade auf .Net Core 3.1, bis es native UnterstĂŒtzung dafĂŒr gibt.

Gibt es eine SchÀtzung, wann wir mit der Veröffentlichung rechnen können?

Wir warten mit dem Upgrade auf .Net Core 3.1, bis es native UnterstĂŒtzung dafĂŒr gibt.

Wenn Sie zurĂŒckgehen und die Antworten lesen, lesen Sie von normj, dass sie keine SchĂ€tzungen abgeben.

Wenn Sie zurĂŒckgehen und die Antworten lesen, lesen Sie von normj, dass sie keine SchĂ€tzungen abgeben.

Mmmh normalerweise - ja. Aber wenn genug Leute mit Pitchgabeln auftauchen, wird vielleicht ein Hinweis auf einen Veröffentlichungstermin gegeben, um die Unruhen zu unterdrĂŒcken :grin:

Ich erinnere mich, dass AWS vor einiger Zeit lange Zeit damit verbrachte, die nativen 2.1-Images vorzubereiten. Sie sagten, dass sie den Prozess neu gestaltet haben, um die Bereitstellung zukĂŒnftiger Versionen einfacher und schneller zu machen. Geben Sie NetCore 3.1 ein und fast zwei Monate spĂ€ter ist es immer noch nicht verfĂŒgbar :(

Sie wissen, dass Azure dieses 3.1-Image am ersten Tag zur VerfĂŒgung hatte. Mir wird langsam klar, warum sich die US-Regierung fĂŒr Azure als Cloudanbieter fĂŒr JEDI entschieden hat.

Wir haben gerade grĂŒnes Licht von unseren Stakeholdern bekommen, um Azure als unseren primĂ€ren Anbieter ins Visier zu nehmen und AWS als Backup zu verlassen. Mit solchen albernen Verzögerungen sind wir sicher nicht die einzigen.

Ich erinnere mich, dass AWS vor einiger Zeit lange Zeit damit verbrachte, die nativen 2.1-Images vorzubereiten. Sie sagten, dass sie den Prozess neu gestaltet haben, um die Bereitstellung zukĂŒnftiger Versionen einfacher und schneller zu machen. Geben Sie NetCore 3.1 ein und fast zwei Monate spĂ€ter ist es immer noch nicht verfĂŒgbar :(

Sie wissen, dass Azure dieses 3.1-Image am ersten Tag zur VerfĂŒgung hatte. Mir wird langsam klar, warum sich die US-Regierung fĂŒr Azure als Cloudanbieter fĂŒr JEDI entschieden hat.

Wir haben gerade grĂŒnes Licht von unseren Stakeholdern bekommen, um Azure als unseren primĂ€ren Anbieter ins Visier zu nehmen und AWS als Backup zu verlassen. Mit solchen albernen Verzögerungen sind wir sicher nicht die einzigen.

Ich stimme mit Ihnen ein. Meine Organisation erlaubt keine benutzerdefinierte Laufzeit und wir bleiben bei 2.1 hÀngen. Wenn es um EF & Postgres sowie rÀumliche Operationen geht, ist es zu viel Schmerz. Darauf haben wir gewartet. Schade, dass es noch nicht fertig ist.

Ich erinnere mich, dass AWS vor einiger Zeit lange Zeit damit verbrachte, die nativen 2.1-Images vorzubereiten. Sie sagten, dass sie den Prozess neu gestaltet haben, um die Bereitstellung zukĂŒnftiger Versionen einfacher und schneller zu machen. Geben Sie NetCore 3.1 ein und fast zwei Monate spĂ€ter ist es immer noch nicht verfĂŒgbar :(

Sie wissen, dass Azure dieses 3.1-Image am ersten Tag zur VerfĂŒgung hatte. Mir wird langsam klar, warum sich die US-Regierung fĂŒr Azure als Cloudanbieter fĂŒr JEDI entschieden hat.

Wir haben gerade grĂŒnes Licht von unseren Stakeholdern bekommen, um Azure als unseren primĂ€ren Anbieter ins Visier zu nehmen und AWS als Backup zu verlassen. Mit solchen albernen Verzögerungen sind wir sicher nicht die einzigen.

Verwendet JEDI .NET Core, um davon auszugehen, dass sich die Regierung deshalb fĂŒr Azure entschieden hat?

Hallo allerseits,

Ich arbeite aktiv daran, die UnterstĂŒtzung fĂŒr .NET Core 3.1 in Lambda bereitzustellen. Es dauert einige Zeit, da von Microsoft viel Arbeit geleistet wurde, um die Laufzeit zu erstellen. Ich arbeite daran, diese Änderungen zu integrieren, um Ihnen eine native Laufzeitumgebung zu bieten.

@assyadh Danke! Ich glaube nicht, dass die Verzögerungen "albern" sind; TatsĂ€chlich wĂŒrde ich eher auf eine solide funktionierende Version warten. Ich finde es toll, dass AWS Lambda .NET Core unterstĂŒtzt, und ich weiß es zu schĂ€tzen, dass Sie es wie versprochen weiterhin unterstĂŒtzen.

Ich verstehe den Drang nicht. Es ist nicht so, dass wir gerade keine LTS-Umgebung haben.

NatĂŒrlich wollen wir die neuen Spielzeuge nutzen, aber das .NET-Team bei AWS hat nur eine feste Menge an Ressourcen und kann nicht alles auf einmal tun.

Außerdem sehne ich mich nicht danach, die Laufzeit aller Funktionen ĂŒberstĂŒrzen und aktualisieren zu mĂŒssen, aus Angst, nicht mehr gewartet zu werden.

Gut fĂŒr dich @Kralizek, aber deine Situation gehört dir und reprĂ€sentiert nicht andere. Es ist jetzt nicht wirklich "neues Spielzeug", oder? .NET Core 3.x (und ASP.NET Core) weist in vielerlei Hinsicht erhebliche Verbesserungen gegenĂŒber 2.x auf, und Early Adopters sind daran interessiert, diese zu ĂŒbernehmen und zu nutzen. Wie @JamesQMurphy sagt, wĂŒrden wir es auch vorziehen, dass die Veröffentlichung solide ist.

Ich freue mich auf deine Arbeit @assyadh.

"Ich verstehe den Drang nicht."

Wir können kein gemeinsam genutztes .NET Core 3.1 in einer .NET Core 2.1-Lambda-Funktion verwenden, tatsĂ€chlich können wir nicht einmal gemeinsam genutzten .NET Core 2.2-Code in einer .NET Core 2.1-Lambda-Funktion verwenden freigegebene Komponenten in .NET Core 2.1, damit sie in der Funktion unterstĂŒtzt werden.

Können Ihre freigegebenen Komponenten in netstandard20 kompiliert werden? Dann kannst du sie in netcore2&3 teilen

Obwohl dieser Thread spezifisch fĂŒr .NET 3.1 ist, bin ich mir sicher, dass genau diese Konversation erneut abgespielt wird, wenn .NET 5 eintrifft (oder 6, wenn dies der nĂ€chste LTS sein wird).

WĂ€hrend einige konkrete Beispiele angefĂŒhrt wurden, wo dies nicht möglich ist (z. B. Code-ZIP-Datei zu groß, Unternehmensrichtlinie), können Sie _im Allgemeinen_, wenn Sie in Zukunft den „neuesten und besten“ .NET Core verwenden möchten, dies mit a wenig Refactoring und das benutzerdefinierte Laufzeit-Supportpaket.

Zu diesem Zeitpunkt befinden wir uns zufĂ€llig an einem Punkt, an dem die neueste Version _ebenfalls_ eine LTS-Version ist, was die Notwendigkeit scheint, sie "so schnell wie möglich" von Amazon zu haben, viel "dringender" zu sein, als sie es war. sagen wir, mit eingebauter 2.2- oder 3.0-UnterstĂŒtzung.

Letztendlich muss ein Kompromiss zwischen neuen Funktionen, die auf Lambda verwendet werden können, und dem Entwicklungsaufwand fĂŒr PaaS-Lösungen eingegangen werden.

.NET Core 3.1 war nach seiner Veröffentlichung 2-3 Wochen lang nicht einmal im Microsoft Azure App Service verfĂŒgbar.

Wenn Sie im Allgemeinen so schnell wie möglich am „Bleeding Edge“ sein möchten, können Sie mit einer kleinen Investition in die kurzfristige Verwendung der benutzerdefinierten LaufzeitunterstĂŒtzung potenziell jede zukĂŒnftige Version von .NET Core in Lambda nach Ihren eigenen Zeitskalen ausfĂŒhren. NatĂŒrlich geht es hier unter anderem um grĂ¶ĂŸere Pakete, etwas mehr Code und die Notwendigkeit, eigene Patches durchzufĂŒhren.

Bei allem gibt es ein Gleichgewicht und einen Kompromiss, und bei der integrierten UnterstĂŒtzung wird es realistischerweise immer eine Verzögerung bei der VerfĂŒgbarkeit geben, da Software Zeit braucht.

Da große .NET-Releases in Zukunft im November erscheinen, wird die Weihnachts-/Feiertage wahrscheinlich immer einen Einfluss darauf haben, wie lange die Bereitstellung dieser Dinge in Bezug auf die Zeit und die verfĂŒgbaren KapazitĂ€ten des Lambda-Teams dauern wird.

FĂŒge nur meine Gedanken hinzu. Ich verstehe, wie wichtig diese Veröffentlichung ist, und ich weiß es zu schĂ€tzen, dass Sie es uns mitteilen. Ich nutze dieses Feedback, um die Dringlichkeit auf unserer Seite voranzutreiben. Wie @martincostello erwĂ€hnte, war der Zeitpunkt der

Ich war der Typ, der in der Vergangenheit fĂŒr 2.1 erwĂ€hnte, dass ich hoffte, dass die Automatisierung, die wir eingefĂŒhrt haben, die zukĂŒnftige Version beschleunigen wĂŒrde. Die Automatisierung, die @assyadh eingebaut hat , hat uns wirklich geholfen, aber leider haben sich die Dinge im Laufe der Software seit der

Bitte glauben Sie mir, dass .NET Core 3.1 @assyadh , fĂŒr mich und viele andere höchste PrioritĂ€t hat.

Nur um zu ĂŒberprĂŒfen: Beginnt die Arbeit, es zu integrieren, sobald Microsoft Vorabversionen veröffentlicht, anstatt auf die endgĂŒltige Version zu warten? Dies wĂŒrde vermutlich die Auswirkungen von Weihnachten reduzieren und eine frĂŒhere Auslieferung ermöglichen, sobald die endgĂŒltige Version herauskommt, da sie nur getestet werden mĂŒsste.

Ich nutze dieses Feedback, um die Dringlichkeit auf unsere Seite zu drĂŒcken

Danke dafĂŒr @normj. Hier sind meine 0,02 $, in der Hoffnung, dass sie auch Ihrer Evangelisation helfen.

Wie @martincostello erwÀhnte, war der Zeitpunkt der

Wie @mungojam andeutete , war .NET Core 3.1 ab dem 15. Oktober, ĂŒber einen Monat vor der Veröffentlichung, in der Vorschauversion verfĂŒgbar. Außerdem ist es im Grunde eine Bugfix-Version von 3.0 - ich kenne Ihre Tools nicht, aber ich könnte mir vorstellen, dass die Erkundungsarbeiten mit 3.0 beginnen könnten, das am 23. September veröffentlicht wurde und das ganze Jahr in der Vorschau ist. Es ist erwĂ€hnenswert, dass 3.1 in der 3.0-Release-AnkĂŒndigung ein geschĂ€tztes Veröffentlichungsdatum angegeben hat.

.NET Core 3.1 war nach seiner Veröffentlichung 2-3 Wochen lang nicht einmal im Microsoft Azure App Service verfĂŒgbar.

.NET Core 3.1 war am 17. Oktober in Azure Functions verfĂŒgbar, zwei Tage nach der Veröffentlichung von Vorschau 1.

Sie können sofort sagen, was Sie wollen, wenn jedes Unternehmen 3.1 benötigt, sei es "Bleeding Edge", benutzerdefinierte Laufzeitoptionen usw Kunden. Wenn AWS – nicht Norms Team, sondern AWS insgesamt – dies zu einer PrioritĂ€t gemacht hĂ€tte, hĂ€tten sie meiner Meinung nach die Nase vorn und sicherstellen können, dass sie mit Azure konkurrieren.

Ich persönlich schĂ€tze es sehr, Optionen unter Cloud-Angeboten zu haben, die ich basierend auf Verdiensten und nicht auf Unternehmensdogmen wĂ€hlen kann, und ich wĂŒrde es begrĂŒĂŸen, wenn AWS den nĂ€chsten Schritt zur Verbesserung des .NET-Supports unternehmen wĂŒrde.

Danke @normj , @assyadh und allen anderen, die daran arbeiten, fĂŒr Ihre BemĂŒhungen.

Es ist möglich, dass das .NET-Team von AWS mit der Veröffentlichung der 3.0-Vorschau sehr gut mit der Vorbereitung auf .NET 3.1 LTS begonnen hat. Die Sache ist die, AWS neigt dazu, hinter den Kulissen wortkarg zu sein, woran sie arbeiten. Dieser Mangel an Transparenz erzeugt Vermutungen. Ich denke, es wĂŒrde nicht schaden, eine Art Roadmap zu haben, auch wenn sie vorlĂ€ufig ist und die Daten sich Ă€ndern können usw.

Ich denke, das Problem ist, dass das AWS-Team keine Art von ETA veröffentlichen möchte und daher Entwickler im Dunkeln tappen. @normj sagt, das liegt daran, dass er nicht möchte, dass jemand oder ein Unternehmen ZukunftsplĂ€ne auf der Grundlage dieser ETAs macht. Ist nicht das allgemeine VerstĂ€ndnis, dass eine ETA nur eine SchĂ€tzung ist und kein Unternehmen ernsthafte PlĂ€ne basierend auf den SchĂ€tzungen eines anderen Unternehmens machen sollte, und selbst wenn dies der Fall wĂ€re, kann das Unternehmen AWS nicht dafĂŒr verantwortlich machen oder sich darĂŒber Ă€rgern, dass es eine ETA verpasst hat?

Eine ETA ist auch kein bestimmter Tag. Es kann ein Monat sein. Ein Viertel. Und wir sollten mit jeder ETA einverstanden sein und OK, wenn sie verpasst wurde.

Anschauen
https://docs.aws.amazon.com/lambda/latest/dg/runtime-support-policy.html
es scheint, dass AWS die Laufzeit kurz nach dem Ende der Lebensdauer dieser Laufzeitversion veraltet.

Da .NET Core LTS-Versionen seit 3 ​​Jahren unterstĂŒtzt werden, sind wir es bereits
"Wir verbringen die Zeit, die wir .NET Core 3.1 Lambdas verwenden können".
Daher verstehe ich, dass die Leute stationÀr sind, um .NET Core 3.1 auf Lambdas zu erhalten.
Übrigens, ich wĂŒrde auch eine grundsolide Veröffentlichung bevorzugen, dann etwas ĂŒberstĂŒrztes.

Ich gehe davon aus, dass es in den nĂ€chsten ein oder zwei Monaten verfĂŒgbar sein wird, aber ein gewisses Engagement von AWS,
auch wenn sehr konservativ fĂŒr Teams von Vorteil sein könnte, um ihre Operationen zu planen.

Eine andere Sache ist die in dieser Zeit von OSS: Kann die .NET-Community helfen? Wir reden schließlich ĂŒber github.
Handelt es sich bei dieser "eingebauten" Laufzeit um einen geschlossenen Code?

Außerdem wĂ€re es eine KILLER-Funktion, wenn der Bereitstellungsprozess einen Schalter fĂŒr ReadyToRun und andere AOT-Kompilierungsfunktionen hĂ€tte, sodass die Kaltstartzeiten erheblich verkĂŒrzt werden.
Das wĂŒrde .NET Core SEHR attraktiv auf AWS Lambda, IMO, machen.

@normj und Team:
vielen Dank, dass Sie .NET Core auf AWS großartig gemacht haben

FĂŒge nur meine Gedanken hinzu. Ich verstehe, wie wichtig diese Veröffentlichung ist, und ich weiß es zu schĂ€tzen, dass Sie es uns mitteilen. Ich nutze dieses Feedback, um die Dringlichkeit auf unserer Seite voranzutreiben.

Bitte nutzen Sie diesen Beitrag, um die Dringlichkeit auf Ihre Seite zu drĂŒcken. In diesem Sinne sind hier meine zwei Pfennige.

Nur um zu ĂŒberprĂŒfen: Beginnt die Arbeit, es zu integrieren, sobald Microsoft Vorabversionen veröffentlicht, anstatt auf die endgĂŒltige Version zu warten?

Frage: Bekommen wir auf diese Frage eine ehrliche Antwort?

Es fĂŒhlt sich an, als ob die Antwort selbstverstĂ€ndlich ist. Es fĂŒhlt sich an, als ob die PrioritĂ€t fĂŒr .NET "Hobby-Ebene" und nicht "Unternehmens-Ebene" ist, wie es sein sollte.

Irgendwo habe ich gehört, dass 1) das gesamte Net Core-Zeug Open Source gemacht wurde und 2) es einige Early-Adopter-Programme gibt, die es Ihnen ermöglichen, bei der tatsĂ€chlichen Veröffentlichung "durchzustarten". (Siehe Google fĂŒr Details.)

Ich bin hier lustig, aber die Wahrheit ist, dass jeder, der .NET verfolgt, dies weiß, also trĂ€gt es zur SelbstverstĂ€ndlichkeit bei, in der ich spreche.

Ehrlich gesagt, nach den 2.1-Verzögerungen in der Veröffentlichung hatte ich gehofft, dass die damals vorgenommenen Änderungen bedeuteten, dass wir diesmal (3.1) UnterstĂŒtzung fĂŒr das neue Framework nicht mehr als zwei Wochen nach der tatsĂ€chlichen Veröffentlichung haben. Ich meine, innerhalb von Stunden nach der Veröffentlichung wĂ€re ideal, aber innerhalb von zwei Wochen fĂŒhlt es sich richtig an, etwas Raum fĂŒr den letzten Schliff / Politur zu geben.

Aber hier sind wir fast zwei Monate draußen und es fĂŒhlt sich einfach "hobby-level-ish" an.

@rati-dzidziguri Ich verstehe und schĂ€tze Sie, dass Sie eine ETA wĂŒnschen, damit Sie entsprechend planen können. In Wirklichkeit geben wir aus diesem Grund im Allgemeinen keine ETA, weil wir uns wirklich bemĂŒhen, keine Versprechungen zu machen, von denen wir nicht 100% sicher sind, dass wir sie halten können.

Das ist Denken auf Hobby-Ebene, wie @abukres so elegant

Ich denke, das Problem ist, dass das AWS-Team keine Art von ETA veröffentlichen möchte und daher Entwickler im Dunkeln tappen. @normj sagt, das liegt daran, dass er nicht möchte, dass jemand oder ein Unternehmen ZukunftsplĂ€ne auf der Grundlage dieser ETAs macht. Ist nicht das allgemeine VerstĂ€ndnis, dass eine ETA nur eine SchĂ€tzung ist und kein Unternehmen ernsthafte PlĂ€ne basierend auf den SchĂ€tzungen eines anderen Unternehmens machen sollte, und selbst wenn dies der Fall wĂ€re, kann das Unternehmen AWS nicht dafĂŒr verantwortlich machen oder sich darĂŒber Ă€rgern, dass es eine ETA verpasst hat?

Eine ETA ist auch kein bestimmter Tag. Es kann ein Monat sein. Ein Viertel. Und wir sollten mit jeder ETA einverstanden sein und OK, wenn sie verpasst wurde.

Ich denke, die Tatsache, dass AWS den JEDI-Vertrag an Azure verloren hat, sollte ausreichen, um intern einige Priorisierungsmeetings einzuleiten, da es auf den ersten Blick beweist, dass .NET ein Unternehmen auf Unternehmensebene ist und als solches behandelt werden sollte. Anstatt Ressourcen zu verschwenden, indem Sie versuchen, die Entscheidung zu "klagen", verwenden Sie diese Ressourcen intern, um der .NET-Community etwas Liebe zu schenken. Nutzen Sie dies als einen Moment, um .NET neu zu priorisieren, damit AWS beim nÀchsten .NET-Release obendrauf ist und sich selbstverstÀndlich macht, dass sie bereit sind, sofort loszulegen.

@normj , @martincostello und der Rest der Arbeiterbienen dort drĂŒben bei AWS arbeiten wirklich hart daran, ein SOLIDE .NET-Angebot bereitzustellen die das PrioritĂ€tsmandat diktieren, das Sie in Bezug auf .NET erhalten haben. Bitte verwenden Sie diesen Beitrag, um Support auf Unternehmensebene zu erreichen.

Ich sehe dies hauptsĂ€chlich als verpasste Gelegenheit fĂŒr AWS, zu glĂ€nzen. Stellen Sie sich vor, die Verfolgung einer neuen LTS-Version hĂ€tte eine hohe PrioritĂ€t. Was wĂ€re das fĂŒr eine starke Aussage.

Solche Dinge fĂŒhren dazu, dass wir Entwickler/Architekten Argumente gegen nicht-technische EntscheidungstrĂ€ger verlieren, wenn wir entscheiden mĂŒssen, welche Cloud wir fĂŒr das nĂ€chste Projekt verwenden möchten. Heutzutage, in denen sowohl Azure als auch AWS grĂ¶ĂŸtenteils gleiche Kosten- und Funktionsangebote haben, werden Entscheidungen mehr nach Politik und Wahrnehmung getroffen. Ich habe nichts mitzubringen, wenn sie sagen "es sind X Wochen/Monate nach der offiziellen Veröffentlichung vergangen und AWS ist immer noch nicht bereit"

Wie @VagyokC4 sagt, ist dies wiederum nicht persönlich gegen die Mitarbeiter, die die eigentliche Arbeit

Jeder, der .NET Core 3.1 Lambda verwendet, könnte in Betracht ziehen, das IL-Trimming zu aktivieren. Höchstwahrscheinlich werden Sie die GrĂ¶ĂŸe Ihrer ZIP-Dateien reduzieren.
https://www.hanselman.com/blog/MakingATinyNETCore30EntirelySelfcontainedSingleExecutable.aspx

wird .NET Core Lambda 3.1 mit RuntimeAPI erstellt?
im freien, auf github?
wenn nein, warum nicht?

Alles, was ich fĂŒr ... Valentinstag will, ist Lambda .net Core 3.1-UnterstĂŒtzung

Alles, was ich fĂŒr ... Valentinstag will, ist Lambda .net Core 3.1-UnterstĂŒtzung

Rollt nicht gerade von der Zunge, ist aber bescheiden:

Ich will nicht viel zu Weihnachten Valentinstag
Ich brauche nur eins
Die Geschenke sind mir egal
Unter dem AWS-Baum
Ich will es nur fĂŒr mich
Mehr als du jemals wissen könntest
Lass meinen Wunsch wahr werden oh
Alles, was ich zum Valentinstag will, ist .NET Core 3.1 suppoooooort ...

:Grinsen:

Microsoft fĂŒgt Go-Live-Lizenzen gegen Ende ihres Vorschauzyklus hinzu, wenn keine wichtigen Änderungen eingefĂŒhrt werden. Zu diesem Zeitpunkt bieten sie ProduktionsunterstĂŒtzung fĂŒr diese bevorstehende Veröffentlichung an. Meine Empfehlung wĂ€re, zu warten, bis eine Version mit einer Go Live-Lizenz veröffentlicht wird, und dann mit der Arbeit an den Tools zu beginnen. Mit .NET Core 3.1 kam es in Preview 3, die am 14.11. veröffentlicht wurde. In diesem Fall war das RTM noch nicht einmal 3 Wochen spĂ€ter am 3. 12., aber Sie wĂ€ren immer noch nĂ€her daran, die Funktionen einzufĂŒhren, wenn RTM eintrifft und die Kunden anfangen, Erwartungen zu wecken.

Nur meine 0,02 $

Alles, was ich fĂŒr ... Valentinstag will, ist Lambda .net Core 3.1-UnterstĂŒtzung

Rollt nicht gerade von der Zunge, ist aber bescheiden:

Ich will nicht viel fĂŒr ~Weihnachten~ Valentinstag
Ich brauche nur eins
Die Geschenke sind mir egal
Unter dem AWS-Baum
Ich will es nur fĂŒr mich
Mehr als du jemals wissen könntest
Lass meinen Wunsch wahr werden oh
Alles, was ich zum Valentinstag will, ist .NET Core 3.1 suppoooooort ...

😁

+1 :)

Gibt es ein Update zur .NET Core 3.1-Laufzeit fĂŒr Lambda?

Wir starten ein neues Projekt und wollten Lamba fĂŒr die meisten Serverless-Dienste verwenden, aber zu sehen, wie lange es dauert, bis eine LTS-Version unterstĂŒtzt wird, lĂ€sst uns umdenken und möglicherweise die Architektur oder den Anbieter wechseln.

<Rant>
Es ist frustrierend, dass die AWS Lambda Runtime-Supportrichtlinie in Bezug auf das 30-Tage-Fenster sehr streng ist, wenn Funktionen wie diese lĂ€nger als 30 Tage angefordert werden. Dann wird AWS eines Tages diese Funktion auf magische Weise bereitstellen und alle anderen mĂŒssen sich um den Umstieg auf .NET Core 3.1 bemĂŒhen. Dies bringt die meisten Unternehmen in eine schlechte Position, da es oft lĂ€nger als einen Monat dauert, etwas zu reparieren, zu testen und in einer Produktionsumgebung bereitzustellen. Ich persönlich bin von dieser Politik in den Hintern gebissen worden. Einmal (wegen RessourcenzwĂ€ngen und anderen höheren PrioritĂ€ten) eine Firma, bei der ich diesmal rutschen durfte. Erst 3 Monate spĂ€ter konnten wir unsere Lambdas auf .NET Core 2.1 aktualisieren. Als wir versuchten, ein bestimmtes Lambda mit CloudFront bereitzustellen, passierte etwas Schlimmes (was? wer weiß, weil CF-Protokolle MĂŒll sind) und es musste ein Rollback durchgefĂŒhrt werden. Außer, dass es keine Laufzeit zum ZurĂŒcksetzen gab. Somit ist es LOCKED die Bereitstellung. Wir haben sofort ein Ticket geöffnet. 24 Stunden spĂ€ter erhielten wir unsere erste Antwort, die lautete: "Löschen Sie den gesamten Stapel und beginnen Sie von vorne". Was eine völlig ignorante Antwort ist, wenn man bedenkt, dass unsere DynamoDb-Tabellen mit der Operation "Löschen" benötigt wĂŒrden. Wir waren ĂŒber zweieinhalb Wochen in diesem Rollback eingesperrt. Schließlich bekamen wir einen Support-Ingenieur, der Container-Technologien verstand und uns beim Rollback half und dann in der Leitung blieb, bis unsere CloudFormation erfolgreich war. Was es gut gemacht hat, keine Änderung zum ersten Versuch. Aus diesem Grund hasse ich CF jetzt, da sie zu temperamentvoll ist.
</Rant>

TL;DR; Es ist unangenehm, mit der AWS Lambda Runtime Support-Richtlinie zu arbeiten und kann Sie in heißes Wasser stĂŒrzen.
https://docs.aws.amazon.com/lambda/latest/dg/runtime-support-policy.html

@CraigHead Entschuldigung fĂŒr Ihre frustrierende Erfahrung, aber um das

Ja, es war die Migration von .NET Core 2.0 vorwĂ€rts zu .NET Core 2.1. Entschuldigung fĂŒr das Gerede. 30 Tage sind fĂŒr einige von uns ziemlich knapp. Betrachtet man die GesamtlĂ€nge, könnte ein Lambda potenziell ohne nennenswerte Wartung und zusĂ€tzliche QualitĂ€tssicherung laufen.

Inzwischen geschieht dies auf der Azure-Seite von Serverless
https://visualstudiomagazine.com/articles/2020/01/30/azure-functions-3-0-runtime.aspx

Inzwischen arbeitet das AWS-Team daran. Snarky Kommentare helfen nicht
Sie. Sie werden dieses Problem aktualisieren, wenn es fertig ist.

Am Di, 11. Feb. 2020 um 18:22 Uhr, Rati Dzidziguri [email protected]
schrieb:

Inzwischen geschieht dies auf der Azure-Seite von Serverless

https://visualstudiomagazine.com/articles/2020/01/30/azure-functions-3-0-runtime.aspx

—
Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/aws/aws-lambda-dotnet/issues/554?email_source=notifications&email_token=AAAZVJXAAYET4F7PFFOTO3LRCLUETA5CNFSM4JU5UTJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63DNPWMZ5
oder abmelden
https://github.com/notifications/unsubscribe-auth/AAAZVJQK3NBVXBZALM4V5KLRCLUETANCNFSM4JU5UTJA
.

Es ging mir nicht darum, einen bissigen Kommentar abzugeben, sondern darauf hinzuweisen, dass sogar MS vor kurzem die VerfĂŒgbarkeit von GA fĂŒr 3.1 angekĂŒndigt hat.
.

Inzwischen geschieht dies auf der Azure-Seite von Serverless
https://visualstudiomagazine.com/articles/2020/01/30/azure-functions-3-0-runtime.aspx

Wenn man bedenkt, dass es sich um eine MS-Sprache handelt, ĂŒberrascht es nicht, dass Azure AWS bei dieser UnterstĂŒtzung besiegt hat.

Ich beobachte diesen Thread genau - ich freue mich darauf, meine C#-Lambdas zu aktualisieren.

dotnet core 3.1.0 wurde veröffentlicht 2019-12-03
https://dotnet.microsoft.com/download/dotnet-core/3.1

es war am 23.01.2020 in Azure verfĂŒgbar
https://azure.microsoft.com/en-us/updates/azure-functions-runtime-30-is-now-available/

wir haben etwas weniger als einen zusÀtzlichen Monat im Vergleich zu Azure

Übrigens, die gesamte .NET-Kernentwicklung erfolgt im Freien auf github
Daher sollte es keine große Wirkung haben, "MS-Sprache" zu sein.
Oder schlagen Sie vor, dass AWS-Clients, die dotnet verwenden, in Azure besser geeignet sind: P?

Wie auch immer, an alle, die AWS hören:
da warten wir auf 3.1 auf Lambda, das ist uns wichtig.

Übrigens, die gesamte .NET-Kernentwicklung erfolgt im Freien auf github
Daher sollte es keine große Wirkung haben, "MS-Sprache" zu sein.
Oder schlagen Sie vor, dass AWS-Clients, die dotnet verwenden, in Azure besser geeignet sind: P?

Ich meine, es wĂ€re ein bisschen peinlich fĂŒr die Cloud-Plattform von Microsoft, die neuen Funktionen ihrer eigenen Sprache nicht zu unterstĂŒtzen. Um ehrlich zu sein, bin ich ein wenig ĂŒberrascht, dass sie etwas mehr als anderthalb Monate gebraucht haben! Etwas mehr interne Kommunikation hĂ€tte vielleicht beides gleichzeitig freigegeben.

Ich denke, AWS schneidet mit seiner .Net-UnterstĂŒtzung gut ab, insbesondere mit Entwicklungspaketen, die sich in ihre Dienste einklinken, wie CloudWatch + ILogging und ihre SSM-Parameterkonfiguration. Es hat uns sehr geholfen.

Ich hoffe jedoch, die 3.1-Version bald zu sehen :)

Ich wĂŒnschte, es gĂ€be eine bessere konkrete Cloudwatch-Implementierung von ILogger . Dies wĂ€re besser in ServiceCollection / ServiceProvider wenn das Lambda SDK verwendet wird. Die aktuelle Version, die im Anfragekontext und der statischen LambdaLogger-Klasse bereitgestellt wird, ist grundsĂ€tzlich unmöglich, die Protokollausgabe zu testen / zu ĂŒberprĂŒfen, und das EinhĂ€ngen der standardmĂ€ĂŸigen .netcore ConsoleLogProvider fĂŒhrt zu unordentlichen Cloudwatch-Protokollen.

Ich wĂŒnschte, es gĂ€be eine bessere konkrete Cloudwatch-Implementierung von ILogger .

Haben Sie https://github.com/aws/aws-logging-dotnet#aspnet -core-logging ausprobiert?

Wie sollen Ihre Logs aussehen @CraigHead?

Wir haben in der Vergangenheit Serilog & https://github.com/structured-log/structured-log verwendet, um schöne Konsolenprotokolle und auch JSON-basierte Protokolle auszugeben, die in Seq importiert wurden. https://datalust.co/ das war fĂŒr uns der beste Weg, um zentrale Protokolle in einem wirklich schönen Format zu erhalten.

@CraigHead Amazon.Lambda.Logging.AspNetCore ist unsere Implementierung zur Integration der Lambda-Anmeldung in die IServiceCollection. Funktioniert diese Bibliothek nicht fĂŒr Sie?

Ich wĂŒrde das AWS.Logger.AspNetCore-Paket von ttps://github.com/aws/aws-logging-dotnet#aspnet -core-logging fĂŒr Lambda nicht empfehlen. Diese Bibliothek verwendet einen Hintergrundthread, um Protokolle an CloudWatch Logs zu ĂŒbertragen. Die Verwendung eines solchen Hintergrundthreads funktioniert nicht gut mit Lambda, das die Lambda-Rechenumgebung einfriert, sobald der Funktionshandler zurĂŒckkehrt, was bedeutet, dass der Hintergrundthread möglicherweise keine Chance hat, die Nachrichten in der Warteschlange zu leeren.

Ich wusste davon nicht. Danke fĂŒr den Tipp!
Ich bezog mich auf das Amazon.Lambda.Core.LambdaLogger im SDK.
Ich werde das Paket ( Amazon.Lambda.Logging.AspNetCore ) auf jeden Fall ĂŒberprĂŒfen.

https://docs.aws.amazon.com/lambda/latest/dg/csharp-logging.html

@clearwaterstream
In Lambda-Land AFAIK gibt es kein Ereignis, das Sie darĂŒber informiert, dass die aktuelle Instanz die Verarbeitung stoppt oder beendet wird, sodass Ihr Vorschlag gepufferte Protokollereignisse weiterhin nicht gelöscht (verloren) lĂ€sst.

Bitte entfĂŒhrt diesen Thread nicht fĂŒr andere Zwecke.
Dieser Thread wurde erstellt, um einige Informationen zu geben, wann .NET Core 3.1 auf AWS Lambda verfĂŒgbar sein wird.
Und um AWS wissen zu lassen, dass wir da draußen sind und warten.

Wird das Lambda-Testtool in der Version 3.1 enthalten sein? https://github.com/aws/aws-lambda-dotnet/tree/master/Tools/LambdaTestTool

Das ist meine Absicht. Die Arbeit lĂ€uft im mock-testtool-31 . Die große Verbesserung im 3.1-Zweig besteht darin, dass der Benutzer-Lambda-Code jetzt in einem separaten AssemblyLoadContext ausgefĂŒhrt wird, was viele Versionskonflikte beheben sollte, die Benutzer mit der aktuellen Version hatten. Ich schaue mir die RĂŒckportierung der AssemblyLoadContext-Funktion in die Version 2.1 an.

Als Randnotiz. Ich habe darĂŒber diskutiert, die Bare-Bones-BenutzeroberflĂ€che in eine serverseitige Blazor-App umzuwandeln. Hat jemand mit mehr Blazor-Erfahrung Feedback, ob das eine gute oder schlechte Idee ist?

Als Randnotiz. Ich habe darĂŒber diskutiert, die Bare-Bones-BenutzeroberflĂ€che in eine serverseitige Blazor-App umzuwandeln. Hat jemand mit mehr Blazor-Erfahrung Feedback, ob das eine gute oder schlechte Idee ist?

Alles, was Blazor an dieser Stelle ist, ist eine gute Idee, besonders fĂŒr diejenigen von uns, die DotNet rocken!

"Bare Bones UI" - Dies ist eine andere App, die nicht mit .NET Core 3.1 Lambdas verbunden ist?
Übrigens, ich interessiere mich ĂŒberhaupt nicht fĂŒr blazor

@petarrepac Dies bezog sich auf das AWS .NET Mock Lambda Test Tool, das wir ausgeliefert haben, um das Debuggen von .NET Core 2.1 Lambda-Funktionen zu unterstĂŒtzen. Hier ist der Beitrag als Referenz https://aws.amazon.com/blogs/developer/debugging-net-core-aws-lambda-functions-using-the-aws-net-mock-lambda-test-tool/

Ich bin dabei, das Tool fĂŒr .NET Core 3.1 zu aktualisieren.

@normj
ah, hab das nicht verstanden, danke
Interessanter Gedanke, dass wir so ein Tool nie gebraucht haben

Aus unserer Sicht ist Lambda eine Barebone-AspNetCore HttpApi, die Sie lokal aufrufen und lokal testen können
Der einzige Unterschied besteht in der Einstiegspunktdatei/-klasse, die weniger als 50 Codezeilen enthÀlt
Außerdem können viele Dinge nur richtig getestet werden, wenn sie in AWS bereitgestellt werden:

  • Berechtigungen
  • Form der empfangenen JSON-Ereignisse und Kontext
  • ...
    also eine kombination aus:
  • gute Einheiten-/Integrationstests, die lokal ausgefĂŒhrt werden
  • lokale http-Tests
  • Einfache Bereitstellung zum Testen der AWS-Umgebung
    kann weit gehen

oder ĂŒbersehe ich irgendein offensichtliches Szenario?

@petarrepac Einer der großen Vorteile der Verwendung der ASP.NET Core-Bridge besteht darin, dass sie sehr einfach lokal ausgefĂŒhrt werden kann. Ich stimme zu, dass die beste Vorgehensweise darin besteht, Unit/Integration-Tests zu verwenden, aber es gibt oft Bedarf fĂŒr schnelle Ad-hoc-Tests der Anwendungslogik, und dafĂŒr ist dieses Tool gut.

Danke @normj. In Bezug auf Blazor könnte es eine nette Geste sein. Zumindest fĂŒr den Anwendungsfall unseres Teams wĂŒrde es wahrscheinlich nicht ausgelastet sein.

Wir sind nur lange genug in der BenutzeroberflÀche, um eine Nutzlast zu senden, und gehen dann den Code in VS durch.

Mit dem Lambda Bootstrapper und der benutzerdefinierten Laufzeitfunktion können Sie definitiv mehrere Lambda-Funktionen aus einer Codebasis erreichen.

Ich habe eine Suite von 16 Lambdas, die von einer Anwendung und nicht von einem „Monolithen“ bereitgestellt werden.

Dies wird erreicht, indem die Umgebungsvariable _handler wird, um die Methode auszuwÀhlen, die zur Laufzeit verwendet werden soll, und nicht die hartcodierte Eins-zu-Eins-Zuordnung, die im Beispielcode des Blogposts gezeigt wird.

Ich stelle es mir als Konsolen-App vor, die einen Schalter erhĂ€lt, der ihr mitteilt, welche Aktion beim Start ausgefĂŒhrt werden soll.

@martinkostello

Ich habe einige Probleme, dies aufgrund Ihrer ErklĂ€rung zu lösen. Ich habe etwa 20 Lambda-Funktionen in meiner Functions.cs, die an entsprechende Definitionen in meiner serverless.template gebunden sind. Ich verstehe, dass Sie mit jeder Definition eine Umgebungsvariable ĂŒbergeben wĂŒrden, um anzugeben, welche Funktion aufgerufen werden soll. Die meisten dieser Funktionen sind von der Signatur:

public APIGatewayProxyResponse ThisLambdaFunction(APIGatewayProxyRequest-Anfrage, ILambdaContext-Kontext)
{

Wie fĂŒge ich UnterstĂŒtzung fĂŒr verschiedene Lambda-Funktionssignaturen hinzu, wenn ich andere Funktionen habe, die andere Argumente (außer APIGatewayProxyRequest ) und andere RĂŒckgabetypen verwenden?

Bitte den Thread nicht entgleisen.

@twopointzero Ich habe Tage damit verbracht, bei Google nach einer Lösung fĂŒr das AusfĂŒhren mehrerer Lambda-Funktionen mit dem .NET Core 3.1 Custom Runtime-Projekt zu suchen. Es gibt keinen relevanteren Thread im Internet und ich antworte auf einen bestehenden Beitrag, der einen Hoffnungsschimmer auf eine Lösung meines Problems gegeben hat.

Die fehlende native .NET Core 3.1-UnterstĂŒtzung in AWS macht das Leben schwer. Wir mĂŒssen auf 3.1 aktualisieren, um auf den neuesten EntityFramewore Core 3.1.2 zu aktualisieren, der Probleme behebt, die wir beim Verbindungspooling in Aurora (PostgresSQL) sehen.

@normj Ich verstehe die Haltung ohne ETA völlig, aber können Sie mir sagen, ob wir nahe dran sind? < 30 Tage?

@antsaia In Bezug auf die Bereitstellung eines verteilten Monolithen mit benutzerdefinierter LaufzeitunterstĂŒtzung, nicht in Bezug auf AWS Lambda-UnterstĂŒtzung fĂŒr .NET Core 3.1. Wenn Sie im Internet keinen relevanteren Thread finden, möchte ich Sie bitten, einen zu erstellen, anstatt einen zu entgleisen.

Um diesen Thread nicht selbst zu entgleisen, ist dies mein letzter Kommentar zu diesem Thema.

@normj Gibt es eine Ressource (Blog, Forum usw.), in der wir Informationen ĂŒber den Status der Implementierung des .net Core 3.1-Supports erhalten?

Ich besuche diese Seite tĂ€glich in der Hoffnung, neue Informationen zu erhalten, aber offensichtlich gibt es nicht genug Informationen (da sie nicht fĂŒr diesen Zweck bestimmt sind). Es wĂŒrde es viel einfacher machen, wenn wir eine Art grundlegendes Update hĂ€tten, damit wir vorausplanen können.

Wie viele hier hĂ€ngen unsere PlĂ€ne fĂŒr die Bereitstellung von Funktionen stark davon ab, ob wir 3.1 verwenden können oder ob wir es mit 2.1 entwickeln mĂŒssen. In meinem Fall wird 3.1 System.Draw unterstĂŒtzen und dies hat einen großen Einfluss auf das Feature, an dem ich arbeiten soll.

Alles, was ich fĂŒr ... St. Patrick's Day will, ist Lambda .net Core 3.1-UnterstĂŒtzung

@liam-sage Alles, was ich finden konnte, waren ein paar BeitrĂ€ge im Amazon-Forum, die darauf hindeuteten, dass es im ersten Quartal 2020 fertig sein wĂŒrde. https://forums.aws.amazon.com/thread.jspa?threadID=313806

@liam-sage Alles, was ich finden konnte, waren ein paar BeitrĂ€ge im Amazon-Forum, die darauf hindeuteten, dass es im ersten Quartal 2020 fertig sein wĂŒrde. https://forums.aws.amazon.com/thread.jspa?threadID=313806

Das bedeutet, dass es im MĂ€rz live gehen muss. Ich warte.

Hallo, ich weiß, es ist nicht ganz geeignet, aber Sie können Ihre eigenen Lambdas auf dotnetcore 3.1 aktualisieren. In der Zwischenzeit, wĂ€hrend Sie warten, wĂŒrde ich vorschlagen, dass Sie viele Lambdas erstellen, um Ihre eigene Dotnetcore-Vorlage zu schreiben. Das habe ich fĂŒr mich gemacht. Ich wollte sicherstellen, dass ich keine Stunden mit Boilerplate-Code verschwenden muss. Ein Beispiel fĂŒr eine Vorlage finden Sie hier .

Und Vincent, wie hosten wir es dort? Benutzerdefinierte Laufzeit verwenden?
Am Do, MĂ€r 5, 2020 um 19:40 Vincent van der Walt <
[email protected]> schrieb:

Hi, ich weiß, es ist nicht ganz geeignet, aber du kannst deine eigenen Lambdas bekommen
auf dotnetcore 3.1 aktualisiert. In der Zwischenzeit, wĂ€hrend Sie warten, wĂŒrde ich vorschlagen
wenn Sie viele Lambdas erstellen, um Ihre eigene Dotnetcore-Vorlage zu schreiben. Ich tat
das fĂŒr meine. Ich wollte sicherstellen, dass ich keine Stunden damit verschwenden muss
Boilerplate-Code. Ein Beispiel fĂŒr eine Vorlage finden Sie hier
https://github.com/vincentvanderwalt/aws-lambda-dotnetcore-3-template .

—
Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/aws/aws-lambda-dotnet/issues/554?email_source=notifications&email_token=AGIDH4OWUT7Y3HR3O5KARBDRF62V3A5CNFSM4JU5UTJKYY3PNVWWK3TUL52HS4DFVREXG43VMVXZH63Lcom26
oder abmelden
https://github.com/notifications/unsubscribe-auth/AGIDH4PLKFSDLNBX2QVMG63RF62V3ANCNFSM4JU5UTJA
.

Ja, es nutzt die benutzerdefinierte Laufzeit.

Sie können es lokal auf Ihrem Computer ausfĂŒhren oder in AWS bereitstellen.

F5 fĂŒr lokal und dotnet lambda deploy-serverless fĂŒr die Bereitstellung in AWS

Die Readme-Datei erklÀrt, wie Sie die Vorlage auf Ihrem lokalen Computer installieren (es ist eine Dotnetcore-Vorlage).

Benutzerdefinierte Laufzeiten sind cool, aber ich warte immer noch auf die vollstĂ€ndige AWS-UnterstĂŒtzung fĂŒr .Net Core 3.1 fĂŒr Lambdas, um sie in Produktionsumgebungen zu verwenden 😄

Jedes Mal, wenn ich das in meinem Posteingang sehe, öffne ich es eifrig, um zu sehen, ob @normj es hat
alles angekĂŒndigt, nur um ein Posting zu finden, das zumindest ein bisschen abweicht
Thema. Jemand anderes hat andere gebeten, den Thread nicht zu kapern, und das ist nicht der Fall
hat funktioniert. Kann jemand den Thread sperren, bis jemand bereit ist, das anzukĂŒndigen?
Release von 3.1-UnterstĂŒtzung?

Am Fr, 6. MĂ€r 2020 um 07:13 bartoszsiekanski [email protected]
schrieb:

Benutzerdefinierte Laufzeiten sind cool, aber ich warte immer noch auf den vollstÀndigen AWS-Support
fĂŒr .Net Core 3.1 fĂŒr Lambdas, um sie in Produktionsumgebungen zu verwenden 😄

—
Sie erhalten dies, weil Sie einen Kommentar abgegeben haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/aws/aws-lambda-dotnet/issues/554?email_source=notifications&email_token=AAVUT3SNDR4L2ZL5J4KQYDDRGDSHBA5CNFSM4JU5UTJKYY3PNVWWK3TUL52HS4DFVREXG43VMVXZH63Lcom2009
oder abmelden
https://github.com/notifications/unsubscribe-auth/AAVUT3TBH3NIBMGB54EFCR3RGDSHBANCNFSM4JU5UTJA
.

Bitte erstellen Sie separate Issues fĂŒr alles andere als die Erörterung der .NET Core 3.1-UnterstĂŒtzung. Kann ich dieses Thema schließen, bis wir mehr Neuigkeiten @normj haben ?

@ hounddog22030 Ich wusste nicht, dass ich den Thread "entfĂŒhrt" habe. Ich habe vorgeschlagen, dass es, anstatt stĂ€ndig zu fragen, ob es fertig ist, alternative AnsĂ€tze gibt, wenn die Leute unbedingt auf dotnetcore 3.1 umsteigen wollen. Offizieller nicht benutzerdefinierter Runtime-Support wird verfĂŒgbar sein, wenn er fertig ist. Die Leute mĂŒssen nur ein wenig geduldiger sein oder einen alternativen Ansatz suchen.

Wenn AWS die Option --self-contained im Befehl dotnet lambda package unterstĂŒtzt, mĂŒssen die Lambda-Funktionen unabhĂ€ngig von ihrer SDK-Version ausfĂŒhrbar sein. rechts? Warum nicht, anstatt UnterstĂŒtzung fĂŒr jede .NET Core-Version hinzuzufĂŒgen?

Wenn AWS die Option --self-contained im Befehl dotnet lambda package unterstĂŒtzt, mĂŒssen die Lambda-Funktionen unabhĂ€ngig von ihrer SDK-Version ausfĂŒhrbar sein. rechts? Warum nicht, anstatt UnterstĂŒtzung fĂŒr jede .NET Core-Version hinzuzufĂŒgen?

Sie haben gerade die benutzerdefinierte Lambda-Laufzeitfunktion beschrieben

@aussiearef Das funktioniert in der Tat gut, aber das in sich geschlossene Paket enthĂ€lt .Net Core selbst, was normalerweise mindestens 40 MB (gezippt) fĂŒr eine Website ausmacht – und nicht viel Platz fĂŒr die Anwendung und AbhĂ€ngigkeiten selbst lĂ€sst.

Bei Verwendung derselben Version von .NET Core ist die benutzerdefinierte Laufzeit auch langsamer (Kaltstarts) als die native Laufzeit. 3.1 fĂŒgt viele Leistungsverbesserungen hinzu, sodass Sie zwischen 3.1 benutzerdefiniert vollstĂ€ndig optimiert und 2.1 nativ das gleiche Leistungsniveau erwarten können. Ich hoffe, dass 3.1 native wesentliche Verbesserungen bringen wird.

Q1 wird in 4 Tagen enden, aber es sieht so aus, als wĂŒrden wir 3.1 in Lambda nicht sehen.
Ich hoffe, dass alle Mitglieder des Teams in dieser Zeit der Pandemie sicher sind und hoffe, diese Veröffentlichung im zweiten Quartal zu sehen.

Gib die Hoffnung nicht auf, wir haben noch ein paar Tage! Wir sind alle ziemlich fertig damit, auf die endgĂŒltigen Bereitstellungen und andere Last-Minute-AktivitĂ€ten zu warten. Denken Sie daran, dass wir alle Software kennen und es in letzter Minute zu Schluckauf kommen kann.

Ich plane eigentlich, bald mit dem Rollout der neuen Client-Tooling-Updates zu beginnen, um sicherzustellen, dass alles verfĂŒgbar ist, sobald die Laufzeit geöffnet ist. Wenn Sie also sehen, dass neue NuGet-Paketupdates veröffentlicht werden, gehen Sie nicht davon aus, dass die Laufzeit vorhanden ist. Warten Sie, bis der Blogbeitrag veröffentlicht ist, und ich werde hier ein Update veröffentlichen.

Das sind fantastische Neuigkeiten. Danke @normj

Freue mich auf den Blogbeitrag und die Veröffentlichung.

Gib die Hoffnung nicht auf, wir haben noch ein paar Tage! Wir sind alle ziemlich fertig damit, auf die endgĂŒltigen Bereitstellungen und andere Last-Minute-AktivitĂ€ten zu warten. Denken Sie daran, dass wir alle Software kennen und es in letzter Minute zu Schluckauf kommen kann.

Ich plane eigentlich, bald mit dem Rollout der neuen Client-Tooling-Updates zu beginnen, um sicherzustellen, dass alles verfĂŒgbar ist, sobald die Laufzeit geöffnet ist. Wenn Sie also sehen, dass neue NuGet-Paketupdates veröffentlicht werden, gehen Sie nicht davon aus, dass die Laufzeit vorhanden ist. Warten Sie, bis der Blogbeitrag veröffentlicht ist, und ich werde hier ein Update veröffentlichen.

Deine Geduld angesichts der Haltung in diesem Thread ist mehr als beeindruckend. Danke, dass Sie daran gearbeitet haben!

@normj hilft

Noch 2 Tage und Daumen drĂŒcken.

Und mit noch 13 Stunden im Viertel ist Schluss

https://aws.amazon.com/blogs/compute/announcing-aws-lambda-supports-for-net-core-3-1/

Danke an alle fĂŒr eure Geduld. @raRaRa Ich werde Ihnen die Ehre ĂŒberlassen, diese Ausgabe

Groß

Am Di, 31 MĂ€r 2020, 20:06 schrieb Norm Johanson, [email protected] :

Und mit noch 13 Stunden im Viertel ist Schluss

https://aws.amazon.com/blogs/compute/announcing-aws-lambda-supports-for-net-core-3-1/

Danke an alle fĂŒr eure Geduld. @raRaRa https://github.com/raRaRa
Ich ĂŒberlasse Ihnen die Ehre, diese Ausgabe abzuschließen.

—
Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/aws/aws-lambda-dotnet/issues/554#issuecomment-606785798 ,
oder abmelden
https://github.com/notifications/unsubscribe-auth/AGUX3OUR6LN5CERIBTDHXP3RKIWLVANCNFSM4JU5UTJA
.

Danke schön!!!!

Und.... Abmelden :-)

Danke an alle Beteiligten!!!

Vielen Dank!

Und mit noch 13 Stunden im Viertel ist Schluss

https://aws.amazon.com/blogs/compute/announcing-aws-lambda-supports-for-net-core-3-1/

Danke an alle fĂŒr eure Geduld. @raRaRa Ich werde Ihnen die Ehre ĂŒberlassen, diese Ausgabe

Gute Arbeit!

Das ist AWS-Baby. Das ist AWS!!!
Egal was passiert, am Ende schaffen sie es.

Vielen Dank, Team!!!

image

Tolle Neuigkeiten und vielen Dank @raRaRa @normj !!! Auf die Gefahr hin, albern und/oder gierig zu klingen, heißt das eigentlich auch Powershell 7? Einfach nochmal prĂŒfen......

Tolle Arbeit @normj und alle bei AWS! đŸ„ł

Hier ist der Link zum Blog fĂŒr diejenigen, die nach unten scrollen
https://aws.amazon.com/blogs/compute/announcing-aws-lambda-supports-for-net-core-3-1/

großartig, vielen Dank fĂŒr die UnterstĂŒtzung von Dotnet Core 3.1!!!

@andyKalman Noch nicht auf PowerShell 7. Ich mache einige letzte Nachbesserungen am AWSLambdaPSCore-Modul und werde dann die Version 2.0.0 von AWSLambdaPSCore in die Galerie bringen.

Ich freue mich ĂŒber die schnelle Antwort

Herzlichen GlĂŒckwunsch!
Und vielen Dank an das AWS- und .NET-Team!
Sehr geschÀtzt.

Vielen Dank an alle, die mitgeholfen haben, dies zu ermöglichen! Dies ist eine riesige Veröffentlichung und es zeigt, dass viel harte Arbeit darin steckt! Schön! đŸŽ‰đŸ„ł

Vielen Dank !! : klatschen:: klatschen:: tada:: tada:

Herzlichen GlĂŒckwunsch Jungs, ich freue mich auf das Upgrade.

Vielen Dank!

Tolle Arbeit, ich möchte diese Lambdas aktualisieren.

Gute Arbeit! Danke @normj 👏 👏

Tolles Arbeitsteam!

Begierig darauf, auf Lambda-Worker mit dotnet 3.1 Async Streams + AWS AppSync/GraphQL-Abonnements aufzuspringen.
AWS-Team, vielen, vielen Dank!

OMG, Leute, ihr regiert! Tolle! Huhu! 😄😄😄

DANKE!

@andyKalman Ich habe Version 2.0.0 des AWSLambdaPSCore-Moduls veröffentlicht, das jetzt PowerShell 7 verwendet. Ich habe vor, einen Blogbeitrag zur PS7-UnterstĂŒtzung zu veröffentlichen, aber es verhĂ€lt sich genauso wie die vorhandene PowerShell 6-UnterstĂŒtzung verwendet nur 7.

@andyKalman Ich habe Version 2.0.0 des AWSLambdaPSCore-Moduls veröffentlicht, das jetzt PowerShell 7 verwendet. Ich habe vor, einen Blogbeitrag zur PS7-UnterstĂŒtzung zu veröffentlichen, aber es verhĂ€lt sich genauso wie die vorhandene PowerShell 6-UnterstĂŒtzung verwendet nur 7.

Aktualisiert die neue Version von AWSLambdaPSCore eine der Konfigurationen in meinen vorhandenen Lambda-Funktionen, wenn ich sie mit der neuen Version veröffentliche? Wie wird es auf dotnet3.1 und ps7 hinweisen?

@ tr33squid Ja, wenn Sie mit 2.0.0 bereitstellen, werden .NET Core 3.1 und PS7 verwendet

Vielen Dank und tolle Arbeit AWS-Team!!

Hallo allerseits,

Ich arbeite aktiv daran, die UnterstĂŒtzung fĂŒr .NET Core 3.1 in Lambda bereitzustellen. Es dauert einige Zeit, da von Microsoft viel Arbeit geleistet wurde, um die Laufzeit zu erstellen. Ich arbeite daran, diese Änderungen zu integrieren, um Ihnen eine native Laufzeitumgebung zu bieten.

Danke an das AWS-Lambda .NET-Kernteam

Hi,
Ich erhalte diesen Fehler, wenn ich versuche, AWS-Lambda auszufĂŒhren
Es konnte keine kompatible Framework-Version gefunden werden.
Das angegebene Framework 'Microsoft.AspNetCore.App', Version '3.1.0' wurde nicht gefunden.
irgendwelche VorschlÀge ??

Hi,
Ich erhalte diesen Fehler, wenn ich versuche, AWS-Lambda auszufĂŒhren
Es konnte keine kompatible Framework-Version gefunden werden.
Das angegebene Framework 'Microsoft.AspNetCore.App', Version '3.1.0' wurde nicht gefunden.
irgendwelche VorschlÀge ??

Sie mĂŒssen das 3.1.0 SDK installieren.

Ich glaube, Microsoft.AspNetCore.App sollte aus Ihrem Projekt entfernt werden
AbhĂ€ngigkeiten, fĂŒr Core 3.1.0 nicht mehr benötigt, musste ich entfernen um
den Dienst erstellen und bereitstellen, den ich von 2.1 aktualisiert habe.

Am Fr, 24. April 2020 um 03:24 Gregory Lyons [email protected]
schrieb:

Hi,
Ich erhalte diesen Fehler, wenn ich versuche, AWS-Lambda auszufĂŒhren
Es konnte keine kompatible Framework-Version gefunden werden.
Das angegebene Framework 'Microsoft.AspNetCore.App', Version '3.1.0' war
nicht gefunden.
irgendwelche VorschlÀge ??

Sie mĂŒssen das 3.1.0 SDK installieren.

—
Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/aws/aws-lambda-dotnet/issues/554#issuecomment-618850277 ,
oder abmelden
https://github.com/notifications/unsubscribe-auth/AMSHCOLW5WJDS7CCAFDMP4TROE5ENANCNFSM4JU5UTJA
.

--
Am besten,
George

George Taskos
Senior Solutions Architect

WeAre8
230 Park Avenue, 3. fl. Westen
New York, NY 10169
(917) 717-9067
weare8.com

Privater Eingang,
71 Vanderbilt Avenue
3. Stock

Ich glaube, Microsoft.AspNetCore.App sollte aus Ihren ProjektabhĂ€ngigkeiten entfernt werden und wird fĂŒr Core 3.1.0 nicht mehr benötigt. Ich musste es entfernen, um den Dienst zu erstellen und bereitzustellen, den ich von 2.1 aktualisiert habe.


Am Fr, 24. April 2020, 03:24 Gregory Lyons @ . * > wrote: Hallo, ich erhalte diesen Fehler beim Versuch, AWS-Lambda auszufĂŒhren. Es war nicht möglich, eine kompatible Framework-Version zu finden. Das angegebene Framework 'Microsoft.AspNetCore.App', Version '3.1.0' wurde nicht gefunden. irgendwelche VorschlĂ€ge ?? Sie mĂŒssen das 3.1.0 SDK installieren. — Sie erhalten dies, weil Sie diesen Thread abonniert haben. Antworten Sie direkt auf diese E-Mail, zeigen Sie sie auf GitHub < #554 (Kommentar) > an oder melden Sie sich ab https://github.com/notifications/unsubscribe-auth/AMSHCOLW5WJDS7CCAFDMP4TROE5ENANCNFSM4JU5UTJA .
-- Best, George George Taskos Senior Solutions Architect WeAre8 230 Park Avenue, 3th fl. West New York, NY 10169 (917) 717-9067 weare8.com Privater Eingang, 71 Vanderbilt Ave 3rd Floor

Danke fĂŒr deine Antwort,
Eigentlich war dieser Fehler auf meinen dummen Fehler zurĂŒckzufĂŒhren. Ich habe vergessen, die Laufzeit: dotnetcore2.1 in meiner serverless.yml zu entfernen. Jetzt Problem gelöst.

Hat jemand aktualisierte Benchmarks/Vergleiche dazu? Alles, was ich finden kann, sind alte mit einer benutzerdefinierten Laufzeit.

Hat jemand aktualisierte Benchmarks/Vergleiche dazu? Alles, was ich finden kann, sind alte mit einer benutzerdefinierten Laufzeit.

Hier ist ein guter.
https://medium.com/@zaccharles/a -close-look-at-net-core-3-1-on-aws-lambda-9ccec4dd96be

Auch meine persönliche Erfahrung mit der Aktualisierung eines 2.1-Komplex-Lambda auf 3.1 auf einer Lambda-GrĂ¶ĂŸe von 512 MB ergab fast die gleiche Leistung (Kalt- und Warmstart). Sowohl die 2.1- als auch die 3.1-Lambda verwenden Lambda-Layer, optimierte Veröffentlichung, Newtonsoft (möglicherweise eine Leistungsverbesserung mit Microsoft json in 3.1), abgestufte Kompilierung und RTR fĂŒr 3.1.

Nach meinen Metriken scheint es mit der dotnet 3.1-Laufzeit leicht an Leistung zu gewinnen, aber die Leistung bei Amazon Linux 2 und der dotnet 3.1-Initialisierung zu verlieren. (2.1 verwendet Amazon Linux 1.) Gewinne eine WĂ€sche zu machen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen