Acionadores de funções do Azure e conceitos de enlacesAzure Functions triggers and bindings concepts

Neste artigo, irá aprender os conceitos de alto nível em torno das funções acionadores e enlaces.In this article you learn the high-level concepts surrounding functions triggers and bindings.

Os acionadores são o que fazer com que uma função ser executado.Triggers are what cause a function to run. Um acionador define como uma função é invocada e uma função tem de ter exatamente um acionador.A trigger defines how a function is invoked and a function must have exactly one trigger. Acionadores tem associado a dados, que, muitas vezes, são fornecidos como o payload da função.Triggers have associated data, which is often provided as the payload of the function.

A ligação para uma função é uma forma de forma declarativa ligar a outro recurso para a função; enlaces podem estar conectados como enlaces de entrada, enlaces de saída, ou ambos.Binding to a function is a way of declaratively connecting another resource to the function; bindings may be connected as input bindings, output bindings, or both. Dados a partir de ligações são fornecidos para a função como parâmetros.Data from bindings is provided to the function as parameters.

Pode misturar e combinar diferentes vinculações para satisfazer as suas necessidades.You can mix and match different bindings to suit your needs. Enlaces são opcionais e uma função pode ter um ou vários entrada e/ou ligações de saída.Bindings are optional and a function might have one or multiple input and/or output bindings.

Acionadores e enlaces permitem-lhe evitar o acesso de codificar a outros serviços.Triggers and bindings let you avoid hardcoding access to other services. A função recebe dados (por exemplo, o conteúdo de uma mensagem de fila) nos parâmetros de função.Your function receives data (for example, the content of a queue message) in function parameters. Enviar dados (por exemplo, para criar uma mensagem de fila), utilizando o valor de retorno da função.You send data (for example, to create a queue message) by using the return value of the function.

Considere os seguintes exemplos de como pode implementar funções diferentes.Consider the following examples of how you could implement different functions.

Cenário de exemploExample scenario AcionadorTrigger Enlace de entradaInput binding Enlace de saídaOutput binding
Uma nova mensagem de fila chegar que executa uma função para gravar em outra fila.A new queue message arrives which runs a function to write to another queue. fila*Queue* NenhumNone fila*Queue*
Uma tarefa agendada lê o conteúdo do armazenamento de BLOBs e cria um novo documento do Cosmos DB.A scheduled job reads Blob Storage contents and creates a new Cosmos DB document. TemporizadorTimer Blob StorageBlob Storage BD do CosmosCosmos DB
O Event Grid é usado para ler uma imagem a partir do armazenamento de BLOBs e um documento do Cosmos DB para enviar um e-mail.The Event Grid is used to read an image from Blob Storage and a document from Cosmos DB to send an email. Event GridEvent Grid Armazenamento de BLOBs e o Cosmos DBBlob Storage and Cosmos DB SendGridSendGrid
Um webhook que utiliza o Microsoft Graph para atualizar uma folha do Excel.A webhook that uses Microsoft Graph to update an Excel sheet. HTTPHTTP NenhumNone Microsoft GraphMicrosoft Graph

* Representa a filas diferentes* Represents different queues

Estes exemplos não devem ser exaustivos, mas são fornecidos para ilustrar como pode usar acionadores e enlaces em conjunto.These examples are not meant to be exhaustive, but are provided to illustrate how you can use triggers and bindings together.

Definições de Acionador e ligaçãoTrigger and binding definitions

Acionadores e enlaces são definidos-se de forma diferente consoante a abordagem de desenvolvimento.Triggers and bindings are defined differently depending on the development approach.

PlataformaPlatform Acionadores e enlaces são configurados por...Triggers and bindings are configured by...
C#biblioteca de classesC# class library      decorando os métodos e parâmetros com C# atributos     decorating methods and parameters with C# attributes
Todos os outros utilizadores (incluindo o portal do Azure)All others (including Azure portal)      updating function.json (schema)     updating function.json (schema)

O portal fornece uma interface do Usuário para esta configuração, mas pode editar o ficheiro diretamente ao abrir o editor avançado disponível por meio do integrar separador da sua função.The portal provides a UI for this configuration, but you can edit the file directly by opening the Advanced editor available via the Integrate tab of your function.

No .NET, o tipo de parâmetro define o tipo de dados para dados de entrada.In .NET, the parameter type defines the data type for input data. Por exemplo, usar string para vincular ao texto de um acionador de fila, uma matriz de bytes para leitura como binário e um tipo personalizado para anular a serialização para um objeto.For instance, use string to bind to the text of a queue trigger, a byte array to read as binary and a custom type to de-serialize to an object.

Para idiomas que são digitados dinamicamente, como JavaScript, utilize o dataType propriedade no Function ficheiro.For languages that are dynamically typed such as JavaScript, use the dataType property in the function.json file. Por exemplo, para ler o conteúdo de uma solicitação HTTP no formato binário, defina dataType para binary:For example, to read the content of an HTTP request in binary format, set dataType to binary:

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

Outras opções para dataType estão stream e string.Other options for dataType are stream and string.

Direção de ligaçãoBinding direction

Todos os acionadores e enlaces de tem uma direction propriedade no Function ficheiro:All triggers and bindings have a direction property in the function.json file:

  • Para acionadores, a direção é sempre inFor triggers, the direction is always in
  • Ligações de entrada e saídas usam in e outInput and output bindings use in and out
  • Algumas ligações oferecem suporte a uma direção especial inout.Some bindings support a special direction inout. Se utilizar inout, apenas o editor avançado está disponível através da integrar separador no portal do.If you use inout, only the Advanced editor is available via the Integrate tab in the portal.

Quando utiliza atributos numa biblioteca de classe para configurar acionadores e enlaces, a direção é fornecida no construtor de atributos ou inferida do tipo de parâmetro.When you use attributes in a class library to configure triggers and bindings, the direction is provided in an attribute constructor or inferred from the parameter type.

Enlaces suportadosSupported bindings

Esta tabela mostra as associações com suporte nas duas versões principais do tempo de execução de Azure Functions:This table shows the bindings that are supported in the two major versions of the Azure Functions runtime:

TypeType 1.x1.x 2.x12.x1 AcionadorTrigger InputInput OutputOutput
Armazenamento de blobsBlob storage
BD do CosmosCosmos DB
Event GridEvent Grid
Hubs de EventosEvent Hubs
WebHooks de & de HTTPHTTP & webhooks
Microsoft Graph
tabelas do Excel
Microsoft Graph
Excel tables
Microsoft Graph
arquivos do onedrive
Microsoft Graph
OneDrive files
Email
do Microsoft Graph Outlook
Microsoft Graph
Outlook email
Eventos
de Microsoft Graph
Microsoft Graph
events
Tokens de autenticação Microsoft Graph
Microsoft Graph
Auth tokens
Aplicações MóveisMobile Apps
Hubs de NotificaçãoNotification Hubs
Armazenamento de filasQueue storage
SendGridSendGrid
Service BusService Bus
SignalRSignalR
Armazenamento de tabelasTable storage
TemporizadorTimer
TwilioTwilio

1 em 2. x, todas as associações, exceto http e Timer, devem ser registradas.1 In 2.x, all bindings except HTTP and Timer must be registered. Consulte registrar extensões de associação.See Register binding extensions.

Para obter informações sobre as ligações estão em pré-visualização ou são aprovadas para utilização em produção, consulte idiomas suportados.For information about which bindings are in preview or are approved for production use, see Supported languages.

RecursosResources

Passos SeguintesNext steps