Eine kurze Einführung in Azure-Funktionsproxys

In diesem Artikel werden Azure Function Proxies erläutert. Sie bieten "Reverse Proxy-Funktionalität" für Azure-Funktionen. Azure Function Proxies sind der Azure API-Verwaltung sehr ähnlich.  

Dieser Beitrag wurde weitgehend von Matthew Henderson vom Microsoft Azure Function Team inspiriert. In seinem Blog-Beitrag "Öffentliche Vorschau von Azure Functions Proxies" erklärt Matthew den Grund, warum Microsoft die Ideologie für Azure Function Proxies entwickelt hat.

Was sind Azure Function Proxies?

Die Grundidee von Azure Function Proxies besteht darin, dass wir damit eine einzelne API-Oberfläche für Apps mit mehreren Funktionen definieren können. Jetzt kann jede Funktions-App einen Endpunkt definieren, der als Reverse Proxy für eine andere API dient. Der Endpunkt kann eine Funktions-App oder etwas anderes sein.

Suchen Sie nach einem Standardtool zum Verwalten und Überwachen Ihrer Azure-Funktionen? Probieren Sie dieses hier kostenlos aus.

Grund für die Implementierung von Azure Function Proxies

Für einige Benutzer ist es schwierig, große Lösungen mit einer einzigen Funktions-App zu verwalten. Es gibt eine Reihe von Organisationen, die Azure Function in ihrer Mikrodienstarchitektur mit Bereitstellung zwischen einzelnen Komponenten verwenden. In diesem Fall hat jede Funktions-App ihr eigenes Hosting, sodass Sie viele verschiedene Funktions-Apps im Auge behalten können.

Wir könnten auch eine Funktions-App mit einer anderen API kombinieren lassen, aber sie könnte sich in verschiedenen Regionen befinden. Daher geben wir einen Großteil dieser Komplexität an unseren Kunden oder unser konsumierendes System weiter.

Azure Function Proxies helfen, indem sie einen einheitlichen URI (Uniform Resource Identifier) ​​bereitstellen, den der Client tatsächlich verwenden kann. In der Zwischenzeit können wir alle verschiedenen Funktions-Apps oder andere APIs abstrahieren und so unsere API schneller erstellen.

Erläuterung

Azure-Funktionsproxys

Im obigen Lösungsarchitekturdiagramm haben wir einen Azure-Funktionsproxy, gefolgt von einer Azure-Funktions- und Service-Bus-Warteschlange im Back-End, um Informationen zu speichern. Am anderen Ende des Diagramms haben wir Data Publishers. Nehmen wir für die Zwecke dieser Diskussion an, dass das Power Equipment das Tag-Ereignis generiert und es über Proxy an Azure-Funktionen weiterleitet.

Zunächst erstellen wir eine Funktions-App, indem wir die Funktionsoption im Azure-Portal auswählen. Angenommen, wir erstellen einen HTTP-Trigger für C #, bei dem die Funktion des HTTP-Triggers darin besteht, eine Funktion mit einer HTTP-Anforderung aufzurufen.

Jetzt erstellen wir zwei Funktionen: Eine ist das PostTag, das unseren Beitrag darstellt, wenn wir ein Tag erstellen möchten. Der Code für die PostTag-Funktion lautet wie folgt:

Post Tag

Anschließend erstellen wir eine weitere Funktion namens GetTag mit dem folgenden Code:

Tag holen

Wir verwenden GetTag, um die Nachricht aus der Warteschlange zu ziehen, und der letzte Tag-Wert wird an den Client zurückgegeben.

Wir können den unten angegebenen Link auswählen, um die URL beider Funktionen abzurufen. Über diesen Link erhalten Sie ein Sicherheitstoken zur Autorisierung.

Funktions-URL abrufen

Zu diesem Zeitpunkt wechseln wir zu den Funktions-App-Einstellungen und aktivieren die Azure-Funktionsproxys mit der neuesten Proxy-Laufzeitversion von 0.2. Aus diesem Grund wählen wir in der Funktions-App-Entwicklung die Option „Neuer Proxy“ aus, mit der wir zwei Proxys erstellen können. Sie sind Proxy GetTag und Proxy PostTag. Die verfügbaren Optionen im Proxy sind:

  • Proxy-URL
  • Routenvorlage
  • Backend-URL

Die in der Proxy-URL und der Routenvorlage angegebene URL ist sowohl für das GetTag- als auch für das PostTag-Ereignis identisch. Die Backend-URL des Proxy-GetTags bezieht sich auf das GetTag-Ereignis, für das Proxy-PostTag jedoch auf das PostTag-Ereignis.

Einpacken

Azure Function Proxies sind eine großartige Möglichkeit, Ihren Azure Functions-Endpunkt zu verspotten und zu testen, noch bevor die eigentliche Back-End-Entwicklung beginnt. Sie können auch in der Produktion verwendet werden, wenn Sie einen URI an einen anderen weiterleiten müssen.

Ich möchte zu dem Schluss kommen, dass Azure Function Proxies eine der interessantesten und marktführendsten Funktionen sind, die das Azure Functions-Team bereitgestellt hat.

Dieser Blog wurde ursprünglich in Serverless360 veröffentlicht.