Verbinden von Funktionen mit Azure-Diensten mithilfe von Bindungen

Wenn Sie eine Funktion erstellen, wird der sprachspezifische Triggercode aus Triggervorlagen in Ihrem Projekt hinzugefügt. Wenn Sie Ihre Funktion mithilfe von Ein- oder Ausgabebindungen mit anderen Diensten verknüpfen möchten, müssen Sie in Ihrer Funktion bestimmte Bindungsdefinitionen hinzufügen. Weitere Informationen zu Bindungen finden Sie unter Azure Functions-Trigger und Bindungskonzepte.

Lokale Entwicklung

Wenn Sie Funktionen lokal entwickeln, müssen Sie den Funktionscode aktualisieren, um Bindungen hinzuzufügen. Für Sprachen, die function.json verwenden, stellt Visual Studio Code Tools zum Hinzufügen von Bindungen zu einer Funktion bereit.

Manuelles Hinzufügen von Bindungen anhand von Beispielen

Wenn Sie einer vorhandenen Funktion eine Bindung hinzufügen, müssen Sie der Funktionsdefinition im Code bindungsspezifische Attribute hinzufügen.

Wenn Sie einer vorhandenen Funktion eine Bindung hinzufügen, müssen Sie der Funktionsdefinition im Code bindungsspezifische Anmerkungen hinzufügen.

Wenn Sie einer vorhandenen Funktion eine Bindung hinzufügen, müssen Sie den Funktionscode aktualisieren und der Konfigurationsdatei function.json eine Definition hinzufügen.

Wenn Sie einer vorhandenen Funktion eine Bindung hinzufügen, müssen Sie die Funktionsdefinition je nach verwendetem Modell aktualisieren:

Sie müssen der Funktionsdefinition im Code bindungsspezifische Anmerkungen hinzufügen.

Das folgende Beispiel zeigt die Funktionsdefinition nach dem Hinzufügen einer Queue Storage-Ausgabebindung zu einer von HTTP ausgelösten Funktion:

Da eine per HTTP ausgelöste Funktion auch eine HTTP-Antwort zurückgibt, gibt die Funktion ein MultiResponse-Objekt zurück, das sowohl die HTTP- als auch die Warteschlangenausgabe darstellt.

[Function("HttpExample")]
public static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req,
    FunctionContext executionContext)
{

Das folgende Beispiel ist die Definition des MultiResponse-Objekts, das die Ausgabebindung enthält:

public class MultiResponse
{
    [QueueOutput("outqueue",Connection = "AzureWebJobsStorage")]
    public string[] Messages { get; set; }
    public IActionResult HttpResponse { get; set; }
}

Wenn Sie dieses Beispiel auf Ihr eigenes Projekt anwenden, müssen Sie möglicherweise HttpRequest zu HttpRequestData und IActionResult zu HttpResponseData ändern, je nachdem, ob Sie die ASP.NET Core-Integration verwenden oder nicht.

Meldungen werden an die Warteschlange gesendet, wenn die Funktion abgeschlossen ist. Die Art und Weise, wie Sie die Ausgabebindung definieren, hängt von Ihrem Prozessmodell ab. Weitere Informationen, einschließlich Links zu Beispielbindungscode, auf den Sie verweisen können, finden Sie unter Hinzufügen von Bindungen zu einer Funktion.

@FunctionName("HttpExample")
public HttpResponseMessage run(
        @HttpTrigger(name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) 
        HttpRequestMessage<Optional<String>> request, 
        @QueueOutput(name = "msg", queueName = "outqueue", 
        connection = "AzureWebJobsStorage") OutputBinding<String> msg, 
        final ExecutionContext context) {

Weitere Informationen, einschließlich Links zu Beispielbindungscode, auf den Sie verweisen können, finden Sie unter Hinzufügen von Bindungen zu einer Funktion.

Beispielbindung für Node.js-Modell v4 noch nicht verfügbar.

Die Art und Weise, wie Sie die Ausgabebindung definieren, hängt von der Version Ihres Node.js-Modells ab. Weitere Informationen, einschließlich Links zu Beispielbindungscode, auf den Sie verweisen können, finden Sie unter Hinzufügen von Bindungen zu einer Funktion.

$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg

Weitere Informationen, einschließlich Links zu Beispielbindungscode, auf den Sie verweisen können, finden Sie unter Hinzufügen von Bindungen zu einer Funktion.

@app.route(route="HttpExample")
@app.queue_output(arg_name="msg", queue_name="outqueue", connection="AzureWebJobsStorage")
def HttpExample(req: func.HttpRequest, msg: func.Out [func.QueueMessage]) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

Die Art und Weise, wie Sie die Ausgabebindung definieren, hängt von der Version Ihres Python-Modells ab. Weitere Informationen, einschließlich Links zu Beispielbindungscode, auf den Sie verweisen können, finden Sie unter Hinzufügen von Bindungen zu einer Funktion.

Beispielbindung für Node.js-Modell v4 noch nicht verfügbar.

Die Art und Weise, wie Sie die Ausgabebindung definieren, hängt von der Version Ihres Node.js-Modells ab. Weitere Informationen, einschließlich Links zu Beispielbindungscode, auf den Sie verweisen können, finden Sie unter Hinzufügen von Bindungen zu einer Funktion.

In der folgenden Tabelle finden Sie Beispiele für bestimmte Bindungstypen, mithilfe derer Sie vorhandene Funktionen aktualisieren können. Wählen Sie zunächst die Registerkarte „Sprache“ aus, die Ihrem Projekt entspricht.

Der Bindungscode für C# hängt vom jeweiligen Prozessmodell ab.

Power BI-Dienst Beispiele Beispiele
Blob Storage Trigger
Input (Eingabe)
Ausgabe
Link
Azure Cosmos DB Trigger
Input (Eingabe)
Ausgabe
Link
Azure-Daten-Explorer Input (Eingabe)
Ausgabe
Link
Azure SQL Trigger
Input (Eingabe)
Ausgabe
Link
Event Grid Trigger
Ausgabe
Link
Event Hubs Trigger
Ausgabe
IoT Hub Trigger
Ausgabe
HTTP Trigger Link
Queue Storage Trigger
Ausgabe
Link
RabbitMQ Trigger
Ausgabe
SendGrid Ausgabe
Service Bus Trigger
Ausgabe
Link
SignalR Trigger
Input (Eingabe)
Ausgabe
Table Storage Input (Eingabe)
Ausgabe
Timer Trigger Link
Twilio Ausgabe Link
Dienst Beispiele Beispiele
Blob Storage Trigger
Input (Eingabe)
Ausgabe
Link
Azure Cosmos DB Trigger
Input (Eingabe)
Ausgabe
Link
Azure-Daten-Explorer Input (Eingabe)
Ausgabe
Link
Azure SQL Trigger
Input (Eingabe)
Ausgabe
Event Grid Trigger
Ausgabe
Link
Event Hubs Trigger
Ausgabe
IoT Hub Trigger
Ausgabe
HTTP Trigger Link
Queue Storage Trigger
Ausgabe
Link
RabbitMQ Trigger
Ausgabe
SendGrid Ausgabe
Service Bus Trigger
Ausgabe
Link
SignalR Trigger
Input (Eingabe)
Ausgabe
Table Storage Input (Eingabe)
Ausgabe
Timer Trigger Link
Twilio Ausgabe Link
Dienst Beispiele Beispiele
Blob Storage Trigger
Input (Eingabe)
Ausgabe
Link
Azure Cosmos DB Trigger
Input (Eingabe)
Ausgabe
Link
Azure-Daten-Explorer Input (Eingabe)
Ausgabe
Azure SQL Trigger
Input (Eingabe)
Ausgabe
Link
Event Grid Trigger
Ausgabe
Link
Event Hubs Trigger
Ausgabe
IoT Hub Trigger
Ausgabe
HTTP Trigger Link
Queue Storage Trigger
Ausgabe
Link
RabbitMQ Trigger
Ausgabe
SendGrid Ausgabe
Service Bus Trigger
Ausgabe
Link
SignalR Trigger
Input (Eingabe)
Ausgabe
Table Storage Input (Eingabe)
Ausgabe
Timer Trigger Link
Twilio Ausgabe Link
Dienst Beispiele Beispiele
Blob Storage Trigger
Input (Eingabe)
Ausgabe
Link
Azure Cosmos DB Trigger
Input (Eingabe)
Ausgabe
Link
Azure SQL Trigger
Input (Eingabe)
Ausgabe
Event Grid Trigger
Ausgabe
Link
Event Hubs Trigger
Ausgabe
IoT Hub Trigger
Ausgabe
HTTP Trigger Link
Queue Storage Trigger
Ausgabe
Link
RabbitMQ Trigger
Ausgabe
SendGrid Ausgabe
Service Bus Trigger
Ausgabe
Link
SignalR Trigger
Input (Eingabe)
Ausgabe
Table Storage Input (Eingabe)
Ausgabe
Timer Trigger Link
Twilio Ausgabe Link

Die Bindung von Code für Python hängt von der Python-Modellversion ab.

Power BI-Dienst Beispiele Beispiele
Blob Storage Trigger
Input (Eingabe)
Ausgabe
Link
Azure Cosmos DB Trigger
Input (Eingabe)
Ausgabe
Link
Azure-Daten-Explorer Input (Eingabe)
Ausgabe
Azure SQL Trigger
Input (Eingabe)
Ausgabe
Link
Event Grid Trigger
Ausgabe
Link
Event Hubs Trigger
Ausgabe
IoT Hub Trigger
Ausgabe
HTTP Trigger Link
Queue Storage Trigger
Ausgabe
Link
RabbitMQ Trigger
Ausgabe
SendGrid Ausgabe
Service Bus Trigger
Ausgabe
Link
SignalR Trigger
Input (Eingabe)
Ausgabe
Table Storage Input (Eingabe)
Ausgabe
Timer Trigger Link
Twilio Ausgabe Link

Visual Studio Code

Wenn Sie Ihre Funktion mit Visual Studio Code entwickeln und die Funktion eine function.json-Datei verwendet, kann die Azure Functions-Erweiterung automatisch eine Bindung zu einer vorhandenen function.json-Datei hinzufügen. Weitere Informationen finden Sie unter Hinzufügen von Ein- und Ausgabebindungen.

Azure-Portal

Wenn Sie die Funktionen im Azure-Portal entwickeln, können Sie einer bestimmten Funktion auf der Registerkarte Integration Ein- und Ausgabebindungen hinzufügen. Die neuen Bindungen werden je nach Sprache entweder der Datei „function.json“ oder den Methodenattributen hinzugefügt. Die folgenden Artikel enthalten Beispiele für das Hinzufügen von Bindungen zu einer vorhandenen Funktion im Portal:

Nächste Schritte