Verbinding maken functies voor Azure-services met behulp van bindingen
Wanneer u een functie maakt, wordt taalspecifieke triggercode in uw project toegevoegd vanuit een set triggersjablonen. Als u uw functie wilt verbinden met andere services met behulp van invoer- of uitvoerbindingen, moet u specifieke bindingsdefinities toevoegen aan uw functie. Zie Concepten van Azure Functions-triggers en -bindingen voor meer informatie over bindingen.
Lokale ontwikkeling
Wanneer u functies lokaal ontwikkelt, moet u de functiecode bijwerken om bindingen toe te voegen. Voor talen die gebruikmaken van function.json biedt Visual Studio Code hulpprogramma's voor het toevoegen van bindingen aan een functie.
Handmatig bindingen toevoegen op basis van voorbeelden
Wanneer u een binding toevoegt aan een bestaande functie, moet u bindingsspecifieke kenmerken toevoegen aan de functiedefinitie in code.
Wanneer u een binding toevoegt aan een bestaande functie, moet u bindingsspecifieke aantekeningen toevoegen aan de functiedefinitie in code.
Wanneer u een binding toevoegt aan een bestaande functie, moet u de functiecode bijwerken en een definitie toevoegen aan het function.json configuratiebestand.
Wanneer u een binding toevoegt aan een bestaande functie, moet u de functiedefinitie bijwerken, afhankelijk van uw model:
In het volgende voorbeeld ziet u de functiedefinitie nadat u een Queue Storage-uitvoerbinding hebt toegevoegd aan een door HTTP geactiveerde functie:
Omdat een door HTTP geactiveerde functie ook een HTTP-antwoord retourneert, retourneert de functie een MultiResponse
object, dat zowel de HTTP- als de wachtrijuitvoer vertegenwoordigt.
[Function("HttpExample")]
public static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req,
FunctionContext executionContext)
{
Dit voorbeeld is de definitie van het MultiResponse
object dat de uitvoerbinding bevat:
public class MultiResponse
{
[QueueOutput("outqueue",Connection = "AzureWebJobsStorage")]
public string[] Messages { get; set; }
public IActionResult HttpResponse { get; set; }
}
Wanneer u dat voorbeeld toepast op uw eigen project, moet u mogelijk overschakelen naar en naar, afhankelijk van of u ASP.NET Core-integratie gebruikt of niet.HttpResponseData
IActionResult
HttpRequestData
HttpRequest
Berichten worden naar de wachtrij verzonden wanneer de functie is voltooid. De manier waarop u de uitvoerbinding definieert, is afhankelijk van uw procesmodel. Zie Bindingen toevoegen aan een functie voor meer informatie, inclusief koppelingen naar voorbeeldbindingscode waarnaar u kunt verwijzen.
@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) {
Zie Bindingen toevoegen aan een functie voor meer informatie, inclusief koppelingen naar voorbeeldbindingscode waarnaar u kunt verwijzen.
De manier waarop u de uitvoerbinding definieert, is afhankelijk van de versie van uw Node.js model. Zie Bindingen toevoegen aan een functie voor meer informatie, inclusief koppelingen naar voorbeeldbindingscode waarnaar u kunt verwijzen.
$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg
Zie Bindingen toevoegen aan een functie voor meer informatie, inclusief koppelingen naar voorbeeldbindingscode waarnaar u kunt verwijzen.
@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.')
De manier waarop u de uitvoerbinding definieert, is afhankelijk van de versie van uw Python-model. Zie Bindingen toevoegen aan een functie voor meer informatie, inclusief koppelingen naar voorbeeldbindingscode waarnaar u kunt verwijzen.
De manier waarop u de uitvoerbinding definieert, is afhankelijk van de versie van uw Node.js model. Zie Bindingen toevoegen aan een functie voor meer informatie, inclusief koppelingen naar voorbeeldbindingscode waarnaar u kunt verwijzen.
Gebruik de volgende tabel om voorbeelden te vinden van specifieke bindingstypen die u kunt gebruiken om u te helpen bij het bijwerken van een bestaande functie. Kies eerst het taaltabblad dat overeenkomt met uw project.
Bindingscode voor C# is afhankelijk van het specifieke procesmodel.
Service | Voorbeelden | Voorbeelden |
---|---|---|
Blob-opslag | Trigger Invoer Uitvoer |
Koppeling |
Azure Cosmos DB | Trigger Invoer Uitvoer |
Koppeling |
Azure Data Explorer | Invoer Uitvoer |
Koppeling |
Azure SQL | Trigger Invoer Uitvoer |
Koppeling |
Event Grid | Trigger Uitvoer |
Koppeling |
Event Hubs | Trigger Uitvoer |
|
IoT Hub | Trigger Uitvoer |
|
HTTP | Trigger | Koppeling |
Queue Storage | Trigger Uitvoer |
Koppeling |
RabbitMQ | Trigger Uitvoer |
|
SendGrid | Uitvoer | |
Service Bus | Trigger Uitvoer |
Koppeling |
SignalR | Trigger Invoer Uitvoer |
|
Table Storage | Invoer Uitvoer |
|
Timer | Trigger | Koppeling |
Twilio | Uitvoer | Koppeling |
Service | Voorbeelden | Voorbeelden |
---|---|---|
Blob-opslag | Trigger Invoer Uitvoer |
Koppeling |
Azure Cosmos DB | Trigger Invoer Uitvoer |
Koppeling |
Azure Data Explorer | Invoer Uitvoer |
Koppeling |
Azure SQL | Trigger Invoer Uitvoer |
|
Event Grid | Trigger Uitvoer |
Koppeling |
Event Hubs | Trigger Uitvoer |
|
IoT Hub | Trigger Uitvoer |
|
HTTP | Trigger | Koppeling |
Queue Storage | Trigger Uitvoer |
Koppeling |
RabbitMQ | Trigger Uitvoer |
|
SendGrid | Uitvoer | |
Service Bus | Trigger Uitvoer |
Koppeling |
SignalR | Trigger Invoer Uitvoer |
|
Table Storage | Invoer Uitvoer |
|
Timer | Trigger | Koppeling |
Twilio | Uitvoer | Koppeling |
Service | Voorbeelden | Voorbeelden |
---|---|---|
Blob-opslag | Trigger Invoer Uitvoer |
Koppeling |
Azure Cosmos DB | Trigger Invoer Uitvoer |
Koppeling |
Azure Data Explorer | Invoer Uitvoer |
|
Azure SQL | Trigger Invoer Uitvoer |
Koppeling |
Event Grid | Trigger Uitvoer |
Koppeling |
Event Hubs | Trigger Uitvoer |
|
IoT Hub | Trigger Uitvoer |
|
HTTP | Trigger | Koppeling |
Queue Storage | Trigger Uitvoer |
Koppeling |
RabbitMQ | Trigger Uitvoer |
|
SendGrid | Uitvoer | |
Service Bus | Trigger Uitvoer |
Koppeling |
SignalR | Trigger Invoer Uitvoer |
|
Table Storage | Invoer Uitvoer |
|
Timer | Trigger | Koppeling |
Twilio | Uitvoer | Koppeling |
Service | Voorbeelden | Voorbeelden |
---|---|---|
Blob-opslag | Trigger Invoer Uitvoer |
Koppeling |
Azure Cosmos DB | Trigger Invoer Uitvoer |
Koppeling |
Azure SQL | Trigger Invoer Uitvoer |
|
Event Grid | Trigger Uitvoer |
Koppeling |
Event Hubs | Trigger Uitvoer |
|
IoT Hub | Trigger Uitvoer |
|
HTTP | Trigger | Koppeling |
Queue Storage | Trigger Uitvoer |
Koppeling |
RabbitMQ | Trigger Uitvoer |
|
SendGrid | Uitvoer | |
Service Bus | Trigger Uitvoer |
Koppeling |
SignalR | Trigger Invoer Uitvoer |
|
Table Storage | Invoer Uitvoer |
|
Timer | Trigger | Koppeling |
Twilio | Uitvoer | Koppeling |
Bindingscode voor Python is afhankelijk van de python-modelversie.
Service | Voorbeelden | Voorbeelden |
---|---|---|
Blob-opslag | Trigger Invoer Uitvoer |
Koppeling |
Azure Cosmos DB | Trigger Invoer Uitvoer |
Koppeling |
Azure Data Explorer | Invoer Uitvoer |
|
Azure SQL | Trigger Invoer Uitvoer |
Koppeling |
Event Grid | Trigger Uitvoer |
Koppeling |
Event Hubs | Trigger Uitvoer |
|
IoT Hub | Trigger Uitvoer |
|
HTTP | Trigger | Koppeling |
Queue Storage | Trigger Uitvoer |
Koppeling |
RabbitMQ | Trigger Uitvoer |
|
SendGrid | Uitvoer | |
Service Bus | Trigger Uitvoer |
Koppeling |
SignalR | Trigger Invoer Uitvoer |
|
Table Storage | Invoer Uitvoer |
|
Timer | Trigger | Koppeling |
Twilio | Uitvoer | Koppeling |
Visual Studio Code
Wanneer u Visual Studio Code gebruikt om uw functie te ontwikkelen en uw functie een function.json-bestand gebruikt, kan de Azure Functions-extensie automatisch een binding toevoegen aan een bestaand function.json-bestand. Zie Invoer- en uitvoerbindingen toevoegen voor meer informatie.
Azure Portal
Wanneer u uw functies in Azure Portal ontwikkelt, voegt u invoer- en uitvoerbindingen toe op het tabblad Integreren voor een bepaalde functie. De nieuwe bindingen worden toegevoegd aan het function.json-bestand of aan de methodekenmerken, afhankelijk van uw taal. In de volgende artikelen ziet u voorbeelden van het toevoegen van bindingen aan een bestaande functie in de portal: