Udostępnij za pośrednictwem


Omówienie funkcji platformy Azure dla usługi Azure Redis

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 model programowania opartego na zdarzeniach, 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 Poziom pomocy technicznej
Wyzwalanie komunikatów podrzędnych pubu Redis Wyzwalacz Podgląd
Wyzwalanie na listach usługi Redis Wyzwalacz Podgląd
Wyzwalanie w strumieniach usługi Redis Wyzwalacz Podgląd
Odczytywanie buforowanej wartości Dane wejściowe Podgląd
Zapisywanie wartości w pamięci podręcznej Wyjście Podgląd

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

  1. Utwórz projekt funkcji Języka Java. Możesz użyć narzędzia Maven: mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype -DjavaVersion=8

  2. Dodaj pakiet rozszerzeń, dodając lub zastępując następujący kod w pliku host.json :

    {
      "version": "2.0",
      "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
        "version": "[4.11.*, 5.0.0)"
      }
    }
    

    Ostrzeżenie

    Rozszerzenie Redis jest obecnie dostępne tylko w wersji zapoznawczej pakietu.

  3. Dodaj do pliku bibliotekę Java dla powiązań pom.xml usługi Redis:

    <dependency>
      <groupId>com.microsoft.azure.functions</groupId>
      <artifactId>azure-functions-java-library-redis</artifactId>
      <version>${azure.functions.java.library.redis.version}</version>
    </dependency>
    

Dodaj pakiet rozszerzeń, dodając lub zastępując następujący kod w pliku host.json :

  {
    "version": "2.0",
    "extensionBundle": {
      "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
      "version": "[4.11.*, 5.0.0)"
  }
}

Ostrzeżenie

Rozszerzenie Redis jest obecnie dostępne tylko w wersji zapoznawczej pakietu.

Parametry połączenia usługi Redis

Wyzwalacze i powiązania usługi Azure Redis mają wymaganą właściwość parametry połączenia pamięci podręcznej. Parametry połączenia można znaleźć w menu Klucze dostępu w portalu Azure Managed Redis lub Azure Cache for Redis. 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ć trzech typów połączeń we wdrożeniach: parametry połączenia, tożsamość zarządzana przypisana przez system i tożsamość zarządzana przypisana przez użytkownika

W przypadku programowania lokalnego można również używać wpisów tajnych jednostki usługi.

Użyj polecenia appsettings , aby skonfigurować każdy z następujących typów uwierzytelniania klienta, przy założeniu Connection , że parametr został ustawiony na Redis wartość w funkcji .

Connection string

"Redis": "<cacheName>.<region>.redis.azure.net:10000,password=..."

Tożsamość zarządzana przypisana przez system

"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>"

Tożsamość zarządzana przypisana przez użytkownika

"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"

Wpis tajny jednostki usługi

Połączenia korzystające z wpisów tajnych jednostki usługi są dostępne tylko podczas programowania lokalnego.

"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
"Redis:tenantId": "<tenantId>"
"Redis:clientSecret": "<clientSecret>"