Partilhar via


Funções do Azure saída do Azure Stream Analytics

Funções do Azure é um serviço de computação sem servidor que pode utilizar para executar código a pedido sem ter de aprovisionar ou gerir explicitamente a infraestrutura. Permite-lhe implementar código que é acionado por eventos que ocorrem no Azure ou nos serviços de parceiros. Esta capacidade de Funções do Azure responder a acionadores faz com que seja uma saída natural para o Azure Stream Analytics. Este adaptador de saída permite que os utilizadores liguem o Stream Analytics a Funções do Azure e executem um script ou um código em resposta a uma variedade de eventos.

Funções do Azure saída do Stream Analytics não está disponível no Microsoft Azure operado pela 21Vianet e pelo Azure Germany (T-Systems International). A ligação a Funções do Azure dentro de uma rede virtual (VNet) a partir de uma tarefa do Stream Analytics em execução num cluster multi-inquilino também não é suportada.

O Azure Stream Analytics invoca Funções do Azure através de acionadores HTTP. O adaptador de saída Funções do Azure está disponível com as seguintes propriedades configuráveis:

Nome da propriedade Description
Aplicação de funções O nome da sua aplicação Funções do Azure.
Função O nome da função na sua aplicação Funções do Azure.
Chave Se quiser utilizar uma Função do Azure a partir de outra subscrição, pode fazê-lo ao fornecer a chave para aceder à sua função.
Tamanho máximo do lote Uma propriedade que lhe permite definir o tamanho máximo para cada lote de saída que é enviado para a função do Azure. A unidade de entrada está em bytes. Por predefinição, este valor é de 262 144 bytes (256 KB).
Contagem máxima de lotes Uma propriedade que lhe permite especificar o número máximo de eventos em cada lote que é enviado para Funções do Azure. O valor predefinido é 100.

O Azure Stream Analytics espera o estado HTTP 200 da aplicação Functions para lotes que foram processados com êxito.

Quando o Azure Stream Analytics recebe uma exceção 413 ("http Request Entity Too Large") de uma função do Azure, reduz o tamanho dos lotes que envia para Funções do Azure. No código de função do Azure, utilize esta exceção para garantir que o Azure Stream Analytics não envia lotes de grandes dimensões. Além disso, certifique-se de que os valores máximos de contagem de lotes e tamanho utilizados na função são consistentes com os valores introduzidos no portal do Stream Analytics.

Nota

Durante a ligação de teste, o Stream Analytics envia (POST) um lote vazio para Funções do Azure para testar se a ligação entre os dois funciona. Certifique-se de que a aplicação Funções processa pedidos em lote vazios para se certificar de que a ligação de teste passa.

Além disso, numa situação em que não existe nenhuma aterragem de eventos num período de tempo, não é gerado nenhum resultado. Como resultado, a função computeResult não é chamada. Este comportamento é consistente com as funções agregadas em janela incorporadas.

Criação de partições

A chave de partição baseia-se na cláusula PARTITION BY na consulta. O número de escritores de saída segue a criação de partições de entrada para consultas totalmente paralelizadas.

Tamanho do lote de saída

O tamanho predefinido do lote é de 262 144 bytes (256 KB). A contagem de eventos predefinida por lote é de 100. O tamanho do lote é configurável e pode ser aumentado ou diminuído nas opções de saída do Stream Analytics.

Limitação

Funções do Azure deve concluir o pedido em menos de 100 segundos, uma vez que o cliente HTTP excede o limite de tempo após 100 segundos. Se demorar mais de 100 segundos para Funções do Azure processar um lote de dados, existe um tempo limite que irá acionar uma repetição. Esta repetição pode resultar em dados duplicados porque Funções do Azure processará os dados novamente e potencialmente produzirá a mesma saída, uma vez que pode ter sido saída parcialmente no pedido anterior

Exemplos de código

A saída Funções do Azure pode ser utilizada para reencaminhar mensagens para bases de dados não suportadas, como Redis, ou atualizar tabelas no SQL do Azure.

Passos seguintes