Csatlakozás függvényeket az Azure-szolgáltatásokhoz kötések használatával

Függvény létrehozásakor a program nyelvspecifikus triggerkódot ad hozzá a projekthez egy triggersablonokból. Ha a függvényt bemeneti vagy kimeneti kötések használatával szeretné más szolgáltatásokhoz csatlakoztatni, adott kötésdefiníciókat kell hozzáadnia a függvényhez. A kötésekkel kapcsolatos további információkért tekintse meg az Azure Functions eseményindítóinak és kötéseinek alapelveit.

Helyi fejlesztés

A függvények helyi fejlesztésekor frissítenie kell a függvénykódot kötések hozzáadásához. Az function.json használó nyelvek esetében a Visual Studio Code eszközkészletet biztosít a függvények kötéseinek hozzáadásához.

Kötések manuális hozzáadása példák alapján

Ha kötést ad hozzá egy meglévő függvényhez, kötésspecifikus attribútumokat kell hozzáadnia a függvénydefinícióhoz a kódban.

Ha kötést ad hozzá egy meglévő függvényhez, kötésspecifikus széljegyzeteket kell hozzáadnia a függvénydefinícióhoz a kódban.

Ha kötést ad hozzá egy meglévő függvényhez, frissítenie kell a függvénykódot, és hozzá kell adnia egy definíciót a function.json konfigurációs fájlhoz.

Ha kötést ad hozzá egy meglévő függvényhez, a modelltől függően frissítenie kell a függvénydefiníciót:

Kötésspecifikus széljegyzeteket kell hozzáadnia a függvénydefinícióhoz a kódban.

Az alábbi példa a függvénydefiníciót mutatja be, miután hozzáadott egy Queue Storage kimeneti kötést egy HTTP-aktivált függvényhez:

Mivel a HTTP által aktivált függvény HTTP-választ is ad vissza, a függvény egy MultiResponse objektumot ad vissza, amely a HTTP és az üzenetsor kimenetét egyaránt jelöli.

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

Ez a példa a kimeneti kötést MultiResponse tartalmazó objektum definíciója:

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

A példának a saját projektre való alkalmazásakor előfordulhat, hogy át kell váltania HttpRequestHttpRequestData a HttpResponseDataIActionResult ASP.NET Core-integrációra, vagy sem.

A függvény befejeződésekor a rendszer üzeneteket küld az üzenetsorba. A kimeneti kötés definiálásának módja a folyamatmodelltől függ. További információ, beleértve a példa kötéskódra mutató hivatkozásokat, amelyekre hivatkozhat, olvassa el a Kötések hozzáadása függvényhez című témakört.

@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) {

További információ, beleértve a példa kötéskódra mutató hivatkozásokat, amelyekre hivatkozhat, olvassa el a Kötések hozzáadása függvényhez című témakört.

Példa kötés Node.js v4-modellhez még nem érhető el.

A kimeneti kötés definiálásának módja a Node.js modell verziójától függ. További információ, beleértve a példa kötéskódra mutató hivatkozásokat, amelyekre hivatkozhat, olvassa el a Kötések hozzáadása függvényhez című témakört.

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

További információ, beleértve a példa kötéskódra mutató hivatkozásokat, amelyekre hivatkozhat, olvassa el a Kötések hozzáadása függvényhez című témakört.

@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.')

A kimeneti kötés definiálásának módja a Python-modell verziójától függ. További információ, beleértve a példa kötéskódra mutató hivatkozásokat, amelyekre hivatkozhat, olvassa el a Kötések hozzáadása függvényhez című témakört.

Példa kötés Node.js v4-modellhez még nem érhető el.

A kimeneti kötés definiálásának módja a Node.js modell verziójától függ. További információ, beleértve a példa kötéskódra mutató hivatkozásokat, amelyekre hivatkozhat, olvassa el a Kötések hozzáadása függvényhez című témakört.

Az alábbi táblázat segítségével példákat talál a meglévő függvények frissítéséhez használható konkrét kötéstípusokra. Először válassza ki a projektnek megfelelő nyelvi lapot.

A C# kötéskódja az adott folyamatmodelltől függ.

Szolgáltatás Példák Minták
Blob Storage Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure Cosmos DB Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure Data Explorer Input (Bemenet)
Hozam
Láncszem
Azure SQL Eseményindító
Input (Bemenet)
Hozam
Láncszem
Event Grid Eseményindító
Hozam
Láncszem
Event Hubs Eseményindító
Hozam
IoT Hub Eseményindító
Hozam
HTTP Eseményindító Láncszem
Queue Storage Eseményindító
Hozam
Láncszem
RabbitMQ Eseményindító
Hozam
SendGrid Hozam
Service Bus Eseményindító
Hozam
Láncszem
SignalR Eseményindító
Input (Bemenet)
Hozam
Table Storage Input (Bemenet)
Hozam
Időzítő Eseményindító Láncszem
Twilio Hozam Láncszem
Szolgáltatás Példák Minták
Blob Storage Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure Cosmos DB Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure Data Explorer Input (Bemenet)
Hozam
Láncszem
Azure SQL Eseményindító
Input (Bemenet)
Hozam
Event Grid Eseményindító
Hozam
Láncszem
Event Hubs Eseményindító
Hozam
IoT Hub Eseményindító
Hozam
HTTP Eseményindító Láncszem
Queue Storage Eseményindító
Hozam
Láncszem
RabbitMQ Eseményindító
Hozam
SendGrid Hozam
Service Bus Eseményindító
Hozam
Láncszem
SignalR Eseményindító
Input (Bemenet)
Hozam
Table Storage Input (Bemenet)
Hozam
Időzítő Eseményindító Láncszem
Twilio Hozam Láncszem
Szolgáltatás Példák Minták
Blob Storage Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure Cosmos DB Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure Data Explorer Input (Bemenet)
Hozam
Azure SQL Eseményindító
Input (Bemenet)
Hozam
Láncszem
Event Grid Eseményindító
Hozam
Láncszem
Event Hubs Eseményindító
Hozam
IoT Hub Eseményindító
Hozam
HTTP Eseményindító Láncszem
Queue Storage Eseményindító
Hozam
Láncszem
RabbitMQ Eseményindító
Hozam
SendGrid Hozam
Service Bus Eseményindító
Hozam
Láncszem
SignalR Eseményindító
Input (Bemenet)
Hozam
Table Storage Input (Bemenet)
Hozam
Időzítő Eseményindító Láncszem
Twilio Hozam Láncszem
Szolgáltatás Példák Minták
Blob Storage Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure Cosmos DB Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure SQL Eseményindító
Input (Bemenet)
Hozam
Event Grid Eseményindító
Hozam
Láncszem
Event Hubs Eseményindító
Hozam
IoT Hub Eseményindító
Hozam
HTTP Eseményindító Láncszem
Queue Storage Eseményindító
Hozam
Láncszem
RabbitMQ Eseményindító
Hozam
SendGrid Hozam
Service Bus Eseményindító
Hozam
Láncszem
SignalR Eseményindító
Input (Bemenet)
Hozam
Table Storage Input (Bemenet)
Hozam
Időzítő Eseményindító Láncszem
Twilio Hozam Láncszem

A Python kötéskódja a Python-modell verziójától függ.

Szolgáltatás Példák Minták
Blob Storage Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure Cosmos DB Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure Data Explorer Input (Bemenet)
Hozam
Azure SQL Eseményindító
Input (Bemenet)
Hozam
Láncszem
Event Grid Eseményindító
Hozam
Láncszem
Event Hubs Eseményindító
Hozam
IoT Hub Eseményindító
Hozam
HTTP Eseményindító Láncszem
Queue Storage Eseményindító
Hozam
Láncszem
RabbitMQ Eseményindító
Hozam
SendGrid Hozam
Service Bus Eseményindító
Hozam
Láncszem
SignalR Eseményindító
Input (Bemenet)
Hozam
Table Storage Input (Bemenet)
Hozam
Időzítő Eseményindító Láncszem
Twilio Hozam Láncszem

Visual Studio Code

Ha a Visual Studio Code-ot használja a függvény fejlesztésére, és a függvény egy function.json fájlt használ, az Azure Functions-bővítmény automatikusan hozzáadhat kötést egy meglévő function.json fájlhoz. További információ: Bemeneti és kimeneti kötések hozzáadása.

Azure Portal

Amikor az Azure Portalon fejleszti a függvényeket, bemeneti és kimeneti kötéseket ad hozzá egy adott függvény Integrálása lapján. Az új kötések a nyelvtől függően hozzáadódnak a function.json fájlhoz vagy a metódusattribútumokhoz. Az alábbi cikkek példákat mutatnak be arra, hogyan adhat kötéseket egy meglévő függvényhez a portálon:

Következő lépések