Conceitos dos acionadores e dos enlaces das Funções do Azure

Neste artigo, você aprenderá os conceitos de alto nível em torno de funções, gatilhos e associações.

Os gatilhos fazem com que uma função seja executada. Um acionador define como uma função é invocada e uma função tem de ter exatamente um acionador. Os acionadores têm dados associados, que são geralmente fornecidos como o payload da função.

A vinculação a uma função é uma forma de conectar declarativamente outro recurso à função; As ligações podem ser conectadas como ligações de entrada, ligações de saída ou ambas. Os dados de enlaces são fornecidos à função como parâmetros.

Pode combinar e corresponder enlaces diferentes consoante as suas necessidades. Os enlaces são opcionais e uma função pode ter um ou mais enlaces de entrada e/ou de saída.

Gatilhos e associações permitem evitar o acesso de codificação a outros serviços. A sua função recebe dados (por exemplo, os conteúdos de uma mensagem de fila) em parâmetros de função. Pode enviar dados (por exemplo, para criar uma mensagem de fila) através do valor de retorno da função.

Considere os seguintes exemplos de como você pode implementar diferentes funções.

Cenário de exemplo Acionador Vinculação de entrada Vinculação de saída
Chega uma nova mensagem de fila que executa uma função para gravar em outra fila. Fila* Nenhuma Fila*
Um trabalho agendado lê o conteúdo do Armazenamento de Blob e cria um novo documento do Azure Cosmos DB. Temporizador Armazenamento de Blobs BD do Cosmos para o Azure
A Grade de Eventos é usada para ler uma imagem do Armazenamento de Blobs e um documento do Azure Cosmos DB para enviar um email. Event Grid Armazenamento de Blobs e Azure Cosmos DB SendGrid
Um webhook que usa o Microsoft Graph para atualizar uma planilha do Excel. HTTP Nenhuma Microsoft Graph

* Representa filas diferentes

Esses exemplos não devem ser exaustivos, mas são fornecidos para ilustrar como você pode usar gatilhos e ligações juntos.

Definições de desencadeamento e vinculativas

Gatilhos e ligações são definidos de forma diferente dependendo da linguagem de desenvolvimento.

Idioma Gatilhos e ligações são configurados por...
Biblioteca de classes C#      métodos e parâmetros de decoração com atributos C#
Java      métodos e parâmetros de decoração com anotações Java
JavaScript/PowerShell/Python/TypeScript      atualizando function.json (esquema)

Para idiomas que dependem de function.json, o portal fornece uma interface do usuário para adicionar associações na guia Integração . Você também pode editar o arquivo diretamente no portal na guia Código + teste da sua função. O Visual Studio Code permite que você adicione facilmente uma associação a um arquivo function.json seguindo um conjunto conveniente de prompts.

Em .NET e Java, o tipo de parâmetro define o tipo de dados para dados de entrada. Por exemplo, use string para vincular ao texto de um gatilho de fila, uma matriz de bytes para ler como binário e um tipo personalizado para desserializar para um objeto. Como as funções da biblioteca de classes .NET e as funções Java não dependem de function.json para definições de ligação, elas não podem ser criadas e editadas no portal. A edição do portal C# é baseada no script C#, que usa function.json em vez de atributos.

Para saber mais sobre como adicionar associações a funções existentes, consulte Conectar funções aos serviços do Azure usando associações.

Para linguagens que são digitadas dinamicamente, como JavaScript, use a dataTypepropriedade no arquivo function.json . Por exemplo, para ler o conteúdo de uma solicitação HTTP em formato binário, defina dataType como binary:

{
    "dataType": "binary",
    "type": "httpTrigger",
    "name": "req",
    "direction": "in"
}

Outras opções para dataType são stream e string.

Direção da vinculação

Todos os gatilhos e associações têm uma direction propriedade no arquivo function.json :

  • Para gatilhos, a direção é sempre in
  • Utilização in de ligações de entrada e saída e out
  • Algumas ligações suportam uma direção inoutespecial. Se utilizar inouto , apenas o editor Avançado estará disponível através do separador Integrar no portal.

Quando você usa atributos em uma biblioteca de classes para configurar gatilhos e associações, a direção é fornecida em um construtor de atributos ou inferida a partir do tipo de parâmetro.

Adicionar associações a uma função

Você pode conectar sua função a outros serviços usando ligações de entrada ou saída. Adicione uma associação adicionando suas definições específicas à sua função. Para saber como, consulte Adicionar associações a uma função existente no Azure Functions.

Ligações suportadas

Esta tabela mostra as associações com suporte nas versões principais do tempo de execução do Azure Functions:

Type 1,x1 2.x e superior2 Acionador Entrada Saída
Armazenamento de blobs
BD do Cosmos para o Azure
Azure Data Explorer
SQL do Azure
Dapr4
Event Grid
Hubs de Eventos
HTTP & webhooks
Hub IoT
Kafka3
Aplicações Móveis
Hubs de Notificação
Armazenamento de filas
Redis
CoelhoMQ3
SendGrid
Service Bus
SignalR
Armazenamento de tabelas
Temporizador
Twilio

1 O suporte terminará para a versão 1.x do tempo de execução do Azure Functions em 14 de setembro de 2026. É altamente recomendável que você migre seus aplicativos para a versão 4.x para obter suporte completo.

2 A partir do tempo de execução da versão 2.x, todas as associações, exceto HTTP e Timer, devem ser registradas. Consulte Registrar extensões de vinculação.

3 Os gatilhos não são suportados no plano de consumo. Requer gatilhos controlados por tempo de execução.

4 Suportado apenas no Kubernetes, IoT Edge e outros modos auto-hospedados.

Para obter informações sobre quais associações estão em visualização ou são aprovadas para uso em produção, consulte Idiomas suportados.

Versões de extensão de vinculação específicas só são suportadas enquanto o SDK do serviço subjacente é suportado. As alterações no suporte na versão do SDK do serviço subjacente afetam o suporte para a extensão de consumo.

Exemplos de código de enlaces

Use a tabela a seguir para encontrar exemplos de tipos de vinculação específicos que mostram como trabalhar com associações em suas funções. Primeiro, escolha a guia de idioma que corresponde ao seu projeto.

O código de vinculação para C# depende do modelo de processo específico.

Service Exemplos Exemplos
Armazenamento de Blobs Acionador
Entrada
Saída
Ligação
BD do Cosmos para o Azure Acionador
Entrada
Saída
Ligação
Azure Data Explorer Entrada
Saída
Ligação
SQL do Azure Acionador
Entrada
Saída
Ligação
Event Grid Acionador
Saída
Ligação
Event Hubs Acionador
Saída
Hub IoT Acionador
Saída
HTTP Acionador Ligação
Armazenamento de filas Acionador
Saída
Ligação
RabbitMQ Acionador
Saída
SendGrid Saída
Service Bus Acionador
Saída
Ligação
SignalR Acionador
Entrada
Saída
Armazenamento de tabelas Entrada
Saída
Temporizador Acionador Ligação
Twilio Saída Ligação
Service Exemplos Exemplos
Armazenamento de Blobs Acionador
Entrada
Saída
Ligação
BD do Cosmos para o Azure Acionador
Entrada
Saída
Ligação
Azure Data Explorer Entrada
Saída
Ligação
SQL do Azure Acionador
Entrada
Saída
Event Grid Acionador
Saída
Ligação
Event Hubs Acionador
Saída
Hub IoT Acionador
Saída
HTTP Acionador Ligação
Armazenamento de filas Acionador
Saída
Ligação
RabbitMQ Acionador
Saída
SendGrid Saída
Service Bus Acionador
Saída
Ligação
SignalR Acionador
Entrada
Saída
Armazenamento de tabelas Entrada
Saída
Temporizador Acionador Ligação
Twilio Saída Ligação
Service Exemplos Exemplos
Armazenamento de Blobs Acionador
Entrada
Saída
Ligação
BD do Cosmos para o Azure Acionador
Entrada
Saída
Ligação
Azure Data Explorer Entrada
Saída
SQL do Azure Acionador
Entrada
Saída
Ligação
Event Grid Acionador
Saída
Ligação
Event Hubs Acionador
Saída
Hub IoT Acionador
Saída
HTTP Acionador Ligação
Armazenamento de filas Acionador
Saída
Ligação
RabbitMQ Acionador
Saída
SendGrid Saída
Service Bus Acionador
Saída
Ligação
SignalR Acionador
Entrada
Saída
Armazenamento de tabelas Entrada
Saída
Temporizador Acionador Ligação
Twilio Saída Ligação
Service Exemplos Exemplos
Armazenamento de Blobs Acionador
Entrada
Saída
Ligação
BD do Cosmos para o Azure Acionador
Entrada
Saída
Ligação
SQL do Azure Acionador
Entrada
Saída
Event Grid Acionador
Saída
Ligação
Event Hubs Acionador
Saída
Hub IoT Acionador
Saída
HTTP Acionador Ligação
Armazenamento de filas Acionador
Saída
Ligação
RabbitMQ Acionador
Saída
SendGrid Saída
Service Bus Acionador
Saída
Ligação
SignalR Acionador
Entrada
Saída
Armazenamento de tabelas Entrada
Saída
Temporizador Acionador Ligação
Twilio Saída Ligação

O código de vinculação para Python depende da versão do modelo Python.

Service Exemplos Exemplos
Armazenamento de Blobs Acionador
Entrada
Saída
Ligação
BD do Cosmos para o Azure Acionador
Entrada
Saída
Ligação
Azure Data Explorer Entrada
Saída
SQL do Azure Acionador
Entrada
Saída
Ligação
Event Grid Acionador
Saída
Ligação
Event Hubs Acionador
Saída
Hub IoT Acionador
Saída
HTTP Acionador Ligação
Armazenamento de filas Acionador
Saída
Ligação
RabbitMQ Acionador
Saída
SendGrid Saída
Service Bus Acionador
Saída
Ligação
SignalR Acionador
Entrada
Saída
Armazenamento de tabelas Entrada
Saída
Temporizador Acionador Ligação
Twilio Saída Ligação

Ligações personalizadas

Você pode criar ligações de entrada e saída personalizadas. As ligações devem ser criadas no .NET, mas podem ser consumidas a partir de qualquer idioma suportado. Para obter mais informações sobre como criar associações personalizadas, consulte Criando ligações de entrada e saída personalizadas.

Recursos

Próximos passos