Heim Backend-Entwicklung Python-Tutorial Azure-Funktionen mit Python: Trigger

Azure-Funktionen mit Python: Trigger

Jan 03, 2025 am 02:57 AM

Azure Functions with Python: Triggers

Python-Entwickler können Azure Functions verwenden, um schlanke, skalierbare und effiziente serverlose Anwendungen zu erstellen. In diesem Beitrag konzentrieren wir uns auf Auslöser.

Was sind Trigger in Azure Functions?

Trigger sind die Grundlage von Azure Functions. Sie bestimmen, wie eine Funktion aufgerufen wird. Jede Funktion muss genau einen Trigger haben, und der Triggertyp bestimmt die für die Funktion verfügbare Datennutzlast. Azure unterstützt verschiedene Auslöser, darunter:

1​. HTTP-Trigger

  • Ermöglicht den Aufruf von Funktionen über HTTP-Anfragen.
  • Nützlich zum Erstellen von APIs oder zum Reagieren auf Webhooks.
  • Beispiel:
import azure.functions as func
import datetime
import json
import logging

app = func.FunctionApp()

@app.route(route="http_trigger", auth_level=func.AuthLevel.ANONYMOUS)
def http_trigger(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

    return func.HttpResponse("Hello world from HTTP trigger")
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Parameter:

  • route: Gibt den URL-Pfad an, auf den der HTTP-Trigger antwortet. In diesem Fall ist die Funktion unter /api/http_trigger.
  • zugänglich
  • auth_level: Bestimmt die Authentifizierungsebene für die Funktion. Zu den Optionen gehören:
    • ANONYM: Keine Authentifizierung erforderlich.
    • FUNKTION: Erfordert eine funktionsspezifische Taste.
    • ADMIN: Erfordert einen Schlüssel auf Administratorebene.

2​. Timer-Trigger

  • Führt Funktionen basierend auf einem Zeitplan aus.
  • Cron-Ausdrücke werden für die Planung verwendet.
  • Beispiel:
import azure.functions as func
import datetime
import json
import logging

app = func.FunctionApp()

@app.timer_trigger(schedule="0 */5 * * * *", arg_name="myTimer", run_on_startup=False, use_monitor=False)
def timer_trigger(myTimer: func.TimerRequest) -> None:

    if myTimer.past_due:
        logging.info('The timer is past due!')

    logging.info('Python timer trigger function executed.')
Nach dem Login kopieren
Nach dem Login kopieren

Parameter:

  • Zeitplan: Definiert den Zeitplan mithilfe eines CRON-Ausdrucks. Hier gibt 0 */5 * * * * an, dass die Funktion ab der 0. Sekunde alle 5 Minuten ausgeführt wird.
  • arg_name: Der Name des an die Funktion übergebenen Arguments, das das TimerRequest-Objekt darstellt.
  • run_on_startup: Wenn auf True gesetzt, wird die Funktion sofort ausgeführt, wenn die App gestartet wird. Der Standardwert ist False.
  • use_monitor: Legt fest, ob Azure auf verpasste Zeitplanausführungen überwachen soll. Bei „True“ stellt Azure sicher, dass verpasste Ausführungen wiederholt werden. Der Standardwert ist True. In diesem Beispiel ist es auf False gesetzt.

3​. Blob-Trigger

  • Reagiert auf Änderungen in Azure Blob Storage (z. B. Datei-Uploads).
  • Beispiel:
import azure.functions as func
import datetime
import json
import logging

app = func.FunctionApp()

@app.blob_trigger(arg_name="myblob", path="blobname", connection="BlobStorageConnectionString")
def BlobTrigger(myblob: func.InputStream):
    logging.info(f"Python blob trigger function processed blob"
                f"Name: {myblob.name}"
                f"Blob Size: {myblob.length} bytes")
Nach dem Login kopieren
Nach dem Login kopieren

Parameter:

  • arg_name: Gibt den Namen des Arguments in der Funktion an, das die Blob-Daten darstellt. Hier ist es myblob.
  • Pfad: Der Pfad im Blob Storage-Container, den die Funktion abhört. In diesem Beispiel ist es blobname.
  • Verbindung: Bezieht sich auf den Namen der Anwendungseinstellung, die die Verbindungszeichenfolge für das Blob Storage-Konto enthält. Hier ist es BlobStorageConnectionString.

4​. Warteschlangenauslöser

  • Ausgelöst durch Nachrichten, die zu Azure Storage-Warteschlangen hinzugefügt werden.
  • Beispiel:
import azure.functions as func
import datetime
import json
import logging

app = func.FunctionApp()

@app.route(route="http_trigger", auth_level=func.AuthLevel.ANONYMOUS)
def http_trigger(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

    return func.HttpResponse("Hello world from HTTP trigger")
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Parameter:

  • arg_name: Gibt den Namen des Arguments an, das die Warteschlangennachricht in der Funktion darstellt. Hier ist es azqueue.
  • queue_name: Der Name der Azure Storage-Warteschlange, auf die die Funktion lauscht. In diesem Fall ist es queuename.
  • Verbindung: Bezieht sich auf die Anwendungseinstellung, die die Verbindungszeichenfolge für die Azure Storage-Warteschlange enthält. Hier ist es QueueConnectionString.

5​. EventHub-Trigger

  • Ausgelöst durch Ereignisse, die an einen Azure Event Hub gesendet werden.
  • Beispiel:
import azure.functions as func
import datetime
import json
import logging

app = func.FunctionApp()

@app.timer_trigger(schedule="0 */5 * * * *", arg_name="myTimer", run_on_startup=False, use_monitor=False)
def timer_trigger(myTimer: func.TimerRequest) -> None:

    if myTimer.past_due:
        logging.info('The timer is past due!')

    logging.info('Python timer trigger function executed.')
Nach dem Login kopieren
Nach dem Login kopieren

Parameter:

  • arg_name: Dies gibt den Namen des Parameters an, der die Ereignisdaten in Ihrer Funktion empfängt. In diesem Fall ist azeventhub die Variable, die das eingehende EventHubEvent darstellt.
  • event_hub_name: Dies gibt den Namen des Event Hubs an, den die Funktion überwacht. Ersetzen Sie eventhubname durch den tatsächlichen Namen Ihres Event Hubs.
  • Verbindung: Dies bezieht sich auf den Namen der Anwendungseinstellung, die die Verbindungszeichenfolge für den Event Hub enthält. Stellen Sie sicher, dass die Einstellungen Ihrer Azure Function App einen Eintrag namens EventHubConnectionString mit dem entsprechenden Verbindungszeichenfolgenwert enthalten.

6​. ServiceBus-Warteschlangenauslöser

  • Ausgelöst durch Nachrichten, die einer Azure Service Bus-Warteschlange hinzugefügt wurden.
  • Beispiel:
import azure.functions as func
import datetime
import json
import logging

app = func.FunctionApp()

@app.blob_trigger(arg_name="myblob", path="blobname", connection="BlobStorageConnectionString")
def BlobTrigger(myblob: func.InputStream):
    logging.info(f"Python blob trigger function processed blob"
                f"Name: {myblob.name}"
                f"Blob Size: {myblob.length} bytes")
Nach dem Login kopieren
Nach dem Login kopieren

Parameter:

  • arg_name: Dies gibt den Namen des Parameters an, der die Nachrichtendaten in Ihrer Funktion empfängt. In diesem Fall ist azservicebus die Variable, die die eingehende ServiceBusMessage darstellt.
  • queue_name: Dies gibt den Namen der Service Bus-Warteschlange an, die die Funktion überwacht. Ersetzen Sie servicebusqueuename durch den tatsächlichen Namen Ihrer Service Bus-Warteschlange.
  • Verbindung: Dies bezieht sich auf den Namen der Anwendungseinstellung, die die Verbindungszeichenfolge für den Service Bus enthält. Stellen Sie sicher, dass die Einstellungen Ihrer Azure Function App einen Eintrag namens ServiceBusConnectionString mit dem entsprechenden Verbindungszeichenfolgenwert enthalten.

7​. ServiceBus-Themenauslöser

  • Ausgelöst durch Nachrichten, die in einem Azure Service Bus-Thema veröffentlicht wurden.
  • Beispiel:
import azure.functions as func
import datetime
import json
import logging

app = func.FunctionApp()

@app.route(route="http_trigger", auth_level=func.AuthLevel.ANONYMOUS)
def http_trigger(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

    return func.HttpResponse("Hello world from HTTP trigger")
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Parameter:

  • arg_name: Gibt den Namen des Arguments an, das die Service Bus-Nachricht in der Funktion darstellt. Hier ist es azservicebus.
  • subscription_name: Der Name des Service Bus-Abonnements, auf das der Trigger lauscht.
  • topic_name: Der Name des Service Bus-Themas, auf das der Trigger lauscht. In diesem Beispiel ist es servicebustopicname.
  • Verbindung: Bezieht sich auf die Anwendungseinstellung, die die Verbindungszeichenfolge für den Azure Service Bus-Namespace enthält. Hier ist es ServiceBusConnectionString.

Andere Auslöser

  • Cosmos DB-Trigger: Reagiert auf Änderungen (Einfügungen und Aktualisierungen) in einer Azure Cosmos DB-Datenbank unter Verwendung des Änderungsfeedmechanismus.
  • Dapr Publish Output Binding: Ermöglicht Funktionen, während der Ausführung Nachrichten in einem Dapr-Thema zu veröffentlichen, wodurch die Kommunikation zwischen Microservices erleichtert wird.
  • Dapr-Dienstaufrufauslöser: Ermöglicht den direkten Aufruf von Funktionen durch andere Dapr-fähige Dienste und unterstützt so die Dienst-zu-Dienst-Kommunikation.
  • Dapr-Themenauslöser: Führt Funktionen als Reaktion auf Nachrichten aus, die über das Publish-Subscribe-Nachrichtenmuster von Dapr zu einem bestimmten Thema veröffentlicht werden.
  • Event Grid-Trigger: Aktiviert Funktionen, wenn Ereignisse an ein Azure Event Grid-Thema gesendet werden, was reaktive ereignisgesteuerte Architekturen ermöglicht.

Das obige ist der detaillierte Inhalt vonAzure-Funktionen mit Python: Trigger. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Apr 01, 2025 pm 05:09 PM

Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Wie kann man vom Browser vermeiden, wenn man überall Fiddler für das Lesen des Menschen in der Mitte verwendet? Wie kann man vom Browser vermeiden, wenn man überall Fiddler für das Lesen des Menschen in der Mitte verwendet? Apr 02, 2025 am 07:15 AM

Wie kann man nicht erkannt werden, wenn Sie Fiddlereverywhere für Man-in-the-Middle-Lesungen verwenden, wenn Sie FiddLereverywhere verwenden ...

Wie kann ich die gesamte Spalte eines Datenrahmens effizient in einen anderen Datenrahmen mit verschiedenen Strukturen in Python kopieren? Wie kann ich die gesamte Spalte eines Datenrahmens effizient in einen anderen Datenrahmen mit verschiedenen Strukturen in Python kopieren? Apr 01, 2025 pm 11:15 PM

Bei der Verwendung von Pythons Pandas -Bibliothek ist das Kopieren von ganzen Spalten zwischen zwei Datenrahmen mit unterschiedlichen Strukturen ein häufiges Problem. Angenommen, wir haben zwei Daten ...

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen ohne Serving_forver () an? Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen ohne Serving_forver () an? Apr 01, 2025 pm 10:51 PM

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen an? Uvicorn ist ein leichter Webserver, der auf ASGI basiert. Eine seiner Kernfunktionen ist es, auf HTTP -Anfragen zu hören und weiterzumachen ...

Wie löste ich Berechtigungsprobleme bei der Verwendung von Python -Verssionsbefehl im Linux Terminal? Wie löste ich Berechtigungsprobleme bei der Verwendung von Python -Verssionsbefehl im Linux Terminal? Apr 02, 2025 am 06:36 AM

Verwenden Sie Python im Linux -Terminal ...

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer-Anfänger-Programmierbasis in Projekt- und problemorientierten Methoden? Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer-Anfänger-Programmierbasis in Projekt- und problemorientierten Methoden? Apr 02, 2025 am 07:18 AM

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer -Anfänger für Programmierungen? Wenn Sie nur 10 Stunden Zeit haben, um Computer -Anfänger zu unterrichten, was Sie mit Programmierkenntnissen unterrichten möchten, was würden Sie dann beibringen ...

Wie bekomme ich Nachrichtendaten, die den Anti-Crawler-Mechanismus von Investing.com umgehen? Wie bekomme ich Nachrichtendaten, die den Anti-Crawler-Mechanismus von Investing.com umgehen? Apr 02, 2025 am 07:03 AM

Verständnis der Anti-Crawling-Strategie von Investing.com Viele Menschen versuchen oft, Nachrichten von Investing.com (https://cn.investing.com/news/latest-news) zu kriechen ...

See all articles