Azure Cosmos DB 및 Azure Functions를 사용한 서버리스 이벤트 기반 아키텍처

적용 대상: NoSQL

Azure Functions는 변경 피드에 연결하는 가장 간단한 방법을 제공합니다. Azure Cosmos DB 컨테이너의 변경 피드에서 새 이벤트마다 자동으로 트리거되는 작은 반응형 Azure Functions를 만들 수 있습니다.

Serverless event-based Functions working with the Azure Functions trigger for Azure Cosmos DB

Azure Cosmos DB용 Azure Functions 트리거를 사용하면 작업자 인프라를 유지 관리할 필요 없이 변경 피드 프로세서의 확장 및 안정적인 이벤트 감지 기능을 활용할 수 있습니다. 나머지 이벤트 소싱 파이프라인에 대해 걱정하지 않고 Azure 함수의 논리에만 집중하세요. 트리거를 다른 Azure Functions 바인딩과 혼합할 수도 있습니다.

참고 항목

Azure Functions 트리거는 최신 버전 변경 피드 모드를 사용합니다. 현재 Azure Cosmos DB에 대한 Azure Functions 트리거는 API for NoSQL에서만 사용할 수 있습니다.

요구 사항

서버리스 이벤트 기반 흐름을 구현하려면 다음이 필요합니다.

  • 모니터링된 컨테이너: 모니터링된 컨테이너는 모니터링된 Azure Cosmos DB 컨테이너이며 변경 피드가 생성되는 데이터를 저장합니다. 모니터링된 컨테이너에 대한 모든 삽입 및 업데이트는 컨테이너의 변경 피드에 반영됩니다.
  • 임대 컨테이너: 임대 컨테이너는 여러 동적 서버리스 Azure Function 인스턴스에서 상태를 유지하고 동적 크기 조정을 사용합니다. Azure Cosmos DB용 Azure Functions 트리거를 사용하여 임대 컨테이너를 자동으로 만들 수 있습니다. 임대 컨테이너를 수동으로 만들 수도 있습니다. 임대 컨테이너를 자동으로 만들려면 구성에서 CreateLeaseContainerIfNotExists 플래그를 설정합니다. 분할된 임대 컨테이너에는 /id 파티션 키 정의가 필요합니다.

Azure Cosmos DB용 Azure Functions 트리거 만들기

이제 모든 Azure Functions IDE 및 CLI 통합에서 Azure Cosmos DB용 Azure Functions 트리거를 사용하여 Azure 함수 만들기가 지원됩니다.

로컬로 트리거 실행

Azure Cosmos DB 에뮬레이터를 사용하여 Azure 함수를 로컬에서 실행하여 Azure 구독이나 비용 발생 없이 서버리스 이벤트 기반 흐름을 만들고 개발할 수 있습니다.

클라우드에서 라이브 시나리오를 테스트하려는 경우 신용 카드나 Azure 구독 없이 Azure Cosmos DB를 무료로 사용해 보세요.

다음 단계

이제 다음 문서에서 변경 피드에 대해 자세히 알아볼 수 있습니다.