Привязки мобильных приложений для службы "Функции Azure"
Примечание.
Привязки мобильных приложений Azure доступны только для функций Azure версии 1.x. Они не поддерживаются функциями Azure версий 2.х и более поздних.
Внимание
Поддержка будет завершена для среды выполнения Функции Azure версии 1.x 14 сентября 2026 г. Настоятельно рекомендуется перенести приложения в версию 4.x для полной поддержки.
В этой статье описывается использование привязок мобильных приложений Azure в "Функциях Azure". Функции Azure поддерживают входные и выходные привязки для мобильных приложений.
Привязки мобильных приложений позволяют вам считывать и обновлять данные таблиц в мобильных приложениях.
Пакеты – Функции 1.x
Привязки мобильных приложений доступны в пакете NuGet Microsoft.Azure.WebJobs.Extensions.MobileApps версии 1.х. Исходный код для пакета находится в репозитории GitHub azure-webjobs-sdk-extensions.
В следующей таблице показано, как добавить поддержку выходной привязки в каждой среде разработки.
Среда разработки | Добавление поддержки в Функциях 1.x |
---|---|
Локальная разработка: библиотека классов C# | Установка пакета |
Локальная разработка: скрипт C#, JavaScript, F# | Автоматически |
Разработка на портале | Автоматически |
Входные данные
Входная привязка мобильных приложений загружает запись из конечной точки мобильной таблицы и передает ее в функцию. В функциях C# и F# любые изменения, внесенные в запись, автоматически отправляются обратно в таблицу после успешного выхода из функции.
Пример входных данных
Языковой пример см. в разделах:
В следующем примере показаны входная привязка мобильных приложений в файле function.json и функция сценария C#, которая использует эту привязку. Функция активируется сообщением из очереди с идентификатором записи. Функция считывает указанную запись и изменяет ее свойство Text
.
Данные привязки в файле 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"
}
]
}
В разделе Конфигурация описываются эти свойства.
Ниже приведен код скрипта C#.
#r "Newtonsoft.Json"
using Newtonsoft.Json.Linq;
public static void Run(string myQueueItem, JObject record)
{
if (record != null)
{
record["Text"] = "This has changed.";
}
}
Входные атрибуты
В библиотеках классов C# используйте атрибут MobileTable.
Дополнительные сведения о настройке свойств атрибутов см. в следующем разделе о настройке.
Входная конфигурация
В следующей таблице описываются свойства конфигурации привязки, которые задаются в файле function.json и атрибуте MobileTable
.
Свойство в function.json | Свойство атрибута | Описание |
---|---|---|
type | Н/Д | Для этого свойства необходимо задать значение mobileTable. |
direction | Н/Д | Для этого свойства необходимо задать значение in |
name | Н/Д | Имя входного параметра в сигнатуре функции. |
tableName | TableName | Имя таблицы данных мобильного приложения |
id | Id | Идентификатор извлекаемой записи. Может быть статическим или определяться по триггеру, который вызывает функцию. Например, если вы используете триггер очереди для функции, то "id": "{queueTrigger}" использует строковое значение сообщения очереди в качестве идентификатора записи, который нужно получить. |
Подключение | Соединение | Имя параметра приложения, в котором содержится URL-адрес мобильного приложения. Функция использует этот URL-адрес для создания необходимых операций REST с мобильным приложением. Создайте параметр приложения в приложении-функции, содержащем URL-адрес мобильного приложения, а затем укажите имя параметра приложения в свойстве connection во входной привязке. URL-адрес выглядит следующим образом: https://<appname>.azurewebsites.net . |
apiKey | ApiKey | Имя параметра приложения, в котором содержится ваш ключ API для мобильных приложений. При внедрении ключа API в мобильное приложение Node.js предоставьте этот ключ или внедрите ключ в мобильном приложении .NET. Для этого создайте параметр приложения в приложении-функции, содержащем ключ API, а затем добавьте свойство apiKey в свою входную привязку с именем параметра приложения. |
Если разработка ведется на локальном компьютере, добавьте параметры приложения в файл local.settings.json в коллекции Values
.
Внимание
Не используйте ключ API совместно с клиентами мобильных приложений. Его нужно безопасно распространять среди клиентов на стороне службы, таких как Функции Azure. Функции Azure хранят сведения о подключении и ключи API в качестве параметров приложения, чтобы они не возвращались в репозиторий системы управления версиями. Таким образом обеспечивается защита конфиденциальной информации.
Использование входной привязки
В функциях C#, когда найденная запись з указанным идентификатором передается именованному параметру JObject. Если запись не найдена, параметр имеет значение null
.
В функциях JavaScript запись передается объекту context.bindings.<name>
. Если запись не найдена, параметр имеет значение null
.
В функциях C# и F# любые изменения, внесенные во входную запись (входной параметр), после успешного выхода из функции автоматически отправятся обратно в таблицу. Изменить запись в JavaScript невозможно.
Выходные данные
Используйте выходную привязку мобильных приложений, чтобы сделать новую запись в таблице мобильных приложений.
Пример выходных данных
В следующем примере показана функция C#, которая активируется сообщением из очереди и создает запись в таблице мобильного приложения.
[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}" };
}
Выходные атрибуты
В библиотеках классов C# используйте атрибут MobileTable.
Дополнительные сведения о настройке свойств атрибутов см. в разделе Выходная конфигурация. Ниже приведен пример атрибута MobileTable
в сигнатуре метода:
[FunctionName("MobileAppsOutput")]
[return: MobileTable(ApiKeySetting = "MyMobileAppKey", TableName = "MyTable", MobileAppUriSetting = "MyMobileAppUri")]
public static object Run(
[QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] string myQueueItem,
TraceWriter log)
{
...
}
Выходная конфигурация
В следующей таблице описываются свойства конфигурации привязки, которые задаются в файле function.json и атрибуте MobileTable
.
Свойство в function.json | Свойство атрибута | Описание |
---|---|---|
type | Н/Д | Для этого свойства необходимо задать значение mobileTable. |
direction | Н/Д | Для этого свойства необходимо задать значение out. |
name | Н/Д | Имя выходного параметра в сигнатуре функции. |
tableName | TableName | Имя таблицы данных мобильного приложения |
Подключение | MobileAppUriSetting | Имя параметра приложения, в котором содержится URL-адрес мобильного приложения. Функция использует этот URL-адрес для создания необходимых операций REST с мобильным приложением. Создайте параметр приложения в приложении-функции, содержащем URL-адрес мобильного приложения, а затем укажите имя параметра приложения в свойстве connection во входной привязке. URL-адрес выглядит следующим образом: https://<appname>.azurewebsites.net . |
apiKey | ApiKeySetting | Имя параметра приложения, в котором содержится ваш ключ API для мобильных приложений. При внедрении ключа API в серверную часть мобильного приложения Node.js предоставьте этот ключ или внедрите ключ в серверную часть мобильного приложения .NET. Для этого создайте параметр приложения в приложении-функции, содержащем ключ API, а затем добавьте свойство apiKey в свою входную привязку с именем параметра приложения. |
Если разработка ведется на локальном компьютере, добавьте параметры приложения в файл local.settings.json в коллекции Values
.
Внимание
Не используйте ключ API совместно с клиентами мобильных приложений. Его нужно безопасно распространять среди клиентов на стороне службы, таких как Функции Azure. Функции Azure хранят сведения о подключении и ключи API в качестве параметров приложения, чтобы они не возвращались в репозиторий системы управления версиями. Таким образом обеспечивается защита конфиденциальной информации.
Использование выходной привязки
Используйте именованный выходной параметр типа out object
для доступа к выходной записи в функциях сценария C#. В библиотеках классов C# атрибут MobileTable
можно использовать в любом из следующих типов:
ICollector<T>
илиIAsyncCollector<T>
, гдеT
имеет значениеJObject
или является типом со свойствомpublic string Id
.out JObject
out T
илиout T[]
, гдеT
является любим типом со свойствомpublic string Id
.
Для доступа к выходной записи в функциях Node.js используйте context.bindings.<name>
.