Sdílet prostřednictvím


Přehled funkcí Azure pro Azure Redis

Tento článek popisuje, jak používat Azure Managed Redis nebo Azure Cache for Redis s Azure Functions k vytváření optimalizovaných bezserverových architektur a architektur řízených událostmi.

Azure Functions poskytuje programovací model řízený událostmi, kde triggery a vazby jsou klíčové funkce. S Azure Functions můžete snadno vytvářet bezserverové aplikace řízené událostmi. Azure služby Redis (Azure Managed Redis a Azure Cache for Redis) poskytují sadu stavebních bloků a osvědčených postupů pro vytváření distribuovaných aplikací, včetně mikroslužeb, správy stavů, pub/sub messaging a dalších.

Azure Redis je možné použít jako trigger pro Azure Functions, což vám umožní zahájit bezserverový pracovní postup. Tato funkce může být vysoce užitečná v architekturách dat, jako je mezipaměť za zápisem nebo jakákoli architektura založená na událostech.

Můžete integrovat Azure Redis a Azure Functions a vytvářet funkce, které reagují na události z Azure Redis nebo externích systémů.

Akce Směr
Aktivace v dílčích zprávách redis pub Trigger
Aktivace v seznamech Redis Trigger
Aktivace streamů Redis Trigger
Čtení hodnoty uložené v mezipaměti Vstup
Zápis hodnot do mezipaměti Výstup

Rozsah dostupnosti pro triggery a vazby funkcí

Úroveň Azure Cache for Redis (Basic, Standard, Premium, Enterprise, Enterprise Flash) Azure Managed Redis (Optimalizováno pro paměť, Basic, Optimalizováno pro výpočty, Optimalizováno pro flash)
Pub/Sub Ano Ano
Seznamy Ano Ano
Streamy Ano Ano
Vazby Ano Ano

Důležité

Triggery Redis se v současné době podporují jenom pro funkce spuštěné v plánu Elastic Premium nebo vyhrazeném plánu služby App Service.

Instalace rozšíření

Funkce běží v izolovaném pracovním procesu C#. Další informace najdete v Guide pro spouštění Azure Functions jazyka C# v izolovaném pracovním procesu.

Přidejte rozšíření do projektu instalací balíčku NuGet this.

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Redis

Instalace sady

Pokud chcete v aplikaci použít toto rozšíření vazeb, ujistěte se, že soubor host.json v kořenovém adresáři projektu obsahuje tento extensionBundle odkaz:

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

V tomto příkladu version hodnota [4.0.0, 5.0.0) dává hostiteli Functions pokyn, aby používal verzi sady, která je alespoň 4.0.0 , ale menší než 5.0.0, která zahrnuje všechny potenciální verze 4.x. Tato notace efektivně udržuje vaši aplikaci na nejnovější dostupné podverzi sady rozšíření v4.x.

Pokud je to možné, měli byste použít nejnovější hlavní verzi sady rozšíření a umožnit modulu runtime automaticky udržovat nejnovější podverzi. Obsah nejnovější sady můžete zobrazit na stránce verze extension bundles. Další informace najdete v Azure Functions sad rozšíření.

Aktualizace balíčků

Přidejte do projektu balíček Azure Functions Java poznámek Redis aktualizací souboru pom.xml a přidejte tuto závislost:

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

Connection string Redis

Azure triggery a vazby Redis mají požadovanou vlastnost, která označuje nastavení aplikace nebo název kolekce obsahující informace o připojení k mezipaměti. Trigger nebo vazba Redis hledá proměnnou prostředí, která obsahuje connection string s názvem předaným parametru Connection.

V místním vývoji je možné ho Connectiondefinovat pomocí souboru local.settings.json . Při nasazení do Azure je možné použít nastavení aplikace.

Při připojování k instanci mezipaměti pomocí funkce Azure můžete ve svých nasazeních použít jeden z těchto typů připojení:

Spravovaná identita přiřazená uživatelem musí být přidružená k vaší aplikaci funkcí a tato identita musí mít také udělená explicitní oprávnění ve službě mezipaměti. Další informace najdete v tématu Použití Microsoft Entra ID pro ověřování mezipaměti.

Tyto příklady ukazují název klíče a hodnotu nastavení aplikace vyžadovaná pro připojení ke každé službě mezipaměti na základě typu ověřování klienta za předpokladu, že Connection vlastnost v vazbě je nastavená na Redis.

"Redis__redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis__principalId": "<principalId>",
"Redis__clientId": "<clientId>"