Azure Cache for Redis에 대한 Azure 함수 개요
이 문서에서는 Azure Cache for Redis와 Azure Functions를 사용하여 최적화된 서버리스 및 이벤트 기반 아키텍처를 만드는 방법을 설명합니다.
Azure Functions는 트리거 및 바인딩이 주요 기능인 이벤트 기반 프로그래밍 모델을 제공합니다. Azure Functions를 사용하면 이벤트 기반 서버리스 애플리케이션을 쉽게 빌드할 수 있습니다. Azure Cache for Redis는 마이크로 서비스, 상태 관리, pub/sub 메시징 등을 비롯한 분산 애플리케이션을 빌드하기 위한 일련의 구성 요소 및 모범 사례를 제공합니다.
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 | 예 | 예 | 예 |
목록 | 예 | 예 | 예 |
스트림 | 예 | 예 | 예 |
바인딩 | 예 | 예 | 예 |
Important
Redis 트리거는 현재 Elastic Premium 계획 또는 전용 App Service 계획에서 실행되는 함수에 대해서만 지원됩니다.
확장 설치
Functions는 격리된 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)" } }
Warning
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)"
}
}
Warning
Redis 확장은 현재 미리 보기 번들 릴리스에서만 사용할 수 있습니다.
Redis 연결 문자열
Azure Cache for Redis 트리거 및 바인딩에는 캐시 연결 문자열 필요한 속성이 있습니다. 연결 문자열 Azure Cache for Redis 포털의 액세스 키 메뉴에서 찾을 수 있습니다. Redis 트리거 또는 바인딩은 매개 변수에 전달된 이름의 연결 문자열 보유하는 환경 변수를 Connection
찾습니다.
로컬 개발 Connection
에서 local.settings.json 파일을 사용하여 정의할 수 있습니다. Azure 에 배포하는 경우 애플리케이션 설정을 사용할 수 있습니다.
Azure 함수를 사용하여 캐시 인스턴스에 연결할 때 배포에서 연결 문자열, 시스템 할당 관리 ID 및 사용자 할당 관리 ID의 세 가지 유형의 연결을 사용할 수 있습니다.
로컬 개발의 경우 서비스 주체 비밀을 사용할 수도 있습니다.
함수에서 appsettings
설정된 것으로 가정 Connection
하여 다음 유형의 클라이언트 인증을 각각 구성할 수 Redis
있습니다.
Connection string
"Redis": "<cacheName>.redis.cache.windows.net:6380,password=..."
시스템 할당 관리 ID
"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>"
사용자 할당 관리 ID
"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>"