Připojení funkcí pro služby Azure pomocí vazeb
Při vytváření funkce se kód triggeru specifický pro jazyk přidá do projektu ze sady šablon aktivačních událostí. Pokud chcete funkci připojit k jiným službám pomocí vstupních nebo výstupních vazeb, musíte do své funkce přidat konkrétní definice vazeb. Další informace o vazbách najdete v tématu Koncepty triggerů a vazeb Azure Functions.
Místní vývoj
Při místním vývoji funkcí je potřeba aktualizovat kód funkce a přidat vazby. Pro jazyky, které používají function.json, poskytuje Visual Studio Code nástroje pro přidání vazeb do funkce.
Ruční přidání vazeb na základě příkladů
Při přidávání vazby do existující funkce je potřeba do definice funkce v kódu přidat atributy specifické pro vazbu.
Když přidáváte vazbu do existující funkce, musíte do definice funkce v kódu přidat poznámky specifické pro vazbu.
Při přidávání vazby k existující funkci je potřeba aktualizovat kód funkce a přidat definici do konfiguračního souboru function.json.
Při přidávání vazby k existující funkci je potřeba aktualizovat definici funkce v závislosti na modelu:
Následující příklad ukazuje definici funkce po přidání výstupní vazby Queue Storage do funkce aktivované protokolem HTTP:
Protože funkce aktivovaná protokolem HTTP také vrací odpověď HTTP, vrátí MultiResponse
funkce objekt, který představuje výstup HTTP i fronty.
[Function("HttpExample")]
public static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req,
FunctionContext executionContext)
{
Tento příklad je definice objektu MultiResponse
, který obsahuje výstupní vazbu:
public class MultiResponse
{
[QueueOutput("outqueue",Connection = "AzureWebJobsStorage")]
public string[] Messages { get; set; }
public IActionResult HttpResponse { get; set; }
}
Když tento příklad použijete u svého vlastního projektu, budete možná muset změnit HttpRequest
na HttpRequestData
a IActionResult
na HttpResponseData
, v závislosti na tom, jestli používáte integraci ASP.NET Core nebo ne.
Zprávy se po dokončení funkce posílají do fronty. Způsob, jakým definujete výstupní vazbu, závisí na modelu procesu. Další informace, včetně odkazů na ukázkový kód vazby, na který můžete odkazovat, najdete v tématu Přidání vazeb do funkce.
@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) {
Další informace, včetně odkazů na ukázkový kód vazby, na který můžete odkazovat, najdete v tématu Přidání vazeb do funkce.
Způsob, jakým definujete výstupní vazbu, závisí na verzi modelu Node.js. Další informace, včetně odkazů na ukázkový kód vazby, na který můžete odkazovat, najdete v tématu Přidání vazeb do funkce.
$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg
Další informace, včetně odkazů na ukázkový kód vazby, na který můžete odkazovat, najdete v tématu Přidání vazeb do funkce.
@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.')
Způsob, jakým definujete výstupní vazbu, závisí na verzi modelu Pythonu. Další informace, včetně odkazů na ukázkový kód vazby, na který můžete odkazovat, najdete v tématu Přidání vazeb do funkce.
Způsob, jakým definujete výstupní vazbu, závisí na verzi modelu Node.js. Další informace, včetně odkazů na ukázkový kód vazby, na který můžete odkazovat, najdete v tématu Přidání vazeb do funkce.
V následující tabulce najdete příklady konkrétních typů vazeb, které můžete použít k aktualizaci existující funkce. Nejprve zvolte kartu jazyka, která odpovídá vašemu projektu.
Vytvoření vazby kódu pro jazyk C# závisí na konkrétním modelu procesu.
Služba | Příklady | Ukázky |
---|---|---|
Blob Storage | Trigger Vstup Výstup |
Odkaz |
Azure Cosmos DB | Trigger Vstup Výstup |
Odkaz |
Průzkumník dat Azure | Vstup Výstup |
Odkaz |
Azure SQL | Trigger Vstup Výstup |
Odkaz |
Event Grid | Trigger Výstup |
Odkaz |
Event Hubs | Trigger Výstup |
|
IoT Hub | Trigger Výstup |
|
HTTP | Trigger | Odkaz |
Queue Storage | Trigger Výstup |
Odkaz |
RabbitMQ | Trigger Výstup |
|
SendGrid | Výstup | |
Service Bus | Trigger Výstup |
Odkaz |
SignalR | Trigger Vstup Výstup |
|
Table Storage | Vstup Výstup |
|
Časovač | Trigger | Odkaz |
Twilio | Výstup | Odkaz |
Služba | Příklady | Ukázky |
---|---|---|
Blob Storage | Trigger Vstup Výstup |
Odkaz |
Azure Cosmos DB | Trigger Vstup Výstup |
Odkaz |
Průzkumník dat Azure | Vstup Výstup |
Odkaz |
Azure SQL | Trigger Vstup Výstup |
|
Event Grid | Trigger Výstup |
Odkaz |
Event Hubs | Trigger Výstup |
|
IoT Hub | Trigger Výstup |
|
HTTP | Trigger | Odkaz |
Queue Storage | Trigger Výstup |
Odkaz |
RabbitMQ | Trigger Výstup |
|
SendGrid | Výstup | |
Service Bus | Trigger Výstup |
Odkaz |
SignalR | Trigger Vstup Výstup |
|
Table Storage | Vstup Výstup |
|
Časovač | Trigger | Odkaz |
Twilio | Výstup | Odkaz |
Služba | Příklady | Ukázky |
---|---|---|
Blob Storage | Trigger Vstup Výstup |
Odkaz |
Azure Cosmos DB | Trigger Vstup Výstup |
Odkaz |
Průzkumník dat Azure | Vstup Výstup |
|
Azure SQL | Trigger Vstup Výstup |
Odkaz |
Event Grid | Trigger Výstup |
Odkaz |
Event Hubs | Trigger Výstup |
|
IoT Hub | Trigger Výstup |
|
HTTP | Trigger | Odkaz |
Queue Storage | Trigger Výstup |
Odkaz |
RabbitMQ | Trigger Výstup |
|
SendGrid | Výstup | |
Service Bus | Trigger Výstup |
Odkaz |
SignalR | Trigger Vstup Výstup |
|
Table Storage | Vstup Výstup |
|
Časovač | Trigger | Odkaz |
Twilio | Výstup | Odkaz |
Služba | Příklady | Ukázky |
---|---|---|
Blob Storage | Trigger Vstup Výstup |
Odkaz |
Azure Cosmos DB | Trigger Vstup Výstup |
Odkaz |
Azure SQL | Trigger Vstup Výstup |
|
Event Grid | Trigger Výstup |
Odkaz |
Event Hubs | Trigger Výstup |
|
IoT Hub | Trigger Výstup |
|
HTTP | Trigger | Odkaz |
Queue Storage | Trigger Výstup |
Odkaz |
RabbitMQ | Trigger Výstup |
|
SendGrid | Výstup | |
Service Bus | Trigger Výstup |
Odkaz |
SignalR | Trigger Vstup Výstup |
|
Table Storage | Vstup Výstup |
|
Časovač | Trigger | Odkaz |
Twilio | Výstup | Odkaz |
Vytvoření vazby kódu pro Python závisí na verzi modelu Pythonu.
Služba | Příklady | Ukázky |
---|---|---|
Blob Storage | Trigger Vstup Výstup |
Odkaz |
Azure Cosmos DB | Trigger Vstup Výstup |
Odkaz |
Průzkumník dat Azure | Vstup Výstup |
|
Azure SQL | Trigger Vstup Výstup |
Odkaz |
Event Grid | Trigger Výstup |
Odkaz |
Event Hubs | Trigger Výstup |
|
IoT Hub | Trigger Výstup |
|
HTTP | Trigger | Odkaz |
Queue Storage | Trigger Výstup |
Odkaz |
RabbitMQ | Trigger Výstup |
|
SendGrid | Výstup | |
Service Bus | Trigger Výstup |
Odkaz |
SignalR | Trigger Vstup Výstup |
|
Table Storage | Vstup Výstup |
|
Časovač | Trigger | Odkaz |
Twilio | Výstup | Odkaz |
Visual Studio Code
Když k vývoji funkce použijete Visual Studio Code a vaše funkce použije soubor function.json, rozšíření Azure Functions může automaticky přidat vazbu k existujícímu souboru function.json. Další informace najdete v tématu Přidání vstupních a výstupních vazeb.
portál Azure
Při vývoji funkcí na webu Azure Portal přidáte vstupní a výstupní vazby na kartě Integrace pro danou funkci. Nové vazby se přidají do souboru function.json nebo do atributů metody v závislosti na vašem jazyce. Následující články ukazují příklady přidání vazeb do existující funkce na portálu: