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 indique comment ajouter la prise en charge de cette liaison 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> ou IAsyncCollector<T>, où T est JObject ou tout type avec une propriété public string Id.
  • out JObject
  • out T ou out 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.

Étapes suivantes