Conectar funções aos serviços do Azure usando associações

Quando você cria uma função, o código de gatilho específico do idioma é adicionado ao seu projeto a partir de um conjunto de modelos de gatilho. Se você quiser conectar sua função a outros serviços usando ligações de entrada ou saída, você precisa adicionar definições de vinculação específicas em sua função. Para saber mais sobre associações, consulte Conceitos de acionadores e associações do Azure Functions.

Desenvolvimento local

Ao desenvolver funções localmente, você precisa atualizar o código da função para adicionar associações. Para linguagens que usam function.json, o Visual Studio Code fornece ferramentas para adicionar associações a uma função.

Adicionar associações manualmente com base em exemplos

Ao adicionar uma associação a uma função existente, você precisa adicionar atributos específicos de vinculação à definição de função no código.

Ao adicionar uma associação a uma função existente, você precisa adicionar anotações específicas de vinculação à definição de função no código.

Ao adicionar uma associação a uma função existente, você precisa atualizar o código da função e adicionar uma definição ao arquivo de configuração function.json.

Ao adicionar uma associação a uma função existente, você precisa atualizar a definição da função, dependendo do seu modelo:

Você precisa adicionar anotações específicas de vinculação à definição de função no código.

O exemplo a seguir mostra a definição de função depois de adicionar uma ligação de saída de armazenamento de fila a uma função acionada por HTTP:

Como uma função acionada por HTTP também retorna uma resposta HTTP, a função retorna um MultiResponse objeto, que representa a saída HTTP e a saída da fila.

[Function("HttpExample")]
public static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req,
    FunctionContext executionContext)
{

Este exemplo é a MultiResponse definição do objeto que inclui a ligação de saída:

public class MultiResponse
{
    [QueueOutput("outqueue",Connection = "AzureWebJobsStorage")]
    public string[] Messages { get; set; }
    public IActionResult HttpResponse { get; set; }
}

Ao aplicar esse exemplo ao seu próprio projeto, talvez seja necessário alterar HttpRequest para HttpRequestData e IActionResult para HttpResponseData, dependendo se você estiver usando ASP.NET integração Core ou não.

As mensagens são enviadas para a fila quando a função é concluída. A maneira como você define a ligação de saída depende do seu modelo de processo. Para obter mais informações, incluindo links para exemplos de código de vinculação aos quais você pode se referir, consulte Adicionar ligações a uma função.

@FunctionName("HttpExample")
public HttpResponseMessage run(
        @HttpTrigger(name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) 
        HttpRequestMessage<Optional<String>> request, 
        @QueueOutput(name = "msg", queueName = "outqueue", 
        connection = "AzureWebJobsStorage") OutputBinding<String> msg, 
        final ExecutionContext context) {

Para obter mais informações, incluindo links para exemplos de código de vinculação aos quais você pode se referir, consulte Adicionar ligações a uma função.

Exemplo de vinculação para Node.js modelo v4 ainda não disponível.

A maneira como você define a ligação de saída depende da versão do seu modelo de Node.js. Para obter mais informações, incluindo links para exemplos de código de vinculação aos quais você pode se referir, consulte Adicionar ligações a uma função.

$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg

Para obter mais informações, incluindo links para exemplos de código de vinculação aos quais você pode se referir, consulte Adicionar ligações a uma função.

@app.route(route="HttpExample")
@app.queue_output(arg_name="msg", queue_name="outqueue", connection="AzureWebJobsStorage")
def HttpExample(req: func.HttpRequest, msg: func.Out [func.QueueMessage]) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

A maneira como você define a ligação de saída depende da versão do seu modelo Python. Para obter mais informações, incluindo links para exemplos de código de vinculação aos quais você pode se referir, consulte Adicionar ligações a uma função.

Exemplo de vinculação para Node.js modelo v4 ainda não disponível.

A maneira como você define a ligação de saída depende da versão do seu modelo de Node.js. Para obter mais informações, incluindo links para exemplos de código de vinculação aos quais você pode se referir, consulte Adicionar ligações a uma função.

Use a tabela a seguir para encontrar exemplos de tipos de associação específicos que você pode usar para orientá-lo na atualização de uma função existente. 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.

Serviço Exemplos Exemplos
Armazenamento de Blobs Acionador
Entrada
Saída
Ligação
Azure Cosmos DB 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
Hubs de Eventos Acionador
Saída
IoT Hub 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
Serviço Exemplos Exemplos
Armazenamento de Blobs Acionador
Entrada
Saída
Ligação
Azure Cosmos DB 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
Hubs de Eventos Acionador
Saída
IoT Hub 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
Serviço Exemplos Exemplos
Armazenamento de Blobs Acionador
Entrada
Saída
Ligação
Azure Cosmos DB 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
Hubs de Eventos Acionador
Saída
IoT Hub 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
Serviço Exemplos Exemplos
Armazenamento de Blobs Acionador
Entrada
Saída
Ligação
Azure Cosmos DB Acionador
Entrada
Saída
Ligação
SQL do Azure Acionador
Entrada
Saída
Event Grid Acionador
Saída
Ligação
Hubs de Eventos Acionador
Saída
IoT Hub 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.

Serviço Exemplos Exemplos
Armazenamento de Blobs Acionador
Entrada
Saída
Ligação
Azure Cosmos DB 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
Hubs de Eventos Acionador
Saída
IoT Hub 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

Visual Studio Code

Quando você usa o Visual Studio Code para desenvolver sua função e sua função usa um arquivo function.json, a extensão do Azure Functions pode adicionar automaticamente uma associação a um arquivo de function.json existente. Para saber mais, consulte Adicionar ligações de entrada e saída.

Portal do Azure

Ao desenvolver suas funções no portal do Azure, você adiciona ligações de entrada e saída na guia Integrar para uma determinada função. As novas associações são adicionadas ao arquivo function.json ou aos atributos do método, dependendo do seu idioma. Os artigos a seguir mostram exemplos de como adicionar associações a uma função existente no portal:

Próximos passos