Połączenie funkcje do usług platformy Azure przy użyciu powiązań
Podczas tworzenia funkcji kod wyzwalacza specyficzny dla języka jest dodawany w projekcie z zestawu szablonów wyzwalaczy. Jeśli chcesz połączyć funkcję z innymi usługami przy użyciu powiązań wejściowych lub wyjściowych, musisz dodać określone definicje powiązań w funkcji. Aby dowiedzieć się więcej na temat powiązań, zobacz Pojęcia dotyczące wyzwalaczy i powiązań usługi Azure Functions.
Programowanie lokalne
Podczas lokalnego opracowywania funkcji należy zaktualizować kod funkcji, aby dodać powiązania. W przypadku języków korzystających z function.json program Visual Studio Code udostępnia narzędzia umożliwiające dodawanie powiązań do funkcji.
Ręczne dodawanie powiązań na podstawie przykładów
Podczas dodawania powiązania do istniejącej funkcji należy dodać atrybuty specyficzne dla powiązania do definicji funkcji w kodzie.
Podczas dodawania powiązania do istniejącej funkcji należy dodać adnotacje specyficzne dla powiązania do definicji funkcji w kodzie.
Podczas dodawania powiązania do istniejącej funkcji należy zaktualizować kod funkcji i dodać definicję do pliku konfiguracji function.json.
Podczas dodawania powiązania do istniejącej funkcji należy zaktualizować definicję funkcji w zależności od modelu:
Poniższy przykład przedstawia definicję funkcji po dodaniu powiązania wyjściowego usługi Queue Storage do funkcji wyzwalanej przez protokół HTTP:
Ponieważ funkcja wyzwalana przez protokół HTTP zwraca również odpowiedź HTTP, funkcja zwraca MultiResponse
obiekt, który reprezentuje zarówno dane wyjściowe HTTP, jak i kolejki.
[Function("HttpExample")]
public static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req,
FunctionContext executionContext)
{
W tym przykładzie jest definicja MultiResponse
obiektu, który zawiera powiązanie wyjściowe:
public class MultiResponse
{
[QueueOutput("outqueue",Connection = "AzureWebJobsStorage")]
public string[] Messages { get; set; }
public IActionResult HttpResponse { get; set; }
}
W przypadku zastosowania tego przykładu do własnego projektu może być konieczne zmianę HttpRequest
HttpRequestData
na i IActionResult
na HttpResponseData
, w zależności od tego, czy używasz integracji z platformą ASP.NET Core, czy nie.
Komunikaty są wysyłane do kolejki po zakończeniu działania funkcji. Sposób definiowania powiązania wyjściowego zależy od modelu procesu. Aby uzyskać więcej informacji, w tym linki do przykładowego kodu powiązania, do którego można się odwołać, zobacz Dodawanie powiązań do funkcji.
@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) {
Aby uzyskać więcej informacji, w tym linki do przykładowego kodu powiązania, do którego można się odwołać, zobacz Dodawanie powiązań do funkcji.
Sposób definiowania powiązania wyjściowego zależy od wersji modelu Node.js. Aby uzyskać więcej informacji, w tym linki do przykładowego kodu powiązania, do którego można się odwołać, zobacz Dodawanie powiązań do funkcji.
$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg
Aby uzyskać więcej informacji, w tym linki do przykładowego kodu powiązania, do którego można się odwołać, zobacz Dodawanie powiązań do funkcji.
@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.')
Sposób definiowania powiązania wyjściowego zależy od wersji modelu języka Python. Aby uzyskać więcej informacji, w tym linki do przykładowego kodu powiązania, do którego można się odwołać, zobacz Dodawanie powiązań do funkcji.
Sposób definiowania powiązania wyjściowego zależy od wersji modelu Node.js. Aby uzyskać więcej informacji, w tym linki do przykładowego kodu powiązania, do którego można się odwołać, zobacz Dodawanie powiązań do funkcji.
Skorzystaj z poniższej tabeli, aby znaleźć przykłady określonych typów powiązań, których można użyć, aby przeprowadzić aktualizowanie istniejącej funkcji. Najpierw wybierz kartę języka odpowiadającą projektowi.
Kod powiązania dla języka C# zależy od określonego modelu procesu.
Usługa | Przykłady | Przykłady |
---|---|---|
Blob storage | Wyzwalacz Dane wejściowe Wyjście |
Link |
Azure Cosmos DB | Wyzwalacz Dane wejściowe Wyjście |
Link |
Azure Data Explorer | Dane wejściowe Wyjście |
Link |
Azure SQL | Wyzwalacz Dane wejściowe Wyjście |
Link |
Event Grid | Wyzwalacz Wyjście |
Link |
Event Hubs | Wyzwalacz Wyjście |
|
Usługa IoT Hub | Wyzwalacz Wyjście |
|
HTTP | Wyzwalacz | Link |
Queue Storage | Wyzwalacz Wyjście |
Link |
RabbitMQ | Wyzwalacz Wyjście |
|
SendGrid | Wyjście | |
Service Bus | Wyzwalacz Wyjście |
Link |
SignalR | Wyzwalacz Dane wejściowe Wyjście |
|
Table Storage | Dane wejściowe Wyjście |
|
Czasomierz | Wyzwalacz | Link |
Twilio | Wyjście | Link |
Usługa | Przykłady | Przykłady |
---|---|---|
Blob storage | Wyzwalacz Dane wejściowe Wyjście |
Link |
Azure Cosmos DB | Wyzwalacz Dane wejściowe Wyjście |
Link |
Azure Data Explorer | Dane wejściowe Wyjście |
Link |
Azure SQL | Wyzwalacz Dane wejściowe Wyjście |
|
Event Grid | Wyzwalacz Wyjście |
Link |
Event Hubs | Wyzwalacz Wyjście |
|
Usługa IoT Hub | Wyzwalacz Wyjście |
|
HTTP | Wyzwalacz | Link |
Queue Storage | Wyzwalacz Wyjście |
Link |
RabbitMQ | Wyzwalacz Wyjście |
|
SendGrid | Wyjście | |
Service Bus | Wyzwalacz Wyjście |
Link |
SignalR | Wyzwalacz Dane wejściowe Wyjście |
|
Table Storage | Dane wejściowe Wyjście |
|
Czasomierz | Wyzwalacz | Link |
Twilio | Wyjście | Link |
Usługa | Przykłady | Przykłady |
---|---|---|
Blob storage | Wyzwalacz Dane wejściowe Wyjście |
Link |
Azure Cosmos DB | Wyzwalacz Dane wejściowe Wyjście |
Link |
Azure Data Explorer | Dane wejściowe Wyjście |
|
Azure SQL | Wyzwalacz Dane wejściowe Wyjście |
Link |
Event Grid | Wyzwalacz Wyjście |
Link |
Event Hubs | Wyzwalacz Wyjście |
|
Usługa IoT Hub | Wyzwalacz Wyjście |
|
HTTP | Wyzwalacz | Link |
Queue Storage | Wyzwalacz Wyjście |
Link |
RabbitMQ | Wyzwalacz Wyjście |
|
SendGrid | Wyjście | |
Service Bus | Wyzwalacz Wyjście |
Link |
SignalR | Wyzwalacz Dane wejściowe Wyjście |
|
Table Storage | Dane wejściowe Wyjście |
|
Czasomierz | Wyzwalacz | Link |
Twilio | Wyjście | Link |
Usługa | Przykłady | Przykłady |
---|---|---|
Blob storage | Wyzwalacz Dane wejściowe Wyjście |
Link |
Azure Cosmos DB | Wyzwalacz Dane wejściowe Wyjście |
Link |
Azure SQL | Wyzwalacz Dane wejściowe Wyjście |
|
Event Grid | Wyzwalacz Wyjście |
Link |
Event Hubs | Wyzwalacz Wyjście |
|
Usługa IoT Hub | Wyzwalacz Wyjście |
|
HTTP | Wyzwalacz | Link |
Queue Storage | Wyzwalacz Wyjście |
Link |
RabbitMQ | Wyzwalacz Wyjście |
|
SendGrid | Wyjście | |
Service Bus | Wyzwalacz Wyjście |
Link |
SignalR | Wyzwalacz Dane wejściowe Wyjście |
|
Table Storage | Dane wejściowe Wyjście |
|
Czasomierz | Wyzwalacz | Link |
Twilio | Wyjście | Link |
Kod powiązania dla języka Python zależy od wersji modelu języka Python.
Usługa | Przykłady | Przykłady |
---|---|---|
Blob storage | Wyzwalacz Dane wejściowe Wyjście |
Link |
Azure Cosmos DB | Wyzwalacz Dane wejściowe Wyjście |
Link |
Azure Data Explorer | Dane wejściowe Wyjście |
|
Azure SQL | Wyzwalacz Dane wejściowe Wyjście |
Link |
Event Grid | Wyzwalacz Wyjście |
Link |
Event Hubs | Wyzwalacz Wyjście |
|
Usługa IoT Hub | Wyzwalacz Wyjście |
|
HTTP | Wyzwalacz | Link |
Queue Storage | Wyzwalacz Wyjście |
Link |
RabbitMQ | Wyzwalacz Wyjście |
|
SendGrid | Wyjście | |
Service Bus | Wyzwalacz Wyjście |
Link |
SignalR | Wyzwalacz Dane wejściowe Wyjście |
|
Table Storage | Dane wejściowe Wyjście |
|
Czasomierz | Wyzwalacz | Link |
Twilio | Wyjście | Link |
Visual Studio Code
Gdy używasz programu Visual Studio Code do opracowywania funkcji, a funkcja używa pliku function.json, rozszerzenie usługi Azure Functions może automatycznie dodać powiązanie do istniejącego pliku function.json. Aby dowiedzieć się więcej, zobacz Dodawanie powiązań wejściowych i wyjściowych.
Azure Portal
Podczas opracowywania funkcji w witrynie Azure Portal można dodawać powiązania wejściowe i wyjściowe na karcie Integracja dla danej funkcji. Nowe powiązania są dodawane do pliku function.json lub atrybutów metody w zależności od języka. W poniższych artykułach przedstawiono przykłady dodawania powiązań do istniejącej funkcji w portalu: