Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano sposób używania usługi Azure Managed Redis lub Azure Cache for Redis z usługą Azure Functions do tworzenia zoptymalizowanych architektur bezserwerowych i opartych na zdarzeniach.
Usługa Azure Functions udostępnia oparty na zdarzeniach model programowania, w którym wyzwalacze i powiązania są kluczowymi funkcjami. Usługa Azure Functions umożliwia łatwe tworzenie aplikacji bezserwerowych opartych na zdarzeniach. Usługi Azure Redis (Azure Managed Redis i Azure Cache for Redis) udostępniają zestaw bloków konstrukcyjnych i najlepszych rozwiązań dotyczących tworzenia aplikacji rozproszonych, w tym mikrousług, zarządzania stanem, obsługi komunikatów pub/sub i nie tylko.
Usługa Azure Redis może służyć jako wyzwalacz usługi Azure Functions, co umożliwia zainicjowanie bezserwerowego przepływu pracy. Ta funkcja może być bardzo przydatna w architekturach danych, takich jak pamięć podręczna zapisu lub architektury oparte na zdarzeniach.
Usługi Azure Redis i Azure Functions można zintegrować, aby tworzyć funkcje reagujące na zdarzenia z usługi Azure Redis lub systemów zewnętrznych.
| Akcja | Kierunek |
|---|---|
| Wyzwalanie komunikatów podrzędnych pubu Redis | Wyzwalacz |
| Wyzwalanie na listach usługi Redis | Wyzwalacz |
| Wyzwalanie w strumieniach usługi Redis | Wyzwalacz |
| Odczytywanie buforowanej wartości | Dane wejściowe |
| Zapisywanie wartości w pamięci podręcznej | Wyjście |
Zakres dostępności wyzwalaczy i powiązań funkcji
| Warstwa | Azure Cache for Redis (Podstawowa, Standardowa, Premium, Enterprise, Enterprise Flash) | Azure Managed Redis (Zoptymalizowane pod kątem pamięci, Podstawowa, Zoptymalizowane pod kątem obliczeń, Zoptymalizowane pod kątem flash) |
|---|---|---|
| Pub/Sub | Tak | Tak |
| Listy | Tak | Tak |
| Strumienie | Tak | Tak |
| Powiązania | Tak | Tak |
Ważne
Wyzwalacze usługi Redis są obecnie obsługiwane tylko w przypadku funkcji uruchomionych w planie Elastic Premium lub dedykowanym planie usługi App Service.
Instalowanie rozszerzenia
Funkcje działają w izolowanym procesie roboczym języka C#. Aby dowiedzieć się więcej, zobacz Przewodnik dotyczący uruchamiania usługi Azure Functions w języku C# w izolowanym procesie roboczym.
Dodaj rozszerzenie do projektu, instalując ten pakiet NuGet.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Redis
Instalowanie pakietu
Aby móc używać tego rozszerzenia powiązania w aplikacji, upewnij się, że plik host.json w katalogu głównym projektu zawiera następujące extensionBundle odwołanie:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
W tym przykładzie version[4.0.0, 5.0.0) wartość polecenia nakazuje hostowi usługi Functions użycie wersji pakietu, która jest co najmniej 4.0.0 mniejsza niż 5.0.0, która zawiera wszystkie potencjalne wersje 4.x. Ta notacja skutecznie utrzymuje aplikację w najnowszej dostępnej wersji pomocniczej pakietu rozszerzenia v4.x.
Jeśli to możliwe, należy użyć najnowszej wersji głównej pakietu rozszerzeń i zezwolić środowisku uruchomieniowemu na automatyczne utrzymywanie najnowszej wersji pomocniczej. Zawartość najnowszego pakietu można wyświetlić na stronie wydania pakietów rozszerzeń. Aby uzyskać więcej informacji, zobacz Pakiety rozszerzeń usługi Azure Functions.
Aktualizowanie pakietów
Dodaj pakiet adnotacji Java Usługi Java usługi Azure Functions do projektu, aktualizując plik w celu dodania pom.xml tej zależności:
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-redis</artifactId>
<version>1.0.0</version>
</dependency>
Parametry połączenia usługi Redis
Wyzwalacze i powiązania usługi Azure Redis mają wymaganą właściwość wskazującą ustawienie aplikacji lub nazwę kolekcji, która zawiera informacje o połączeniu pamięci podręcznej. Wyzwalacz lub powiązanie usługi Redis wyszukuje zmienną środowiskową zawierającą parametry połączenia o nazwie przekazanej do parametruConnection.
W środowisku lokalnym Connection można go zdefiniować przy użyciu pliku local.settings.json . Po wdrożeniu na platformie Azure można użyć ustawień aplikacji.
Podczas nawiązywania połączenia z wystąpieniem pamięci podręcznej za pomocą funkcji platformy Azure można użyć jednego z tych rodzajów połączeń we wdrożeniach:
- Tożsamość zarządzana przypisana przez użytkownika
- Tożsamość zarządzana przypisana przez system
- Parametry połączenia
- Jednostka usługi
Tożsamość zarządzana przypisana przez użytkownika musi być skojarzona z aplikacją funkcji, a ta tożsamość musi również mieć jawne uprawnienia w usłudze pamięci podręcznej. Aby uzyskać więcej informacji, zobacz Use Microsoft Entra ID for cache authentication (Używanie identyfikatora Entra firmy Microsoft do uwierzytelniania w pamięci podręcznej).
W tych przykładach przedstawiono nazwę klucza i wartość ustawień aplikacji wymaganych do nawiązania połączenia z każdą usługą pamięci podręcznej na podstawie rodzaju uwierzytelniania klienta, przy założeniu, że Connection właściwość w powiązaniu jest ustawiona na Rediswartość .
"Redis__redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis__principalId": "<principalId>",
"Redis__clientId": "<clientId>"