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:
[FunctionName("HttpExample")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
[Queue("outqueue"),StorageAccount("AzureWebJobsStorage")] ICollector<string> msg,
ILogger log)
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.
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"methods": [
"get",
"post"
]
},
{
"type": "http",
"direction": "out",
"name": "res"
},
{
"type": "queue",
"direction": "out",
"name": "msg",
"queueName": "outqueue",
"connection": "AzureWebJobsStorage"
}
]
}
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.
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"methods": [
"get",
"post"
]
},
{
"type": "http",
"direction": "out",
"name": "res"
},
{
"type": "queue",
"direction": "out",
"name": "msg",
"queueName": "outqueue",
"connection": "AzureWebJobsStorage"
}
]
}
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 associaçã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: