Udostępnij za pośrednictwem


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:

Należy dodać adnotacje specyficzne dla powiązania do definicji funkcji w kodzie.

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.

Przykładowe powiązanie dla modelu Node.js w wersji 4 nie jest jeszcze dostępne.

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.

Przykładowe powiązanie dla modelu Node.js w wersji 4 nie jest jeszcze dostępne.

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:

Następne kroki