Liaisons Mobile Apps pour Azure Functions
Notes
Les liaisons Azure Mobile Apps sont disponibles uniquement pour Azure Functions 1.x. Elles ne sont pas prises en charge dans Azure Functions 2.x et ultérieur.
Important
La prise en charge de la version 1.x du runtime Azure Functions prendra fin le 14 septembre 2026. Nous vous recommandons fortement de migrer vos applications vers la version 4.x pour bénéficier d’une prise en charge complète.
Cet article explique comment utiliser des liaisons Azure Mobile Apps dans Azure Functions. Azure Functions prend en charge des liaisons d’entrée et de sortie pour Mobile Apps.
Les liaisons Mobile Apps vous permettent de lire et mettre à jour des tables de données dans des applications mobiles.
Packages - Functions 1.x
Les liaisons Mobile Apps sont fournies dans le package NuGet Microsoft.Azure.WebJobs.Extensions.MobileApps, version 1.x. Le code source du package se trouve dans le référentiel GitHub azure-webjobs-sdk-extensions.
Le tableau suivant répertorie comment ajouter la prise en charge de la liaison de sortie dans chaque environnement de développement.
Environnement de développement | Pour ajouter la prise en charge dans Functions 1.x |
---|---|
Développement local : bibliothèque de classes C# | Installer le package. |
Développement local : script C#, JavaScript, F# | Automatique |
Développement sur le portail | Automatique |
Entrée
La liaison d’entrée Mobile Apps charge un enregistrement à partir d’un point de terminaison de table mobile et le transmet à votre fonction. Dans des fonctions C# et F#, toutes les modifications apportées à l’enregistrement sont automatiquement renvoyées à la table une fois que la fonction s’est correctement terminée.
Entrée - exemple
Consultez l’exemple propre à un langage particulier :
L’exemple suivant montre une liaison d’entrée Mobile Apps dans un fichier function.json et une fonction de script C# qui utilise la liaison. La fonction est déclenchée par un message de file d’attente qui a un identificateur d’enregistrement. La fonction lit l’enregistrement spécifié et modifie sa propriété Text
.
Voici les données de liaison dans le fichier function.json :
{
"bindings": [
{
"name": "myQueueItem",
"queueName": "myqueue-items",
"connection": "",
"type": "queueTrigger",
"direction": "in"
},
{
"name": "record",
"type": "mobileTable",
"tableName": "MyTable",
"id": "{queueTrigger}",
"connection": "My_MobileApp_Url",
"apiKey": "My_MobileApp_Key",
"direction": "in"
}
]
}
La section configuration décrit ces propriétés.
Voici le code Script C# :
#r "Newtonsoft.Json"
using Newtonsoft.Json.Linq;
public static void Run(string myQueueItem, JObject record)
{
if (record != null)
{
record["Text"] = "This has changed.";
}
}
Entrée - attributs
Dans les bibliothèques de classes C#, utilisez l’attribut MobileTable.
Pour plus d’informations sur les propriétés d’attribut que vous pouvez configurer, consultez la section de configuration suivante.
Entrée - configuration
Le tableau suivant décrit les propriétés de configuration de liaison que vous définissez dans le fichier function.json et l’attribut MobileTable
.
Propriété function.json | Propriété d’attribut | Description |
---|---|---|
type | n/a | Doit être défini sur « mobileTable » |
direction | n/a | Doit être défini sur « in » |
name | n/a | Nom du paramètre d’entrée dans la signature de la fonction. |
tableName | TableName | Nom de la table de données de l’application mobile |
id | Id | Identificateur de l’enregistrement à récupérer. Peut être statique ou basé sur le déclencheur qui appelle la fonction. Par exemple, si vous utilisez un déclencheur de file d’attente pour votre fonction, "id": "{queueTrigger}" utilise la valeur de chaîne du message de file d’attente en tant qu’ID de l’enregistrement à récupérer. |
connection | Connection | Nom d’un paramètre d’application qui a l’URL de l’application mobile. La fonction utilise cette URL pour construire les opérations REST requises par rapport à votre application mobile. Créez un paramètre d’application dans votre application de fonction, contenant l’URL de votre application mobile, puis spécifiez le nom du paramètre d’application dans la propriété connection de votre liaison d’entrée. L’URL est de type https://<appname>.azurewebsites.net . |
apiKey | ApiKey | Nom d’un paramètre d’application qui a la clé API de votre application mobile. Indiquez la clé API si vous implémentez une clé API dans votre application mobile Node.js ou si vous implémentez une clé API dans votre application mobile .NET. Pour indiquer la clé, créez un paramètre d’application dans votre application de fonction contenant la clé API, puis ajoutez la propriété apiKey dans votre liaison d’entrée avec le nom du paramètre d’application. |
Lorsque vous développez en local, ajoutez vos paramètres d’application dans le fichier local.settings.json de la collection Values
.
Important
Ne partagez pas la clé API avec les clients de votre application mobile. Elle doit uniquement être distribuée de façon sécurisée aux clients côté service, comme Azure Functions. Azure Functions stocke vos informations de connexion et les clés API en tant que paramètres d’application, de sorte qu’elles ne soient pas vérifiées dans votre référentiel de contrôle de code source. Ceci protège vos informations sensibles.
Entrée - utilisation
Dans les fonctions C#, quand l’enregistrement portant l’ID spécifié est trouvé, il est passé au paramètre JObject nommé. Si l’enregistrement est introuvable, la valeur du paramètre est null
.
Dans les fonctions JavaScript, l’enregistrement est passé à l’objet context.bindings.<name>
. Si l’enregistrement est introuvable, la valeur du paramètre est null
.
Dans les fonctions C# et F#, toutes les modifications apportées à l’enregistrement d’entrée (paramètre d’entrée) sont automatiquement renvoyées à la table une fois que la fonction s’est correctement terminée. Vous ne pouvez pas modifier un enregistrement dans les fonctions JavaScript.
Sortie
Utilisez la liaison de sortie Mobile Apps pour écrire un nouvel enregistrement dans une table Mobile Apps.
Sortie - exemple
L’exemple suivant montre une fonction C# qui est déclenchée par un message de file d’attente et crée un enregistrement dans une table d’application mobile.
[FunctionName("MobileAppsOutput")]
[return: MobileTable(ApiKeySetting = "MyMobileAppKey", TableName = "MyTable", MobileAppUriSetting = "MyMobileAppUri")]
public static object Run(
[QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] string myQueueItem,
TraceWriter log)
{
return new { Text = $"I'm running in a C# function! {myQueueItem}" };
}
Sortie - attributs
Dans les bibliothèques de classes C#, utilisez l’attribut MobileTable.
Pour plus d’informations sur les propriétés d’attribut que vous pouvez configurer, consultez Sortie - configuration. Voici un exemple d’attribut MobileTable
dans une signature de méthode :
[FunctionName("MobileAppsOutput")]
[return: MobileTable(ApiKeySetting = "MyMobileAppKey", TableName = "MyTable", MobileAppUriSetting = "MyMobileAppUri")]
public static object Run(
[QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] string myQueueItem,
TraceWriter log)
{
...
}
Sortie - configuration
Le tableau suivant décrit les propriétés de configuration de liaison que vous définissez dans le fichier function.json et l’attribut MobileTable
.
Propriété function.json | Propriété d’attribut | Description |
---|---|---|
type | n/a | Doit être défini sur « mobileTable » |
direction | n/a | Doit être défini sur « out » |
name | n/a | Nom du paramètre de sortie dans la signature de la fonction. |
tableName | TableName | Nom de la table de données de l’application mobile |
connection | MobileAppUriSetting | Nom d’un paramètre d’application qui a l’URL de l’application mobile. La fonction utilise cette URL pour construire les opérations REST requises par rapport à votre application mobile. Créez un paramètre d’application dans votre application de fonction, contenant l’URL de votre application mobile, puis spécifiez le nom du paramètre d’application dans la propriété connection de votre liaison d’entrée. L’URL est de type https://<appname>.azurewebsites.net . |
apiKey | ApiKeySetting | Nom d’un paramètre d’application qui a la clé API de votre application mobile. Indiquez la clé API si vous implémentez une clé API dans le backend de votre application mobile Node.js ou si vous implémentez une clé API dans le backend de votre application mobile .NET. Pour indiquer la clé, créez un paramètre d’application dans votre application de fonction contenant la clé API, puis ajoutez la propriété apiKey dans votre liaison d’entrée avec le nom du paramètre d’application. |
Lorsque vous développez en local, ajoutez vos paramètres d’application dans le fichier local.settings.json de la collection Values
.
Important
Ne partagez pas la clé API avec les clients de votre application mobile. Elle doit uniquement être distribuée de façon sécurisée aux clients côté service, comme Azure Functions. Azure Functions stocke vos informations de connexion et les clés API en tant que paramètres d’application, de sorte qu’elles ne soient pas vérifiées dans votre référentiel de contrôle de code source. Ceci protège vos informations sensibles.
Sortie - utilisation
Dans les fonctions de script C#, utilisez un paramètre de sortie nommé de type out object
pour accéder à l’enregistrement de sortie. Dans les bibliothèques de classes C#, l’attribut MobileTable
est utilisable avec les types suivants :
ICollector<T>
ouIAsyncCollector<T>
, oùT
estJObject
ou tout type avec une propriétépublic string Id
.out JObject
out T
ouout T[]
, oùT
est tout type avec une propriétépublic string Id
.
Dans les fonctions Node.js, utilisez context.bindings.<name>
pour accéder à l’enregistrement de sortie.