Anslut funktioner till Azure-tjänster med hjälp av bindningar
När du skapar en funktion läggs språkspecifik utlösarkod till i projektet från en uppsättning utlösarmallar. Om du vill ansluta funktionen till andra tjänster med hjälp av indata- eller utdatabindningar måste du lägga till specifika bindningsdefinitioner i funktionen. Mer information om bindningar finns i Azure Functions-utlösare och bindningar.
Lokal utveckling
När du utvecklar funktioner lokalt måste du uppdatera funktionskoden för att lägga till bindningar. För språk som använder function.json tillhandahåller Visual Studio Code verktyg för att lägga till bindningar i en funktion.
Lägga till bindningar manuellt baserat på exempel
När du lägger till en bindning till en befintlig funktion måste du lägga till bindningsspecifika attribut i funktionsdefinitionen i koden.
När du lägger till en bindning till en befintlig funktion måste du lägga till bindningsspecifika anteckningar i funktionsdefinitionen i koden.
När du lägger till en bindning till en befintlig funktion måste du uppdatera funktionskoden och lägga till en definition i function.json konfigurationsfilen.
När du lägger till en bindning till en befintlig funktion behöver du uppdatera funktionsdefinitionen, beroende på din modell:
I följande exempel visas funktionsdefinitionen när du har lagt till en utdatabindning för queue storage till en HTTP-utlöst funktion:
Eftersom en HTTP-utlöst funktion också returnerar ett HTTP-svar returnerar funktionen ett MultiResponse
objekt som representerar både HTTP- och köutdata.
[Function("HttpExample")]
public static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req,
FunctionContext executionContext)
{
Det här exemplet är definitionen av objektet MultiResponse
som innehåller utdatabindningen:
public class MultiResponse
{
[QueueOutput("outqueue",Connection = "AzureWebJobsStorage")]
public string[] Messages { get; set; }
public IActionResult HttpResponse { get; set; }
}
När du tillämpar det exemplet på ditt eget projekt kan du behöva ändra till och till , beroende på om du använder ASP.NET Core-integrering eller inte.HttpResponseData
IActionResult
HttpRequestData
HttpRequest
Meddelanden skickas till kön när funktionen är klar. Hur du definierar utdatabindningen beror på din processmodell. Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en 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) {
Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.
Hur du definierar utdatabindningen beror på vilken version av din Node.js modell. Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.
$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg
Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en 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.')
Hur du definierar utdatabindningen beror på vilken version av Python-modellen du har. Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.
Hur du definierar utdatabindningen beror på vilken version av din Node.js modell. Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.
Använd följande tabell för att hitta exempel på specifika bindningstyper som du kan använda för att hjälpa dig att uppdatera en befintlig funktion. Välj först den språkflik som motsvarar projektet.
Bindningskoden för C# beror på den specifika processmodellen.
Tjänst | Exempel | Exempel |
---|---|---|
Blobb-lagring | Utlösare Indata Output |
Länk |
Azure Cosmos DB | Utlösare Indata Output |
Länk |
Öppna Azure-datautforskaren | Indata Output |
Länk |
Azure SQL | Utlösare Indata Output |
Länk |
Event Grid | Utlösare Output |
Länk |
Event Hubs | Utlösare Output |
|
IoT Hub | Utlösare Output |
|
HTTP | Utlösare | Länk |
Queue Storage | Utlösare Output |
Länk |
RabbitMQ | Utlösare Output |
|
SendGrid | Output | |
Service Bus | Utlösare Output |
Länk |
SignalR | Utlösare Indata Output |
|
Table Storage | Indata Output |
|
Timer | Utlösare | Länk |
Twilio | Output | Länk |
Tjänst | Exempel | Exempel |
---|---|---|
Blobb-lagring | Utlösare Indata Output |
Länk |
Azure Cosmos DB | Utlösare Indata Output |
Länk |
Öppna Azure-datautforskaren | Indata Output |
Länk |
Azure SQL | Utlösare Indata Output |
|
Event Grid | Utlösare Output |
Länk |
Event Hubs | Utlösare Output |
|
IoT Hub | Utlösare Output |
|
HTTP | Utlösare | Länk |
Queue Storage | Utlösare Output |
Länk |
RabbitMQ | Utlösare Output |
|
SendGrid | Output | |
Service Bus | Utlösare Output |
Länk |
SignalR | Utlösare Indata Output |
|
Table Storage | Indata Output |
|
Timer | Utlösare | Länk |
Twilio | Output | Länk |
Tjänst | Exempel | Exempel |
---|---|---|
Blobb-lagring | Utlösare Indata Output |
Länk |
Azure Cosmos DB | Utlösare Indata Output |
Länk |
Öppna Azure-datautforskaren | Indata Output |
|
Azure SQL | Utlösare Indata Output |
Länk |
Event Grid | Utlösare Output |
Länk |
Event Hubs | Utlösare Output |
|
IoT Hub | Utlösare Output |
|
HTTP | Utlösare | Länk |
Queue Storage | Utlösare Output |
Länk |
RabbitMQ | Utlösare Output |
|
SendGrid | Output | |
Service Bus | Utlösare Output |
Länk |
SignalR | Utlösare Indata Output |
|
Table Storage | Indata Output |
|
Timer | Utlösare | Länk |
Twilio | Output | Länk |
Tjänst | Exempel | Exempel |
---|---|---|
Blobb-lagring | Utlösare Indata Output |
Länk |
Azure Cosmos DB | Utlösare Indata Output |
Länk |
Azure SQL | Utlösare Indata Output |
|
Event Grid | Utlösare Output |
Länk |
Event Hubs | Utlösare Output |
|
IoT Hub | Utlösare Output |
|
HTTP | Utlösare | Länk |
Queue Storage | Utlösare Output |
Länk |
RabbitMQ | Utlösare Output |
|
SendGrid | Output | |
Service Bus | Utlösare Output |
Länk |
SignalR | Utlösare Indata Output |
|
Table Storage | Indata Output |
|
Timer | Utlösare | Länk |
Twilio | Output | Länk |
Bindningskoden för Python beror på Python-modellversionen.
Tjänst | Exempel | Exempel |
---|---|---|
Blobb-lagring | Utlösare Indata Output |
Länk |
Azure Cosmos DB | Utlösare Indata Output |
Länk |
Öppna Azure-datautforskaren | Indata Output |
|
Azure SQL | Utlösare Indata Output |
Länk |
Event Grid | Utlösare Output |
Länk |
Event Hubs | Utlösare Output |
|
IoT Hub | Utlösare Output |
|
HTTP | Utlösare | Länk |
Queue Storage | Utlösare Output |
Länk |
RabbitMQ | Utlösare Output |
|
SendGrid | Output | |
Service Bus | Utlösare Output |
Länk |
SignalR | Utlösare Indata Output |
|
Table Storage | Indata Output |
|
Timer | Utlösare | Länk |
Twilio | Output | Länk |
Visual Studio-koden
När du använder Visual Studio Code för att utveckla din funktion och funktionen använder en function.json fil kan Azure Functions-tillägget automatiskt lägga till en bindning till en befintlig function.json fil. Mer information finns i Lägga till indata- och utdatabindningar.
Azure Portal
När du utvecklar dina funktioner i Azure-portalen lägger du till indata- och utdatabindningar på fliken Integrera för en viss funktion. De nya bindningarna läggs till i antingen function.json-filen eller till metodattributen, beroende på ditt språk. Följande artiklar visar exempel på hur du lägger till bindningar till en befintlig funktion i portalen: