Associazioni di app per dispositivi mobili per Funzioni di Azure
Nota
Le associazioni di App per dispositivi mobili di Azure sono disponibili solo per Funzioni di Azure 1.x. Non sono supportati in Funzioni di Azure 2.x e versioni successive.
Importante
Il supporto terminerà per la versione 1.x del runtime di Funzioni di Azure il 14 settembre 2026. È consigliabile eseguire la migrazione delle app alla versione 4.x per il supporto completo.
Questo articolo descrive come usare le associazioni di app per dispositivi mobili in Funzioni di Azure. Funzioni di Azure supporta le associazioni di input e output per App per dispositivi mobili.
Le associazioni di app per dispositivi mobili consentono di leggere e aggiornare le tabelle di dati nelle app per dispositivi mobili.
Pacchetti: Funzioni 1.x
Le associazioni di App per dispositivi mobili sono incluse nel pacchetto NuGet Microsoft.Azure.WebJobs.Extensions.MobileApps versione 1.x. Il codice sorgente del pacchetto si trova nel repository GitHub azure-webjobs-sdk-extensions.
La tabella seguente elenca come aggiungere il supporto per l'associazione di output in ogni ambiente di sviluppo.
Ambiente di sviluppo | Per aggiungere il supporto in Funzioni 1.x |
---|---|
Sviluppo locale: libreria di classi C# | Installare il pacchetto |
Sviluppo locale: script C#, JavaScript, F# | Automatico |
Sviluppo con il portale | Automatico |
Input
L'associazione di input di App per dispositivi mobili carica un record da un endpoint tabella per dispositivi mobili e lo passa alla propria funzione. Nelle funzioni C# e F# eventuali modifiche apportate al record vengono automaticamente inviate alla tabella se la funzione termina correttamente.
Input - esempio
Vedere l'esempio specifico per ciascun linguaggio:
L'esempio seguente mostra un'associazione di input dell'app per dispositivi mobili in un file function.json e una funzione script C# che usa l'associazione. La funzione viene attivata da un messaggio in coda contenente un identificatore di record. La funzione legge il record specificato e modifica la proprietà Text
.
Ecco i dati di associazione nel file 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"
}
]
}
Queste proprietà sono descritte nella sezione configuration.
Ecco il codice 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.";
}
}
Input - attributi
Nelle librerie di classi C# usare l'attributo MobileTable.
Per informazioni sulle proprietà degli attributi che è possibile configurare, vedere la sezione seguente relativa alla configurazione.
Input - configurazione
Nella tabella seguente sono illustrate le proprietà di configurazione dell'associazione impostate nel file function.json e nell'attributo MobileTable
.
Proprietà di function.json | Proprietà dell'attributo | Descrizione |
---|---|---|
type | n/d | Deve essere impostato su "mobileTable" |
direction | n/d | Deve essere impostato su "in" |
name | n/d | Nome del parametro di input nella firma della funzione. |
tableName | TableName | Nome della tabella di dati dell'app per dispositivi mobili |
id | Id | Identificatore del record da recuperare. Può essere statico o basato sul trigger che richiama la funzione. Se, ad esempio, si usa un trigger della coda per la funzione, "id": "{queueTrigger}" userà il valore di stringa del messaggio della coda come ID del record da recuperare. |
connection | Connessione | Il nome di un'impostazione dell'app con l'URL dell'app per dispositivi mobili. La funzione usa questo URL per creare le operazioni REST da eseguire sull'app per dispositivi mobili. Creare un'impostazione nell'app per le funzioni che contenga l'URL dell'app per dispositivi mobili e quindi specificare il nome dell'impostazione dell'app nella proprietà connection dell'associazione di input. L'URL ha l'aspetto seguente: https://<appname>.azurewebsites.net . |
apiKey | ApiKey | Il nome di un'impostazione dell'app con la chiave API dell'app per dispositivi mobili. Specificare la chiave API se si implementa una chiave API nell'app per dispositivi mobili Node.js oppure se si implementa una chiave API nell'app per dispositivi mobili .NET. Per specificare la chiave, creare un'impostazione nell'app per le funzioni che contenga la chiave API e quindi aggiungere la proprietà apiKey nell'associazione di input con il nome dell'impostazione dell'app. |
Quando si sviluppa in locale, aggiungere le impostazioni dell'applicazione nel file local.settings.json nella Values
raccolta.
Importante
Non condividere la chiave API con i client dell'app per dispositivi mobili. Può essere distribuita in modo sicuro solo ai client sul lato servizio, come Funzioni di Azure. Funzioni di Azure archivia le informazioni di connessione e le chiavi API come impostazioni dell'app in modo che non vengano controllate nel repository di controllo del codice sorgente. In questo modo viene garantita la protezione delle informazioni riservate.
Input - uso
Quando nelle funzioni C# viene trovato, il record con l'ID specificato viene passato nel parametro denominato JObject. Se il record non viene trovato, il valore del parametro è null
.
Nelle funzioni JavaScript il record viene passato all'oggetto context.bindings.<name>
. Se il record non viene trovato, il valore del parametro è null
.
Nelle funzioni C# e F# eventuali modifiche apportate al record di input (parametro di input) vengono automaticamente inviate alla tabella quando la funzione termina correttamente. Non è possibile modificare un record nelle funzioni JavaScript.
Output
L'associazione di output di app per dispositivi mobili consente di scrivere un nuovo record in una tabella di app per dispositivi mobili.
Output - esempio
L'esempio seguente mostra una funzione C# che viene attivata da un messaggio in coda e che crea un record in una tabella di app per dispositivi mobili.
[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}" };
}
Output - attributi
Nelle librerie di classi C# usare l'attributo MobileTable.
Per informazioni sulle proprietà degli attributi che è possibile configurare, vedere la sezione Output - configurazione. Di seguito è riportato un esempio dell'attributo MobileTable
in una firma del metodo:
[FunctionName("MobileAppsOutput")]
[return: MobileTable(ApiKeySetting = "MyMobileAppKey", TableName = "MyTable", MobileAppUriSetting = "MyMobileAppUri")]
public static object Run(
[QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] string myQueueItem,
TraceWriter log)
{
...
}
Output - configurazione
Nella tabella seguente sono illustrate le proprietà di configurazione dell'associazione impostate nel file function.json e nell'attributo MobileTable
.
Proprietà di function.json | Proprietà dell'attributo | Descrizione |
---|---|---|
type | n/d | Deve essere impostato su "mobileTable" |
direction | n/d | Deve essere impostato su "out" |
name | n/d | Nome del parametro di output nella firma della funzione. |
tableName | TableName | Nome della tabella di dati dell'app per dispositivi mobili |
connection | MobileAppUriSetting | Il nome di un'impostazione dell'app con l'URL dell'app per dispositivi mobili. La funzione usa questo URL per creare le operazioni REST da eseguire sull'app per dispositivi mobili. Creare un'impostazione nell'app per le funzioni che contenga l'URL dell'app per dispositivi mobili e quindi specificare il nome dell'impostazione dell'app nella proprietà connection dell'associazione di input. L'URL ha l'aspetto seguente: https://<appname>.azurewebsites.net . |
apiKey | ApiKeySetting | Il nome di un'impostazione dell'app con la chiave API dell'app per dispositivi mobili. Specificare la chiave API se si implementa una chiave API nel back-end dell'app per dispositivi mobili Node.js o se si implementa una chiave API nel back-end dell'app per dispositivi mobili .NET. Per specificare la chiave, creare un'impostazione nell'app per le funzioni che contenga la chiave API e quindi aggiungere la proprietà apiKey nell'associazione di input con il nome dell'impostazione dell'app. |
Quando si sviluppa in locale, aggiungere le impostazioni dell'applicazione nel file local.settings.json nella Values
raccolta.
Importante
Non condividere la chiave API con i client dell'app per dispositivi mobili. Può essere distribuita in modo sicuro solo ai client sul lato servizio, come Funzioni di Azure. Funzioni di Azure archivia le informazioni di connessione e le chiavi API come impostazioni dell'app in modo che non vengano controllate nel repository di controllo del codice sorgente. In questo modo viene garantita la protezione delle informazioni riservate.
Output - uso
Nelle funzioni script C# è necessario usare un parametro di output denominato di tipo out object
per accedere al record di output. Nelle librerie di classi C#, l'attributo MobileTable
può essere usato con uno qualsiasi dei tipi seguenti:
ICollector<T>
oIAsyncCollector<T>
, doveT
èJObject
o qualsiasi tipo con una proprietàpublic string Id
.out JObject
out T
oout T[]
, doveT
è un tipo qualsiasi con una proprietàpublic string Id
.
Nelle funzioni Node.js si accede al record di output usando context.bindings.<name>
.