Pojęcia powiązań i wyzwalaczy usługi Azure Functions

W tym artykule przedstawiono ogólne pojęcia związane z wyzwalaczami i powiązaniami funkcji.

Wyzwalacze powodują uruchomienie funkcji. Wyzwalacz definiuje sposób wywoływania funkcji. Funkcja musi mieć dokładnie jeden wyzwalacz. Wyzwalacze mają skojarzone dane, które często są dostarczane jako ładunek funkcji.

Powiązanie z funkcją to sposób deklaratywnego łączenia innego zasobu z funkcją; Powiązania mogą być połączone jako powiązania wejściowe, powiązania wyjściowe lub oba te powiązania. Dane z powiązań są podawane do funkcji jako parametry.

Możesz mieszać i dopasowywać różne powiązania, aby dostosować je do własnych potrzeb. Powiązania są opcjonalne, a funkcja może mieć jedno lub wiele powiązań wejściowych i/lub wyjściowych.

Wyzwalacze i powiązania pozwalają uniknąć trwałego kodowania dostępu do innych usług. Funkcja będzie odbierać dane (np. zawartość komunikatu kolejki) w parametrach funkcji. Możesz wysłać dane (np. w celu utworzenia komunikatu kolejki) przy użyciu wartości zwracanej przez funkcję.

Zapoznaj się z poniższymi przykładami sposobu implementacji różnych funkcji.

Przykładowy scenariusz Wyzwalacz Powiązanie wejściowe Powiązanie wyjściowe
Zostanie wyświetlony nowy komunikat kolejki, który uruchamia funkcję zapisu w innej kolejce. Kolejki* Brak Kolejki*
Zaplanowane zadanie odczytuje zawartość usługi Blob Storage i tworzy nowy dokument usługi Azure Cosmos DB. Czasomierz Blob Storage Azure Cosmos DB
Usługa Event Grid służy do odczytywania obrazu z usługi Blob Storage i dokumentu z usługi Azure Cosmos DB w celu wysłania wiadomości e-mail. Event Grid Blob Storage i Azure Cosmos DB SendGrid
Element webhook, który używa programu Microsoft Graph do aktualizowania arkusza programu Excel. HTTP Brak Microsoft Graph

* Reprezentuje różne kolejki

Te przykłady nie mają być wyczerpujące, ale przedstawiono sposób używania wyzwalaczy i powiązań razem.

Definicje wyzwalaczy i powiązań

Wyzwalacze i powiązania są definiowane inaczej w zależności od języka programowania.

Język Wyzwalacze i powiązania są konfigurowane przez...
Biblioteka klas języka C#      dekorowanie metod i parametrów przy użyciu atrybutów języka C#
Java      dekorowanie metod i parametrów za pomocą adnotacji języka Java
JavaScript/PowerShell/Python/TypeScript      aktualizowanie pliku function.json (schemat)

W przypadku języków korzystających z pliku function.json portal udostępnia interfejs użytkownika do dodawania powiązań na karcie Integracja . Plik można również edytować bezpośrednio w portalu na karcie Kod i test funkcji. Program Visual Studio Code umożliwia łatwe dodawanie powiązania do pliku function.json, postępując zgodnie z wygodnym zestawem monitów.

W środowiskach .NET i Java typ parametru definiuje typ danych wejściowych. Na przykład użyj polecenia string , aby powiązać z tekstem wyzwalacza kolejki, tablicę bajtów do odczytu jako binarną i niestandardowy typ, aby usunąć serializacji z obiektem. Ponieważ funkcje biblioteki klas platformy .NET i funkcje języka Java nie korzystają z pliku function.json dla definicji powiązań, nie można ich tworzyć i edytować w portalu. Edytowanie portalu języka C# jest oparte na skry skrycie języka C#, który używa pliku function.json zamiast atrybutów.

Aby dowiedzieć się więcej na temat dodawania powiązań do istniejących funkcji, zobacz Połączenie funkcje do usług platformy Azure przy użyciu powiązań.

W przypadku języków dynamicznie wpisanych, takich jak JavaScript, użyj dataType właściwości w pliku function.json . Na przykład aby odczytać zawartość żądania HTTP w formacie binarnym, ustaw wartość dataTypebinary:

{
    "dataType": "binary",
    "type": "httpTrigger",
    "name": "req",
    "direction": "in"
}

Inne opcje dla dataType programu to stream i string.

Kierunek wiązania

Wszystkie wyzwalacze i powiązania mają direction właściwość w pliku function.json :

  • W przypadku wyzwalaczy kierunek jest zawsze następujący: in
  • Używanie in powiązań wejściowych i wyjściowych oraz out
  • Niektóre powiązania obsługują specjalny kierunek inout. Jeśli używasz inoutprogramu , tylko edytor zaawansowany jest dostępny za pośrednictwem karty Integracja w portalu.

Jeśli używasz atrybutów w bibliotece klas do konfigurowania wyzwalaczy i powiązań, kierunek jest podawany w konstruktorze atrybutu lub wnioskowanym z typu parametru.

Dodawanie powiązań do funkcji

Funkcję można połączyć z innymi usługami przy użyciu powiązań wejściowych lub wyjściowych. Dodaj powiązanie, dodając jego określone definicje do funkcji. Aby dowiedzieć się, jak to zrobić, zobacz Dodawanie powiązań do istniejącej funkcji w usłudze Azure Functions.

Obsługiwane powiązania

W tej tabeli przedstawiono powiązania obsługiwane w głównych wersjach środowiska uruchomieniowego usługi Azure Functions:

Typ 1.x1 2.x i nowsze2 Wyzwalacz Dane wejściowe Dane wyjściowe
Blob Storage
Azure Cosmos DB
Azure Data Explorer
Azure SQL
Dapr4
Event Grid
Event Hubs
Http i elementy webhook
IoT Hub
Kafka3
Mobile Apps
Notification Hubs
Queue Storage
Redis
RabbitMQ3
SendGrid
Service Bus
SignalR
Table Storage
Czasomierz
Twilio

1Obsługa zakończy się w wersji 1.x środowiska uruchomieniowego usługi Azure Functions 14 września 2026 r. Zdecydowanie zalecamy przeprowadzenie migracji aplikacji do wersji 4.x w celu uzyskania pełnej pomocy technicznej.

2 Począwszy od środowiska uruchomieniowego w wersji 2.x, wszystkie powiązania z wyjątkiem protokołu HTTP i czasomierza muszą być zarejestrowane. Zobacz Rejestrowanie rozszerzeń powiązań.

3 Wyzwalacze nie są obsługiwane w planie Zużycie. Wymaga wyzwalaczy opartych na środowisku uruchomieniowym.

4 Obsługiwane tylko w rozwiązaniach Kubernetes, IoT Edge i innych trybach hostowanych samodzielnie.

Aby uzyskać informacje o powiązaniach w wersji zapoznawczej lub są zatwierdzone do użytku produkcyjnego, zobacz Obsługiwane języki.

Określone wersje rozszerzenia powiązania są obsługiwane tylko wtedy, gdy podstawowy zestaw SDK usługi jest obsługiwany. Zmiany obsługi w podstawowej wersji zestawu SDK usługi mają wpływ na obsługę rozszerzenia korzystającego.

Przykłady kodu powiązań

Poniższa tabela zawiera przykłady konkretnych typów powiązań, które pokazują, jak pracować z powiązaniami w funkcjach. Najpierw wybierz kartę języka odpowiadającą projektowi.

Kod powiązania dla języka C# zależy od określonego modelu procesu.

Service 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
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
Service 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
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.

Powiązania niestandardowe

Można tworzyć niestandardowe powiązania wejściowe i wyjściowe. Powiązania muszą być tworzone na platformie .NET, ale mogą być używane z dowolnego obsługiwanego języka. Aby uzyskać więcej informacji na temat tworzenia powiązań niestandardowych, zobacz Tworzenie niestandardowych powiązań wejściowych i wyjściowych.

Zasoby

Następne kroki