다음을 통해 공유


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

적용 대상: NoSQL

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

Azure Cosmos DB용 Azure Functions 트리거를 사용하는 서버리스 이벤트 기반 함수의 다이어그램

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

참고 항목

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

요구 사항

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

  • 모니터링된 컨테이너: 모니터링된 컨테이너는 모니터링된 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 Function을 로컬로 실행하여 Azure 구독 또는 비용이 발생하지 않고 서버리스 이벤트 기반 흐름을 만들고 개발할 수 있습니다.

다음 단계

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