Connecter des fonctions à des services Azure à l’aide de liaisons

Lorsque vous créez une fonction, un code déclencheur spécifique à une langue est ajouté à votre projet à partir d’un ensemble de modèles de déclencheurs. Si vous souhaitez connecter votre fonction à d’autres services à l’aide de liaisons d’entrée ou de sortie, vous devez ajouter des définitions de liaison spécifiques à votre fonction. Pour en savoir plus sur les liaisons, consultez Concepts des déclencheurs et liaisons Azure Functions.

Développement local

Lorsque vous développez des fonctions localement, vous devez mettre à jour le code de fonction pour ajouter des liaisons. Pour les langages qui utilisent function.json, Visual Studio Code fournit des outils permettant d’ajouter des liaisons à une fonction.

Ajouter manuellement des liaisons basées sur des exemples

Lorsque vous ajoutez une liaison à une fonction existante, vous devez ajouter des attributs spécifiques de liaison à la définition de la fonction dans le code.

Lorsque vous ajoutez une liaison à une fonction existante, vous devez ajouter des annotations spécifiques de liaison à la définition de la fonction dans le code.

Lorsque vous ajoutez une liaison à une fonction existante, vous devez mettre à jour le code de la fonction et ajouter une définition au fichier de configuration function.json.

Lorsque vous ajoutez une liaison à une fonction existante, vous devez mettre à jour la définition de la fonction, selon votre modèle :

Vous devez ajouter des annotations spécifiques de la liaison à la définition de la fonction dans le code.

L’exemple suivant montre la définition de la fonction après l’ajout d’une liaison de sortie de Stockage File d’attente à une fonction déclenchée par HTTP :

Parce qu’une fonction déclenchée par HTTP renvoie également une réponse HTTP, la fonction renvoie un objet MultiResponse, qui représente à la fois la sortie HTTP et la sortie de file d’attente.

[Function("HttpExample")]
public static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req,
    FunctionContext executionContext)
{

Voici un exemple de définition de l’objet MultiResponse qui comprend la liaison de sortie :

public class MultiResponse
{
    [QueueOutput("outqueue",Connection = "AzureWebJobsStorage")]
    public string[] Messages { get; set; }
    public IActionResult HttpResponse { get; set; }
}

Lorsque vous appliquez cet exemple à votre propre projet, vous risquez de devoir remplacer HttpRequest par HttpRequestData et IActionResult par HttpResponseData, selon que vous utilisez l'Intégration ASP.NET Core ou non.

Ces messages sont envoyés à la file d’attente lorsque la fonction se termine. La manière dont vous définissez la liaison de sortie dépend de votre modèle de processus. Pour plus d’informations, notamment concernant des liens vers des exemples de code de liaison auxquels vous pouvez vous référer, consultez Ajouter des liaisons à une fonction.

@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) {

Pour plus d’informations, notamment concernant des liens vers des exemples de code de liaison auxquels vous pouvez vous référer, consultez Ajouter des liaisons à une fonction.

Exemple de liaison pour un modèle v4 Node.js non encore disponible.

La manière dont vous définissez la liaison de sortie dépend de la version de votre modèle Node.js. Pour plus d’informations, notamment concernant des liens vers des exemples de code de liaison auxquels vous pouvez vous référer, consultez Ajouter des liaisons à une fonction.

$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg

Pour plus d’informations, notamment concernant des liens vers des exemples de code de liaison auxquels vous pouvez vous référer, consultez Ajouter des liaisons à une fonction.

@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.')

La manière dont vous définissez la liaison de sortie dépend de la version de votre modèle Python. Pour plus d’informations, notamment concernant des liens vers des exemples de code de liaison auxquels vous pouvez vous référer, consultez Ajouter des liaisons à une fonction.

Exemple de liaison pour un modèle v4 Node.js non encore disponible.

La manière dont vous définissez la liaison de sortie dépend de la version de votre modèle Node.js. Pour plus d’informations, notamment concernant des liens vers des exemples de code de liaison auxquels vous pouvez vous référer, consultez Ajouter des liaisons à une fonction.

Utilisez le tableau suivant pour rechercher des exemples de types de liaison spécifiques que vous pouvez utiliser pour vous guider dans la mise à jour d’une fonction existante. Tout d’abord, choisissez l’onglet du langage qui correspond à votre projet.

Le code de liaison pour C# dépend du modèle de processus spécifique.

Service Exemples Exemples
Stockage d'objets blob Déclencheur
Entrée
Sortie
Lien
Azure Cosmos DB Déclencheur
Entrée
Sortie
Lien
Explorateur de données Azure Input
Sortie
Lien
Azure SQL Déclencheur
Entrée
Sortie
Lien
Event Grid Déclencheur
Sortie
Lien
Event Hubs Déclencheur
Sortie
IoT Hub Déclencheur
Sortie
HTTP Déclencheur Lien
Stockage de files d'attente Déclencheur
Sortie
Lien
RabbitMQ Déclencheur
Sortie
SendGrid Sortie
Service Bus Déclencheur
Sortie
Lien
SignalR Déclencheur
Entrée
Sortie
Stockage de tables Entrée
Sortie
Minuteur Déclencheur Lien
Twilio Sortie Lien
Service Exemples Exemples
Stockage d'objets blob Déclencheur
Entrée
Sortie
Lien
Azure Cosmos DB Déclencheur
Entrée
Sortie
Lien
Explorateur de données Azure Input
Sortie
Lien
Azure SQL Déclencheur
Entrée
Sortie
Event Grid Déclencheur
Sortie
Lien
Event Hubs Déclencheur
Sortie
IoT Hub Déclencheur
Sortie
HTTP Déclencheur Lien
Stockage de files d'attente Déclencheur
Sortie
Lien
RabbitMQ Déclencheur
Sortie
SendGrid Sortie
Service Bus Déclencheur
Sortie
Lien
SignalR Déclencheur
Entrée
Sortie
Stockage de tables Entrée
Sortie
Minuteur Déclencheur Lien
Twilio Sortie Lien
Service Exemples Exemples
Stockage d'objets blob Déclencheur
Entrée
Sortie
Lien
Azure Cosmos DB Déclencheur
Entrée
Sortie
Lien
Explorateur de données Azure Input
Sortie
Azure SQL Déclencheur
Entrée
Sortie
Lien
Event Grid Déclencheur
Sortie
Lien
Event Hubs Déclencheur
Sortie
IoT Hub Déclencheur
Sortie
HTTP Déclencheur Lien
Stockage de files d'attente Déclencheur
Sortie
Lien
RabbitMQ Déclencheur
Sortie
SendGrid Sortie
Service Bus Déclencheur
Sortie
Lien
SignalR Déclencheur
Entrée
Sortie
Stockage de tables Entrée
Sortie
Minuteur Déclencheur Lien
Twilio Sortie Lien
Service Exemples Exemples
Stockage d'objets blob Déclencheur
Entrée
Sortie
Lien
Azure Cosmos DB Déclencheur
Entrée
Sortie
Lien
Azure SQL Déclencheur
Entrée
Sortie
Event Grid Déclencheur
Sortie
Lien
Event Hubs Déclencheur
Sortie
IoT Hub Déclencheur
Sortie
HTTP Déclencheur Lien
Stockage de files d'attente Déclencheur
Sortie
Lien
RabbitMQ Déclencheur
Sortie
SendGrid Sortie
Service Bus Déclencheur
Sortie
Lien
SignalR Déclencheur
Entrée
Sortie
Stockage de tables Entrée
Sortie
Minuteur Déclencheur Lien
Twilio Sortie Lien

Le code de liaison pour Python dépend de la version du modèle Python.

Service Exemples Exemples
Stockage d'objets blob Déclencheur
Entrée
Sortie
Lien
Azure Cosmos DB Déclencheur
Entrée
Sortie
Lien
Explorateur de données Azure Input
Sortie
Azure SQL Déclencheur
Entrée
Sortie
Lien
Event Grid Déclencheur
Sortie
Lien
Event Hubs Déclencheur
Sortie
IoT Hub Déclencheur
Sortie
HTTP Déclencheur Lien
Stockage de files d'attente Déclencheur
Sortie
Lien
RabbitMQ Déclencheur
Sortie
SendGrid Sortie
Service Bus Déclencheur
Sortie
Lien
SignalR Déclencheur
Entrée
Sortie
Stockage de tables Entrée
Sortie
Minuteur Déclencheur Lien
Twilio Sortie Lien

Visual Studio Code

Lorsque vous utilisez Visual Studio Code pour développer votre fonction et que votre fonction utilise un fichier function.json, l’extension Azure Functions peut ajouter automatiquement une liaison à un fichier function.json existant. Pour en savoir plus, consultez Ajouter des liaisons d’entrée et de sortie.

Portail Azure

Lorsque vous développez vos fonctions dans le portail Azure, vous ajoutez des liaisons d’entrée et de sortie sous l’onglet intégrer pour une fonction donnée. Les nouvelles liaisons sont ajoutées au fichier function.json ou aux attributs de la méthode, en fonction de votre langage. Les articles suivants présentent des exemples d’ajout de liaisons à une fonction existante sur le portail :

Étapes suivantes