Partilhar via


Associações de Aplicativos Móveis para o Azure Functions

Nota

As associações de Aplicativos Móveis do Azure só estão disponíveis para o Azure Functions 1.x. Eles não são suportados no Azure Functions 2.x e superior.

Este artigo explica como trabalhar com associações de Aplicativos Móveis do Azure no Azure Functions. O Azure Functions dá suporte a associações de entrada e saída para Aplicativos Móveis.

As associações de Aplicações Móveis permitem-lhe ler e atualizar tabelas de dados em aplicações móveis.

Pacotes - Funções 1.x

As associações de Aplicativos Móveis são fornecidas no pacote NuGet Microsoft.Azure.WebJobs.Extensions.MobileApps, versão 1.x. O código-fonte do pacote está no repositório GitHub azure-webjobs-sdk-extensions .

A tabela a seguir lista como adicionar suporte para vinculação de saída em cada ambiente de desenvolvimento.

Ambiente de desenvolvimento Para adicionar suporte no Functions 1.x
Desenvolvimento local: biblioteca de classes C# Instalar o pacote
Desenvolvimento local: script C#, JavaScript, F# Automático
Desenvolvimento de portais Automático

Entrada

A associação de entrada de Aplicativos Móveis carrega um registro de um ponto de extremidade de tabela móvel e o passa para sua função. Nas funções C# e F#, todas as alterações feitas no registro são automaticamente enviadas de volta à tabela quando a função é encerrada com êxito.

Input - exemplo

Veja o exemplo específico do idioma:

O exemplo a seguir mostra uma associação de entrada de Aplicativos Móveis em um arquivo function.json e uma função de script C# que usa a associação. A função é acionada por uma mensagem de fila que tem um identificador de registro. A função lê o registro especificado e modifica sua Text propriedade.

Aqui estão os dados de ligação no arquivo 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"
    }
]
}

A seção de configuração explica essas propriedades.

Aqui está o código de 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.";
    }    
}

Entrada - atributos

Em bibliotecas de classe C#, use o atributo MobileTable .

Para obter informações sobre as propriedades de atributo que você pode configurar, consulte a seção de configuração a seguir.

Entrada - configuração

A tabela a seguir explica as propriedades de configuração de associação definidas no arquivo function.json e no MobileTable atributo.

function.json propriedade Propriedade Attribute Description
type n/d Deve ser definido como "mobileTable"
direção n/d Deve ser definido como "in"
Designação n/d Nome do parâmetro de entrada na assinatura da função.
nome_da_tabela TableName Nome da tabela de dados do aplicativo móvel
id ID O identificador do registro a ser recuperado. Pode ser estático ou baseado no gatilho que invoca a função. Por exemplo, se você usar um gatilho de fila para sua função, use "id": "{queueTrigger}" o valor da cadeia de caracteres da mensagem da fila como a ID do registro a ser recuperada.
conexão Ligação O nome de uma configuração de aplicativo que tem a URL do aplicativo móvel. A função usa essa URL para construir as operações REST necessárias em seu aplicativo móvel. Crie uma configuração de aplicativo em seu aplicativo de função que contenha a URL do aplicativo móvel e, em seguida, especifique o nome da configuração do aplicativo na connection propriedade em sua associação de entrada. O URL tem a aparência de https://<appname>.azurewebsites.net.
apiKey ApiKey O nome de uma configuração de aplicativo que tem a chave de API do seu aplicativo móvel. Forneça a chave de API se você implementar uma chave de API em seu aplicativo móvel Node.js ou implementar uma chave de API em seu aplicativo móvel .NET. Para fornecer a chave, crie uma configuração de aplicativo em seu aplicativo de função que contenha a chave de API e, em seguida, adicione a apiKey propriedade em sua associação de entrada com o nome da configuração do aplicativo.

Quando estiver desenvolvendo localmente, adicione as configurações do aplicativo no arquivo local.settings.json na Values coleção.

Importante

Não compartilhe a chave da API com seus clientes de aplicativos móveis. Ele só deve ser distribuído com segurança para clientes do lado do serviço, como o Azure Functions. O Azure Functions armazena suas informações de conexão e chaves de API como configurações de aplicativo para que elas não sejam verificadas em seu repositório de controle do código-fonte. Isso protege suas informações confidenciais.

Entrada - uso

Nas funções C#, quando o registro com a ID especificada é encontrado, ele é passado para o parâmetro JObject nomeado. Quando o registro não é encontrado, o valor do parâmetro é null.

Nas funções JavaScript, o registro é passado para o context.bindings.<name> objeto. Quando o registro não é encontrado, o valor do parâmetro é null.

Nas funções C# e F#, todas as alterações feitas no registro de entrada (parâmetro de entrada) são automaticamente enviadas de volta à tabela quando a função é encerrada com êxito. Não é possível modificar um registro em funções JavaScript.

Saída

Use a associação de saída de Aplicativos Móveis para gravar um novo registro em uma tabela de Aplicativos Móveis.

Saída - exemplo

O exemplo a seguir mostra uma função C# que é acionada por uma mensagem de fila e cria um registro em uma tabela de aplicativo móvel.

[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}" };
}

Saída - atributos

Em bibliotecas de classe C#, use o atributo MobileTable .

Para obter informações sobre as propriedades de atributo que você pode configurar, consulte Saída - configuração. Aqui está um MobileTable exemplo de atributo em uma assinatura de método:

[FunctionName("MobileAppsOutput")]        
[return: MobileTable(ApiKeySetting = "MyMobileAppKey", TableName = "MyTable", MobileAppUriSetting = "MyMobileAppUri")]
public static object Run(
    [QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] string myQueueItem,
    TraceWriter log)
{
    ...
}

Saída - configuração

A tabela a seguir explica as propriedades de configuração de associação definidas no arquivo function.json e no MobileTable atributo.

function.json propriedade Propriedade Attribute Description
type n/d Deve ser definido como "mobileTable"
direção n/d Deve ser definido como "out"
Designação n/d Nome do parâmetro de saída na assinatura da função.
nome_da_tabela TableName Nome da tabela de dados do aplicativo móvel
conexão MobileAppUriSetting O nome de uma configuração de aplicativo que tem a URL do aplicativo móvel. A função usa essa URL para construir as operações REST necessárias em seu aplicativo móvel. Crie uma configuração de aplicativo em seu aplicativo de função que contenha a URL do aplicativo móvel e, em seguida, especifique o nome da configuração do aplicativo na connection propriedade em sua associação de entrada. O URL tem a aparência de https://<appname>.azurewebsites.net.
apiKey ApiKeySetting O nome de uma configuração de aplicativo que tem a chave de API do seu aplicativo móvel. Forneça a chave de API se você implementar uma chave de API em seu back-end de aplicativo móvel Node.js ou implementar uma chave de API em seu back-end de aplicativo móvel .NET. Para fornecer a chave, crie uma configuração de aplicativo em seu aplicativo de função que contenha a chave de API e, em seguida, adicione a apiKey propriedade em sua associação de entrada com o nome da configuração do aplicativo.

Quando estiver desenvolvendo localmente, adicione as configurações do aplicativo no arquivo local.settings.json na Values coleção.

Importante

Não compartilhe a chave da API com seus clientes de aplicativos móveis. Ele só deve ser distribuído com segurança para clientes do lado do serviço, como o Azure Functions. O Azure Functions armazena suas informações de conexão e chaves de API como configurações de aplicativo para que elas não sejam verificadas em seu repositório de controle do código-fonte. Isso protege suas informações confidenciais.

Saída - uso

Em funções de script C#, use um parâmetro de saída nomeado do tipo out object para acessar o registro de saída. Em bibliotecas de classes C#, o MobileTable atributo pode ser usado com qualquer um dos seguintes tipos:

  • ICollector<T> ou IAsyncCollector<T>, onde T está um JObject ou qualquer tipo com um public string Id imóvel.
  • out JObject
  • out T ou out T[], onde T está qualquer tipo com uma public string Id propriedade.

Em Node.js funções, use context.bindings.<name> para acessar o registro de saída.

Próximos passos