Conectar funções a serviços do Azure usando associações
Quando você cria uma função, um código de gatilho específico a um idioma é adicionado no projeto de um conjunto de modelos de gatilho. Se você quiser conectar sua função a outros serviços usando associações de entrada ou saída, você precisará adicionar definições de associação específicas em sua função. Para saber mais sobre associações, confira Conceitos de gatilhos e de 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 associaçã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 associaçã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 de 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 de função, dependendo do modelo:
O exemplo a seguir mostra a definição de função depois de adicionar uma Associação de saída do Armazenamento de Filas a uma função de gatilho HTTP:
Como uma função de gatilho HTTP também retorna uma resposta HTTP, a função retorna um objeto MultiResponse
, que representa a saída de HTTP e da fila.
[Function("HttpExample")]
public static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req,
FunctionContext executionContext)
{
Veja a seguir a definição do objeto MultiResponse
que inclui a associaçã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 projeto, talvez seja necessário alterar HttpRequest
para HttpRequestData
e IActionResult
para HttpResponseData
, dependendo se estiver usando a Integração com o ASP.NET Core ou não.
As mensagens são enviadas para a fila quando a função é concluída. A maneira como você define a associação de saída depende do seu modelo de processo. Para obter mais informações, incluindo links para o código de associação de exemplo ao qual você pode se referir, consulte Adicionar associaçõ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 o código de associação de exemplo ao qual você pode se referir, consulte Adicionar associações a uma função.
A maneira como você define a associação de saída depende da versão do modelo do Node.js. Para obter mais informações, incluindo links para o código de associação de exemplo ao qual você pode se referir, consulte Adicionar associações a uma função.
$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg
Para obter mais informações, incluindo links para o código de associação de exemplo ao qual você pode se referir, consulte Adicionar associaçõ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 associação de saída depende da versão do modelo do Python. Para obter mais informações, incluindo links para o código de associação de exemplo ao qual você pode se referir, consulte Adicionar associações a uma função.
A maneira como você define a associação de saída depende da versão do modelo do Node.js. Para obter mais informações, incluindo links para o código de associação de exemplo ao qual você pode se referir, consulte Adicionar associações a uma função.
Use a tabela a seguir para encontrar exemplos de tipos de ligação específicos que você pode usar para orientá-lo na atualização de uma função existente. Primeiro, escolha a guia da linguagem que corresponde ao seu projeto.
O código de associação para C# depende do modelo do processo específico.
Serviço | Exemplos | Exemplos |
---|---|---|
Armazenamento de blob | Gatilho Entrada Saída |
Link |
Azure Cosmos DB | Gatilho Entrada Saída |
Link |
Azure Data Explorer | Entrada Saída |
Link |
SQL do Azure | Gatilho Entrada Saída |
Link |
Grade de Eventos | Gatilho Saída |
Link |
Hubs de Eventos | Gatilho Saída |
|
Hub IoT | Gatilho Saída |
|
HTTP | Gatilho | Link |
Armazenamento de filas | Gatilho Saída |
Link |
RabbitMQ | Gatilho Saída |
|
SendGrid | Saída | |
Barramento de Serviço | Gatilho Saída |
Link |
SignalR | Gatilho Entrada Saída |
|
Armazenamento de tabela | Entrada Saída |
|
Temporizador | Gatilho | Link |
Twilio | Saída | Link |
Serviço | Exemplos | Exemplos |
---|---|---|
Armazenamento de blob | Gatilho Entrada Saída |
Link |
Azure Cosmos DB | Gatilho Entrada Saída |
Link |
Azure Data Explorer | Entrada Saída |
Link |
SQL do Azure | Gatilho Entrada Saída |
|
Grade de Eventos | Gatilho Saída |
Link |
Hubs de Eventos | Gatilho Saída |
|
Hub IoT | Gatilho Saída |
|
HTTP | Gatilho | Link |
Armazenamento de filas | Gatilho Saída |
Link |
RabbitMQ | Gatilho Saída |
|
SendGrid | Saída | |
Barramento de Serviço | Gatilho Saída |
Link |
SignalR | Gatilho Entrada Saída |
|
Armazenamento de tabela | Entrada Saída |
|
Temporizador | Gatilho | Link |
Twilio | Saída | Link |
Serviço | Exemplos | Exemplos |
---|---|---|
Armazenamento de blob | Gatilho Entrada Saída |
Link |
Azure Cosmos DB | Gatilho Entrada Saída |
Link |
Azure Data Explorer | Entrada Saída |
|
SQL do Azure | Gatilho Entrada Saída |
Link |
Grade de Eventos | Gatilho Saída |
Link |
Hubs de Eventos | Gatilho Saída |
|
Hub IoT | Gatilho Saída |
|
HTTP | Gatilho | Link |
Armazenamento de filas | Gatilho Saída |
Link |
RabbitMQ | Gatilho Saída |
|
SendGrid | Saída | |
Barramento de Serviço | Gatilho Saída |
Link |
SignalR | Gatilho Entrada Saída |
|
Armazenamento de tabela | Entrada Saída |
|
Temporizador | Gatilho | Link |
Twilio | Saída | Link |
Serviço | Exemplos | Exemplos |
---|---|---|
Armazenamento de blob | Gatilho Entrada Saída |
Link |
Azure Cosmos DB | Gatilho Entrada Saída |
Link |
SQL do Azure | Gatilho Entrada Saída |
|
Grade de Eventos | Gatilho Saída |
Link |
Hubs de Eventos | Gatilho Saída |
|
Hub IoT | Gatilho Saída |
|
HTTP | Gatilho | Link |
Armazenamento de filas | Gatilho Saída |
Link |
RabbitMQ | Gatilho Saída |
|
SendGrid | Saída | |
Barramento de Serviço | Gatilho Saída |
Link |
SignalR | Gatilho Entrada Saída |
|
Armazenamento de tabela | Entrada Saída |
|
Temporizador | Gatilho | Link |
Twilio | Saída | Link |
O código de ligação para Python depende da versão do modelo Python.
Serviço | Exemplos | Exemplos |
---|---|---|
Armazenamento de blob | Gatilho Entrada Saída |
Link |
Azure Cosmos DB | Gatilho Entrada Saída |
Link |
Azure Data Explorer | Entrada Saída |
|
SQL do Azure | Gatilho Entrada Saída |
Link |
Grade de Eventos | Gatilho Saída |
Link |
Hubs de Eventos | Gatilho Saída |
|
Hub IoT | Gatilho Saída |
|
HTTP | Gatilho | Link |
Armazenamento de filas | Gatilho Saída |
Link |
RabbitMQ | Gatilho Saída |
|
SendGrid | Saída | |
Barramento de Serviço | Gatilho Saída |
Link |
SignalR | Gatilho Entrada Saída |
|
Armazenamento de tabela | Entrada Saída |
|
Temporizador | Gatilho | Link |
Twilio | Saída | Link |
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 Azure Functions pode adicionar automaticamente uma associação a um arquivo “function.json” existente. Para saber mais, veja Adicionar associações de entrada e saída.
Portal do Azure
Ao desenvolver as funções no portal do Azure, você adiciona associaçõ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 de sua linguagem. Os artigos a seguir mostram exemplos de como adicionar associações a uma função existente no Portal: