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