2016-09-01 2 views
2

Ich entwickle eine Logik-App und hosste dort mehrere benutzerdefinierte Funktionen. Dies sind Csx-Dateien, also ist es C# -Code (Script-Code).Debuggen von Azure-Funktionen in Visual Studio

Momentan verwende ich nur das Azure-Web-Frontend, um die Funktion zu bearbeiten und zu testen. Aber ich denke, das ist nicht der beste Weg, denn ich möchte eine kontinuierliche Bereitstellung haben. Also möchte ich ein Git Repo verwenden, um dort meinen Code zu speichern. Dass der Bereitstellungsprozess die Änderungen veröffentlichen muss.

So ist es möglich, meine Funktion vor Ort zu debuggen? Vielleicht mit einem Emulator oder von der Seite?

habe ich versucht, diesen Link zum Einrichten einer lokalen Umgebung: https://azure.microsoft.com/da-dk/documentation/articles/functions-run-local/#to-run-locally

Aber ich weiß nicht, ob dies der richtige Weg ist lokal die Funktionen debugg.

Übrigens, ist es möglich, eine logische App lokal zu betreiben?

Antwort

0

Ich würde sagen, dass es abhängt. Wenn Sie zum Beispiel Blob-Trigger verwenden, können Sie nicht lokal testen, sondern nur "vortäuschen".

Hier ist eine nützliche Verbindung von der offiziellen doc:

https://azure.microsoft.com/en-us/documentation/articles/functions-run-local/

+0

So habe ich einen Tabellenspeicherauslöser. Es scheint, dass es im Moment keine Unterstützung dafür geben wird und ich muss das auch verspotten. – Sascha

+0

Da die Funktionen auf Cloud-Ereignissen basieren, würde ich sagen, dass nicht alle von ihnen lokal getestet werden können, und Sie sollten sich über sie lustig machen. Mein Vorschlag für Sie ist, ein separates Abonnement nur für den Test zu erstellen, und Sie können alle Ihre Funktionen mit realen Ereignissen in der Cloud testen. –

+0

Warteschlange löst Arbeit aus. Ich bin mir nicht sicher, ob Blobs und Tabellen funktionieren würden, aber wenn die Warteschlangen-Trigger funktionieren, würde ich denken, dass die anderen das auch tun würden. Ich habe das gerade gestern versucht. Es wurde jedoch mein Warteschlangenspeicher in der Cloud verwendet, keine lokale Kopie der Warteschlange. – Architekt

2

Check this doc out

Es ist, was ich vor Ort zu entwickeln, verwenden. Im Grunde nach der Installation der Tools, die Sie nur F5 (oder Debug) und Visual Studio drücken kompiliert Ihre Funktionen und richtet eine localhost-Verbindung für sie. Sie können dann ein kostenloses Programm wie Postman (mein persönlicher Favorit) verwenden, um die Funktionen auszulösen. Wenn Sie einen Haltepunkt gesetzt haben, wird dieser nach dem Aufruf der Funktion getroffen. Sobald es gestartet wird, werden Sie schließlich so etwas wie dies nach allem, was zu sehen ist getan:

enter image description here

Beachten Sie, dass es über http und https nicht. Sie können dann Postman oder was auch immer verwenden, um über die aufgelistete URL auf die Funktion zuzugreifen. Beachten Sie auch, dass es bei der Ausführung lokal nicht darauf ankommt, ob die Funktion so eingestellt ist, dass sie einen Administrator-/Funktionsschlüssel erfordert, und ob eine Authentifizierung erforderlich ist.

Mit dieser Einrichtung, ich alle meine Code lokal testen, dann wenn es fertig ist, sende ich es an die Quellcodeverwaltung und dann, mit dem Plugin aus dem Link, veröffentliche ich meine Funktionen in Azure. In meinem Fall verwende ich TFS und nicht Git, so kann ich es (zur Zeit des Schreibens) nicht an die kontinuierliche Integration von Azure anschließen. Da Sie Git verwenden, müssen Sie sich nicht mit dem Veröffentlichungsschritt befassen.

+0

funktioniert das mit C#? Weil im Dokument der Knoten js so beschrieben wird. Und ein Haltepunkt in C# wird nicht auf meinem Rechner getroffen :( – Sascha

+0

Das Dokument, das ich verlinkt ist für C#.Und ja, es funktioniert in C#, das ist, was ich lokal verwende. Ich kann Haltepunkte treffen und Variablen anzeigen. Wenn Sie keine Breakpoints setzen, stellen Sie sicher, dass Sie alles installiert haben. Am Anfang dieses Dokuments lesen Sie den fett gedruckten Teil über das Update am 12-6-2016. Stellen Sie außerdem sicher, dass Sie Ihren lokalen Host anrufen und http verwenden (wie Sie in meinem obigen Screenshot sehen können). – Architekt

Verwandte Themen