Azure Cache for Redis 的 Azure Functions 概觀
本文說明如何使用 Azure Cache for Redis 搭配 Azure Functions,建立最佳化的無伺服器和事件驅動架構。
Azure Functions 提供事件驅動程序設計模型,其中觸發程式和系結是主要功能。 使用 Azure Functions,您可以輕鬆地建置事件驅動的無伺服器應用程式。 Azure Cache for Redis 提供一組建置組塊和建置分散式應用程式的最佳做法,包括微服務、狀態管理、發佈/子傳訊等等。
Azure Cache for Redis 可用來作為 Azure Functions 的觸發程式,讓您起始無伺服器工作流程。 這項功能在資料架構 (例如寫入後置快取) 或任何事件型架構中非常實用。
您可以整合 Azure Cache for Redis 和 Azure Functions,以建置函式,以響應來自 Azure Cache for Redis 或外部系統的事件。
動作 | 方向 | 支援層級 |
---|---|---|
Redis pub 子訊息上的觸發程式 | 觸發程序 | 預覽 |
Redis 清單上的觸發程式 | 觸發程序 | 預覽 |
Redis 數據流上的觸發程式 | 觸發程序 | 預覽 |
讀取快取的值 | 輸入 | 預覽 |
寫入要快取的值 | 輸出 | 預覽 |
函式觸發程式和系結的可用性範圍
層 | 基本 | 標準,進階 | Enterprise,Enterprise Flash |
---|---|---|---|
Pub/Sub | Yes | .是 | Yes |
清單 | Yes | .是 | Yes |
資料流 | Yes | .是 | Yes |
繫結 | Yes | .是 | 是 |
重要
Redis 觸發程式目前僅支援在彈性進階方案或專用 App Service 方案中執行的函式。
安裝擴充功能
函式會在隔離的 C# 背景工作進程中執行。 若要深入瞭解,請參閱 在隔離背景工作程序中執行 C# Azure Functions 的指南。
藉由安裝 此 NuGet 套件,將擴充功能新增至您的專案。
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Redis --prerelease
安裝搭售方案
建立Java函式專案。 您可以使用 Maven:
mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype -DjavaVersion=8
在host.json檔案中新增或取代下列程序代碼,以新增擴充套件組合:
{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview", "version": "[4.11.*, 5.0.0)" } }
警告
Redis 擴充功能目前僅適用於預覽套件組合版本。
將適用於 Redis 系結的 Java 連結庫新增至
pom.xml
檔案:<dependency> <groupId>com.microsoft.azure.functions</groupId> <artifactId>azure-functions-java-library-redis</artifactId> <version>${azure.functions.java.library.redis.version}</version> </dependency>
在host.json檔案中新增或取代下列程序代碼,以新增擴充套件組合:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.11.*, 5.0.0)"
}
}
警告
Redis 擴充功能目前僅適用於預覽套件組合版本。
Redis 連接字串
Azure Cache for Redis 觸發程式和系結具有快取 連接字串 的必要屬性。 您可以在 Azure Cache for Redis 入口網站的 [存取金鑰] 選單上找到 連接字串。 Redis 觸發程式或系結會尋找具有傳遞至 Connection
參數名稱之 連接字串 的環境變數。
在本機開發中,Connection
可以使用 local.settings.json 檔案來定義 。 部署至 Azure 時, 可以使用應用程式設定 。
使用 Azure 函式連線到快取實例時,您可以在部署中使用三種類型的連線:連接字串、系統指派的受控識別,以及使用者指派的受控識別
針對本機開發,您也可以使用服務主體秘密。
使用 來 appsettings
設定下列每種類型的客戶端驗證,假設 Connection
已在函式中將 設定為 Redis
。
Connection string
"Redis": "<cacheName>.redis.cache.windows.net:6380,password=..."
系統指派的受控識別
"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>"
使用者指派的受控識別
"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
服務主體祕密
使用服務主體秘密的連線只能在本機開發期間使用。
"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
"Redis:tenantId": "<tenantId>"
"Redis:clientSecret": "<clientSecret>"