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:
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.
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.
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: