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:

Du måste lägga till bindningsspecifika anteckningar i funktionsdefinitionen i koden.

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.HttpResponseDataIActionResultHttpRequestDataHttpRequest

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.

Exempelbindning för Node.js modell v4 är ännu inte tillgänglig.

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.

Exempelbindning för Node.js modell v4 är ännu inte tillgänglig.

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:

Nästa steg