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:
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 HttpRequest
HttpRequestData
a HttpResponseData
IActionResult
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.
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.
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: