Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Quando você cria uma função, o código de gatilho específico da linguagem é 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 associações de entrada ou saída, será necessário 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 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 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.
const { app, output } = require('@azure/functions');
const sendToQueue = output.storageQueue({
queueName: 'outqueue',
connection: 'AzureWebJobsStorage',
});
app.http('HttpExample', {
methods: ['GET', 'POST'],
authLevel: 'anonymous',
extraOutputs: [sendToQueue],
handler: async (request, context) => {
try {
context.log(`Http function processed request for url "${request.url}"`);
const name = request.query.get('name') || (await request.text());
context.log(`Name: ${name}`);
if (name) {
const msg = `Name passed to the function ${name}`;
context.extraOutputs.set(sendToQueue, [msg]);
return { body: msg };
} else {
context.log('Missing required data');
return { status: 404, body: 'Missing required data' };
}
} catch (error) {
context.log(`Error: ${error}`);
return { status: 500, body: 'Internal Server Error' };
}
},
});
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.
import {
app,
output,
HttpRequest,
HttpResponseInit,
InvocationContext,
StorageQueueOutput,
} from '@azure/functions';
const sendToQueue: StorageQueueOutput = output.storageQueue({
queueName: 'outqueue',
connection: 'AzureWebJobsStorage',
});
export async function HttpExample(
request: HttpRequest,
context: InvocationContext,
): Promise<HttpResponseInit> {
try {
context.log(`Http function processed request for url "${request.url}"`);
const name = request.query.get('name') || (await request.text());
context.log(`Name: ${name}`);
if (name) {
const msg = `Name passed to the function ${name}`;
context.extraOutputs.set(sendToQueue, [msg]);
return { body: msg };
} else {
context.log('Missing required data');
return { status: 404, body: 'Missing required data' };
}
} catch (error) {
context.log(`Error: ${error}`);
return { status: 500, body: 'Internal Server Error' };
}
}
app.http('HttpExample', {
methods: ['GET', 'POST'],
authLevel: 'anonymous',
handler: HttpExample,
});
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 associaçã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 Blobs |
Gatilho Entrada Saída |
Link |
Azure Cosmos DB (banco de dados distribuído da Azure) |
Gatilho Entrada Saída |
Link |
Azure Data Explorer (Explorador de Dados do Azure) |
Entrada Saída |
Link |
Azure SQL |
Gatilho Entrada Saída |
Link |
Malha de Eventos |
Gatilho Saída |
Link |
Hubs de Eventos |
Gatilho Saída |
|
IoT Hub |
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 |
Sinal R |
Gatilho Entrada Saída |
|
Armazenamento de tabela |
Entrada Saída |
|
Temporizador | Gatilho | Link |
Twilio | Saída | Link |
Serviço | Exemplos | Exemplos |
---|---|---|
Armazenamento de Blobs |
Gatilho Entrada Saída |
Link |
Azure Cosmos DB (banco de dados distribuído da Azure) |
Gatilho Entrada Saída |
Link |
Azure Data Explorer (Explorador de Dados do Azure) |
Entrada Saída |
Link |
Azure SQL |
Gatilho Entrada Saída |
|
Malha de Eventos |
Gatilho Saída |
Link |
Hubs de Eventos |
Gatilho Saída |
|
IoT Hub |
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 |
Sinal R |
Gatilho Entrada Saída |
|
Armazenamento de tabela |
Entrada Saída |
|
Temporizador | Gatilho | Link |
Twilio | Saída | Link |
Serviço | Exemplos | Exemplos |
---|---|---|
Armazenamento de Blobs |
Gatilho Entrada Saída |
Link |
Azure Cosmos DB (banco de dados distribuído da Azure) |
Gatilho Entrada Saída |
Link |
Azure Data Explorer (Explorador de Dados do Azure) |
Entrada Saída |
|
Azure SQL |
Gatilho Entrada Saída |
Link |
Malha de Eventos |
Gatilho Saída |
Link |
Hubs de Eventos |
Gatilho Saída |
|
IoT Hub |
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 |
Sinal R |
Gatilho Entrada Saída |
|
Armazenamento de tabela |
Entrada Saída |
|
Temporizador | Gatilho | Link |
Twilio | Saída | Link |
Serviço | Exemplos | Exemplos |
---|---|---|
Armazenamento de Blobs |
Gatilho Entrada Saída |
Link |
Azure Cosmos DB (banco de dados distribuído da Azure) |
Gatilho Entrada Saída |
Link |
Azure SQL |
Gatilho Entrada Saída |
|
Malha de Eventos |
Gatilho Saída |
Link |
Hubs de Eventos |
Gatilho Saída |
|
IoT Hub |
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 |
Sinal R |
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 Blobs |
Gatilho Entrada Saída |
Link |
Azure Cosmos DB (banco de dados distribuído da Azure) |
Gatilho Entrada Saída |
Link |
Azure Data Explorer (Explorador de Dados do Azure) |
Entrada Saída |
|
Azure SQL |
Gatilho Entrada Saída |
Link |
Malha de Eventos |
Gatilho Saída |
Link |
Hubs de Eventos |
Gatilho Saída |
|
IoT Hub |
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 |
Sinal R |
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 do Azure Functions pode adicionar automaticamente uma associação a um arquivo function.json existente. Para saber mais, confira Adicionar associações de entrada e saída.
Portal do Azure
Ao desenvolver suas 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 do idioma. Os artigos a seguir mostram exemplos de como adicionar associações a uma função existente no portal: