Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När du skapar en funktion läggs språkspecifik utlösarkod till i projektet från en uppsättning utlösarmallar. Om du vill ansluta funktionen till andra tjänster med hjälp av indata- eller utdatabindningar måste du lägga till specifika bindningsdefinitioner i funktionen. Mer information om bindningar finns i Azure Functions-utlösare och bindningar.
Lokal utveckling
När du utvecklar funktioner lokalt måste du uppdatera funktionskoden för att lägga till bindningar. För språk som använder function.jsontillhandahåller Visual Studio Code verktyg för att lägga till bindningar i en funktion.
Lägga till bindningar manuellt baserat på exempel
När du lägger till en bindning till en befintlig funktion måste du lägga till bindningsspecifika attribut i funktionsdefinitionen i koden.
När du lägger till en bindning till en befintlig funktion måste du lägga till bindningsspecifika anteckningar i funktionsdefinitionen i koden.
När du lägger till en bindning till en befintlig funktion måste du uppdatera funktionskoden och lägga till en definition i function.json-konfigurationsfilen.
När du lägger till en bindning till en befintlig funktion behöver du uppdatera funktionsdefinitionen, beroende på din modell:
I följande exempel visas funktionsdefinitionen när du har lagt till en utdatabindning för queue storage till en HTTP-utlöst funktion:
Eftersom en HTTP-utlöst funktion också returnerar ett HTTP-svar returnerar funktionen ett MultiResponse objekt som representerar både HTTP- och köutdata.
[Function("HttpExample")]
public static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req,
FunctionContext executionContext)
{
Det här exemplet är definitionen av objektet MultiResponse som innehåller utdatabindningen:
public class MultiResponse
{
[QueueOutput("outqueue",Connection = "AzureWebJobsStorage")]
public string[] Messages { get; set; }
public IActionResult HttpResponse { get; set; }
}
När du tillämpar det exemplet på ditt eget projekt kan du behöva ändra HttpRequest till HttpRequestData och IActionResult till HttpResponseData, beroende på om du använder ASP.NET Core-integrering eller inte.
Meddelanden skickas till kön när funktionen är klar. Hur du definierar utdatabindningen beror på din processmodell. Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.
@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) {
Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.
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' };
}
},
});
Hur du definierar utdatabindningen beror på vilken version av din Node.js modell. Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.
$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg
Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.
@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.')
Hur du definierar utdatabindningen beror på vilken version av Python-modellen du har. Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.
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,
});
Hur du definierar utdatabindningen beror på vilken version av din Node.js modell. Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.
Använd följande tabell för att hitta exempel på specifika bindningstyper som du kan använda för att hjälpa dig att uppdatera en befintlig funktion. Välj först den språkflik som motsvarar projektet.
Bindningskoden för C# beror på den specifika processmodellen.
| Tjänster | Exempel | Exempel |
|---|---|---|
| Blob Storage (lagring av blobbar) |
Utlösare indata Resultat |
Länk |
| Azure Cosmos DB |
Utlösare indata Resultat |
Länk |
| Azure-datautforskaren |
indata Resultat |
Länk |
| Azure SQL |
Utlösare indata Resultat |
Länk |
| Event Grid (händelsenätverk) |
Utlösare Resultat |
Länk |
| Event Hubs |
Utlösare Resultat |
|
| IoT Hub |
Utlösare Resultat |
|
| HTTP | Utlösare | Länk |
| Kölager |
Utlösare Resultat |
Länk |
| RabbitMQ |
Utlösare Resultat |
|
| SendGrid | Resultat | |
| Tjänstebuss |
Utlösare Resultat |
Länk |
| Azure SignalR Service |
Utlösare indata Resultat |
|
| Tabellagring |
indata Resultat |
|
| Tidtagare | Utlösare | Länk |
| Twilio | Resultat | Länk |
| Tjänster | Exempel | Exempel |
|---|---|---|
| Blob Storage (lagring av blobbar) |
Utlösare indata Resultat |
Länk |
| Azure Cosmos DB |
Utlösare indata Resultat |
Länk |
| Azure-datautforskaren |
indata Resultat |
Länk |
| Azure SQL |
Utlösare indata Resultat |
|
| Event Grid (händelsenätverk) |
Utlösare Resultat |
Länk |
| Event Hubs |
Utlösare Resultat |
|
| IoT Hub |
Utlösare Resultat |
|
| HTTP | Utlösare | Länk |
| Kölager |
Utlösare Resultat |
Länk |
| RabbitMQ |
Utlösare Resultat |
|
| SendGrid | Resultat | |
| Tjänstebuss |
Utlösare Resultat |
Länk |
| Azure SignalR Service |
Utlösare indata Resultat |
|
| Tabellagring |
indata Resultat |
|
| Tidtagare | Utlösare | Länk |
| Twilio | Resultat |
| Tjänster | Exempel | Exempel |
|---|---|---|
| Blob Storage (lagring av blobbar) |
Utlösare indata Resultat |
Länk |
| Azure Cosmos DB |
Utlösare indata Resultat |
Länk |
| Azure-datautforskaren |
indata Resultat |
|
| Azure SQL |
Utlösare indata Resultat |
Länk |
| Event Grid (händelsenätverk) |
Utlösare Resultat |
|
| Event Hubs |
Utlösare Resultat |
|
| IoT Hub |
Utlösare Resultat |
|
| HTTP | Utlösare | Länk |
| Kölager |
Utlösare Resultat |
Länk |
| RabbitMQ |
Utlösare Resultat |
|
| SendGrid | Resultat | |
| Tjänstebuss |
Utlösare Resultat |
Länk |
| Azure SignalR Service |
Utlösare indata Resultat |
|
| Tabellagring |
indata Resultat |
|
| Tidtagare | Utlösare | |
| Twilio | Resultat |
| Tjänster | Exempel | Exempel |
|---|---|---|
| Blob Storage (lagring av blobbar) |
Utlösare indata Resultat |
|
| Azure Cosmos DB |
Utlösare indata Resultat |
|
| Azure SQL |
Utlösare indata Resultat |
|
| Event Grid (händelsenätverk) |
Utlösare Resultat |
|
| Event Hubs |
Utlösare Resultat |
|
| IoT Hub |
Utlösare Resultat |
|
| HTTP | Utlösare | Länk |
| Kölager |
Utlösare Resultat |
|
| RabbitMQ |
Utlösare Resultat |
|
| SendGrid | Resultat | |
| Tjänstebuss |
Utlösare Resultat |
|
| Azure SignalR Service |
Utlösare indata Resultat |
|
| Tabellagring |
indata Resultat |
|
| Tidtagare | Utlösare | |
| Twilio | Resultat |
Bindningskoden för Python beror på Python-modellversionen.
| Tjänster | Exempel | Exempel |
|---|---|---|
| Blob Storage (lagring av blobbar) |
Utlösare indata Resultat |
Länk |
| Azure Cosmos DB |
Utlösare indata Resultat |
Länk |
| Azure-datautforskaren |
indata Resultat |
|
| Azure SQL |
Utlösare indata Resultat |
Länk |
| Event Grid (händelsenätverk) |
Utlösare Resultat |
|
| Event Hubs |
Utlösare Resultat |
|
| IoT Hub |
Utlösare Resultat |
|
| HTTP | Utlösare | Länk |
| Kölager |
Utlösare Resultat |
|
| RabbitMQ |
Utlösare Resultat |
|
| SendGrid | Resultat | |
| Tjänstebuss |
Utlösare Resultat |
Länk |
| Azure SignalR Service |
Utlösare indata Resultat |
|
| Tabellagring |
indata Resultat |
|
| Tidtagare | Utlösare | |
| Twilio | Resultat |
Visual Studio Code
När du använder Visual Studio Code för att utveckla din funktion och funktionen använder en function.json fil kan Azure Functions-tillägget automatiskt lägga till en bindning till en befintlig function.json fil. Mer information finns i Lägga till indata- och utdatabindningar.
Azure-portalen
När du utvecklar dina funktioner i Azure-portalen lägger du till indata- och utdatabindningar på fliken Integrera för en viss funktion. De nya bindningarna läggs till i antingen function.json-filen eller till metodattributen, beroende på ditt språk. Följande artiklar visar exempel på hur du lägger till bindningar till en befintlig funktion i portalen: